国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的iBeacon集中器設計

2017-11-09 01:11:37,,
關鍵詞:集中器低功耗以太網(wǎng)

,,

(電子科技大學 電子工程學院,成都 611731)

基于STM32的iBeacon集中器設計

師敬旭,張紅雨,何超

(電子科技大學 電子工程學院,成都 611731)

針對iBeacon設備的管理問題,本文設計了一個基于STM32的iBeacon集中器。集中器可以采集周圍的iBeacon數(shù)據(jù)包,并可通過串口、以太網(wǎng)或WiFi將數(shù)據(jù)包實時地轉發(fā)至用戶計算機,實現(xiàn)管理iBeacon設備的功能。集中器硬件設計上選用了內存大且通信接口豐富的STM32F407作為MCU,使集中器能讀取大量的iBeacon設備并通過多種方式轉發(fā)iBeacon數(shù)據(jù)包。軟件設計上應用了循環(huán)FIFO隊列,實現(xiàn)iBeacon數(shù)據(jù)包的緩存。測試結果表明,集中器無丟包現(xiàn)象,穩(wěn)定可靠。

iBeacon;STM32;集中器;以太網(wǎng);WiFi

引 言

iBeacon是蘋果公司于2013年發(fā)布的一項基于低功耗藍牙的無線數(shù)據(jù)傳輸技術,本文把任何支持iBeacon技術的設備統(tǒng)稱為iBeacon設備。iBeacon設備利用低功耗藍牙的廣播信道周期地發(fā)送自己特有的ID,接收到此ID的智能手機會喚醒相應的應用軟件執(zhí)行特定操作。目前,iBeacon設備的功能主要是室內導航、信息推送和環(huán)境監(jiān)測。一個iBeacon系統(tǒng)部署后,緊跟著的就是維護問題。在iBeacon系統(tǒng)運行期間,iBeacon設備丟失、人為損壞和沒電的情況經(jīng)常發(fā)生,因此需要維護人員定期地到現(xiàn)場檢查每一個設備的運行情況。但這樣做不僅提高了系統(tǒng)成本,而且也不能及時地發(fā)現(xiàn)設備丟失或故障。為了解決iBeacon的分布應用、多種網(wǎng)絡接口和管理等問題,本文基于STM32微控制器設計了一種iBeacon集中器。

1 iBeacon系統(tǒng)結構

iBeacon系統(tǒng)主要由iBeacon設備、iBeacon集中器和用戶計算機三部分組成。集中器通過低功耗藍牙與iBeacon設備通信,通過串口或路由器與用戶計算機通信。若局域網(wǎng)外的計算機需要連接iBeacon集中器,只需在路由器上設置端口映射即可。系統(tǒng)中,各iBeacon設備負責周期地發(fā)送帶有自己ID的iBeacon藍牙廣播包;iBeacon集中器負責掃描iBeacon設備和執(zhí)行用戶指令,實現(xiàn)低功耗藍牙、串口、以太網(wǎng)和WiFi協(xié)議的相互轉換;用戶計算機負責接收數(shù)據(jù)包并將其中的內容解析后顯示。系統(tǒng)結構如圖1所示。

圖1 iBeacon系統(tǒng)結構

2 硬件設計

iBeacon集中器硬件系統(tǒng)主要由MCU、藍牙模塊、串口通信模塊、以太網(wǎng)模塊和WiFi模塊組成。硬件系統(tǒng)框架如圖2所示。

2.1 藍牙模塊

藍牙模塊負責掃描iBeacon設備,是集中器與iBeacon設備通信的接口。本文中的藍牙模塊是以低功耗藍牙芯片CC2540為核心設計的。CC2540內置了增強型8051內核,8 KB RAM,256 KB FLASH,擁有2個USART接口和一個USB接口。藍牙模塊使用串口與MCU連接,通過串口接收指令和轉發(fā)iBeacon數(shù)據(jù)包。

2.2 MCU

iBeacon集中器硬件系統(tǒng)框架如圖2所示,MCU需要擁有三個串口和一個RMII接口,同時,MCU還需要擁有大的內存來緩存iBeacon數(shù)據(jù)包。

圖2 iBeacon集中器硬件系統(tǒng)框架

基于以上兩點要求,本文選取了STM32F407作為集中器的MCU。STM32F407主頻可達168 MHz,SRAM容量為128 KB,支持外擴SRAM。此外,STM32F407有豐富的通信接口,包括4個USART通信接口、2個UART通信接口和一個10M/100M以太網(wǎng)接口等。綜上所述,無論是在內存方面,還是在通信接口方面,STM32F407都完全滿足要求。

