0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何構(gòu)建Arduino無線網(wǎng)關(guān)開發(fā)平臺(tái)

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-02-11 07:48 ? 次閱讀

Arduino是一個(gè)開源電子原型設(shè)計(jì)平臺(tái),專門用于接收來自傳感器的輸入。這使其成為無線網(wǎng)關(guān)開發(fā)的絕佳平臺(tái)。通過以太網(wǎng)連接,網(wǎng)關(guān)可用于將傳感器和執(zhí)行器鏈接到Internet,以用于智能手機(jī)和平板電腦上的應(yīng)用程序。可以為這些平臺(tái)開發(fā)應(yīng)用程序,然后利用來自網(wǎng)絡(luò)的數(shù)據(jù)并從世界上任何地方遠(yuǎn)程控制執(zhí)行器。

廣泛的開源軟件為構(gòu)建項(xiàng)目提供了寶貴的資源。它基于靈活,易用的硬件和軟件,適用于設(shè)計(jì)人員,業(yè)余愛好者以及任何對(duì)創(chuàng)建交互式環(huán)境感興趣的人。

有各種各樣的Arduino板可用,都使用Arduino編程語言。這基于Wiring,它具有與C ++相同的語法和庫(kù),但具有簡(jiǎn)化和修改。為了使該語言易于使用,Arduino開發(fā)環(huán)境基于基于Java的Processing開源IDE。開發(fā)可以在PC或Mac上作為主機(jī)在Windows,Mac OSX或Linux下完成,也可以在主板上完成。可以使用Arduino編程語言和工具在Linux上開發(fā)網(wǎng)關(guān)軟件。

Arduino Nano板是一款小型,完整且面包板友好的板,基于用于Arduino Nano 3.0的ATmega328處理器或用于Arduino Nano 2.x系列的ATmega168。它只缺少直流電源插孔,可以使用Mini-B USB電纜而不是標(biāo)準(zhǔn)電纜。 Nano是專門設(shè)計(jì)的,目前由Gravitech生產(chǎn)。 16 MHz處理器的建議輸入電壓為7-12 V,具有14個(gè)數(shù)字I/O引腳,每個(gè)引腳具有40 mA的直流電流,可用于為無線模塊供電。

ATmega168版本中有16 KB的Flash或ATmega328中有32 KB,其中引導(dǎo)加載程序使用2 KB。同樣,ATmega168有1 KB的SRAM和512字節(jié)的EEPROM,帶有ATmega168或2 KB的SRAM和1 KB的EEPROM。

Arduino主板的價(jià)值在于業(yè)余愛好者開發(fā)的開源軟件系列,以及硬件的靈活性。制造商提供電路布局,并且很容易為無線功能構(gòu)建附加卡或屏蔽??梢灾谱骰蛸?gòu)買無線屏蔽以向設(shè)計(jì)添加無線鏈接。

圖1:Arduino Nano板。

Linux上的Arduino IDE

Arduino最常見的開發(fā)平臺(tái)是Linux,它同樣是開源的。根據(jù)正在使用的Linux的分布,需要一些其他程序。

關(guān)鍵工具是Arduino IDE 1.0.1,因?yàn)樗褂脙?nèi)部預(yù)構(gòu)建GCC(GNU編譯器集合)編譯器。這排除了所有工具鏈問題,包括Java運(yùn)行時(shí)包6或7 -nopenjdk-7-jre或oracle JRE 7.

Arduino軟件下載包括兩個(gè)附加依賴項(xiàng)的自定義版本:

RXTX,用于與Arduino板等串行設(shè)備通信的Java和本機(jī)庫(kù)

avrdude,一個(gè)將程序上傳到AVR微控制器的應(yīng)用程序(如Arduino板上的程序)

來自的avrdude修改了Arduino以確保在上傳之前Arduino板的自動(dòng)重置功能正常運(yùn)行(如果沒有,則上傳將失敗)。 Arduino版本的源代碼也可以在開源存儲(chǔ)庫(kù)GitHub上找到。

