LORA / LORAWAN 第十七節

Demo “OTAA” to “TTN” ,”ABP” to “TTN”, Downlink from “TTN”

Delores Cetleh
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 註冊一個帳號
  • TTN Gateway
  • 查看附近有沒有TTN 的 Gateway,如果沒有請參考第18節自行架設Gateway並連接上TTN。如果已經有可以連接的Gateway就可以直接連接。
  • 網站 : https://www.thethingsnetwork.org

申請帳號完成後就可以進入TTN Console

點選 Applications

如果沒有Application

新增一個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
HTCC-AB02
  • 到範例程式裡選取這個範例LoRaWAN_interrupt
  • 開啟範例
  • 為了以後應用方便我們找一下這個函式庫的code放哪裡
  • 打開偏好設定,找到下面的路徑
路徑就是 ~/Arduino15/
  • 將路徑裡面的 ~/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

例如我們想要看這個LoRaWan_APP就可以打開來看他的源碼,使用VSCODE 查看非常方便!

接下來回到我們的範例程式裡面來

  • 設定觸發與定時上傳
將USER_Key當成Interrupt key
  • appTxDutyCycle 修改成 每10sec上傳一次
  • 在prepareTxFrame修改上傳的內容
  • 讀取BoardGetBatteryLevel() 這個函式在LoRaWan_app.cpp 內,可以查看也可以修改如果你的電池電壓不是3.7-4.212v。
  • 然後編譯下載到HTCC-AB02

回到TTN 查看資料

這裡可以看到已經上傳的狀態
選擇Data 可以看到上傳的內容
點按每筆資料還可以查看到Gateway上傳的訊息

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內選擇設定
Device page
  • 在Activation Method 選擇ABP
Setting page
  • 讓TTN幫你生成DevAddr,NwkSKey,AppSKey
讓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 查看下傳的資料,測試完成

第十七節 結束

參考資料

--

--

No responses yet