LORA / LORAWAN 第十七節
Demo “OTAA” to “TTN” ,”ABP” to “TTN”, Downlink from “TTN”
7 min readApr 5, 2021
這個章節我將會示範使用Heltec HTCC-AB02 以 OTAA / ABP 方式接入TTN並實作間隔/觸發上傳電池容量(Interrupt uplink battery power)與下傳訊息(Downlink from TTN)
使用的服務與硬體生產廠商
The Things Network & Heltec
- TTN (The Things Network) : 提供全球性LoRaWAN網路服務運營商
- Heltec (Heltec Automation) : 提供LoRaWAN 整合開發板生產廠商
TTN 設定
TTN建立Application
- TTN 使用者註冊
- The Things Network 註冊
- 準備: 一個收的到確認信的E-mail
- 網站 : https://www.thethingsnetwork.org
- TTN Gateway
- 查看附近有沒有TTN 的 Gateway,如果沒有請參考第18節自行架設Gateway並連接上TTN。如果已經有可以連接的Gateway就可以直接連接。
- 網站 : https://www.thethingsnetwork.org
申請帳號完成後就可以進入TTN Console
- 進入TTN Console
- 網站 : https://console.thethingsnetwork.org
如果沒有Application
填入ApplicationID ,Description
生成一個OTAA的裝置
在剛剛生成的Application裡面
- 註冊一個Device(預設是OTAA模式的裝置,等一下可以修改)
- 讓TTN幫你生成DeviceEUI , ApplicationEUI ,AppKey
LoRaWAN開發板設定
HTCC-AB02 Spec
- HTCC-AB02 是一個LoRaWAN開發板,整合0.96” OLED 與 32bit 48Mhz MCU / SX1276
- 網站 : www.heltecshop.com
- 請參考這篇安裝Arduino環境說明:https://delorescetleh.medium.com/heltec-arduino教學-下載與安裝arduino-ide-開始使用-heltec-cubecell-撰寫我的第一隻arduino-3b743f462f94
- 到Arduino IDE 選取這張開發板
- 到範例程式裡選取這個範例LoRaWAN_interrupt
- 開啟範例
- 為了以後應用方便我們找一下這個函式庫的code放哪裡
- 打開偏好設定,找到下面的路徑
- 將路徑裡面的 ~/Arduino15 整個資料夾放入VSCODE
- VSCODE 是個MS 出品的編輯器軟體 您可以參考這個video安裝
- https://www.youtube.com/watch?v=z303bRS2SVI
- 找到路徑中的 Arduino15/packages/cubecell/hardware/cubecell/1.1.0/libraries/lora/examples/lorawan_interrupt/lorawan_interrupt.ino 如下圖:
- 打開檔案
- 在想查詢參數來源碼的地方按下 “command + return” 或是”control + enter ” 就可以打開查看該原始碼
例如我們想要看這個LoRaWan_APP就可以打開來看他的源碼,使用VSCODE 查看非常方便!
接下來回到我們的範例程式裡面來
- 設定觸發與定時上傳
- appTxDutyCycle 修改成 每10sec上傳一次
- 在prepareTxFrame修改上傳的內容
- 讀取BoardGetBatteryLevel() 這個函式在LoRaWan_app.cpp 內,可以查看也可以修改如果你的電池電壓不是3.7-4.212v。
- 然後編譯下載到HTCC-AB02
回到TTN 查看資料
OTAA 設定測試完成
接下來我們將該裝置修改成ABP的裝置
修改成ABP的裝置
Step1:在TTN修改裝置為ABP並生成DevAddr,NwkSKey,AppSKey
Step2:在Arduino IDE修改裝置為ABP並將DevAddr,NwkSKey,AppSKey填入程式中,編譯下載到HTCC-AB02
Step3:完成測試
Step1
在TTN修改裝置為ABP並生成DevAddr,NwkSKey,AppSKey
- 在Device內選擇設定
- 在Activation Method 選擇ABP
- 讓TTN幫你生成DevAddr,NwkSKey,AppSKey
Step2
在Arduino IDE修改裝置為ABP並將DevAddr,NwkSKey,AppSKey填入程式中
- 在Arduino IDE修改裝置為ABP
- 將DevAddr,NwkSKey,AppSKey填入程式中,編譯下載到HTCC-AB02
- 完成測試-回TTN查看
Downlink from “TTN”
- 到範例程式裡選取這個範例LoRaWAN_downlinkdatahandle
- 到範例程式裡填入對應的OTAA 或ABP參數
- 到TTN裡下傳資料
- 打開Arduino Console 查看下傳的資料,測試完成