999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

藍牙內網與ARM網關的遠程智能家居監測系統

2017-01-05 01:40:38游彬張紫謙張小晨
單片機與嵌入式系統應用 2016年12期
關鍵詞:系統設計

游彬,張紫謙, 張小晨

(1.南昌大學 機電工程學院, 南昌 330031;2.南昌大學 信息工程學院)

?

藍牙內網與ARM網關的遠程智能家居監測系統

游彬1,張紫謙2, 張小晨1

(1.南昌大學 機電工程學院, 南昌 330031;2.南昌大學 信息工程學院)

提出一種基于藍牙技術組建內網,采用STM32作為網關,并搭建WEB服務器,通過Internet將監測數據傳送到用戶端,實現對智能家居環境監測結果的查詢。同時采用Android studio軟件開發一款手機APP,實現與藍牙模塊的實時通信來查看監測數據,方便不同情況下查看監測結果。系統實現了對家居環境溫度、濕度、光照強度、燃氣煙霧等環境參數的實時監控及遠程訪問。該系統運行可靠,人機界面友好,易于操作,可擴展性強,且測試成本低。

藍牙技術;STM32;WEB服務器;安卓APP

引 言

隨著計算機、通信和微電子技術的飛速發展和生活水平的不斷提高,人們逐漸開始關注家居環境的舒適性和安全性,智能化和網絡化等相關技術開始引入家居環境中組成智能家居的概念[1-2]。智能家居監測系統就是其中一個重要的應用。智能家居監測系統可以劃分為家庭內網、網關、家庭外網三個部分,目前家居監測系統設計中,家庭內網的構建多采用基于總線和電力線的有線連接方式 ,這些連接方式均具有布線復雜、線路易腐蝕、維護不方便等缺點。另外,家庭網關的設計多以單片機作為控制核心,系統軟硬件資源有限,調試和升級均比較困難[3]。

藍牙是一種近距離、低功耗、低復雜度的無線網絡通信技術,應用十分廣泛[4]。鑒于這些優點,采用藍牙無線技術來搭建家庭內網。用STM32來替代單片機作為控制器,相比于單片機,其具有豐富的外設接口,便于系統升級調試[5]。同時利用主控芯片STM32的以太網控制模塊,搭建嵌入式WEB服務器,實現對家居環境監測數據遠程查看[6]。最后采用Java語言開發出一款Android系統APP,實現與藍牙模塊實時通信功能,豐富對監測數據的查看方式[7-8]。

1 系統總體設計

本文設計一種基于藍牙與WEB服務器的無線傳輸平臺,系統模塊有:控制器、BC4藍牙模塊、數據采集模塊、WEB服務器、安卓手機APP。該系統主要監測的室內環境參數為:室內溫濕度、室內光照強度、室內一氧化碳濃度。系統總體結構如圖1所示。

圖1 系統總體結構

首先,傳感器采集室內環境參量通過藍牙從模塊發送到藍牙主模塊,然后在STM32控制器集成電路中做信號調理(如信號放大、A/D轉換等),最終的監測結果既可以通過藍牙SPP協議傳輸到手機終端,通過安裝在手機上的智能家居APP來查詢家居環境參數,也可以通過Internet瀏覽器遠程訪問Web服務器中的監測結果。用戶可以根據自身情況選擇這2種不同的方式來實現對室內環境參量的實時查詢。

2 系統軟硬件設計與實現

2.1 傳感器選型

溫濕度傳感器主要負責采集室內實時變化的溫濕度物理數據,并將其轉換為電信號。由于傳感器的性能直接決定了監控系統的精度、靈敏度和測量范圍,所以本系統采用SHT10數字溫濕度傳感器,其主要性能指標如下:濕度測量范圍為0~100% RH;溫度測量范圍為-40~123.8 ℃;濕度測量精度為±4.5% RH;溫度測量精度為±0.5 ℃;低功耗為80 μW,滿足系統的監控要求。

一氧化碳濃度檢測采用MQ-2氣體傳感器,其使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫(SnO2)。當傳感器所處環境中存在可燃氣體時,傳感器的電導率隨空氣中可燃氣體濃度的增加而增大。使用簡單的電路即可將電導率的變化轉換為與該氣體濃度相對應的輸出信號。

