文章類型
開發平台
解決方案
關注主題
文章類型
開發平台
解決方案
關注主題

【Tutorial】用AcSip S76S LoRa模組做CO感測

作者:賴建宏

日前非常榮幸應AcSip的邀請,到位於桃園的AcSip辦公室親身體驗LoRa模組。這是我使用LPWAN以來第一次採用LoRa,不過還好只要參考IEEE 802.11ah的規格大概能通,畢竟IoT的通訊應用目前市場上已經非常多樣化,這時候就是參考IEEE Access那些國際期刊的時候啦!可以得知現在市場上應用的情況如何。例如像是這篇:http://ieeexplore.ieee.org/document/7894201/?part=1

可能有些人跟我一樣剛開始入手LoRa,沒甚麼信心可以抓住重點。但事實上,LoRa架構很簡單,只要Node與Gateway頻道的頻率設定相同,以及與Server新增裝置的 key設定一樣,就可以成功做資料傳輸的動作了。

材料

  1.  AcSip S76S LoRa積木式模組與0dB天線
  2. MQ-9一氧化碳CO感測模組
  3. Arduino Mega 2560
  4. 一些公對母、公對公杜邦線
  5. 一台LoRa Gateway;道理就像一般所使用的閘道器一樣,只是從不同網段的轉送,變成LoRa與網際網路間的轉送。我們這次用Kiwitec TLG2901 High Capacity Gateway。

這裡跟大家說明一下:LoRa若要能夠接通必須要有兩個關鍵。如前述所言,一個是頻率、一個是Key,像是AcSip S76S這個LoRa積木式模組出廠時設定為868MHz,但能用韌體調整為915MHz,所以使用上請先記得參考LoRa模組以及Gateway的說明書確定。

硬體接線

對於MQ-9一氧化碳感測模組,可以參考下表:

表格來源:賴建宏提供

以下為AcSip S76S LoRa積木式模組的腳位圖,接線的方式如下圖。

S76S LoRa積木式模組接腳圖(圖片來源:賴建宏提供)

接線方式(表格來源:賴建宏提供)

特別提醒一下,S76S模組內部已經有跳線將TX、RX能直接對應到使用者的電路上,所以請勿反接。

軟體部分

LoRa傳輸的時候,LoRa node上的程式有三個項目要做:

A. 加入ABP,Key與Server設定的Device相同,就能成功把payload解密

B. LoRa node決定用哪個Port用來發送訊息

C. 決定用確認(cnf)或非確認(ucnf)的方式來傳輸訊息給LoRa Server

我們採用非確認的方式,Port在我們這裡是設定為2。至於傳輸的命令嘛~~就跟透過Serial把字串輸出給device一樣,夠容易吧!

延伸閱讀 AcSipS76S原始程式碼

#include <SoftwareSerial.h>

SoftwareSerial lora(5, 4);

#define TX_PORT 2 // Up to gateway definition #define RX_PORT 1

char dat[64];

void setup() { // put your setup code here, to run once: Serial.begin(9600); lora.begin(115200); delay(1000);

lora.print(“mac join abp”); // Join your ABP delay(5000); }

void loop() { int len = lora.available(); if( len > 0 ) { lora.readBytes(dat, len); for(int x=0; x < len; x++) { Serial.print((char)dat[x]); } }

// put your main code here, to run repeatedly: float sensor_volt; float RS_gas; // Get value of RS in a GAS float ratio; // Get ratio RS_GAS/RS_air int sensorValue = analogRead(A0); float R0 = 2.10;

sensor_volt=(float)sensorValue/1024*5.0; RS_gas = (5.0-sensor_volt)/sensor_volt; // omit *RL

/*-Replace the name “R0” with the value of R0 in the demo of First Test -*/ ratio = RS_gas/R0; // ratio = RS/R0 /*———————————————————————–*/

Serial.print(“sensor_volt = “); Serial.println(sensor_volt); Serial.print(“RS_ratio = “); Serial.println(RS_gas); Serial.print(“Rs/R0 = “); Serial.println(ratio);

Serial.print(“\n\n”);

sprintf(dat, “mac tx ucnf %d %04d”, TX_PORT, sensorValue); lora.print(dat);

delay(30000); }

展示

以下影片中更詳細介紹如何用Arduino Mega 2560搭配LoRa S76S以及Kiwi LoRa Gateway來做CO感測。

結語

這次能有這種機會接觸LPWAN領域更多的項目,實在是機會難得!說真的以 「私有雲」 的概念來說,LoRa已經是可圈可點;以AcSip製作的模組來說,相容性證實頗高,的確可以考慮在 「私有雲」的市場上開發應用。

(責任編輯:葉于甄)

賴建宏

賴建宏

社群稱號為「賴桑」的他,以電子電機的背景,熱衷於OSHW的應用開發與實作。現為台北科技大學電子所博士班學生,目前主推「農林漁牧大業」計畫的迷你型魚菜共生系統開發。
賴建宏

上一篇: | 下一篇:

468 ad

2 Comments

  1. 不知道要去哪裡才能買到此張” AcSip S76S LoRa積木式模組與0dB天線”模組,自己實作一遍?

    Post a Reply
    • 您好,我幫您查了一下AcSip的網站,有在販售S76S的板子,詳細的情況還是要請您與AcSip的公司聯絡喔~我們沒有與AcSip代購的合作~
      謝謝您:)

      Post a Reply

我想回應

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

成城共創股份有限公司版權所有、轉載必究.Copyright(c) 2017 MakerPRO