2018年3月24日 星期六

用群登LoRa智慧積木自建LoRaWAN網路

作者:柯大
本文將為大家介紹如何用群登科技(Acsip)的LoRa開發套件來自建LoRaWAN網路,這個開發套件是LoRa Smart Blocks Development Kit ,含LoRa智慧型積木組件及正文 Gemtek Indoor Gateway。
群登這套LoRa智慧型積木組件採用通過LoRa Alliance、CLAA、Actility等多重認證的S76S/S78S LoRa模組,透過感測板(Sensor Board)、LoRa板(LoRa Board)及電池板(Battery Board)來組合成一積木式套件,一舉滿足LoRa物聯網應用開發的三大重點:主控板、LoRaWAN及電源需求,進一步降低進入物聯網領域的門檻,協助Maker們快速熟悉LoRa Smart Blocks,輕鬆利用這些軟硬體智慧積木,組合搭配出各式各樣的物聯網應用,讓Maker輕易完成概念性驗證(Proof of Concept),加速物聯網產品上市時程。
LoRa開發套件(圖片來源:群登Acsip)
LoRa開發套件應用(圖片來源:群登Acsip)
LoRa Smart Blocks方案的感測板採用使用者最為熟悉,且軟、硬體整合功能強大的Arduino開發板,讓使用者得以在此開發平台上輕易地與各種Sensor進行整合。LoRa 板則是採用群登號稱全球體積最小的S76S LoRa通訊模組,透過UART介面將感測板的Sensor訊號由LoRa模組傳送至Gateway及雲端平台。積木式套件另提供電池板,可使LoRa開發板自備電源,使得供電方式更為彈性,方便戶外測試更為便利。
LoRa Smart Blocks 套件主要積木組件規格如下:

1.LoRa Board :S76S SemtechSX1276

圖片來源:群登Acsip官網

2. Sensor Board (compliant Arduino UNO)

  • MCU: ATmega328P ,提供GPIO/I2C/ADC/UART
  • 開發環境: Arduino
  • 感測器:內建SHT30高精度溫溼度感測、MC3630 mCube 3軸加速器,二種感測器均為I2C介面,Address分別為0x45、0x6C
  • 程式燒錄:AVR ISP(透過ICSP 連接Arduino UNO SPI介面,Arduino as ISP方式燒錄)
圖片來源:群登Acsip官網

3. Battery Board:Lithium/ 3.7V /300mAh

4. Gemtek LoRa Indoor Gateway Unit:Gemtek indoor 16 channel LoRaWAN Gateway

圖片來源:正文Gemtek官網
LoRa Smart Blocks Development Kit ,主要智慧型積木組件接腳圖如下:
圖片來源:群登Acsip
程式燒錄透過Sensor Board ICSP 連接Arduino UNO SPI介面,以Arduino as ISP方式燒錄。
Arduino UNO與Sensor Board接腳連接方式如下,詳細燒錄步驟請參考群登科技所提供的文件及範例。
  1. UNO D13 ←→ ICSP SCK (pin 3)    UNO D12 ←→  ICSP MISO (pin 1)
  2. UNO D11 ←→ ICSP MOSI (pin 4)   UNO D10 ←→  ICSP REST (pin 5)
  3. UNO 5V ←→  ICSP +5V (pin 2)    UNO GND ←→  ICSP GND (pin 6)
圖片來源:群登Acsip
LoRa Smart Blocks的S76S LoRa通訊模組同時支援Node to Node 的P2P自建LoRa網及LoRaWAN 1.0.2協議LoRa網路架構。Smart Blocks的LoRa Board S76S LoRa Command 指令集類型分為:SIP commands指令集、MAC commands指令集、RF commands指令集等3種指令類型,並依模組的運作模式分為:LoRaWAN 模式指令、Node to Node 模式指令。
UART 連線預設參數為:115200,N,8,1,可利用Serial port control software 來測試。
UART 連線(圖片來源:群登 Acsip)

SIP commands:LoRa晶片模組內部指令集

指令集

MAC commands:LoRa MAC協議指令集

設定頻段之各Channel頻段預設如下:可用mac set_ch_freq指令更改各Channel頻段
Channel頻段預設(圖片來源:柯大提供)

LoRa MAC協議指令集

RF commands:LoRa RF發射接收指令集

發射接收指令集

LoRaWAN command測試

Join ABP mode

測試mode

Join OTAA mode

測試mode

Confirmed Uplink and Downlink

測試mode

Node to Node command測試

測試mode

自組LoRaWAN實作介紹

可利用LoRa Smart Blocks套件所提供的積木式LoRa Node(結合了Arduino Sensor board內建的SHT30高精度溫溼度感測、MC3630 mCube 3軸加速器感測器),以Arduino 範例連接到Kit所提供的Gemtek Indoor LoRa Gateway 進行實作測試,步驟如下:
1.連線進入Gateway後台,設定LoRa Node 以OTAA方式Join LoRaWAN 之AppEUI、DevEUI、DevAddr、AppKey。
圖片來源:柯大提供
2.設定LoRa Node 以ABP方式Join LoRaWAN 之DevAddr、NwksKey、AppsKey。
圖片來源:柯大提供
3.設定Gemtek Indoor LoRa Gateway Network Server 以及MQTT forward LoRa 封包。
圖片來源:柯大提供
4.查看Gemtek Indoor LoRa Gateway WAN的MAC Address。
圖片來源:柯大提供
5.利用MQTTBox Client 接收LoRa Gateway Network Server forward 的LoRa 封包。
圖片來源:柯大提供
6.查看Gemtek Indoor LoRa Gateway LoRa Module 1,2各channal 設定的頻段
圖片來源:柯大提供
7.LoRa board (S76S) 端連接至LoRa Gateway LoRaWAN ABP方式:

(1)利用Serial port 連線軟體測試

範例程式

(2)利用Arduino 測試Sample

範例程式

8.MQTTbox 接收Gateway轉送資訊封包:
圖片來源:柯大提供
圖片來源:柯大提供

沒有留言:

張貼留言