Capacitive Soil Moisture with LoRaWAN

Somsak Lima
9 min readAug 7, 2020

--

การทำ Sensor Node เพื่อวัดความชื้นในดิน ให้สามารถส่งข้อมูลค่าที่วัดได้ผ่าน LoRaWAN เข้าสู่ TheThingsNetwork และเราสามารถดูข้อมูล Sensor บน TheThingsNetwork ได้ และส่งต่อข้อมูลไปยัง Cayenne.mydevices.com แสดงเป็น Dashboard ในรูปกราฟ ซึ่งสามารถดูข้อมูลเปรียบเทียบและดูย้อนหลังได้

อุปกรณ์ที่ต้องใช้

  1. Hardware
  • ESP32 Development Board ราคาประมาณ 200 บาท
  • OLED 0.96 นิ้ว128X64 ราคาประมาณ 140 บาท
  • USB to TTL UART CP2102 ราคาประมาณ 100 บาท
  • LoRa มอดูล Maxiiot DL7612-AS923-TH พร้อม PCB Adapter แปลงขา สั่งซื้อได้ที่คลิก ราคาประมาณ 560 บาท
  • Capacitive Soil Moisture Sensor ราคาประมาณ 70 บาท
  • สายไฟ Dupont ราคาประมาณ 50 บาท
  • Breadboard ขนาด 8.2x5.5x1ซม. ราคาประมาณ 60 บาท
  • Multi Channel LoRaWAN Gateway (Indoor)

ราคาไม่รวม Multi Channel LoRaWAN Gateway ประมาณ 1,200บาท

2. Software

  • Thonny สามารถ Download version 3.2.7 ได้จาก คลิก
  • SSCOM V5.13.1 สามารถ Download ได้จาก คลิก หรือ Version 3.2E คลิก
  • Firmware MicroPython สามารถ Download ได้จาก คลิก

อาจเลือกดาวน์โหลดตัว stable generic Firmware built with ESP-IDF v4.x, with support for BLE, but no LAN or PPP เช่น esp32-idf4–20191220-v1.12.bin

3. Library ภาษา MicroPython

  • cayennelpp.py
  • font.py
  • Fssd1306.py
    หมายเหตุ
    Library เดิมที่มีมาให้ใน Flash MicroPython ESP32 ชื่อ ssd1306.py แต่ตัวดังกล่าวไม่สามารถแสดง Font ขนาดใหญ่ได้ จึงเปลี่ยนมาใช้ Library นี้ เนื่องจากชื่อซ้ำกันจึงเปลี่ยนตัวที่แสดง Font ใหญ่ได้ไปใช้ชื่อ Fssd1306.py แทน

Library หรือโปรแกรม MicroPython ที่ใช้ในบทความนี้สามารถดาวน์โหลดได้จาก Github

4. LoRaWAN Multichannel Gateway

หากพื้นที่ ที่เราอยู่ ไม่มี LoRaWAN Gateway ที่เป็นเครือข่ายของTheThingsNetwork บริการอยู่ เราจำเป็นต้องตั้ง LoRaWAN Gateway เอง โดยซื้อมาติดตั้งใช้งานได้ อาจเลือกซื้อ LoRaWAN Gateway แบบ Multi Channel Gateway แบบติดตั้งภายในอาคาร (indoor) หรือภายนอกอาคาร (Outdoor) โดยที่ Gateway ภายในอาคารมักมีราคาถูกกว่ามาก ควรเลือกซื้อ LoRaWAN Gateway ที่ผ่านการรับรองจาก กสทช. ซึ่งจะมี Sticker กสทช. ตราครุฑแสดงอยู่บนตัวเครื่อง

LoRaWAN Gateway ทั่วๆ ไป หากใช้เสาขนาด 9 ซม.และติดตั้งในอาคารที่บริเวณชั้น 1 สามารถรับข้อมูลจาก Sensor Node ในรัศมี 1–3 กม. รอบๆ ตัว Gateway

