|

【Tutorial】Blue Pill 與Sigfox 物聯網串連(下)

   
原著:李立源 Lee Lup Yuen/譯者:賴梓仁 Upton Lai

本文介紹如何以 STM32 微處理器為核心的 STM32 F103C8T6 Blue Pill 開發板,來連接 Sigfox 收發器模組以接取 Sigfox 物聯網網路。在上篇已說明Blue Pill開發版的硬體設備以及安裝流程,本篇將進一步介紹執行上的要領。

Blue Pill 如何執行程式

Blue Pill 在執行程式時,您可以藉由如下方影片裡 LED 閃爍與否的徵象來判別。右上方 PC13 綠色 LED 的閃爍表示網路任務正在匯整從多個感測任務接收而來的感測資料,即使您使用的 BME280 感測器與 Wisol Sigfox 收發器模組都是用程式模擬來的,也都可以觀察到相同現象。

https://www.youtube.com/watch?v=LvVWSxR8vjM

上方的影片顯示了 Blue Pill 以實體 BME280 感測器與 Wisol Sigfox 模組執行程式時的除錯紀錄。有些重點條列如下:

  1. 收集感測器數值的動作永遠不會停止: tmp >> 是在收集溫度資料;hmd --> 是在收集溼度資料;alt --> 是在收集海拔高度資料。即使 Blue Pill 正在傳送 Sigfox 訊息也不會停止感測數值的收集,這就是 Blue Pill 可多工處理的威力。
  2.  每一則程式上傳到 Sigfox 的訊息都含有一道下行需求申請,意思是, Sigfox 雲端其實是會等待我們的伺服器回傳一則 8 個位元組的訊息,並將這個訊息下行回傳到終端裝置。
  3. Sigfox 下行訊息耗時長達一分鐘才完成,這就是為什麼訊號送出後,一分鐘內都看不到任何確認訊號 (ACK) 回傳。等待的時間,程式還是可以繼續執行其他的感測任務與網路任務。
  4. 在影片尾聲,我們看到了上行訊號送出的一分鐘之後,一則下行訊息成功回傳:process_downlink_msg FEDCBA9876543210。我們可以在 downlink.cpp 裡安插程式來做下行訊息接收後的因應處置。

如果您是使用程式模擬的 BME280 感測器與 Wisol Sigfox 模組,您將可以看到預先設定好的感測數值與 Wisol 指令。整體訊息處理的流程是相同的。

感測任務 Sensor Task 是如何讀取並傳送感測資料的呢?除錯紀錄裡的訊息又是什麼意思呢?透過以下這些原始程式碼的連結來說明。

溫度感測任務(圖片來源:李立源)

網路任務 Network Task 是如何接收、匯集、傳送感測資料的呢?來看看以下的說明。

本文為會員限定文章

立即加入會員! 全站文章無限看~

                               

已經是會員? 按此登入

只需不到短短一分鐘...

輸入您的信箱與ID註冊即可享有一切福利!

會員福利
1

免費電子報

2

會員搶先看

3

主題訂閱

4

好文收藏

Author:

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *