物聯網的接入平臺很多,提到專門針對LoRaWAN的話,不得不說TTN (https://www.thethingsnetwork.org)了。在全球范圍加入TTN社區網關多達16000多(2020/10/30數據)。在國內相對少點,但也是跟國內的大平臺有很多合作的。
本文介紹如何把基于STM32WL設計的溫濕度傳感器設備(Device)接入TTN平臺。
1.準備工作
1.1 TSC_WL_EVK LoRaWAN評估板
TSC_WL_EVK是騰訊云聯名(意法半導體、瑞興恒方、深圳智芯云)設計開發的LoRaWAN評估板,很多小伙伴已經拿到了這款評估板并成功接入了騰訊云物聯網開發平臺。TSC_WL_EVK可以支持燒錄TecentOS Tiny物聯網OS,極大的方便了設備的開發。基于TecentOS Tiny的設備并不是會被限制只能接入騰訊的物聯網平臺。 TSC_WL_EVK和配套的傳感器評估板如下圖:
進入智芯云店購買
1.2 LoRaWAN網關
本例采用的RAK7259室內網關,如下圖所示。
智芯云也可提供低成本的單通道網關,與TSC_WL_EVK配套使用。(下圖中包括了單通道網關,TSC_WL_EVK評估板和溫濕度傳感器擴展板)
1.3 TTN賬號
在https://www.thethingsnetwork.org/注冊TTN免費賬號(注冊過程可參考網站提示)。 如果想試試圖形化的應用開發,在https://cayenne.mydevices.com/注冊Caynne免費賬號。 2. 設備TSC_WL_EVK固件 TSC_WL_EVK評估板對應的參考開發工程文件可以通過下方鏈接獲取 鏈接:https://pan.baidu.com/s/10BqWjgMZT4_pGWaifh8EyQ 提取碼:hgxd 參考開發工程文件包含TSC_WL_EVK開發包和STM32WLxx的KEIL的器件庫包,如下圖
設備的固件是不用修改就可以接入TTN平臺的,前提是設備上的DeviceEUI,APP_EUI(LoRaWAN 1.1spec 改為JOIN_EUI),APP_KEY要和TTN平臺設置一致。為確保接入成功,可以在commissioning.h中修改DeviceEUI,APP_EUI,APP_KEY為自己需要的數值。
如果想要嘗試mydevice的圖形界面做簡單應用的開發,需要在把上傳的數據結構做簡單的修改。 在app_lorawan.c中修改數據長度為7,如下圖所示。
在app_lorawan.c中修改上報的數據格式:溫度(4BYTE)和濕度(3BYTE),如下圖所示。
修改后編譯下載到TSC_WL_EVK。(對于TSC_WL_EVK的燒錄可參看之前教程)
3. 網關設置
先把網關連上WIFI,進入網關的管理界面,選擇設置LoRa Packet Forwarder設置參數,大部分設置采用缺省就可以了。 關鍵參數說明: Gateway EUI: 網關的UID,建議用網關的MAC地址中間插入固定數據FFFE。 Protocol: 目前最通用的是Semtech UDP package forward協議。 Server Address: TTN服務器在中國區域選擇router.cn.thethings.network。 Region,Frequency: CN470,CH80-87。 注:如果用戶希望在LoRa節點的程序中使用自己的頻道,那需要在網關設置中選擇相應的頻段。
4. TTN設置 進入TTN的控制臺,選擇GATEWAY。
選擇Register Gateway把剛設置好的網關注冊到TTN。
設置以下參數(要求跟網關設置一致): GateWay EUI: 填寫剛才網關中設置的UID Package Forwarder: 選中 Franquency Plan: CN470 Router: ttn-router-asia-se Location: 緯度經度高度(地圖顯示估計會有問題,不影響設置) Indoor/Outdoor: 選擇Indoor 點擊:Register Gateway
信息無誤的話,會進入以下界面,并可以看到在線提示。
選擇Setting可以管理網關。
如果附近有活躍的設備(Device),選Traffic可以看到網關的數據。這些數據是經過加密的。
在控制臺選擇add application。 Aapplication EUI系統自動生成,之后可以修改。 Handler registration: 默認ttn-handler-asia-se就可以了。
在Application管理界面里可以修改APPLICATION EUI,,修改為AAAABBBBCCCCDDDD,保持跟設備的設置一致。
在應用的數據格式里選擇CayenneLPP格式。(如果選用自定義格式的話,需要自行編寫JavaScript將原始數據格式轉換城JSON格式)。
下一步就是在APPLICATION里注冊設備了。這里注冊的設備信息也要與之前設備開發中使用的信息一致,如下圖。
上面提到,我們在TSC_WL_EVK參考示例工程中的設置如下: Device ID: aaaabbbbccccdddd Device EUI: AA AA BB BB CC CC DD DD APPKEY: 11 11 22 22 33 33 44 44 55 55 66 66 77 77 88 88 APPEUI: 選擇剛設置的AA AA BB BB CC CC DD DD
注冊完成后如果一切無誤,1分鐘內應該在應用-->設備的狀態頁可以出設備最后在線的時間。如是狀態一直提示為never seen,那需要檢查之前的步驟了。
在設備的實時數據中可以看到入網請求包,上傳的溫度濕度原始數據包,TTN按照CaynneLPP格式解析出的溫度濕度值,還有空的下傳包用于確認收到上傳包。
至此,已經成功將溫濕度傳感器設備接入了TTN平臺。用戶可以通過TTN提供的API訪問這些數據,從而開發自己的應用程序。最簡單快捷的方法,采用https://cayenne.mydevices.com/提供的圖形化開發界面做簡單的應用。在TTN的控制臺添加Integration, 然后選擇mydevices。
設置一個ProcessID和用于下傳數據的Accesskey。然后保存。
TTN會將收到的數據轉發到mydevices的后臺做應用開發。
在https://cayenne.mydevices.com/選擇新建項目,選擇LoRa。
選擇TTN(TheThingsNetwork)。
TTN支持的設備太多,在左上角搜索Cayenne會比較快。
添加設備,設置名字,輸入正確的DevEUI(與之前TSC_WL_EVK參考工程中設置一致)。
見證奇跡的時刻。RSSI,SNR也有,圖標都自動給配好了。
修改設置(至少把英文改成中文吧)后選擇新建項目CreateNewProejct。
從左邊將設備“拖放”到項目里。選擇所有數據。
項目菜單中選擇Trigger and Alert。
新建Trigger。設置為溫度超過30度,發送短信或者郵件提醒(電話號碼注意加上+86)。保存。
將傳感器溫度提升至30度以上。將會收到郵件或短信提醒。
以上介紹了如何將基于STM32WL設計的LoRaWAN設備接入TTN以及如何在Cayenne平臺上做簡單的應用開發。這只是一個簡單的演示,實際項目需要考慮的細節還有很多。
責任編輯:PSY
原文標題:STM32WL溫濕度傳感器接入TTN物聯網平臺
文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
-
物聯網
+關注
關注
2909文章
44736瀏覽量
374477 -
STM32
+關注
關注
2270文章
10906瀏覽量
356560 -
溫濕度傳感器
+關注
關注
5文章
581瀏覽量
35767
原文標題:STM32WL溫濕度傳感器接入TTN物聯網平臺
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論