การเชื่อมต่อ Hardware

  • ESP32 Dev Board — — Capacitive Soil Moisture Sensor
3V3  — — VCC
GND — — GND
P34 — - AOUT
  • ESP32 Dev Board — — OLED
GND  — - GND
3V3 — - VDD
P22 — — SCK
P21 — — SDA
  • ESP32 Dev Board— MAXIIOT DL7612-AS923-TH
3V3  — — 3.3V
GND — — GND
P16 — — TX
P17 — — RX

ลงมืออัพโหลด Firmware MicroPython

การใส่ firmware MicroPython ลงใน ESP32 Dev Board นั้นทำผ่าน Port MicroUSB บนบอร์ด ESP32 ให้ใช้สาย MicroUSB เสียบเข้ากับ ESP32 และอีกด้านเสียบเข้ากับพอร์ต USB ของเครื่อง PC

เปิดโปรแกรม Thonny ไปที่เมนู Tool/Option

เลือก MicroPython(ESP32) และ Port Silicon Laps CP210x USB to UART Bridge

คลิก Open the dialog for installing or upgrading Micropython on your device.

เลือก Port อีกครั้งเป็น Silicon Laps CP210x USB to UART Bridge คลิก browse ช่องหลัง Firmware เลือก File Firmware ที่ Download มา

แล้วคลิก Install โปรแกรมจะเริ่มลบ Firmware เดิมและติดตั้งตัวใหม่ หากเสร็จให้คลิก OK แล้วปิดหน้าต่าง ด้วยปุ่ม Close และ OK

Tip!

หากเกิด Error ไม่สามารถ Flash ได้ อาจเกิดจาก ESP32 Dev บอร์ด ไม่เข้าสู่ Bootloader โหมด จำเป็นต้นกดปุ่ม Boot ค้างไว้ แล้วกด EN หนึ่งครั้งแล้วจึงปล่อยปุ่ม Boot ระหว่างที่ Thonny เริ่มทำการ Flash

หรืออาจการแก้ไขโดยใส่ Capacitor (แบบไม่มีขั้ว) คล่อมขา EN-GND โดยใช้ Capacitor ขนาด 1–10UF ซึ่งกรณีใช้ C จะไม่ต้องเสียเวลากดปุ่มอีกต่อไป เช่น ใช้ Capacitor 2.2 μF แบบ tantalum (225) คล่อมขา

การดูค่าหรือตั้งค่าคอนฟิกมอดูล Maxiiot DL7612-AS923-TH

1.การดูค่า Config มอดูล Maxiiot DL7612-AS923-TH

ทำได้ง่ายๆ ได้ สองวิธี คือ ทำโดยใช้ PC ผ่านอุปกรณ์ USB to Serial Port แล้วใช้โปรแกรมเขียนอ่านผ่าน Serial Port และใช้ AT Command โดยตรง

ก่อนใช้งานมอดูล DL7612-AS923-TH ควรบัดกรีลงบน Adapter ซึ่งแปลงขาให้เหลือเท่าที่จำเป็นคือ TX RX 3V3 GND ตามรูป ใช้งานทั่วไป ขา IO กับ CK ไม่จำเป็นต้องบัดกรีก็ได้

เชื่อมสายเข้ากับ USB to TTL ตามรูป ใช้สายไฟ 4 เส้น

ให้ใช้ไฟ 3.3V และระวังไม่ป้อนไฟกลับขั้ว หากป้อนกลับขั้วจะทำให้มอดูลเสียได ้

ให้ต่อสายไฟ TX ของ UART เข้า RX บน Adapter และ RX ของ UART เข้า TX บน Adapter

แล้วเปิดโปรแกรมที่อ่านเขียน Serial Port ใช้ AT command ได้โดยตรง เช่น โปรแกรม sscom V.5.13.1 เนื่องจากโปรแกรมนี้ผู้พัฒนาเป็นคนจีน จึงจะเห็นข้อความเป็นภาษาจีนอยู่บ้าง ก่อนอื่นให้คลิกเปลี่ยนภาษาเป็นภาษาอังกฤษ