2.3 串口通信模塊

串口通信模塊負責與本地計算機通信,主要用于接收配置指令。當集中器不能連接WiFi和以太網(wǎng)時,iBeacon數(shù)據(jù)包也可通過此模塊轉發(fā)至用戶計算機。由于現(xiàn)在大多數(shù)筆記本電腦沒有串口,因此本文采用USB轉串口芯片CH340實現(xiàn)計算機與集中器的串口通信。

2.4 以太網(wǎng)模塊

以太網(wǎng)模塊負責連接路由器,需要將iBeacon數(shù)據(jù)包通過路由器轉發(fā)至用戶計算機,同時還需要接收用戶的控制指令。本文選用了低功耗的10 M/100 M以太網(wǎng)PHY層芯片LAN8720A實現(xiàn)以太網(wǎng)通信功能。此芯片通過RMII接口與MCU通信,可以通過自協(xié)商的方式確定與目的主機的連接速度和雙工模式;同時,此芯片支持HP Auto-MDIX自動翻轉功能,無需更換網(wǎng)線即可將連接改為直接連接或交叉連接。

2.5 WiFi模塊

WiFi模塊負責連接附近的無線路由器,功能與以太網(wǎng)模塊相同。本文選用了低功耗WiFi模塊ATK-ESP8266實現(xiàn)WiFi通信功能,此模塊內置了CPU內核和TCP/IP協(xié)議棧,能夠獨立運行也能夠作為適配器搭配其他MCU使用。作為WiFi適配器時,外部MCU可通過串口發(fā)送AT指令控制此模塊并傳輸數(shù)據(jù)。本文中將此模塊作為WiFi適配器使用,并使用AT指令與此模塊通信。

3 軟件設計

iBeacon集中器軟件系統(tǒng)主要由各芯片驅動程序、協(xié)議棧和頂層控制程序組成,軟件系統(tǒng)結構如圖3所示。

圖3 iBeacon集中器軟件系統(tǒng)結構

圖4 循環(huán)FIFO隊列

圖中的箭頭表示調用關系,上層軟件調用下層軟件完成相應的功能。本文中藍牙協(xié)議棧使用TI公司針對CC2540/CC2541開發(fā)的BLE-Stack 軟件開發(fā)套件 BLE-CC254x-1.4.2.2實現(xiàn),其中不僅包含藍牙芯片的驅動程序,還包含低功耗藍牙應用快速開發(fā)所需的所有軟件、示例應用和文檔。由于WiFi芯片內置了TCP/IP協(xié)議棧,所以圖3中的TCP/IP協(xié)議棧實際上代表了兩個TCP/IP協(xié)議棧,這兩個協(xié)議棧分別運行在WiFi芯片和外部MCU上。本文中運行在外部MCU上的TCP/IP協(xié)議棧使用LWIP實現(xiàn),LwIP是一個小型開源的TCP/IP協(xié)議棧,有無操作系統(tǒng)的支持都可以運行;重點是它對內存的要求非常小,只需十幾KB的RAM就可以運行,因此LwIP非常適合在無操作系統(tǒng)的嵌入式系統(tǒng)中使用。

本文中軟件設計的關鍵技術是設置一個循環(huán)FIFO隊列實現(xiàn)iBeacon數(shù)據(jù)包的緩存,隊列結構如圖4所示。

圖5 數(shù)據(jù)包入隊流程圖

集中器每掃描到一個新的設備,就將該設備的數(shù)據(jù)包存放到隊尾后的空緩沖區(qū)中,直到隊滿為止。數(shù)據(jù)包的入隊操作是在串口中斷服務程序中完成的,程序中設置了一個接收緩存來暫存iBeacon數(shù)據(jù)包,當一個數(shù)據(jù)包接收完畢后就執(zhí)行入隊操作。程序工作流程圖如圖5所示。

集中器的頂層控制程序會定時地檢查FIFO隊列的狀態(tài),如果隊列非空,則將隊首的數(shù)據(jù)包通過串口、以太網(wǎng)或WiFi轉發(fā)到用戶計算機,直到隊列變空為止。程序流程圖如圖6所示。

圖6 數(shù)據(jù)包出隊流程

程序運行中,用戶可以發(fā)送指令動態(tài)地開啟或關閉串口、以太網(wǎng)和WiFi轉發(fā)功能。串口轉發(fā)可以在任意時刻開啟或關閉,但是以太網(wǎng)和WiFi轉發(fā)不能同時開啟,只能通過發(fā)送指令在這兩種模式下切換。

4 系統(tǒng)測試

