此解決方案展示了如何創(chuàng)建環(huán)境數(shù)據(jù)傳感器節(jié)點(diǎn)。傳感器節(jié)點(diǎn)測量空氣溫度、空氣濕度、氣壓和氣體水平。節(jié)點(diǎn)成功加入服務(wù)器后,它會定期將此數(shù)據(jù)傳輸?shù)?LoRaWan? 服務(wù)器。
#前期準(zhǔn)備
#硬件
- WisBlock Base (本示例使用RAK5005-O)
- WisBlock Core(本示例使用RAK4631)
- WisBlock Sensor(本示例使用RAK1906)
- LoRa天線(本示例使用CN470頻段)
- 網(wǎng)關(guān)(本示例使用RAK7258網(wǎng)關(guān))
???? 注意:
請保持網(wǎng)關(guān)與傳感器所屬頻段相同,本實(shí)例中均為CN470。
#軟件
#硬件安裝
1、將LoRa天線接口對準(zhǔn)并放置在RAK4631模塊的LoRa天線接口搭接處,輕輕按壓LoRa天線接口,完成安裝。
Figure 1: 安裝LoRa天線2、將RAK4631模塊上的連接器插頭對準(zhǔn)RAK5005-O CUP插槽上的連接器插座。保持連接器間平行,將其輕放在插座連接器相應(yīng)的搭接處。
Figure 2: 安裝WisBlock Core RAK46313、將傳感器模塊RAK1906上的連接器插頭對準(zhǔn)RAK5005-O插槽的連接器插座。保持連接器間平行,將其輕放在插座連接器相應(yīng)的搭接處。
Figure 3: 安裝WisBlock Sensor RAK1906???? 注意:
平行按壓均勻施力,將聽到扣合完成的聲音,扣壓完成后請使用螺釘將WisBlock Core和WisBlock Sensor模塊固定在RAK5005-O Base板上。
組裝完成后示意圖如下:
Figure 4: 模塊組裝#軟件配置
本章節(jié)介紹WisBlock 傳感器模塊的軟件配置。
#Arduino IDE的下載
使用Arduino IDE對WisBlock進(jìn)行編碼和編程。如果您還未安裝Arduino IDE,可在Arduino官網(wǎng)中下載。
?? 警告
如果您所使用的操作系統(tǒng)為Windows 10:
請勿從Microsoft應(yīng)用商店中安裝Arduino IDE。請從Arduino官網(wǎng)中安裝原始的Arduino IDE。Microsoft應(yīng)用商店中的Arduino應(yīng)用在使用第三方板支持包時存在問題。
如下圖所示,可以看到Arduino IDE當(dāng)前版本為V1.8.16。Windows、Linux和Mac OS X都有多個可用版本,選擇正確的Arduino IDE版本并下載。
Figure 5: Arduino IDE 版本示意圖#Arduino IDE的安裝
本示例為在Windows PC中安裝已下載的Arduino IDE。
1、單擊“I Agree”。
Figure 6: Arduino安裝許可協(xié)議2、單擊“Next”。
Figure 7: Arduino安裝選項(xiàng)3、單擊“Install”。
Figure 8: Arduino IDE安裝路徑Figure 9: Arduino IDE安裝中進(jìn)度為100%后,Arduino IDE已成功安裝,單擊“Close”,退出安裝過程。
Figure 10: 成功安裝???? 注意:
在Linux與Mac OS X中,沒有安裝過程。只是一個解壓過程,然后就能夠成功打開Arduino IDE 。
#Arduino IDE上的配置
Arduino IDE安裝成功后。需要對Arduino IDE進(jìn)行一些配置以便后續(xù)對WisBlock組裝模塊進(jìn)行相關(guān)配置。
- 打開Arduino IDE。
- 進(jìn)入“文件 > 首選項(xiàng)”。
3、單擊圖中圖標(biāo),編輯“附加開發(fā)板管理器網(wǎng)址”,將WisBlock Core添加到Arduino板列表中。
Figure 12: 修改附加開發(fā)板管理器網(wǎng)址4、復(fù)制此URLhttps://raw.githubusercontent.com/RAKwireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless_index.json
并粘貼至下圖所示區(qū)域。如果已存在其他鏈接,將上述鏈接粘貼至新的一行。完成后,單擊“好”。
???? 注意
如果您使用的是Linux,需要通過“pip”安裝“adafruit-nrfutil”。
sudo pip3 install adafruit-nrfutil
或 pip3 install --user adafruit-nrfutil
5、重啟Arduino IDE。
6、在“工具”菜單中打開“開發(fā)板管理”。
Figure 14: 打開開發(fā)板管理7、如下圖所示,在搜索欄中鍵入“RAK”。將會顯示出可添加到Arduino板列表中的可用RAKwireless WisBlock Core。選擇以下板支持包以及相應(yīng)的版本,并單擊“安裝”板支持包。
Figure 15: 安裝WisBlock Core#燒錄程序
1、將組裝的WisBlock傳感器模塊使用USB連接線連接到PC上。
2、在Arduino IDE中,根據(jù)下圖所示,選擇WisBlock Core RAK4631板。
Figure 16: 選擇WisBlock Core RAK4631板3、根據(jù)下圖所示,選擇示例項(xiàng)目。
Figure 17: 選擇示例代碼4、打開示例代碼后,雙擊圖中鏈接,安裝示例代碼中所需的代碼庫。
Figure 18: 安裝所需代碼庫5、修改示例代碼中的頻段區(qū)域,本示例使用的為CN470。
Figure 19: 修改頻段6、完成后,如下圖所示,選擇正確的串口并單擊圖中上傳圖標(biāo)上傳代碼。
Figure 20: 選擇端口號#連接網(wǎng)關(guān)到TTN
本節(jié)為連接網(wǎng)關(guān)至TTN(The Things Network)平臺。
#前提條件
- 網(wǎng)關(guān)已連接到網(wǎng)絡(luò),具體請參見連接網(wǎng)關(guān)到網(wǎng)絡(luò)。
- 注冊TTN賬號并激活賬號。
#操作步驟
1、登錄TTN網(wǎng)站,您將看到以下頁面:
Figure 21: TTN主頁2、單擊“Register a gateway”,進(jìn)入以下頁面注冊網(wǎng)關(guān)信息。
Figure 22: 注冊網(wǎng)關(guān)- Gateway EUI:網(wǎng)關(guān)唯一 ID。該名稱必須與網(wǎng)關(guān)的真實(shí)網(wǎng)關(guān)ID相同??傻卿浘W(wǎng)關(guān)在Web頁面“LoRa Network > Network Settings”頁面找到Gateway EUI。
- Frequency Plan:這是您要使用的頻率,本示例為CN470。
- Gateway Server address:eu1.cloud.thethings.network為網(wǎng)關(guān)服務(wù)器地址。
- 單擊“Create gateway”,網(wǎng)關(guān)新建成功后,即可在網(wǎng)關(guān)列表頁查看新增加的網(wǎng)關(guān)。
4、訪問網(wǎng)關(guān),選擇“LoRa Network > Network Settings”進(jìn)入LoRaWAN Network Setting設(shè)置界面。
Figure 23: 網(wǎng)絡(luò)設(shè)置- 將“Mode”設(shè)置為“Packet Forwarder”后,單擊“Switch mode”。
- 修改Server Address。修改完成后單擊“Save & Apply”。
5、刷新TTN網(wǎng)關(guān)界面,如果您的網(wǎng)關(guān)狀態(tài)為“Connected”,則網(wǎng)關(guān)現(xiàn)在已連接到TTN。
Figure 24: 網(wǎng)關(guān)成功連接TTN#連接傳感器節(jié)點(diǎn)至TTN
本節(jié)為連接傳感器節(jié)點(diǎn)至TTN(The Things Network)平臺。
#登錄到TTN平臺
登錄TTN網(wǎng)站,您將看到以下頁面:
Figure 25: TTN控制臺頁面#創(chuàng)建新的應(yīng)用程序
1、進(jìn)入添加 Application 界面,注冊相關(guān)信息后,單擊頁面底部的“Create application”。
Figure 26: 添加應(yīng)用2、進(jìn)入應(yīng)用程序概述頁面,單擊右下角“Add end devices”,在TTN平臺注冊新設(shè)備。
Figure 27: 應(yīng)用程序概述頁面#注冊新設(shè)備
1、在“Register end device”頁面中,單擊“Manually”頁簽。
2、配置Frequency plan、LoRaWAN version、Regional Parameters version,并添加設(shè)備DevEUI、AppEUI、AppKey。
Figure 28: 注冊設(shè)備???? 注意:
設(shè)備頻段應(yīng)與網(wǎng)關(guān)頻段相同。
3、DevEUI、AppEUI、AppKey請在傳感器示例代碼中獲取,切記需要刪除各個數(shù)字前的“0x”以及“,”。
Figure 29: 獲取DevEUI、AppEUI、AppKey4、單擊"Register and device",完成設(shè)備注冊,注冊結(jié)果將匯總?cè)缦聢D所示。
Figure 30: 設(shè)備信息5、重啟設(shè)備后,設(shè)備自動入網(wǎng)并定時向服務(wù)器傳輸實(shí)時監(jiān)測數(shù)據(jù)。單擊See all activity→,查看傳輸數(shù)據(jù)。
Figure 31: 環(huán)境監(jiān)測數(shù)據(jù)6、成功上傳示例項(xiàng)目后,可在 Arduino IDE 的工具欄單擊串口監(jiān)視器,查看傳感器的讀取日志。如果日志如下所示,表示RAK1906正在與WisBlock Core正確通信。
Figure 32: 串口監(jiān)視器日志#數(shù)據(jù)格式
通信傳輸?shù)膶?shí)時監(jiān)測數(shù)據(jù)格式如下表所示:
字節(jié)1 | 字節(jié)2 | 字節(jié)3 | 字節(jié)4 | 字節(jié)5 |
---|---|---|---|---|
1 | 溫度1 | 溫度2 | 濕度1 | 濕度2 |
字節(jié)6 | 字節(jié)7 | 字節(jié)8 | 字節(jié)9 | 字節(jié)10 | 字節(jié)11 | 字節(jié)12 | 字節(jié)13 |
---|---|---|---|---|---|---|---|
氣壓1 | 氣壓2 | 氣壓3 | 氣壓4 | 氣體1 | 氣體2 | 氣體3 | 氣體4 |
- 字節(jié)1是數(shù)據(jù)類型的標(biāo)識,這里始終是 1。
- 每個字節(jié)的值都是 MSB 在前。
- 溫度以兩個字節(jié)的形式發(fā)送,為了準(zhǔn)確起見放大 100 倍。例如,2510 意味著 25.01攝氏度,以 0x09 0xCE 發(fā)送。
- 濕度是以兩個字節(jié)的形式發(fā)送的,為了準(zhǔn)確起見放大了 100 倍。例如,4173 意味著 41.73%,以 0x10 0x4D 發(fā)送。
- 氣壓是以四個字節(jié)的形式發(fā)送的,為了準(zhǔn)確起見放大了 100 倍。例如,100945 意味著 1009.45hPa,以 0x00 0x01 0x8A 0x51 發(fā)送。
- 氣體電阻以四個字節(jié)發(fā)送,例如63560Ω,以 0x00 0x00 0xF8 0x48 發(fā)送。
???? 注意:
此傳輸示例中:0x09 0x5E代表溫度值;0x14 0xDD代表濕度值;0x00 0x01 0x7A 0x85代表氣壓值;0x00 0x00 0x09 0x8B代表氣體電阻值。
-
環(huán)境監(jiān)測
+關(guān)注
關(guān)注
3文章
353瀏覽量
18716 -
LoRa技術(shù)
+關(guān)注
關(guān)注
3文章
101瀏覽量
16396 -
RAK
+關(guān)注
關(guān)注
0文章
48瀏覽量
2129
發(fā)布評論請先 登錄
相關(guān)推薦
評論