โปรแกรมก็จะแสดงเมนูคำสั่งเป็นภาษาอังกฤษ

เริ่มเชื่อมต่อกับ ESP Dev board โดยเลือก ComNum ให้ถูกต้องแล้วคลิก OpenCom

คีย์คำสั่ง AT Command ในช่องว่างด้านล่างแล้วคลิก SEND หรือคลิกที่ EXT เพื่อเปิดเมนู AT Command ที่ SAVE ไว้ใน .ini ขึ้นมา

ตัวอย่างคำสั่ง AT Command

AT+INFO

MAXIIOT
DL7612
Revision:DL7612R01A74
Date:2019–01–23

AT+NCONFIG ดูค่า Config ที่ Save ไว้ในมอดูล ควรกำหนดค่าให้เป็นดังต่อไปนี้ เมื่อสั่ง Reboot มอดูล ตัวมอดูลจะเริ่มทำการเชื่อมต่อ

+NCONFIG:CLASS,C
+NCONFIG:ISMBAND,6
+NCONFIG:CHMASK,00ff,0000,0000,0000,0000,0000
+NCONFIG:RXWIN2,923200000,2
+NCONFIG:ACTIVATE,1
+NCONFIG:POWER,0
+NCONFIG:PORT,2
+NCONFIG:ADR,1
+NCONFIG:DR,2,10,0,0
+NCONFIG:CFM,1
+NCONFIG:NNMI Enable,1
+NCONFIG:PNMI Enable,1

AT+CHSET

+CHSET ISM Band:6
+CH0:923200000,0,5
+CH1:923400000,0,5
+CH2:922200000,0,5
+CH3:922400000,0,5
+CH4:922600000,0,5
+CH5:922800000,0,5
+CH6:923000000,0,5
+CH7:922000000,0,5

ให้ตรวจเช็คค่า DevEUI, APPKEY, APPEUI ที่ตั้งไว้ในมอดูล แล้วจดค่าไว้เพื่อนำไป ลงทะเบียนอุปกรณ์ Device ใน TTN โดยค่า 3 ค่าได้คำสั่ง

AT+DEVEUI
AT+APPKEY
AT+APPEUI

ตัวอย่าง ค่าที่ได้จากคำสั่งทั้งสามคำสั่ง

+DevEUI:24c5d9e632581195
+APPKEY:2b7e151628aed2a6abf7158809cf4f3d
+APPEUI:526973696e674848

อีกวิธีคือใช้เขียนโปรแกรม MicroPython ผ่าน UART ของ ESP32

โดยให้ต่อสายไฟตามภาพ

แล้ว run โปรแกรม MicroPython ต่อไปนี้

from machine import UART
import time
from time import sleep
uart = UART(2, 115200,timeout=20)
def sendATcommand(ATcommand):
print(“{0}\r\n”.format(ATcommand))
uart.write(“{0}\r\n”.format(ATcommand))
print(uart.read().decode(‘utf-8’))
sendATcommand (‘AT+INFO’)
sendATcommand (“AT+DEVEUI”)
sendATcommand (“AT+APPKEY”)
sendATcommand (“AT+APPEUI”)

AT Command อื่นๆ ที่มักใช้บ่อยดูได้จาก คลิก หรือฉบับเต็มดูได้จาก คลิก

2.การตั้งค่า Config มอดูล Maxiiot DL7612-AS923-TH

อาจใช้ผ่านสาย Serial และเข้าสู่โหมดแก้ไขด้วยคำสั่ง

AT+DEBUG=1

และ Save ด้วยคำสั่ง

AT+SAVE

หรือทำโดย Run โปรแกรม MicroPython ดังต่อไปนี้ เพื่อตั้งค่า Config ในมอดูล

