首頁 > 評測 > 完整的LoRa體驗,有這一套就夠了!——LoRa IoT Kit體驗
完整的LoRa體驗,有這一套就夠了!——LoRa IoT Kit體驗
- [導(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é)果
剛開始放在室內(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)溫度及濕度值,如下
為了安全,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)的程序代碼,本次使用的兩個代碼如下
其中dht11_server代碼編譯后上傳到網(wǎng)關(guān),而dht11_client則上傳到LoRa結(jié)點(diǎn)。
代碼上傳后準(zhǔn)備一個DHT11溫濕度傳感器,連接到Arduino的A0,確認(rèn)連接無誤后,打開LoRa結(jié)點(diǎn)的串口,可以看到串口輸出信息如下
輸出信息表明與網(wǎng)關(guān)數(shù)據(jù)交換成功,此時打開ThingSpeak的可視化數(shù)據(jù)面板(WEB),用戶上傳的數(shù)據(jù)就會以可視化的形式呈現(xiàn)給用戶,如下
這里看到的只是濕度數(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)的傳輸距離意味著更多功耗,更低的數(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
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達(dá)中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標(biāo)準(zhǔn)編制 2024-08-29
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設(shè)計
預(yù)算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時前
- PLC項目調(diào)試修改
預(yù)算:¥100001天前
- 起動電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前