Arduino是一個開源電子原型設計平臺,專門用于接收來自傳感器的輸入。這使其成為無線網關開發的絕佳平臺。通過以太網連接,網關可用于將傳感器和執行器鏈接到Internet,以用于智能手機和平板電腦上的應用程序。可以為這些平臺開發應用程序,然后利用來自網絡的數據并從世界上任何地方遠程控制執行器。
廣泛的開源軟件為構建項目提供了寶貴的資源。它基于靈活,易用的硬件和軟件,適用于設計人員,業余愛好者以及任何對創建交互式環境感興趣的人。
有各種各樣的Arduino板可用,都使用Arduino編程語言。這基于Wiring,它具有與C ++相同的語法和庫,但具有簡化和修改。為了使該語言易于使用,Arduino開發環境基于基于Java的Processing開源IDE。開發可以在PC或Mac上作為主機在Windows,Mac OSX或Linux下完成,也可以在主板上完成。可以使用Arduino編程語言和工具在Linux上開發網關軟件。
Arduino Nano板是一款小型,完整且面包板友好的板,基于用于Arduino Nano 3.0的ATmega328處理器或用于Arduino Nano 2.x系列的ATmega168。它只缺少直流電源插孔,可以使用Mini-B USB電纜而不是標準電纜。 Nano是專門設計的,目前由Gravitech生產。 16 MHz處理器的建議輸入電壓為7-12 V,具有14個數字I/O引腳,每個引腳具有40 mA的直流電流,可用于為無線模塊供電。
ATmega168版本中有16 KB的Flash或ATmega328中有32 KB,其中引導加載程序使用2 KB。同樣,ATmega168有1 KB的SRAM和512字節的EEPROM,帶有ATmega168或2 KB的SRAM和1 KB的EEPROM。
Arduino主板的價值在于業余愛好者開發的開源軟件系列,以及硬件的靈活性。制造商提供電路布局,并且很容易為無線功能構建附加卡或屏蔽。可以制作或購買無線屏蔽以向設計添加無線鏈接。
圖1:Arduino Nano板。
Linux上的Arduino IDE
Arduino最常見的開發平臺是Linux,它同樣是開源的。根據正在使用的Linux的分布,需要一些其他程序。
關鍵工具是Arduino IDE 1.0.1,因為它使用內部預構建GCC(GNU編譯器集合)編譯器。這排除了所有工具鏈問題,包括Java運行時包6或7 -nopenjdk-7-jre或oracle JRE 7.
Arduino軟件下載包括兩個附加依賴項的自定義版本:
RXTX,用于與Arduino板等串行設備通信的Java和本機庫
avrdude,一個將程序上傳到AVR微控制器的應用程序(如Arduino板上的程序)
來自的avrdude修改了Arduino以確保在上傳之前Arduino板的自動重置功能正常運行(如果沒有,則上傳將失敗)。 Arduino版本的源代碼也可以在開源存儲庫GitHub上找到。
Arduino附帶的RXTX經過修改,支持Arduino Uno和Mega 2560主板使用的/dev/ttyACM格式的設備。它們使用ATmega8U2代替FTDI芯片進行USB串行通信。
無線屏蔽
XBee?屏蔽允許Arduino板使用ZigBee?進行無線通信。它可以在室內100英尺或室外300英尺(帶視線)進行通信。屏蔽的簡單性意味著它可以用作串行或USB替代品來創建簡單的無線點對點連接,或者使用命令模式,它可以配置為各種廣播和網狀網絡選項作為無線網關。屏蔽將每個XBee引腳分成通孔焊盤,并提供母引腳頭,以便使用數字引腳2至7以及屏蔽覆蓋的模擬輸入。數字引腳8至13不受屏蔽的阻礙,因此它們可以使用電路板本身的接頭。
圖2:Arduino無線屏蔽。
XBee屏蔽有兩個跳線,用于確定Arduino板上微控制器(ATmega8或ATmega168)與FTDI USB轉串口芯片之間的串行通信。當跳線位于XBee位置時,XBee模塊的DOUT引腳連接到微控制器的RX引腳,DIN連接到TX。
有兩個模塊需要正確配置才能相互通信(盡管使用默認設置,所有模塊應該能夠相互通信)。它們需要位于ID參數設置的同一網絡上。模塊需要位于CH參數設置的同一通道上。最后,模塊的目標地址(DH和DL參數)確定其網絡和通道上的哪些模塊將接收它傳輸的數據。這可以通過以下幾種方式實現:
如果模塊DH為0且DL小于0xFFFF(即16位),則該模塊傳輸的數據將由任何模塊接收,其16位地址MY參數等于DL。
如果DH為0且DL等于0xFFFF,則所有模塊都將以廣播模式接收模塊的傳輸。
如果DH非零,或者DL大于0xFFFF,傳輸只能由序列號等于發送模塊目的地址的模塊接收,即點對點連接。
但是,這個地址匹配將會僅發生在同一網絡和通道上的模塊之間。如果兩個模塊位于不同的網絡或通道上,則無論其地址如何,它們都無法通信。電路板和屏蔽可以直接一起工作,但有時可能需要從Arduino電路板上運行的代碼配置XBee模塊。這需要開關處于Micro位置并使模塊進入配置模式,它需要三個加號:+++并且前后需要至少一秒,在此期間沒有其他字符被發送到模塊。請注意,這包括新行或回車符。設置配置模式后,模塊將發回兩個字符“OK”,然后回車。
發送命令預期響應
+++確定
一旦進入配置模式,AT命令可用于控制模塊。命令字符串的格式為ATxx(其中xx是設置的名稱)。要讀取設置的當前值,請發送命令字符串,然后發送回車符。要為設置寫入新值,請發送命令字符串,緊接著是新設置(中間沒有空格或換行符),然后是回車符。例如,要讀取模塊的網絡ID(確定它將與之通信的其他XBee模塊),請使用‘ATID’命令:
發送命令預期響應
ATID 3332 《 br》
更改模塊的網絡ID:
發送命令預期響應
ATID3331 OK
檢查設置已生效:
發送命令預期響應
ATID 3331
除非將更改寫入非易失性內存,否則它們只會生效模塊失去動力。要永久保存更改,請以相同方式使用ATWR命令:
發送命令預期響應
ATWR確定
將模塊重置為工廠設置,使用ATRE命令:
發送命令預期響應
ATRE確定
請注意,與其他命令一樣,重置將不會是永久性的,除非您按照ATWR命令執行。
Laird嵌入式無線解決方案的Arduino ModFLEX Shield使用SiFLEX02,結合了高性能802.15.4無線電和微控制器,經濟高效,預先認證,I/O連接器與Arduino開源平臺兼容。
該模塊具有900 MHz DSSS收發器,帶有RF放大器電路的Atmel無線電,以及Atmel ATRXMEGA微控制器,使其具有與主板相同的環境。它預先加載了運行在Atmel 802.15.4 MAC之上的主機串行接口。屏蔽具有完整的調試和編程功能,可以開發自定義應用程序,并且可以輕松地將ZigBee堆棧或MAC加載到模塊上以創建自定義網絡。
該模塊具有250 mW的輸出功率,可提供2英里的視距范圍以及1 Mbps RF數據速率。
其他無線拓撲結構
通過使用面包板原型系統,可以使用獨立的無線模塊為Arduino板構建屏蔽。這允許其他設備用于創建屏蔽以處理其他拓撲,例如Wi-Fi。
圖3:用于連接無線模塊的Arduino面包板。
Microchip的RN-171模塊是一個獨立的完整TCP/IP無線網絡模塊,可與原型板一起使用以提供Wi-Fi連接。由于其小巧的外形和極低的功耗,RN-171非常適合移動無線應用,如Arduino屏蔽。
圖4:Microchip Wi-Fi模塊。
它集成了2.4 GHz無線電,TCP/IP協議棧,實時時鐘,加密加速器,電源管理和模擬傳感器接口。該模塊預裝了固件,以簡化集成并最大限度地減少應用程序的開發。在最簡單的配置中,硬件僅需要四個連接(PWR,TX,RX和GND)來創建無線數據連接。 RN-171還包括一個內置的HTML客戶端,可自動將串行UART數據或傳感器數據發布到Web服務器。
其他拓撲結構包括用于連接機器對機器(M2M)網絡的Bluetooth?。
萊爾德科技無線M2M AC4490 900 MHz無線電模塊使用經過現場驗證的FHSS技術,無需額外的站點許可即可替代工業環境中的數英里電纜。該模塊包括抗干擾功能,可與其他網絡協同工作,同時保持數據完整它可以通過使用12針接頭的原型面包板連接到Arduino板。
AC4490的功能包括插入式安裝,多種即時控制命令,以及用作直接電纜更換的功能,無需特殊的主機軟件進行通信。所有跳頻,同步和RF系統數據發送/接收由模塊執行。
圖5:Laird藍牙M2M模塊。
無線電模塊可實現超過20英里的開放場范圍,在900 MHz頻段內具有高傳播,并包括1 W功率傳輸選項和接收鏈中的靈敏低噪聲放大器。它支持單播(一對一尋址)和廣播(一對多尋址)模式,以及具有硬件和/或軟件ACK指示的確認模式(ACK)API,以確保已接收到數據。還有一個信標模式和一個動態無線電數據表,可保留多達12個無線電模塊的數據。
Internet連接
構建無線網關的另一方面是將其連接到Internet,這很簡單,使用以太網屏蔽,特別是如果它可以使用以太網供電(PoE)技術。 Arduino ETH Shield包含一個PoE模塊,允許Arduino板使用以太網庫連接到LAN。它包括一個帶有源電壓轉換器的微型SD卡連接器和板載復位控制器,可通過以太網供電。
結論
將Nano等低成本處理器板與XBee等無線屏蔽相結合,可以創建易于開發的無線控制器。通過添加具有自身功率的以太網屏蔽,該組合可以成為將模塊,傳感器和執行器鏈接到Internet的無線網關,以便智能手機和平板電腦等設備可以控制它們。 Arduino IDE提供了一個強大的開發環境,項目的開源特性允許輕松獲取庫和代碼并用于構建網關。
-
傳感器
+關注
關注
2564文章
52607瀏覽量
763853 -
智能手機
+關注
關注
66文章
18610瀏覽量
183075 -
Arduino
+關注
關注
189文章
6492瀏覽量
190134
發布評論請先 登錄
【創龍AM4379 Cortex-A9試用體驗】使用USB無線網卡
工業無線網關安裝方法
一種基于Zigbee技術的家用無線網絡平臺研究
物聯網網關和通用網關平臺設計挑戰是什么?
構建擁有自主MAC層協議的無線網卡
基于802.11b無線網卡、EPXA1開發板的無線MAC開發
建設一個Arduino無線網關
無線網關是什么 無線網關的作用
什么是無線網關,無線網關的功能都有哪些
WiMi-net無線網關如何設置

PLC無線網關是什么?PLC無線網關的功能作用

評論