ตัวอย่างโปรแกรมนี้จะกำหนดค่ามอดูลให้ทำงานเป็น Node Class C, ISMBAND=6 คือใช้ความถี่ AS1 ในการสื่อสารกับ LoRaWAN Gateway ให้ RUN เพียงครั้งเดียว ค่าต่างๆ ก็จะ Save ไว้ในมอดูลพร้อมใช้งาน

from machine import UART
import time
from time import sleep
uart = UART(2, 115200,timeout=20)
def sendATcommand(ATcommand):
print(“{0}\r\n”.format(ATcommand))
uart.write(“{0}\r\n”.format(ATcommand))
print(uart.read().decode(‘utf-8’))

sendATcommand (‘AT+INFO’)
sendATcommand (‘AT+NCONFIG’)
sendATcommand (‘AT+DEBUG=1’)
sendATcommand (‘AT+ISMBAND=6’)
sendATcommand (‘AT+CLASS=C’)
sendATcommand (‘AT+SAVE’)
sendATcommand (‘AT+CHSET’)
sendATcommand (‘AT+NRB’)
sendATcommand (‘AT+NCONFIG’)
sendATcommand (“AT+DEVEUI”)
sendATcommand (“AT+APPKEY”)

การเพิ่ม Multi Channel gateway ในเวป TheThingsNetwork

ให้ดูตามคู่มือที่มากับ Multichannel gateway โดยตั้งความถี่ให้ตรงกับที่เราตั้งในมอดูล LoRa ซึ่งอาจเป็น AS1 หรือ AS2

หาก gateway เราทำงานถูกต้องจะขึ้น Status จุดสีเขียวว่า connected

การเพิ่ม Sensor Node วัดความชื้นในดินบนเวป TheThingsNetwork

TheThingsNetwork คือเวปอะไร ก่อนอื่นต้องขอสรุปสั้นๆ ว่า TTN คือ เวปที่เราใช้บริหารจัดการ LoRaWAN ของเรา ซึ่งเราสามารถใช้ได้ฟรี แต่ก็มีข้อจำกัดอยู่บ้าง เช่น รองรับแต่ Node Class A เป็นต้น หรือจำกัดจำนวนข้อมูล Downlink ต่อวัน (ตรงนี้น่าจะเป็นนโยบาย ของ TTN แต่ไม่ได้มีการตั้งโปรแกรม Lock ไว้) TTN รองรับให้เรา Add ทั้ง Node และ Gateway ได้จำนวนค่อนข้างมาก

อ่านเพิ่มเติมเกี่ยวกับ TTN คลิก

ให้สมัครและเปิด Account ที่ www.thethingsnetwork.org หลังจากสมัครแล้วให้ Login แล้วเข้าที่ Console

มีให้เลือกว่าจะจัดการ Applications หรือ Gateway

กรณีต้องการเพิ่ม Node ให้คลิกเข้าที่ Application ก่อน แรกเริ่มจะไม่มี Application อะไรเลย ให้สร้าง Application เพิ่มขึ้นมาก่อน โดยคลิกที่ add application

Application ID เลือกชื่ออะไรก็ได้ เช่น dl7612

Application EUI ให้ระบบสร้างให้ เราจะมาแก้ไขเพิ่มเติมของเราทีหลัง เมื่อผ่านการสร้าง Application แล้ว เมื่อสร้างเสร็จจะมีบรรทัด dl7612 ขึ้นมาใหม่ ให้คลิกตรงชื่อ dl7612 จะเห็น Application Overview

คลิกที่ Manage EUIS รูปฟันเฟืองด้านขวา

แล้วนำ AppEUI จากมอดูล ที่จดไว้มาป้อน

ให้คลิกรูปดินสอด้านหน้าช่องว่างที่จะป้อนเพิ่ม หลังจากคลิก Add EUI ไปแล้วจะมีบรรทัด Application EUIS เพิ่ม

