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

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

LoRa   Dragino   Semtech   SX1272   GPS   
  • 作者:SATURN
  • 來源:21ic
  • [導(dǎo)讀]
  • 如果想要完整的LoRa體驗,至少需要一個LoRa網(wǎng)關(guān)和一個LoRa節(jié)點(diǎn)。而除了這兩者必須部件之外,Dragino的套件中還提供了更多驚喜。所以想要完整的LoRa體驗究竟要花多少銀子?這或許是很多LoRa入門開發(fā)者最關(guān)心的問題。我們認(rè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格式標(biāo)準(zhǔn),需要進(jìn)一步處理才能得到最終的數(shù)據(jù)。

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

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

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

LoRa IoT Kit26.jpg

為了安全,Channel還有對應(yīng)的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號及對應(yīng)Channel的API Key,需要用戶自行替換自己的ID及API Key。

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

LoRa IoT Kit27.jpg

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

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

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ù)之外,還有對應(yīng)數(shù)據(jù)的時間信息,這些數(shù)據(jù)會保存在云端,用戶可以導(dǎo)出成JSON或CSV格式保存,供后期分析之用。

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

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

 

遠(yuǎn)程通信測試.jpg

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

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

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

參考資源:

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)友評論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項目外包 more+