Arduino附帶的RXTX經(jīng)過修改,支持Arduino Uno和Mega 2560主板使用的/dev/ttyACM格式的設(shè)備。它們使用ATmega8U2代替FTDI芯片進(jìn)行USB串行通信。

無線屏蔽

XBee?屏蔽允許Arduino板使用ZigBee?進(jìn)行無線通信。它可以在室內(nèi)100英尺或室外300英尺(帶視線)進(jìn)行通信。屏蔽的簡(jiǎn)單性意味著它可以用作串行或USB替代品來創(chuàng)建簡(jiǎn)單的無線點(diǎn)對(duì)點(diǎn)連接,或者使用命令模式,它可以配置為各種廣播和網(wǎng)狀網(wǎng)絡(luò)選項(xiàng)作為無線網(wǎng)關(guān)。屏蔽將每個(gè)XBee引腳分成通孔焊盤,并提供母引腳頭,以便使用數(shù)字引腳2至7以及屏蔽覆蓋的模擬輸入。數(shù)字引腳8至13不受屏蔽的阻礙,因此它們可以使用電路板本身的接頭。

圖2:Arduino無線屏蔽。

XBee屏蔽有兩個(gè)跳線,用于確定Arduino板上微控制器(ATmega8或ATmega168)與FTDI USB轉(zhuǎn)串口芯片之間的串行通信。當(dāng)跳線位于XBee位置時(shí),XBee模塊的DOUT引腳連接到微控制器的RX引腳,DIN連接到TX。

有兩個(gè)模塊需要正確配置才能相互通信(盡管使用默認(rèn)設(shè)置,所有模塊應(yīng)該能夠相互通信)。它們需要位于ID參數(shù)設(shè)置的同一網(wǎng)絡(luò)上。模塊需要位于CH參數(shù)設(shè)置的同一通道上。最后,模塊的目標(biāo)地址(DH和DL參數(shù))確定其網(wǎng)絡(luò)和通道上的哪些模塊將接收它傳輸?shù)臄?shù)據(jù)。這可以通過以下幾種方式實(shí)現(xiàn):

如果模塊DH為0且DL小于0xFFFF(即16位),則該模塊傳輸?shù)臄?shù)據(jù)將由任何模塊接收,其16位地址MY參數(shù)等于DL。

如果DH為0且DL等于0xFFFF,則所有模塊都將以廣播模式接收模塊的傳輸。

如果DH非零,或者DL大于0xFFFF,傳輸只能由序列號(hào)等于發(fā)送模塊目的地址的模塊接收,即點(diǎn)對(duì)點(diǎn)連接。

但是,這個(gè)地址匹配將會(huì)僅發(fā)生在同一網(wǎng)絡(luò)和通道上的模塊之間。如果兩個(gè)模塊位于不同的網(wǎng)絡(luò)或通道上,則無論其地址如何,它們都無法通信。電路板和屏蔽可以直接一起工作,但有時(shí)可能需要從Arduino電路板上運(yùn)行的代碼配置XBee模塊。這需要開關(guān)處于Micro位置并使模塊進(jìn)入配置模式,它需要三個(gè)加號(hào):+++并且前后需要至少一秒,在此期間沒有其他字符被發(fā)送到模塊。請(qǐng)注意,這包括新行或回車符。設(shè)置配置模式后,模塊將發(fā)回兩個(gè)字符“OK”,然后回車。

發(fā)送命令預(yù)期響應(yīng)

+++確定