TAB Device จะเห็นด้านล่างข้อความ Device ยังแสดง Register Device เป็น 0

ให้คลิก Register Device ด้านขวา ซึ่งเราจะนำค่าจาก Node หรือมอดูลเรามาลงทะเบียนกับ TTN ตรงนี้

Deviceid ให้ใช้ตัวอักษรตัวเล็ก

Device EUI ให้นำค่าที่ได้จากคำสั่ง AT+DEVEUI มาป้อน

คลิกที่รูปดินสอ ด้านหน้า App Key แล้วนำค่าที่ได้จากคำสั่ง AT+APPKEY มาป้อน

เลือก APP EUI ตัวที่เราป้อนเข้าไป ก่อนหน้า ถ้าตรงอยู่แล้วก้ไม่ต้องแก้ไข

กำหนด Payload Format ของ Device

ให้กำหนด Payload Format เป็น Cayenne LPP เนื่องจากข้อมูลที่เราจะส่ง ก่อนส่งจะ encode ด้วย Library รูปแบบ CanyenneLPP

รูปแบบ CayenneLPP อื่นๆ ดูได้จาก คลิก

ควรปลด Frame Counter Checks ออก

ควรเข้าใน Setting โดยเอาเครื่องหมายถูกหน้า Frame Counter Checks ออก ซึ่งหากติ๊กไว้ Network Server จะรับเฉพาะข้อมูลที่เรียงลำดับ เลขนับต้องถูกต้องตรงกันเท่านั้น หาก Node เราไฟดับและเริ่มต้นส่งใหม่ลำดับเลขนับจะไม่ตรงกัน ข้อมูลจะถูกปฎิเสธ option นี้เป็นการเพิ่มระบบรักษาความปลอดภัยของข้อมูลให้เข้มงวดขึ้นหากติ๊กไว ้แต่มักสร้างความสับสนกับผู้ใช้ ถ้าเราติ๊กไว้จะเป็นต้องคลิก Reset Frame Counter บ่อยๆ ให้เป็นค่า 0 เมื่อ Node เริ่มต้นส่ง packet ลำดับที่ 0 ใหม่

เมื่อลงทะเบียนแล้วจะเห็นข้อมูล Overview ตามรูป

หาก Node ยังไม่เคยส่งข้อมูลก็จะเห็นจุดสีส้ม และข้อความ Status unseen บนหน้า Device Overview ให้เรา run โปรแกรม MicroPython ดังต่อไปนี้

โปรแกรม

สามารถ Download โปรแกรมที่ใช้ทำงานภาษา MicroPython รวมทั้ง Library ได้จาก Github