本次測試是使用開發(fā)板來對集中器功能進行驗證的,測試中使用的硬件電路如圖7所示。

圖7 測試硬件電路

本文使用了一款專門管理iBeacon設備的上位機軟件,對集中器的串口轉發(fā)、以太網(wǎng)轉發(fā)和WiFi轉發(fā)功能分別進行了測試,在測試以太網(wǎng)和WiFi轉發(fā)功能時,集中器作為TCP服務器。測試結果表明,集中器可以通過串口、以太網(wǎng)或WiFi將數(shù)據(jù)實時轉發(fā)至上位機軟件并能正確解析。上位機軟件中Sensor Data用于顯示數(shù)據(jù)包中的傳感器數(shù)據(jù),本次測試并未使用傳感器,所以這部分區(qū)域顯示一個無效的字符。

結 語

[1] 歐陽駿,陳子龍,黃寧淋.藍牙4.0 BLE開發(fā)完全手冊[M].北京:化學工業(yè)出版社,2013.

[2] 朱升林.嵌入式網(wǎng)絡那些事:LwIP協(xié)議深度剖析與實戰(zhàn)演練[M].北京:中國水利水電出版社,2012.

[3] 朱廣,黎海濤,馬銀童,等.低功耗物聯(lián)網(wǎng)網(wǎng)關設計與實現(xiàn)[J].國外電子測量技術,2016,35(6):31-36.

[4] 廖鵬飛,陳慶奎.基于藍牙4.0與3G的無線傳感器網(wǎng)關設計與實現(xiàn)[J].計算機工程,2015,41(9):13-18,24.

[5] 胡銀剛,孟憲磊,趙燦,等.基于藍牙和GPRS的無線傳感器網(wǎng)絡設計[J].自動化與儀器儀表,2015 (6):14-15.

[6] 鄒曉康,劉帥,張浩然.基于STM32嵌入式多協(xié)議網(wǎng)關設計[J].微型機與應用,2016,35(16):38-40,43.

師敬旭(碩士研究生),主要研究方向為嵌入式技術和物聯(lián)網(wǎng);張紅雨(高級工程師),主要研究方向為射頻自動識別、物聯(lián)網(wǎng)和嵌入式技術。

DesignofiBeaconConcentratorBasedonSTM32

ShiJingxu,ZhangHongyu,HeChao

(School of Electronic Engineering,University of Electronic Science and Technology of China,Chengdu 611731,China)

Aiming at the problem of management of iBeacon devices,a iBeacon concentrator based on STM32 is designed in this paper.The concentrator can receive many iBeacon data packets and send it to user computer by the serial port,Ethernet and WiFi in real time.It can be used to manage lots of iBeacon devices.The concentrator uses STM32F407 as the core control chip which provides large memory and multiform communication interfaces.It can receive plenty of iBeacon data packets and send it to user computer in a variety of ways.On the software,the circular queue has been used to store iBeacon data packets temporarily.The test results show that there is no packet loss and the concentrator is stable and reliable.

iBeacon;STM32;concentrator;Ethernet;WiFi

TN923

A

2017-06-30)

猜你喜歡
集中器低功耗以太網(wǎng)
一種高速低功耗比較器設計
基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設計與實現(xiàn)
談低壓集中器及表計在線故障快速排查方法
電子制作(2017年8期)2017-06-05 09:36:15
集中器常見死機原因分析及解決方法探究
電子制作(2017年4期)2017-04-21 12:06:14
談實時以太網(wǎng)EtherCAT技術在變電站自動化中的應用
電子制作(2017年24期)2017-02-02 07:14:44
一種90W高功率以太網(wǎng)供電系統(tǒng)的設計
電源技術(2015年7期)2015-08-22 08:48:48
淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應用
三合一集中器作為臺區(qū)線損考核表計的探討
鏈表方式集中器抄表的設計
電測與儀表(2014年1期)2014-04-04 12:00:22
ADI推出三款超低功耗多通道ADC
彩票| 商河县| 平阴县| 孟津县| 抚远县| 若尔盖县| 确山县| 香河县| 新昌县| 晴隆县| 太湖县| 淅川县| 武城县| 沈丘县| 马尔康县| 长阳| 尉犁县| 长春市| 柳河县| 太仆寺旗| 满城县| 河池市| 临邑县| 盘锦市| 疏附县| 湘潭县| 壶关县| 通江县| 乌拉特后旗| 亳州市| 城口县| 五原县| 桑植县| 桃园市| 定远县| 洛扎县| 襄汾县| 长泰县| 武宁县| 洪泽县| 临汾市|