首頁 > 評測 > 完整的LoRa體驗,有這一套就夠了!——LoRa IoT Kit體驗

完整的LoRa體驗,有這一套就夠了!——LoRa IoT Kit體驗

LoRa   Dragino   Semtech   SX1272   GPS   
  • 作者:SATURN
  • 來源:21ic
  • [導讀]
  • 如果想要完整的LoRa體驗,至少需要一個LoRa網(wǎng)關(guān)和一個LoRa節(jié)點。而除了這兩者必須部件之外,Dragino的套件中還提供了更多驚喜。所以想要完整的LoRa體驗究竟要花多少銀子?這或許是很多LoRa入門開發(fā)者最關(guān)心的問題。我們認為Dragino在這一方面做的不錯。

開發(fā)套件還包含一塊LoRa/GPS Shield,集成了GPS模塊,可以用來獲取GPS定位信息,順便也測試一下,具體燒寫代碼的過程就不說了,只看下結(jié)果

LoRa IoT Kit25.jpg

剛開始放在室內(nèi),很久都沒有收到GPS信號,扔到陽臺上,很快就有信號了,檢測結(jié)果還算穩(wěn)定。這個庫用的是TinyGPS,很多項目上都使用的是這個。TinyGPS庫輸出的信息比直接通過串口獲取原始的GPS信息可讀性更好,市面上大多數(shù)的串口GPS模塊輸出數(shù)據(jù)都遵循NMEA格式標準,需要進一步處理才能得到最終的數(shù)據(jù)。

接下來是時候體驗LoRa與Internet結(jié)合的時候了將與LoRa結(jié)點收集到的傳感器數(shù)據(jù)推送到云。畢竟網(wǎng)關(guān)的另一大作用是連接到Internet。

現(xiàn)在IoT云服務的提供商比較多,很多都是免費的,例如TTN,ThingSpeak,百度等,雖然對免費用戶來說會存在一定的限制,如數(shù)據(jù)刷新率等,但對于大部分IoT服務來說已夠用。每個服務商提供的服務都對應一整套API,這些API除了服務端的接口外,還提供了客戶端的API調(diào)用,官方示例程序使用的是ThingSpeak提供的服務,因此先要下載ThingSpeak的API并解壓到Arduino的庫目錄,下載地址為https://github.com/mathworks/thingspeak-arduino

要使用ThingSpeak提供的服務,需要先到該站點注冊一個用戶帳號,每個帳號有一個唯一的ID,接下來需要創(chuàng)建服務,ThingSpeak稱之為Channel,每個Channel對應一個服務,在每個Channel內(nèi)可以新建多個Field,對應不同的數(shù)據(jù)類型,如溫度、濕度值等。這里建立兩個Field,分別對應溫度及濕度值,如下

LoRa IoT Kit26.jpg

為了安全,Channel還有對應的API Key,分為讀/寫兩種類型,要上傳數(shù)據(jù)則需要在本地(一般是網(wǎng)關(guān))上設(shè)置用戶ID、API Key等信息,從而有效保證用戶安全。例如在dht11_server.ino文件中包含如下配置信息

unsigned long myChannelNumber = 20xx93;

const char * myWriteAPIKey = "B9ZxxxxxNVEBKIFY";

uint16_t crcdata = 0;

uint16_t recCRCData = 0;

float frequency = 868.0;

前面兩行信息分別是用戶的ID號及對應Channel的API Key,需要用戶自行替換自己的ID及API Key。

接下來需要在網(wǎng)關(guān)及結(jié)點上分別上傳對應的程序代碼,本次使用的兩個代碼如下

LoRa IoT Kit27.jpg

其中dht11_server代碼編譯后上傳到網(wǎng)關(guān),而dht11_client則上傳到LoRa結(jié)點。

代碼上傳后準備一個DHT11溫濕度傳感器,連接到Arduino的A0,確認連接無誤后,打開LoRa結(jié)點的串口,可以看到串口輸出信息如下

LoRa IoT Kit28.jpg

輸出信息表明與網(wǎng)關(guān)數(shù)據(jù)交換成功,此時打開ThingSpeak的可視化數(shù)據(jù)面板(WEB),用戶上傳的數(shù)據(jù)就會以可視化的形式呈現(xiàn)給用戶,如下

LoRa IoT Kit29.jpg

這里看到的只是濕度數(shù)據(jù)的圖形化顯示,除了數(shù)據(jù)之外,還有對應數(shù)據(jù)的時間信息,這些數(shù)據(jù)會保存在云端,用戶可以導出成JSON或CSV格式保存,供后期分析之用。

這里還要提及一點,官方的示例代碼有一個坑,就是代碼初始化設(shè)備時,會等待串口設(shè)備的初始化,如果不打開串口設(shè)備則會一直處于等待狀態(tài),不會接收及發(fā)送信息,在離線測試時很不方便,需要將相關(guān)的代碼注釋掉之后才能用。

最后一個測試是遠程通信測試,因為遠程通信與低功耗才是LoRa吸引人的地方。LoRa使用擴頻技術(shù)來實現(xiàn)遠距離及低功耗,不同的調(diào)制參數(shù)適用不同的場合,例如不同的傳輸距離,典型的配置列表如下

 

遠程通信測試.jpg

在距離與速度之間,我們通常要做一個折衷,更遠的傳輸距離意味著更多功耗,更低的數(shù)據(jù)傳輸率。Dragino默認使用的設(shè)置為上表中的模式1,面向近距離通信同時提高較高的數(shù)據(jù)率(DR)。

測試時LoRa網(wǎng)關(guān)放在6樓的室內(nèi),移動LoRa結(jié)點,通過LED燈的閃爍來測試當前連接是否正常,由于周圍都存在高大建筑物,在約300米外之后連接丟失。這個測試結(jié)果算是差強人意,不過比起WiFi來說,還是要好。按照LoRa官方的說法,在該模式下,一般在城區(qū)的傳輸距離約2Km,這個應該指的是室外的通信距離,加上周圍的干擾源及建筑物遮擋,實情距離應該會更短。另外一點也說明一下,在測試過程中發(fā)現(xiàn)LoRa的穿墻性能還是非常不錯的。

總體來說,Dragino LoRa IoT Kit還是很不錯的一款套件,除了提供兩個LoRa結(jié)點及一些簡單的傳感器之外,更重要的是提供了一個LoRa網(wǎng)關(guān),畢竟沒有網(wǎng)關(guān)的LoRa應用算不得完整。套件的官方報價為750元人民幣,相比國外Multitech Conduit一個LoRa網(wǎng)關(guān)至少是$469(ETH+LoRa),這個還算不錯。配套的軟件例程也比較完整,從LoRa通信到IoT的完整應用均有涉及,為用戶快速入門及后期的產(chǎn)品級應用都具有極好的指導意義。官方的示例代碼及用戶手冊都比較詳細,只是英文版看起來不爽!

參考資源:

Dragino: http://www.dragino.com/

LoRa網(wǎng)關(guān)及報價:https://www.loriot.io/LoRa-gateways.html

Dragino LoRa IoT Kit: http://www.dragino.com/products/LoRa/item/120-LoRa-iot-kit.html

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論