一旦進(jìn)入配置模式,AT命令可用于控制模塊。命令字符串的格式為ATxx(其中xx是設(shè)置的名稱)。要讀取設(shè)置的當(dāng)前值,請(qǐng)發(fā)送命令字符串,然后發(fā)送回車符。要為設(shè)置寫入新值,請(qǐng)發(fā)送命令字符串,緊接著是新設(shè)置(中間沒有空格或換行符),然后是回車符。例如,要讀取模塊的網(wǎng)絡(luò)ID(確定它將與之通信的其他XBee模塊),請(qǐng)使用‘ATID’命令:

發(fā)送命令預(yù)期響應(yīng)

ATID 3332 《 br》

更改模塊的網(wǎng)絡(luò)ID:

發(fā)送命令預(yù)期響應(yīng)

ATID3331 OK

檢查設(shè)置已生效:

發(fā)送命令預(yù)期響應(yīng)

ATID 3331

除非將更改寫入非易失性內(nèi)存,否則它們只會(huì)生效模塊失去動(dòng)力。要永久保存更改,請(qǐng)以相同方式使用ATWR命令:

發(fā)送命令預(yù)期響應(yīng)

ATWR確定

將模塊重置為工廠設(shè)置,使用ATRE命令:

發(fā)送命令預(yù)期響應(yīng)

ATRE確定

請(qǐng)注意,與其他命令一樣,重置將不會(huì)是永久性的,除非您按照ATWR命令執(zhí)行。

Laird嵌入式無線解決方案的Arduino ModFLEX Shield使用SiFLEX02,結(jié)合了高性能802.15.4無線電和微控制器,經(jīng)濟(jì)高效,預(yù)先認(rèn)證,I/O連接器與Arduino開源平臺(tái)兼容。

該模塊具有900 MHz DSSS收發(fā)器,帶有RF放大器電路的Atmel無線電,以及Atmel ATRXMEGA微控制器,使其具有與主板相同的環(huán)境。它預(yù)先加載了運(yùn)行在Atmel 802.15.4 MAC之上的主機(jī)串行接口。屏蔽具有完整的調(diào)試和編程功能,可以開發(fā)自定義應(yīng)用程序,并且可以輕松地將ZigBee堆棧或MAC加載到模塊上以創(chuàng)建自定義網(wǎng)絡(luò)。

該模塊具有250 mW的輸出功率,可提供2英里的視距范圍以及1 Mbps RF數(shù)據(jù)速率。

其他無線拓?fù)浣Y(jié)構(gòu)

通過使用面包板原型系統(tǒng),可以使用獨(dú)立的無線模塊為Arduino板構(gòu)建屏蔽。這允許其他設(shè)備用于創(chuàng)建屏蔽以處理其他拓?fù)?,例?a href="http://www.wenjunhu.com/tags/wi-fi/" target="_blank">Wi-Fi。

如何構(gòu)建Arduino無線網(wǎng)關(guān)開發(fā)平臺(tái)

圖3:用于連接無線模塊的Arduino面包板。

Microchip的RN-171模塊是一個(gè)獨(dú)立的完整TCP/IP無線網(wǎng)絡(luò)模塊,可與原型板一起使用以提供Wi-Fi連接。由于其小巧的外形和極低的功耗,RN-171非常適合移動(dòng)無線應(yīng)用,如Arduino屏蔽。

如何構(gòu)建Arduino無線網(wǎng)關(guān)開發(fā)平臺(tái)

圖4:Microchip Wi-Fi模塊。

它集成了2.4 GHz無線電,TCP/IP協(xié)議棧,實(shí)時(shí)時(shí)鐘,加密加速器,電源管理和模擬傳感器接口。該模塊預(yù)裝了固件,以簡(jiǎn)化集成并最大限度地減少應(yīng)用程序的開發(fā)。在最簡(jiǎn)單的配置中,硬件僅需要四個(gè)連接(PWR,TX,RX和GND)來創(chuàng)建無線數(shù)據(jù)連接。 RN-171還包括一個(gè)內(nèi)置的HTML客戶端,可自動(dòng)將串行UART數(shù)據(jù)或傳感器數(shù)據(jù)發(fā)布到Web服務(wù)器。

