LoRaWAN提供的性能特性與滿足物聯(lián)網(wǎng)。除了擴(kuò)展的工作范圍和低功耗要求外,LoRaWAN還提供安全,靈活的通信選項(xiàng)。然而,實(shí)施LoRaWAN解決方案所需的硬件和軟件可能成為專(zhuān)注于物聯(lián)網(wǎng)應(yīng)用本身的開(kāi)發(fā)團(tuán)隊(duì)的主要障礙。
本文將詳細(xì)介紹Microchip Technology在第1部分中介紹的RN2903 LoRa模塊,以及展示如何將其與一些額外的硬件和軟件一起使用,以實(shí)現(xiàn)遠(yuǎn)程,低功耗的物聯(lián)網(wǎng)設(shè)計(jì)。
快速啟動(dòng)套件
Microchip Technology的RN2903 LoRa模塊近在咫尺用于物聯(lián)網(wǎng)設(shè)計(jì)的插件LoRaWAN硬件解決方案。即便如此,它仍然只是完整LoRaWAN網(wǎng)絡(luò)的基石,開(kāi)發(fā)人員仍然必須考慮支持硬件和軟件系統(tǒng)。 Microchip通過(guò)全面的評(píng)估套件滿足了這一需求,該套件提供了為物聯(lián)網(wǎng)實(shí)現(xiàn)LoRaWAN所需的其他元件。
如第1部分所述,Microchip Technology的RN2903支持915 MHz的LoRaWAN兼容通信,旨在實(shí)現(xiàn)簡(jiǎn)化物聯(lián)網(wǎng)應(yīng)用程序的開(kāi)發(fā)。 Microchip模塊經(jīng)過(guò)全面認(rèn)證,包含實(shí)現(xiàn)LoRaWAN連接所需的所有組件(圖1)。模塊的命令處理器使用板載LoRaWAN固件來(lái)完全支持LoRaWAN A類(lèi)協(xié)議。板載EEPROM為L(zhǎng)oRaWAN配置參數(shù)提供存儲(chǔ),通過(guò)減少主機(jī)和模塊之間的數(shù)據(jù)傳輸來(lái)增強(qiáng)性能并提高安全性。
圖1:Microchip的LoRa模塊通過(guò)其板載命令處理器,LoRaWAN協(xié)議棧,無(wú)線電收發(fā)器和串口為L(zhǎng)oRaWAN連接提供了一個(gè)插入式解決方案連接。 (圖像來(lái)源:Microchip Technology)
Microchip RN2903模塊提供專(zhuān)用UART接口,用于與外部MCU主機(jī)通信。此外,該模塊還包含14個(gè)GPIO引腳,開(kāi)發(fā)人員可使用模塊固件對(duì)其進(jìn)行編程,以監(jiān)控或控制外部設(shè)備,如開(kāi)關(guān)和LED。最后,該模塊提供一個(gè)RF信號(hào)引腳,便于連接到簡(jiǎn)單的套筒偶極天線。
模塊的命令處理器根據(jù)從外部主機(jī)MCU通過(guò)其UART接口接收的命令執(zhí)行LoRaWAN事務(wù)。與任何網(wǎng)絡(luò)通信方法一樣,LoRaWAN消息以特定格式發(fā)送和接收。對(duì)于LoRaWAN,LoRa聯(lián)盟標(biāo)準(zhǔn)在字節(jié)級(jí)別詳細(xì)說(shuō)明了這些格式。 RN2903模塊提供了一種直觀的基于文本的方法,可將LoRaWAN標(biāo)準(zhǔn)字節(jié)級(jí)格式抽象為一組帶有可選參數(shù)的關(guān)鍵字命令。
Microchip定義了三種類(lèi)型的關(guān)鍵字:
< li>用于LoRaWAN MAC配置和控制的mac命令
針對(duì)PHY無(wú)線電層的無(wú)線電命令
sys命令用于其他模塊功能,例如提供模塊固件版本信息或訪問(wèn)模塊的EEPROM存儲(chǔ)
例如:
mac tx uncnf 30 23A5
在端口30上發(fā)送一條消息,數(shù)據(jù)值為“ 2,3,4,5-“ 。 “uncnf”選項(xiàng)表示設(shè)備未請(qǐng)求來(lái)自網(wǎng)絡(luò)服務(wù)器的確認(rèn)?;蛘撸褂谩癱nf”選項(xiàng)表示設(shè)備期望網(wǎng)絡(luò)服務(wù)器確認(rèn)收到。 LoRa模塊負(fù)責(zé)在將此消息發(fā)送到其網(wǎng)關(guān)以便傳送到網(wǎng)絡(luò)服務(wù)器之前加密該消息。
radio tx 6d657373616765
傳輸包含值[0x6d] [0x65] [0x73] [0x73] [0x61] [0x67] [0x65](示例文本字符串“message”,十六進(jìn)制)
sys set nvm 100 FF
將值0xFF存儲(chǔ)在EEPROM中用戶分區(qū)的地址0x100
IoT器件設(shè)計(jì)
通過(guò)其串行接口,RN2903幾乎不需要額外的組件來(lái)實(shí)現(xiàn)LoRaWAN-兼容的物聯(lián)網(wǎng)硬件設(shè)計(jì)。 Microchip憑借其RN2903 LoRa Mote進(jìn)一步加速了開(kāi)發(fā)速度。 Microchip LoRa Mote旨在展示其LoRa模塊功能,提供實(shí)現(xiàn)兼容LoRaWAN的無(wú)線傳感器所需的全套硬件和軟件。
Microchip RN2903 LoRa Mote和RN2483 LoRa Mote各自組合各自具有Microchip PIC18LF45K50 8位MCU的LoRa模塊,用作傳感器操作和LoRaWAN協(xié)議執(zhí)行的主處理器。此外,Mote還包括用于采集樣本數(shù)據(jù)的光和溫度傳感器,以及用于用戶反饋的LCD顯示器。 Mote通過(guò)標(biāo)準(zhǔn)USB接口連接到主機(jī),可以訪問(wèn)LoRa模塊的UART接口。
在開(kāi)發(fā)過(guò)程中,工程師可以通過(guò)發(fā)送mac,radio和sys命令字符串來(lái)執(zhí)行LoRaWAN操作。模塊使用Mote的USB連接。在運(yùn)行時(shí)期間,在IoT設(shè)備主機(jī)上運(yùn)行的代碼將根據(jù)IoT應(yīng)用程序的需要發(fā)出命令和處理響應(yīng)。對(duì)于LoRaWAN應(yīng)用,Microchip提供了一個(gè)帶有Mote硬件的擴(kuò)展C軟件庫(kù)。例如,應(yīng)用程序級(jí)例程MOTEapp.c收集傳感器數(shù)據(jù)并通過(guò)LoRaWAN連接傳輸數(shù)據(jù),處理RN2903預(yù)期的低級(jí)mac命令(清單1)。
復(fù)制
。 。 。
moteApp_clearBuffers();
//確保端口在允許的范圍內(nèi)
//為T(mén)x準(zhǔn)備DataBuffer
light = 0;
溫度= 0;
NOP();
//測(cè)量傳感器
moteApp_setSensorsInput();
uint8_t sizeOfUpdate = 0;
light = moteApp_convertSensorValue(moteApp_getLightValue());
oled_putString(moteApp_getLightString(),6,1);
sizeOfUpdate = moteApp_addToDataBuffer(moteApp_getLightString(),4);
temperature = moteApp_convertSensorValue(moteApp_getTempValue());
temperature = ADC_TempConversion(temperature) ;
moteApp_add8bToDataBuffer(溫度,4 + moteApp_lightStringSize()+ 1);
//執(zhí)行正常操作
//獲取隨機(jī)頻道
randomPortNum = TMR2_ReadTimer();
//為T(mén)x準(zhǔn)備DataBuffer
moteApp_add8bToDataBuffer(randomPortNum,0);
dataBuffer [3] = 0x20;
NOP ();
sendDataCommand(“mac tx uncnf”,dataBuffer,12);
清單1:Microchip提供的C軟件演示了一個(gè)示例IoT應(yīng)用程序,該應(yīng)用程序從Mote的光和溫度傳感器收集數(shù)據(jù),使用數(shù)據(jù)構(gòu)建消息( add8bToDataBuffer )并使用mac tx命令發(fā)送消息( sendDataCommand )。 (代碼來(lái)源:Microchip Technology)
應(yīng)用級(jí)開(kāi)發(fā)
隨著基于關(guān)鍵字的簡(jiǎn)化命令方法,Microchip LoRa模塊和相關(guān)的Mote開(kāi)發(fā)板大大簡(jiǎn)化了LoRaWAN端的開(kāi)發(fā)設(shè)備。然而,即使系統(tǒng)級(jí)Mote板及其相關(guān)軟件也只能處理LoRaWAN層次結(jié)構(gòu)中最低的終端設(shè)備級(jí)別。完整的LoRaWAN兼容網(wǎng)絡(luò)需要額外的硬件組件,包括兼容的網(wǎng)關(guān)和網(wǎng)絡(luò)服務(wù)器。
此外,在實(shí)施物聯(lián)網(wǎng)應(yīng)用程序時(shí),開(kāi)發(fā)人員必須處理LoRa聯(lián)盟標(biāo)準(zhǔn)僅解決的問(wèn)題。標(biāo)準(zhǔn)OSI堆棧的最低級(jí)別。因此,開(kāi)發(fā)人員需要完成額外的網(wǎng)絡(luò)層,從位于LoRaWAN MAC標(biāo)準(zhǔn)所尋址的數(shù)據(jù)鏈路層之上的OSI網(wǎng)絡(luò)層開(kāi)始。
Microchip通過(guò)硬件和軟件開(kāi)發(fā)套件滿足了這一需求實(shí)現(xiàn)完整的LoRaWAN兼容網(wǎng)絡(luò),包括終端設(shè)備,網(wǎng)關(guān)和網(wǎng)絡(luò)服務(wù)器。 Microchip RN2903 LoRa網(wǎng)絡(luò)評(píng)估套件和RN2483 LoRa網(wǎng)絡(luò)評(píng)估套件將一對(duì)Motes與Microchip的LoRaWAN網(wǎng)關(guān)板捆綁在一起。該板由LoRaWAN網(wǎng)關(guān)核心板和配有天線和電纜的相關(guān)無(wú)線電子卡組成。
在軟件方面,該套件使用Microchip LoRa技術(shù)評(píng)估套件,該套件提供所有軟件組件需要完全評(píng)估示例LoRa系統(tǒng)(圖2)。
圖2:Microchip的LoRa網(wǎng)絡(luò)評(píng)估套件和軟件套件實(shí)現(xiàn)了完整的LoRaWAN網(wǎng)絡(luò)應(yīng)用,包括終端設(shè)備(Mote板),網(wǎng)關(guān)(核心板) )和網(wǎng)絡(luò)服務(wù)器(mchplora)。 (圖像來(lái)源:Microchip Technology)
Suite提供了一個(gè)網(wǎng)絡(luò)服務(wù)器(mchplora)作為docker容器,旨在在開(kāi)發(fā)系統(tǒng)中的虛擬機(jī)上運(yùn)行。網(wǎng)關(guān)板通過(guò)USB連接到開(kāi)發(fā)系統(tǒng),并與Mote板無(wú)線通信。 Mote板通過(guò)開(kāi)發(fā)系統(tǒng)的USB連接到基于java的開(kāi)發(fā)實(shí)用程序。
Microchip LoRa開(kāi)發(fā)套件旨在與評(píng)估套件配合使用,提供全面的Java套件,提供更廣泛的服務(wù)比Mote C庫(kù)更好。例如,要發(fā)送MAC傳輸,Development Suite會(huì)將基礎(chǔ)事務(wù)抽象為 macTX 類(lèi)的簡(jiǎn)單 execute 方法(清單2)。
復(fù)制
void macTXSendAction()
{
if(this.application.device.updateValueFlag)
this.application.device.wanPojo.setData(this.data.getText());
if(this.application.device.updateValueFlag){
this.application.device .wanPojo.setPortNumber(this.portNumber.getText());
}
ICommand macTX = CommandFactory.getCommand(CommandFactory.mactx);
DeviceModel currDev = this.application.device;
macTX.setDataModel(currDev);
< p>
列表任務(wù)=新的ArrayList();
task.add(macTX);
if(currDev!= null)
this.application.mvcController.execute(task);
else
System.err.println(“當(dāng)前設(shè)備未設(shè)置”);
}
清單2:Microchip LoRa開(kāi)發(fā)套件提供了一個(gè)完整的LoRaWAN環(huán)境,包括一組抽象的LoRaWAN事務(wù)的Java包(jar文件)例如mac tx到一組簡(jiǎn)單的軟件調(diào)用,例如 macTXSendAction()。 (代碼來(lái)源:Microchip Technology)
在清單2中, CommandFactory 是在 LoRaDevUtility.jar 中定義的類(lèi),用于定義
public static String mactx =“mac tx”;
然后創(chuàng)建相應(yīng)類(lèi)的實(shí)例,在本例中為 macTx 類(lèi)對(duì)象,當(dāng)工廠被稱(chēng)為 CommandFactory.mactx :
if(command.compareTo(mactx)== 0)
返回新的macTX();
LoRaDevUtility.jar 中的 macTX.class 提供運(yùn)行時(shí)配置值和各種服務(wù)功能,如數(shù)據(jù)包驗(yàn)證以及類(lèi)的主要實(shí)用程序方法, execute 。 execute 方法以所需格式創(chuàng)建所需的mac tx命令字符串,傳輸消息( WriteI2cData ),然后獲取響應(yīng):
< span>復(fù)制
command = new StringBuilder()。append(“mac tx”)。append(((DeviceModel)this.server).wanPojo.getIsConformed())。append(“”)。append(( (DeviceModel)this.server).wanPojo.getPortNumber())。append(“”)。append(((DeviceModel)this.server).wanPojo.getData()。replace(“0x”,“”))。toString ();
byte [] data = command.getBytes();
((DeviceModel)this.server).getController()。transport.WriteI2cData(this.processPacket.pack(data) ),null,this.timeout);
byte [] read = null;
read = super.readResponseData();
結(jié)論
高效連接是由大量低功耗物聯(lián)網(wǎng)設(shè)備組成的物聯(lián)網(wǎng)網(wǎng)絡(luò)的基本要求。 LoRaWAN提供有效的物聯(lián)網(wǎng)連接解決方案,以最低的功率要求提供遠(yuǎn)程操作。與任何連接選項(xiàng)一樣,實(shí)現(xiàn)本身就是一項(xiàng)重大任務(wù),使開(kāi)發(fā)人員不再主要關(guān)注物聯(lián)網(wǎng)應(yīng)用本身。
基于Microchip Technology的RN2903 LoRa模塊,Microchip Technology的LoRa網(wǎng)絡(luò)評(píng)估套件及隨附LoRa Development Suite提供完整的LoRaWAN應(yīng)用程序。通過(guò)預(yù)先認(rèn)證的硬件和軟件的組合,開(kāi)發(fā)人員可以快速開(kāi)發(fā)出能夠?qū)崿F(xiàn)15公里無(wú)線范圍和10年電池壽命的物聯(lián)網(wǎng)連接解決方案。
-
存儲(chǔ)
+關(guān)注
關(guān)注
13文章
4469瀏覽量
86915 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2922文章
45675瀏覽量
385488 -
低功耗
+關(guān)注
關(guān)注
10文章
2652瀏覽量
104392
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
LoRaWAN模組選購(gòu)指南:2025全球高性能品牌盤(pán)點(diǎn)和技術(shù)解析
為什么選擇蜂窩物聯(lián)網(wǎng)
LoRaWAN的特點(diǎn)和應(yīng)用場(chǎng)景
物聯(lián)網(wǎng)云IO模塊是什么
物聯(lián)網(wǎng)就業(yè)有哪些高薪崗位?
LoRaWAN通信協(xié)議物聯(lián)網(wǎng)應(yīng)用

物聯(lián)網(wǎng)學(xué)習(xí)路線來(lái)啦!
LORA模塊在物聯(lián)網(wǎng)中的重要性
【星閃派物聯(lián)網(wǎng)開(kāi)發(fā)套件體驗(yàn)連載】智能交通燈
物聯(lián)網(wǎng)系統(tǒng)中高精度RTK定位方案的實(shí)現(xiàn)_高精度定位模塊

【全新課程資料】正點(diǎn)原子《ESP32物聯(lián)網(wǎng)項(xiàng)目實(shí)戰(zhàn)》培訓(xùn)課程資料上線!
什么是物聯(lián)網(wǎng)技術(shù)?
數(shù)據(jù)安全與精準(zhǔn)控制:LoRa技術(shù)與LoRaWAN網(wǎng)關(guān)實(shí)現(xiàn)智能灌溉的精準(zhǔn)化應(yīng)用

一文了解物聯(lián)網(wǎng)通信協(xié)議之MQTT如何助力無(wú)線模塊廣泛連接

評(píng)論