import machine
import time, ubinascii
import utime as time
from machine import UART, Pin, ADC
from cayennelpp import CayenneLPP
from Fssd1306 import SSD1306_I2C
led = Pin(2, Pin.OUT)
relay1 = Pin(12, Pin.OUT)
WaterValue = 1200 # WaterValue = 1680;
AirValue = 3035 # AirValue = 3620;
i2c = machine.I2C(scl=machine.Pin(22), sda=machine.Pin(21))
oled = SSD1306_I2C(128, 64, i2c)
uart = UART(2, 115200, timeout=300)
pot = ADC(Pin(34))
pot.atten(ADC.ATTN_11DB) # Full range: 3.3v
rstr = “”def sendATcommand(ATcommand):
print(“Command: {0}\r\n”.format(ATcommand))
uart.write(“{0}\r\n”.format(ATcommand))
rstr = uart.read().decode(“utf-8”)
print(rstr)
return rstr
def Oledhello():
oled.show_text(0, 0, “Hello”, 12)
oled.show_text(0, 20, “LoRaWAN Thailand”, 16)
oled.show_text(0, 35, “Start OTA Join”, 16)
oled.show()
Oledhello()
sendATcommand(“AT”)
sendATcommand(“AT+INFO”)
sendATcommand(“AT+DEVEUI”
sendATcommand(“AT+APPEUI”)
sendATcommand(“AT+APPKEY”)
sendATcommand(“AT+NCONFIG”)
sendATcommand(“AT+CHSET”)
sendATcommand(“AT+NRB”)
while rstr != “+CGATT:1”:
rstr = sendATcommand(“AT+CGATT”)
time.sleep(20.0)
print(“Respond String”)
print(rstr)
if rstr.startswith(“+CGATT:1”):
print(“++++OTAA OK+++++”)
break
print(“Retry OTAA Continue”)
print(“Join Success”)
oled.clear()
oled.show_text(0, 24, “Join Success”, 16)
oled.show()
time.sleep(5.0)
count = 1
while True:
print(“\r\n\r\nPacket No #{}”.format(count))
pot_value = pot.read()
percent = 100 — (100 * (pot_value — WaterValue) / (AirValue — WaterValue))
print(“ Soil Moisture (%):” + str(percent))
percentT = str(round(percent, 2))
print(“Round Soil Moisture to 2 digid(%):” + percentT)
oled.clear()
oled.clear()
oled.show_text(0, 0, "#", 24)
oled.show_text(10, 0, str(count), 24)
oled.show_text(30, 24, percentT, 24)
oled.show_text(90, 24, "% ", 24)
oled.show()
c = CayenneLPP()
c.addAnalogInput(1, round(percent, 2))
b = ubinascii.hexlify(c.getBuffer())
print(“************ Sending Data Status **************”)
led.value(1)
ATresp = sendATcommand(
“AT+NMGS={0},{1}”.format(
int(len(b.decode(“utf-8”)) / 2),
(ubinascii.hexlify(c.getBuffer())).decode(“utf-8”)
)
)
print(“********Finish Sending & Receiving Data Status******”)
led.value(0)
count = count + 1
time.sleep(10.0)

ใช้โปรแกรม Thonny ช่วยในการ run โดยเปิดโปรแกรม Thonny เข้าเมนู Tool / Option / Interpreter ก่อน แล้วเลือก Board ให้เป็น MicroPython(ESP32) และ Port ให้ถูกต้องก่อน

หากเชื่อมต่อถุกต้องก็จะ Prompt >>> ในหน้าต่าง Shell

อาจจะ Upload โปรแกรมเราขึ้น Flash ของ ESP32 เพื่อทดสอบ เมื่อทดสอบใช้งานได้แล้วให้ rename เป็นชื่อ main.py เมื่อ ESP32 บูทใหม่ทุกครั้งก็จะเรียกโปรแกรมนี้มา run

Tip!

หาก Node อยู่ระหว่าง RUN และเรายกเลิกการ RUN โดยคลิก STOP แค่ถ้า Click Stop แล้วไม่ได้ Prompt >>> อาจกดปุ่ม Reset EN ช่วย

หากข้อมูลจาก Sensor Node ที่เราสร้างขึ้น ส่งเข้า TTN ถูกต้อง Status จะเปลี่ยนเป็นจุดเขียว

และบอกเวลาว่าได้รับข้อมูล Packet ล่าสุดเมื่อไร เช่น now คือ เพิ่งได้รับ

หรือ 12 seconds ago คือ ได้รับ Packet ล่าสุดเมื่อ 12 วินาทีที่แล้ว สามารถเปลี่ยนจากมุมมอง Overview เป็นมุมมอง Data ได้ โดยคลิกที่มุมขวาบน

จะเห็นช่อง Counter คือลำดับของข้อมูล Analog_in_1 จะแสดงค่า ความชื้นของดิน ที่ได้จาก Sensor

เราสามารถส่งต่อข้อมูลจาก TTN ไปยัง Cayenne MyDevices เพื่อแสดงเป็น Graph แบบ Dashboard หรือส่งเข้า Dashboard ตัวอื่นได้ เช่น ส่งต่อไปแสดงผลบน Grafana เป็นต้น สามารถลงทะเบียนเป็นผู้ใช้ใหม่ของ MyDevices ได้ที่ Link

การเพิ่ม Integration Mydevices ให้กับ Device

ในส่วนของกำหนดค่า Device มี tab integration เพื่อให้เราส่งข้อมูลต่อไปยังระบบอื่นได้ ซึ่งเราสามารถเลือกได้หลายระบบ ตัวอย่างตามภาพเราเลือกเป็นส่งต่อไป Mydevices

กำหนด Process ID อะไรก็ได้และ Access Key ให้เลือก Device

ตัวเลือก integration อื่นๆ ที่มี เช่น

ตัวอย่างการใช้ Cayenne.mydevices.com เพื่อแสดง Dashboard

ให้เพิ่ม Sensor Node ของเราให้ mydevices.com รู้จัก ซึ่งทำได้ง่ายๆ โดยใช้ค่า DEV EUI ของ Sensor Node เราเพียงอย่างเดียว

ให้คลิก Add New/ Device Widget

ขยาย Option LoRa หา TheThingsNetwork และ CayenneLPP

แล้วป้อน DevEUI และกำหนด This device doesn’t move. แล้วกด Add Device

จะเห็นหน้าจอ

ให้เริ่มเปิด Sensor Node เมื่อข้อมูลส่งถึง mydevices หน้าตา Dashboard จะเปลี่ยนไปอัตโนมัติดังนี้

หน้าจอจะมีข้อมูลบน Dashboard เพิ่มอีก 3 ข้อมูลคือ SNR, RSSI, Analog_input(1) โดย SNR คือค่า Signal to Noise Ratio ของ Packet ที่ gateway รับได้ ข้อมูล RSSI คือความเข้มของสัญญาณ LoRa ที่ gateway รับได้ ยิ่งลบน้อยๆ แสดงว่า Node กับ gateway อยู่ไม่ห่างกัน ค่า Analog_input(1) เป็นค่า ที่ได้จาก Capacitive Soil Moisture Sensor Node

เราสามารถจัดหน้าจอให้สวยงานขึ้นหรือเปลี่ยนรุปลักษณ์ต่างๆ ตามที่เราต้องการได้

สรุป

บทความนี้ได้แสดงตัวอย่างการนำข้อมูลมาแสดงบน DashBoard ด้วย Technology LoRa หรือ LoRaWAN ซึ่งเป็นการแนะนำเบื้องต้นเพื่อให้ง่ายสำหรับผู้สนใจเริ่มต้น โดยส่งข้อมูล Sensor โดยต่อ Sensor เพียงเพียงอุปกรณ์เดียว เพื่อให้ผู้เรียนรู้การใช้งานทำตามได้ง่ายโดยเฉพาะสำหรับผู้สนใจที่เป็นมือใหม่ เมื่อมีพื้นฐานแล้วสามารถศึกษาลงลึกในแต่ละเรื่องได้ไม่ยากนัก เช่น อาจจะเริ่มติดตั้ง LoRaWAN Network Server เอง ขึ้นมาใช้แทน TTN เพื่อให้ข้อมูลอยู่ภายใน Intranet อาจจะติดตั้ง Dashboard Grafana แทน Dashboard Cayenne หรือติดตั้ง Time Series Database Influxdb เพื่อเก็บข้อมูลลงฐานข้อมูล

หรืออาจจะศึกษาเพิ่มเติมในส่วนของการ Downlink ไปควบคุมอุปกรณ์ต่างๆ ที่ต่ออยู่กับตัว Node

--

--

Somsak Lima
Somsak Lima

Written by Somsak Lima

สนับสนุนและส่งเสริมให้ผู้สนใจสามารถใช้งานเทคโนโลยี LoRa และ LoRaWAN ได้ โดยนำความรู้ที่ได้ไปต่อยอดเพื่อใช้งาน

Responses (1)