其他拓?fù)浣Y(jié)構(gòu)包括用于連接機(jī)器對(duì)機(jī)器(M2M)網(wǎng)絡(luò)的Bluetooth?。

萊爾德科技無線M2M AC4490 900 MHz無線電模塊使用經(jīng)過現(xiàn)場(chǎng)驗(yàn)證的FHSS技術(shù),無需額外的站點(diǎn)許可即可替代工業(yè)環(huán)境中的數(shù)英里電纜。該模塊包括抗干擾功能,可與其他網(wǎng)絡(luò)協(xié)同工作,同時(shí)保持?jǐn)?shù)據(jù)完整它可以通過使用12針接頭的原型面包板連接到Arduino板。

AC4490的功能包括插入式安裝,多種即時(shí)控制命令,以及用作直接電纜更換的功能,無需特殊的主機(jī)軟件進(jìn)行通信。所有跳頻,同步和RF系統(tǒng)數(shù)據(jù)發(fā)送/接收由模塊執(zhí)行。

圖5:Laird藍(lán)牙M2M模塊。

無線電模塊可實(shí)現(xiàn)超過20英里的開放場(chǎng)范圍,在900 MHz頻段內(nèi)具有高傳播,并包括1 W功率傳輸選項(xiàng)和接收鏈中的靈敏低噪聲放大器。它支持單播(一對(duì)一尋址)和廣播(一對(duì)多尋址)模式,以及具有硬件和/或軟件ACK指示的確認(rèn)模式(ACK)API,以確保已接收到數(shù)據(jù)。還有一個(gè)信標(biāo)模式和一個(gè)動(dòng)態(tài)無線電數(shù)據(jù)表,可保留多達(dá)12個(gè)無線電模塊的數(shù)據(jù)。

Internet連接

構(gòu)建無線網(wǎng)關(guān)的另一方面是將其連接到Internet,這很簡(jiǎn)單,使用以太網(wǎng)屏蔽,特別是如果它可以使用以太網(wǎng)供電(PoE)技術(shù)。 Arduino ETH Shield包含一個(gè)PoE模塊,允許Arduino板使用以太網(wǎng)庫(kù)連接到LAN。它包括一個(gè)帶有源電壓轉(zhuǎn)換器的微型SD卡連接器和板載復(fù)位控制器,可通過以太網(wǎng)供電。

結(jié)論

