การใช้ Onion Omega2+ กับ LoRaWAN
Module Maxiiot-DL7612-AS923-TH
อุปกรณ์ที่ต้องใช้
- บอร์ด Onion Omega2+
- Expansion Dock
- LoRaWAN module Maxiiot-DL7612-AS923-TH
- Sensor BME280
โปรแกรมบน PC
- Teraterm หรือ secureCRT
ก่อนอื่นต้อง Setup ให้ Omega เชื่อมต่อกับ Wifi ให้เรียบร้อยก่อน โดยทำตาม คลิป https://www.youtube.com/watch?v=OgR5l0CKO6Y&t=6s หรือทำตามหน้าเวป https://docs.onion.io/omega2-starter-kit/first-time-setup.html
ย่อๆ คือ เชื่อมต่อ wifi Omega-BXXX เรียกเวป 192.168.3.1
ใช้ user name root และ password onioneer และตั้งค่าให้ onion เชื่อมต่อ Wifi เพื่อให้ได้ IP. NO ภายใน Intranet ของเรา
เริ่มต้นใช้งาน
เสียบสาย USB และรอจนไฟกระพริบหยุดกระพริบ
ใช้ teraterm ทำการ ssh เข้าไปที่ IP ของ Omega2+ใช้ user name root และ password onioneer
update list ของแหล่งข้อมูลสำหรับ Download แล้วใช้คำสั่ง opkg ติดตั้ง โปรแกรมที่จำเป็น
opkg update
opkg install pyOnionGpio
คำสั่งดูโปรแกรมที่มีให้ Download อื่นๆ คือ
opkg list
คำสั่งดูโปรแกรมที่ติดตั้งไปแล้ว
opkg list-installed
ใช้ภาษา Python3
ก่อนอื่นต้องติดตั้ง Python 3 และโปรแกรมที่ใช้กับ Python คือ pyserial
opkg install python3-light
opkg install python3-pip
python3 -m pip install pyserial
- โปรแกรมส่ง Hello เข้า LoRaWAN Network Server
เชื่อม Pin TX ของ Maxiiot DL7612-AS923-TH เข้า RX ของ Expansion Dock และเชื่อม RX ของ Maxiiot DL7612-AS923-TH เข้า TX ของ Expansion Dock
import serial
import time
ser = serial.Serial("/dev/ttyS1", 115200, timeout=1)
ser.write(b'AT+INFO\r\n')
print(ser.read(250).decode('utf-8'))
ser.write(b'AT+NRB\r\n')
time.sleep(20.0)
print(ser.read(250))
# print(ser.read(250).decode('utf-8'))
ser.write(b'AT+INFO\r\n')
print(ser.read(250).decode('utf-8'))
ser.write(b'AT+NCONFIG\r\n')
print(ser.read(250).decode('utf-8'))
ser.write(b'AT+CGATT\r\n')
print(ser.read(250).decode('utf-8'))
cnt = 1
while True:
print("Hello! #{}".format(cnt))
# sendATcommand ("AT+NMGS=7,01670119026873")
ser.write(b'AT+NCMGS=5,HELLO\r\n')
print(ser.read(200).decode('utf-8'))
cnt = cnt + 1
time.sleep(5.0)
ser.close()
สร้างไฟล์ ้ hello.py และใช้โปรแกรมตามตัวอย่างด้านบน เรียกโปรแกรมให้ทำงานโดยใช้คำสั่ง
python3 hello.py
ผลการ run
2.ต่อ Sensor BME280
ใช้คำสั่ง SCAN เพื่อดูว่าเชื่อมต่อถูกต้องและใช้งานได้หรือไม่
i2cdetect -y 0
หากมี Sensor I2C ต่ออยู่ก็จะมี Address ขึ้น ต่ามตัวอย่างคือ 76
ส่งท้าย
บทความนี้เขียนขึ้นมาจากการทดลองใช้งานประมาณ 1 สัปดาห์ หวังว่าผู้สนใจนำ Onion Omega2+ ใช้กับ LoRaWAN สามารถพัฒนาจากตัวอย่างที่ให ้เขียนเป็นโปรแกรมที่สมบูรณ์ขึ้น สามารถใช้งานได้ตามต้องการต่อไป