光照強度檢測采用BH1750傳感器來測量,其內部光強檢測模塊的光譜范圍與人眼相近,對光源依賴性不大,具有測量范圍寬(1~65 535 lx)和高分解的特點。內部帶有1.8 V電壓的邏輯輸入接口、照度數字轉換器、I2C總線接口,無需任何外部器件即可實現實時的光照強度采樣。

2.2 數據無線傳輸設計

主控芯片STM32F107是以ARM的Cortex-M3為內核的處理器,最高工作頻率可達72 MHz,內置大容量高速存儲器??刂破髦饕菍λ{牙主模塊傳送過來的數據進行處理,其數據傳輸鏈如圖2所示。

圖2 數據傳輸鏈

STM32F107內置模數轉換模塊,需要對其內部寄存器進行編程,用來采集傳感器的數值。開啟時鐘,獲取傳感器模擬輸入,然后做分頻,設置ADC工作模式及規則序列,開啟A/D轉換并校準最后讀取ADC數值,其主要程序如下:

RCC_ADCCLKConfig(RCC_PCLK2_Div6);

PCLK2/6 = 12MHz;

ADC_Mode = ADC_Mode_Indepengdent;

ADC_ScanConvMode = DISABLE;

ADC_ContinousConvMode = ENABLE;

ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;

…;

主控制模塊與藍牙模塊的通信主要是串口通信,當STM32F107通過串口發送AT命令時,控制藍牙模塊進行工作,如搜索連接、配對、數據傳輸等任務,當數據流非AT命令時,作為監測數據流傳輸給主控器,然后做數據處理。本系統采用 USART復用I/O口PA9作為串口發送引腳,配置為推挽輸出,速度為 50 MHz;USART復用I/O口PA10作為串口接收引腳, 配置為浮空輸入。 串口工作方式和中斷配置, 波特率為115 200 Baud、8 位數據位、無校驗位、1 位停止位。其初始化代碼如下:

GPIO_Init Type Def GPIO_Init Structure;

USART_Init Type Def USART_Init Structure;

RCC_APB2Periph Clock Cmd(RCC_APB2Periph_USART, ENABLE);

RCC_APB2Periph Clock Cmd(RCC_APB2Periph_GPIOA, ENABLE);

GPIO_Init Structure.GPIO_Pin = GPIO_Pin_9;

GPIO_Init Structure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init Structure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_Init(GPIOA, &GPIO_Init Structure);

2.3 藍牙無線通信設計

藍牙模塊內除了BC417143芯片外,還封裝了該芯片工作所需要的電源電路、振蕩器電路、Flash ROM、天線接口電路等。藍牙模塊還為BC417143的各種外圍接口提供了一個電路板級的插針,使用藍牙模塊時只要將藍牙模塊插在設計好接口外圍電路和插座的母板上即可。藍牙模塊結構如圖3所示。

圖3 藍牙無線傳輸模塊結構

藍牙軟件需要實現功能:spp任務的注冊、初始化、任務間的消息交換、任務同步、中斷處理、時間管理、內存分配。CSR提供的SDK開發藍牙軟件,涉及任務、消息隊列和消息處理函數等API。主要是監控spp任務主線,然后進行內存分配,判斷主從/分主從模式處理SPP數據流,其處理流程如圖4所示。然后通過內部DSP做處理后通過Radio發射出去,實現藍牙主從模塊之間的數據通信以及主控制器與手機APP之間的數據通信功能。

圖4 藍牙軟件設計流程

藍牙SPP協議核心代碼如下:

PioState pio_state;

if (StreamUartSource())

memset(&theSppApp1, 0, sizeof(theSppApp1));

theSppApp1.task.handler = app_handler;

InitAppData(&theSppApp1);

if(theSppApp1.work_mode==SPP_MASTER)

read_far_addr(&theSppApp1.remote_bd_addr);

if(theSppApp1.work_mode == SPP_SLAVE)

PRINT(("Init SPP Slave Mode! "));

if(theSppApp1.connection_mode == 1)

read_far_addr(&theSppApp1.bind_bd_addr);

pioInit(&pio_state, &theSppApp1.task);

PanicNotNull(MessageSinkTask(StreamUartSink(), &theSppApp1.task));

ConnectionInit(&theSppApp1.task);

MessageLoop();

2.4 Web服務器的搭建與設計

通過在STM32上搭載μC/OS-II操作系統,并且移植LwIP協議棧到操作系統上,利用主控芯片STM32的以太網控制模塊,搭建嵌入式WEB服務器,通過LwIP的API接口實現HTTP應用流程。主控制器上的以太網模塊靈活性強并擁有可配置的MAC 802.3物理接口,可以通過以太網接口收發數據。

μC/OS-II是基于優先級的搶占式的實時多任務系統,占用很少的內存空間,可以提供多任務、實時同步等服務。搭建WEB服務器需要做任務處理和內存分配等工作,所以需要移植μC/OS-II系統,主要移植μC/OS-II內核代碼、板級配置文件、應用程序、os_cpu.h、os_cpu_a.asm、os_cpu_c.c等文件。鑒于單純實時系統缺少網絡協議棧,無法實現網絡鏈接,從而需要移植LwIP協議到系統中。LwIP可以不需要操作系統的支持,也可以移植到操作系統上。但是LwIP在實時操作系統的平臺上的網絡響應速度更快。在操作系統中,可以通過多任務的方式來實現以太網應用,該方式主要建立3個任務:應用程序HTTP任務、LwIP協議找處理任務、底層網絡接口任務。各任務之間使用信號量、消息郵箱通信機制實現同步。

在STM32F107上移植好實時操作系統μC/OS-II和嵌入式TCP/IP協議棧LwIP以后,在多任務操作系統中添加http_task任務(即網絡通信中的最上層應用層程序)來實現嵌入式Web服務器的功能。實現方式如圖5所示,其中CGI(通用網關接口)是運行在服務器上的一段程序代碼,用于處理來自客戶端(本文中釆用瀏覽器)的請求信息,根據來自HTML頁面的不同請求作出相應的響應。

圖5 Web的實現

WEB服務器的功能主要是由添加的http_task完成的,主要是http的初始化和http的應答兩個方面的編程設計,主要由LwIP的API來實現。新建數據,然后綁定IP地址,再監聽網絡請求,然后建立網絡連接,接著讀取數據塊地址,最后將包頭數據和網頁數據發送到終端。其設計流程如圖6所示。

圖6 LwIP實現

試驗應用:首先將測試硬件放置在監測點上,然后將STM32開發板上電并接入以太網,將嵌入式WEB服務器的IP地址設為192.168.1.101,子網掩碼為255.255.255.1,其網關為192.168.1.1,試驗所用監測PC機IP地址為192.168.1.34。在監測PC機上打開瀏覽器,在瀏覽器網絡地址欄中鍵入網址:http//192.168.1.101,此時瀏覽器進入監測界面,實現遠程實時查詢監測結果的功能,其監測頁面如圖7所示。

圖7 瀏覽器監測結果界面

由監測界面可以看出,廚房監測點溫度為16.4 ℃,舒適等級;濕度為69%,略微潮濕;co濃度為16 ppa,屬于正常等級;光照強度為56 lx,光照較弱。客廳監測點溫度為20.1 ℃,舒適等級;濕度為54%,正常等級;co濃度為9 ppa,屬于正常等級;光照強度為56 lx,光照舒適。

2.5 安卓APP設計

為了方便用戶查詢室內的環境狀況,在實現Web顯示的同時可以利用Android系統開發APP應用,使用戶能夠在手機上實時顯示參數情況。把控制器作為服務端監聽客戶端的請求,手機APP應用作為客戶端發送請求,并接收來自服務端通過藍牙模塊傳輸過來的數據。

由于Android系統是基于Linux內核開發的,而Linux內核提供了所需的藍牙模塊驅動,并且提供了相應的藍牙API接口讓用戶調用如BluetoothServerSocket類用于藍牙服務端,而BluetoothSocket類則用于藍牙客戶端。首先將服務端和客戶端連接起來,客戶端通過startDiscovery()方法搜索周圍的藍牙設備,當搜索到服務端時,調用ListenUsingRfcommWithServiceRecord(String, UUID)方法獲取BluetoothSocket,其中UUID是唯一的,如果客戶端與服務器端的UUID一致時,則兩者就可以建立連接。然后,服務端調用accept()方法監聽連接請求,而此時客戶端調用connect() 方法請求連接,當服務端響應請求后,兩者就建立連接了。最后,當兩者連接后都會擁有自己的BluetoothSocket類,應用APP通過調用BluetoothSocket類的getInputStream()方法接收藍牙服務端發送的數據信息。由于accept()和connect()方法都會阻塞線程,所以需要在新線程中實現這兩種方法。其客戶端核心代碼如下:

//新線程實現數據接收

Public ConnectThread(BluetoothSocket socket){

Try{

Instraem = socket.getInputStream()′;

//讀取數據輸入流

}catch(IOException e){//拋出異常

}

}

//將接收的數據顯示

Public void run(){

Byte buff[] = new byte[512];

Int res;

While(1){

Try{

res = Instream.read(buff);

//將得到的數據送至顯示控件顯示

message mes=handler.obtainMessage(BluetoothChat.MESSAGE_READ,res,-1,buff);

mes.sendToTarget();

}catch(IOExceptin e)

{break;}

}

}

在實現APP與主控制器數據通信的功能的同時開發用戶交互界面,在APP的界面開發中采用了線性布局和相對布局相結合的方式。為了節省開發周期和成本,采用XML語言對界面進行開發,不僅簡單直觀,還降低了應用的耦合性,APP的界面程序在文件的/res/layout/activity_main.xml中,最后得到測試結果界面如圖8所示。

圖8 安卓手機APP監測結果界面

最后需要打開系統的藍牙權限,即在APP應用工程中的AndroidManifest.xml文件中添加以下兩句[9]:

結 語

[1] 錢聲強. 基于LabVIEW的智能家居監控系統設計[J]. 現代電子技術, 2013(24):103-105.

[2] 鄭魏, 李智敏, 駱德漢. 智能家居無線網絡設計與實現[J]. 電視技術, 2013, 37(21):56-59.

[3] 曹夢龍, 鄒云東. 基于Internet和GSM的智能家居網關設計與實現[J]. 電視技術, 2014, 38(3):73-75.

[4] 夏百戰, 何懷文, 蔡鳳菊. 一種基于藍牙技術的多功能教學輔助系統[J]. 測控技術, 2011, 30(2):89-91.

[5] 李紅剛, 張素萍, 方佳,等. 基于ARM的智能家居遠程監控系統設計[J]. 現代電子技術, 2009, 32(5):134-138.

[6] 鐘建國. 基于Internet的智能家居控制終端的設計與實現[J]. 現代電子技術, 2008, 31(16):109-111.

[7] Curran T, Jr F B. Vulnerabilities of android data sharing and malicious application to leaking private information[C]//Ubiquitous and Future Networks (ICUFN), 2013 Fifth International Conference on. IEEE,San Jose,California, 2013:37-42.

[8] 趙勇. 基于ARM和ZigBee的智能家居遠程監控系統設計[J]. 測控技術,2012,31(11):52-54.

[9] 潘月,朱卉.基于Android系統的藍牙便攜式血脂儀的設計[J]. 電子設計工程,2013(24).

參考文獻

[1] 徐鵬,王克宏.Java程序內存空間優化策略的研究[J].計算機科學,2002,29(4):24-27.

[2] 潘春花.Java與C++垃圾回收機制剖析[J].信息系統工程,2015,12(5):12-13.

[3] 楊樺,周靜.基于Java多線程機制的龜兔賽跑程序[J].計算機與現代化,2011,193(9):165-172.

[4] Yu sun.Wei Zhang.Improving Java performance and energy dissipation through efficient code caching.Des Autom Embed Syst,2009(13):179-192.

[5] 郭丙軒,張京莉,張志超.基于內存池的空間數據調度算法[J].計算機工程,2008,34(6):63-64.

[6] 鄧洋春.Java虛擬機關鍵機制研究與實踐[D].長沙:中南大學,2008.

[7] 孫希,俞建新.Java虛擬機新技術探討[J].計算機應用,2001,21(8):74-76.

[8] Joe Say.Java Garbage Collection Introduction[EB/OL].[2016-06].http://Javapapers.com/Java-garbage-collection-introduction.

[9] Hansen S.Interpreting Java program runtimes[J].Technical Symposium on Computer Science Education,2005,38(9):36-40.

[10] Chris Andreae,Yvonne Coady,Celina Gibbs,et al.Scoped types and aspects for real-time Java memory management[J].2007,37(9) :223-241.

[11] Pawan RajMurarka,Motahar Reza,Rama Ranjan Panda.Analysis of Multithreading in Java for Symbolic Computation on Multicore Processors[M].New York:Springer,2014.

[12] 陳濤.HotSpot實戰[M].北京:人民郵電出版社,2014.

[13] Marc Beyerle,Joachim Franz,Wilhelm G.Spruth.Persistent Reusable Java Virtual Machine unter z/OS und Linux[J].Informatik-Forschung and Entwicklung,2005,20(9):102-111.

楊靜(碩士),主要從事高級編程語言、嵌入式系統應用;楊觀賜(博士),主要從事計算智能應用。

(責任編輯:薛士然 收稿日期:2016-06-27)

Remote Monitoring System of Smart Home Based on Bluetooth Network and ARM Gateway

You Bin1,Zhang Ziqian2,Zhang Xiaochen1

(1.College of Mechanic and Electronic Engineering,Nanchang University,Nanchang 330031,China;2.College of Information Engineering,Nanchang University)

In the paper,a network based on Bluetooth technology is proposed,which uses STM32 as the gateway,and builds the WEB server.It sents the monitor data through the internet to the user side,and the system can check the results of the smart home environment monitoring.At the same time,the system uses the studio Android software to develop an APP,it achieves the real-time communication with the Bluetooth module to view the monitoring data for home environment temperature,humidity,light intensity,gas fumes and other environmental parameters.The system has reliable operation,friendly man-machine interface,easy to operate,strong expansibility,and lower test cost.

Bluetooth technology;STM32;WEB server;Android APP

TP393

A

?迪娜

2016-06-29)

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 手机精品福利在线观看| 久操线在视频在线观看| 伦精品一区二区三区视频| 熟女视频91| 精品久久久久久久久久久| 一级爆乳无码av| 不卡无码h在线观看| 免费精品一区二区h| 久久综合色天堂av| 丁香五月婷婷激情基地| 国产福利一区在线| 啪啪啪亚洲无码| 91香蕉国产亚洲一二三区 | 内射人妻无码色AV天堂| 欧美a在线| 91久久精品日日躁夜夜躁欧美| 伦伦影院精品一区| 呦系列视频一区二区三区| 亚洲国产精品美女| 亚洲an第二区国产精品| 成人在线不卡| 亚洲成人一区二区三区| 露脸真实国语乱在线观看| 久久综合久久鬼| 无码视频国产精品一区二区| 免费在线国产一区二区三区精品| 日本人妻丰满熟妇区| 欧美精品成人一区二区在线观看| 亚洲大尺码专区影院| 伊人大杳蕉中文无码| 免费看久久精品99| 国产91小视频在线观看| 幺女国产一级毛片| 都市激情亚洲综合久久| 亚洲一道AV无码午夜福利| 伊人AV天堂| 国内精品免费| 99热这里只有精品在线播放| 国产xxxxx免费视频| 中文字幕永久视频| 91成人在线观看| 欧美日本中文| 四虎成人免费毛片| 国内精品久久久久鸭| 99精品免费欧美成人小视频| 夜精品a一区二区三区| 国产亚洲成AⅤ人片在线观看| 欧美日韩专区| 日本精品视频一区二区| 亚洲国产欧美国产综合久久| 又爽又大又黄a级毛片在线视频| 亚洲无码四虎黄色网站| 日韩 欧美 小说 综合网 另类| 国模极品一区二区三区| 伊人久久大线影院首页| 狼友av永久网站免费观看| 精品欧美一区二区三区在线| 白浆免费视频国产精品视频| 97超碰精品成人国产| 亚洲精品日产精品乱码不卡| 国产精品99久久久久久董美香 | 大学生久久香蕉国产线观看| 乱人伦视频中文字幕在线| 日本国产精品| 亚洲成年人网| 日本亚洲欧美在线| 色综合激情网| 91小视频在线观看| 国产乱论视频| a级毛片免费看| 九色在线观看视频| 老色鬼久久亚洲AV综合| 国产69精品久久久久孕妇大杂乱| 色婷婷电影网| 国产乱子精品一区二区在线观看| 99国产精品国产高清一区二区| 2020国产在线视精品在| 2021国产v亚洲v天堂无码| 色综合日本| 91精品在线视频观看| 不卡的在线视频免费观看| 九色视频最新网址|