將Nano等低成本處理器板與XBee等無線屏蔽相結(jié)合,可以創(chuàng)建易于開發(fā)的無線控制器。通過添加具有自身功率的以太網(wǎng)屏蔽,該組合可以成為將模塊,傳感器和執(zhí)行器鏈接到Internet的無線網(wǎng)關(guān),以便智能手機(jī)和平板電腦等設(shè)備可以控制它們。 Arduino IDE提供了一個(gè)強(qiáng)大的開發(fā)環(huán)境,項(xiàng)目的開源特性允許輕松獲取庫(kù)和代碼并用于構(gòu)建網(wǎng)關(guān)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2552

    文章

    51330

    瀏覽量

    755449
  • 智能手機(jī)
    +關(guān)注

    關(guān)注

    66

    文章

    18516

    瀏覽量

    180668
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6476

    瀏覽量

    187475
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    無線網(wǎng)關(guān)設(shè)置介紹

    無線網(wǎng)關(guān)是指集成了無線局域網(wǎng)接入點(diǎn)功能的網(wǎng)關(guān)路由器設(shè)備。無線網(wǎng)關(guān)具備無線路由器和無線AP的功能,
    發(fā)表于 12-21 15:30 ?8408次閱讀

    【創(chuàng)龍AM4379 Cortex-A9試用體驗(yàn)】使用USB無線網(wǎng)

    身邊經(jīng)常遇到不能插網(wǎng)線的情況,不能插網(wǎng)線怎么讓創(chuàng)龍AM4379 Cortex-A9開發(fā)板聯(lián)網(wǎng)呢?當(dāng)然只能使用WiFi了,而開發(fā)板只有OTG接口可以接USB無線網(wǎng)卡,而且官方默認(rèn)適配的是REALTEK
    發(fā)表于 07-18 22:16

    工業(yè)無線網(wǎng)關(guān)安裝方法

    `  工業(yè)無線網(wǎng)關(guān)安裝方法  購(gòu)買了工業(yè)無線網(wǎng)關(guān)之后就需要進(jìn)行安裝,一般按照說明書都可以正常操作,計(jì)訊小編以TG451 為例給大家講解一下工業(yè)無線網(wǎng)關(guān)的安裝方法?! ?、安裝前確認(rèn)  設(shè)備的包裝包括
    發(fā)表于 03-21 15:26

    一種基于Zigbee技術(shù)的家用無線網(wǎng)絡(luò)平臺(tái)研究

    研究一種基于Zigbee技術(shù)的家用無線網(wǎng)絡(luò)平臺(tái).分析了Zigbee網(wǎng)絡(luò)協(xié)議,探討了用Zigbee技術(shù)構(gòu)建家用無線網(wǎng)絡(luò)的關(guān)鍵問題對(duì)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),網(wǎng)絡(luò)路由算法和網(wǎng)絡(luò)采樣策略等問題進(jìn)行了討論
    發(fā)表于 07-15 06:18

    物聯(lián)網(wǎng)網(wǎng)關(guān)和通用網(wǎng)關(guān)平臺(tái)設(shè)計(jì)挑戰(zhàn)是什么?

    本文介紹一個(gè)“無線網(wǎng)橋”的IoT網(wǎng)關(guān)平臺(tái)架構(gòu),該網(wǎng)關(guān)平臺(tái)靈活可變,支持不同的無線通信技術(shù)。我們還將探討“物”與“云”通過IoT網(wǎng)關(guān)平臺(tái)交換信
    發(fā)表于 05-17 06:21

    怎么實(shí)現(xiàn)基于Zigbee技術(shù)的家用無線網(wǎng)關(guān)的設(shè)計(jì)?

    怎么實(shí)現(xiàn)基于Zigbee技術(shù)的家用無線網(wǎng)關(guān)的設(shè)計(jì)?
    發(fā)表于 06-07 07:01

    基于NR24L01收發(fā)器模塊組成的Arduino無線網(wǎng)絡(luò)

    學(xué)習(xí)如何構(gòu)建由多個(gè)NR24L01收發(fā)器模塊組成的Arduino無線網(wǎng)絡(luò)。包含相關(guān)代碼+線路圖+詳細(xì)說明下
    發(fā)表于 09-25 07:40

    構(gòu)建擁有自主MAC層協(xié)議的無線網(wǎng)

    闡述擁有自主MAC層協(xié)議無線網(wǎng)卡的構(gòu)建方法和實(shí)現(xiàn)過程。改進(jìn)了基于Intersil 公司的PRISM 2系列無線網(wǎng)卡套片的無線局域網(wǎng)解決方案, 使用DSP 和CPLD 來替代其中的MAC
    發(fā)表于 04-15 09:06 ?20次下載

    基于802.11b無線網(wǎng)卡、EPXA1開發(fā)板的無線MAC開發(fā)

    利用現(xiàn)有802.11b無線網(wǎng)卡的物理層部分和Altera公司的EPXA1開發(fā)板實(shí)現(xiàn)可以收發(fā)802.11b無線網(wǎng)絡(luò)信號(hào)的軟件無線電平臺(tái),在此平臺(tái)
    發(fā)表于 06-25 18:07 ?67次下載

    建設(shè)一個(gè)Arduino無線網(wǎng)關(guān)

    Arduino是一個(gè)開源電子原型平臺(tái),專門優(yōu)化用于接收來自傳感器的輸入。這使得它成為開發(fā)無線網(wǎng)關(guān)的極好平臺(tái)。通過以太網(wǎng)連接,
    發(fā)表于 06-24 09:29 ?7次下載

    無線網(wǎng)關(guān)是什么 無線網(wǎng)關(guān)的作用

    1、無線網(wǎng)關(guān)是什么??網(wǎng)關(guān)是一種充當(dāng)轉(zhuǎn)換重任的計(jì)算機(jī)系統(tǒng)或設(shè)備,在使用不同的通信協(xié)議,數(shù)據(jù)格式或語言,甚至體系結(jié)構(gòu)完全不同的兩種系統(tǒng)時(shí),網(wǎng)關(guān)是一個(gè)翻譯器。與網(wǎng)橋只是簡(jiǎn)單地傳送信息不同,網(wǎng)關(guān)
    的頭像 發(fā)表于 01-28 12:59 ?1.8w次閱讀

    什么是無線網(wǎng)關(guān)無線網(wǎng)關(guān)的功能都有哪些

    什么是無線網(wǎng)關(guān)? 網(wǎng)關(guān)是一同的通訊協(xié)議、數(shù)據(jù)格式或語言,甚至系統(tǒng)結(jié)構(gòu)完全不同的兩種系統(tǒng)時(shí),網(wǎng)關(guān)就是一種轉(zhuǎn)換系統(tǒng)或設(shè)備,網(wǎng)關(guān)就是一種翻譯器。 不像橋梁只是簡(jiǎn)單地傳送信息,
    發(fā)表于 08-12 15:55 ?6470次閱讀

    WiMi-net無線網(wǎng)關(guān)如何設(shè)置

    無線網(wǎng)關(guān)是一個(gè)網(wǎng)絡(luò)連接到另一個(gè)網(wǎng)絡(luò)的接口;WiMi-net無線網(wǎng)關(guān)的中央處理器負(fù)責(zé)完成433MHz的射頻芯片和硬件以太網(wǎng)數(shù)據(jù)之間的相互轉(zhuǎn)換,用戶只需通過TCP/UDP的Socket來訪問這個(gè)無線網(wǎng)關(guān)即可。
    發(fā)表于 02-25 12:09 ?977次閱讀
    WiMi-net<b class='flag-5'>無線網(wǎng)關(guān)</b>如何設(shè)置

    PLC無線網(wǎng)關(guān)是什么?PLC無線網(wǎng)關(guān)的功能作用

    PLC無線網(wǎng)關(guān)是一種專為工業(yè)自動(dòng)化設(shè)計(jì)的物聯(lián)網(wǎng)設(shè)備,它充當(dāng)可編程邏輯控制器(PLC)與無線網(wǎng)絡(luò)之間的橋梁。通過整合無線通信技術(shù)(如4G、5G、Wi-Fi等),PLC無線網(wǎng)關(guān)能夠?qū)崿F(xiàn)以下
    的頭像 發(fā)表于 05-16 14:16 ?580次閱讀
    PLC<b class='flag-5'>無線網(wǎng)關(guān)</b>是什么?PLC<b class='flag-5'>無線網(wǎng)關(guān)</b>的功能作用

    無線網(wǎng)關(guān)和路由器的區(qū)別

    在現(xiàn)代家庭和企業(yè)網(wǎng)絡(luò)中,無線網(wǎng)關(guān)和路由器是兩個(gè)不可或缺的設(shè)備。它們都扮演著連接互聯(lián)網(wǎng)和內(nèi)部網(wǎng)絡(luò)的關(guān)鍵角色,但各自有著不同的功能和應(yīng)用場(chǎng)景。 無線網(wǎng)關(guān)(Wireless Gateway) 無線網(wǎng)關(guān)
    的頭像 發(fā)表于 01-02 16:02 ?198次閱讀