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

基于Android與Arduino智能家居控制系統的設計與實現

2017-08-31 23:47:29禹謝華鄧林茂張曉云陳美龍匡鳳飛
關鍵詞:單片機用戶系統

禹謝華,鄧林茂,張曉云,陳美龍,匡鳳飛

1.福建師范大學 閩南科技學院,福建 泉州 362332

2.廈門大學 信息科學與技術學院,福建 廈門 361005

3.冠捷顯示科技(廈門)有限公司,福建 廈門 361101

基于Android與Arduino智能家居控制系統的設計與實現

禹謝華1,2,鄧林茂2,3,張曉云1,陳美龍1,匡鳳飛1

1.福建師范大學 閩南科技學院,福建 泉州 362332

2.廈門大學 信息科學與技術學院,福建 廈門 361005

3.冠捷顯示科技(廈門)有限公司,福建 廈門 361101

作為時下最炙手可熱的移動應用端操作系統,Android以其顯著的開放性、便于開發的靈活性、能夠與Google應用的無縫對接性及豐富的第三方軟硬件資源等成為智能應用系統不可或缺的組成部分;Arduino單片機系統以其開源的電子原型平臺、靈活便捷的設計和豐富的傳感器資源等被廣泛應用。其與Java和C語言相類似的基于Wiring/Processing的語言開發環境更是受到越來越多的電子愛好者和開發者的青睞。本文以移動手機安卓系統為無線控制終端,結合Arduino單片機系統,設計并實驗仿真了一款基于Android與Arduino的智能家居控制系統,以控制LED燈示例,通過網絡http傳輸控制指令到Arduino單片機系統,Arduino根據所接收到的指令,控制不同的家居電器完成所要求的工作任務。仿真實驗表明,文章所設計方法行之有效,可以靈活的運用到日常家居電器設備,提供了一種智能家居系統設計的新思路,具有易實現,應用廣的特點。

Android;Arduino;智能家居;控制系統

智能家居控制系統是針對不同的用戶需求,利用計算機和網絡通訊技術,將與家居生活有關的諸如安保安防、燈光控制、家電控制等功能有機地結合在一起,通過網絡化、智能化控制和管理,實現方便、自動、快捷的日常事務的一種全新家居生活體驗。其核心部分便在于如何將用戶需求轉換成計算機語言,計算機語言又如何通過某種網絡通訊方式傳輸到移動控制端,控制端再根據所接收到的計算機語言,轉換成相應的信號控制指令。

手機是人們最常用的移動電子設備,使用手機成為家居系統的控制終端就順理成章的成為了最理想的控制方式。通過對已有的家居控制方案的研究分析后發現,大部分的研究中用戶都是需要依賴自己專用的控制端進行操作。本文所設計系統的主要優勢便在于結合時下最熱門的代表創客精神的Arduino系統,配合占有率最高的Android手機操作系統,用戶只需輕點幾個按鈕,安裝一個APP,就可以用安卓手機方便、自如的實現家居控制,操作簡單,易用性強。在整個設計中,手機與接收命令的單片機控制端可以采用不同的方式進行通信,例如有線網絡、WIFI、藍牙或紅外等,各種方式各有利弊,但考慮到部分情況下需要相對較遠距離對家居設備的控制,文章采用的方式是:通過手機訪問網頁客戶端,將用戶的指令通過網頁消息的方式Post到服務器Server端,單片機系統根據服務器端接收到的命令,轉換成對應的控制流程,從而實現家居智能控制。

1 系統的總體框架設計

需要設計一個Android手機端家居控制APP,用來訪問網頁客戶端,服務器端通過Arduino開發板系統來實現,Arduino開發板系統采用的單片機型號是AVRATmega328,搭配W5100網絡擴展板,可以實現聯網功能。家居控制方面,以控制RGB LED燈為例。單片機通過獲取Server端的信息,得知用戶需要控制燈顯示何種顏色、開燈及關燈等信息,將這些信息轉換成0~255,通過控制單片機PWM輸出從而讓LED燈顯示不同的顏色(圖1)。

2 硬件模塊設計

Arduino開發板系統是整個家居控制系統的核心,它的處理器是一個具有32 KB的系統內可編程的八位AVR微控制器ATmega328,同時具有十四路的數字in/out口(其中六路可作為PWM的輸出),六路作為模擬輸入,一個ICSP header,一個電源插座,一個USB口,一個復位按鈕和一個16 MHz的晶體振蕩器。引腳圖如圖2所示。

圖1 系統總體框架圖Fig.1 The overall framework of the system

圖2 ATmega328引腳圖Fig.2 Pins of ATmega328

Arduino的聯網功能主要是通過W5100網絡擴展板來實現的。W5100是Wiznet公司開發的具有TCP/IP協議硬解碼的網絡芯片,它集成了以太網物理層內核[1]。W5100的使用僅需對其進行簡單的端口(Socket)編程即可,不會局限于Ethernet的控制,能夠在很大程度上降低網絡編程及工作人員在硬件接口設計方面的工作量,且能夠維持遠程數據的可靠穩定通訊[2]。單片機與W5100之間的相互連接一般有三種不同的形式,分別是SPI總線連接方式、間接總線鏈接方式和直接總線連接方式。其中,SPI模式的接口連接線路不多,通常用于傳輸速率相對較低且數據通訊量不大的情形;直接總線接口模式則在數據量傳輸較大的情況是較為適用;而間接總線接口模式下的數據傳輸性能則前述的兩者之間[3]。本文設計中所采用的是SPI總線連接模式,在這種模式下,僅需四個引腳進行數據間的通信聯絡,這四個引腳的定義分別為:SCLK,/SS,MOSI,MISO,對應Arduino上的引腳則分別是16、17、18、19。SPI方式的連接框圖如圖3所示:

圖3 W5100與ATmega328連接示意圖Fig.3 The schematic connection between W5100 and ATmega328

本項目的家居設備使用的是Chainable RGB LED可級聯全彩LED,將VCC/GND/CI/DI四個pin腳分別連接至Arduino的VCC/GND/pin7/pin8即可,控制LED顏色亮暗均由ATmega328的pin7和pin8來完成。

3 系統軟件設計

3.1 Arduino程序設計

Arduino程序的程序大體可分為如下的三大部分:

(1)聲明變量及各類接口的名稱。

(2)setup()。首先調用setup()函數運行Arduino程序,在這一過程中需要完成串口的配置、變量的初始化、類庫文件的引入及輸入或輸出針腳類型的設置等操作[4]。需要注意的是,setup()函數僅在每次的Arduino上電或重啟的過程中被執行一次。

(3)loop()。該函數不斷反復循環執行,根據反饋信息的不同,適時動態調控Arduino主控板的操作。

本文所設計家居控制系統的Arduino程序主要可分為如下的三個功能模塊:

(1)設置W5100,使Arduino轉換為WEB服務器,并通過html語言創建網頁需要顯示的內容。首先需要在申明變量的地方設置mac地址、IP地址和初始化Server端口(HTTP默認是80端口),如下所示:

圖4 獲取Client端數據流程圖Fig.4 Get the Client side data flowchart Get the Client side data flow chart

完成以上步驟后,Server就配置成功了。接下來在loop()里面不斷監聽Client端是否連接,并且設置Client需要顯示的內容,具體流程圖如圖4所示。

這里需要注意的是,在獲取鼠標點擊的顏色值時,當網頁表單采用POST方式傳送到服務端,不同的瀏覽器工具,鼠標點擊的顏色值對應POST參數中的字符位置不一樣,本文使用的是安卓平臺,對應的位置是第4至第9的字符,而像IE這類瀏覽器對應的位置是第7到第12的字符,如果沒獲取正確,顏色控制就會得不到匹配。

(2)接收Web Client端發送過來的數據并對數據進行處理,通過計算得到RGB的PWM值。計算過程是將獲取到的鼠標點擊的十六進制顏色值轉換成ASCII碼值,碼值減去87或46后可得到實際數值。

(3)根據處理后的數據控制RGB LED燈的顏色。RGB的PWM值目前已經算出,如果是用戶點擊“turn on”或是“turn of”,RGB的PWM值分別設置為(255,255,255)和(0,0,0)。具體過程如下所示:

先導入ChainableLED的庫文件,在變量聲明的地方去設置Arduino pin7和pin8為輸出:

ChainableLED leds(7,8,1);

接著,在setup()去初始化LED硬件:

leds.init();

最后,調用PWM設置函數去控制LED燈的顏色。

leds.setColorRGB(0,red_color,green_color,blue_color);

通過Arduino控制其他外圍家居設備時,與以上的這三個步驟都是類似的。

3.2 Android APP模塊設計

Android APP的主要目的是能訪問服務器端的web網頁,然后通過HTTP命令把用戶的操作發送到服務器端。那么,APP的基本功能是能訪問網頁,通過Android Web View可以輕松的實現這個功能[5]。Web View(網絡視圖)能加載顯示網頁,可以將其視為一個瀏覽器。Web View視圖和Android Brower應用程序都是基于Web Kit引擎,所以兩者可以賦予Web應用程序相同的性能和功能[6]。

具體實現過程如下所示:

(1)在布局文件activity_main.xml中聲明一個Web View控件,同時聲明一個progress bar用來顯示Web View控件加載進度:

(2)在要Activity中實例化WebView和ProgressBar組件:

(3)調用Web View的loadUrl()方法,設置Web View要顯示的網頁,本文只需要訪問使用Arduino建立的Server IP:

(4)調用set Web View Client控件,設置Web View和progress bar視圖。主要方法有:

(5)重寫Activity類的on Key Down()方法,點擊系統回退鍵,支持返回上一頁:

(6)添加一個exit退出菜單,支持快速退出:

圖5 Android智能家居(燈光)控制終端界面Fig.5Android smart home(LED)control terminal interface Android

(7)在AndroidManifest.xml文件中添加網絡權限,避免出現Web page not available的錯誤提示信息:

重復再寫兩行如上的代碼,分別用ACCESS_WIFI_STATE和ACCESS__STATE替換上面的INTERNET,即可完成網絡權限的添加工作[7]。

(8)在string.xml中,修改app的name為Home Control:l

最后通過Eclipse編譯生成的APK文件安裝到手機,在Arduino有連接到網絡的情況下,打開其界面,如圖5所示。

用戶可以點擊彩色調色板上的顏色,LED顏色的文本框會顯示出顏色的具體值,并以#xxxxxx格式顯示。例如當用戶點擊紅色區域時,文本框就會顯示#ff0000。顏色值通過HTML的表單實現數據交互,POST到Arduino Server端。調色板的六種顏色可以通過previouse/next進行切換,根據用戶需求,只需在代碼中填入多組顏色的table,用戶就可以方便的進行顏色切換,選擇自己想要控制的顏色。Turn on和Turn off分別是控制LED燈的開和關,當點擊Turn on時,LED燈亮起,默認的顏色是白色;當點擊Turn off時,LED燈即全部熄滅。

4 小結

智能家居系統是基于Arduino和W5100搭建的網絡Server平臺,通過編寫安卓手機客戶端的APK來發送命令到Arduino的MCU(ATmega328),Arduino根據接收到的命令最終靈活的完成控制家居設備(RGB LED)執行相應任務的工作,而且這種方式在絕大多數智能家居系統的通信方式的設計中都能夠適用。同時也方便用戶不在家的時候,可以通過互聯網的方式進行遠程控制。實驗在內網的環境中測試成功,不足的是在外網的環境下進行超遠程控制這部分受到環境的影響因素還需要進行不斷完善[8]。另外,智能家居電器功能的實現主要是通過使用LED燈的開關及不同顏色的切換來驗證,完成了諸如不同家居電器電器設備的開關、同一電器設備不同功能的開啟和關閉等絕大多數功能的移動手機控制,但其他較為復雜的功能實現,還將在以后的研究過程中進一步的探討實踐。

[1]WIZnet Co.,Ltd.W5100 data sheet:version 1.2.4[Z].2011

[2]Dave Smith,Jeff Friesen.Android5.0開發范例代碼大全[M].北京:清華大學出版社,2015

[3]晏 勇,周相兵.智能家居自適應網絡設計與實現[J].西南大學學報:自然科學版,2014,36(11):215-220

[4]陸 揚,付 斌,游 江.W5100在單片機實現以太網通信中的應用[J].黑龍江科技信息,2011(5):76-76,15

[5]張楊楊.移動互聯網環境下定位服務設計及原型實現[D].西安:長安大學,2014

[6]肖遠東.智能家居用電管控系統的設計與實現[J].南京工程學院學報:自然科學版,2014,12(3):59-63

[7]仲元昌,王靖欣,胡江坤,等.Android內核移植及在遠程監控中的應用[J].重慶理工大學學報:自然科學版,2011,25(1):102-106

[8]崔 鄧,沈敬偉,周廷剛.一種面向移動智能手機用戶軌跡停留點提取的時空聚類算法研究[J].西南師范大學學報:自然科學版,2016,41(10):81-87

Design and Implementation of Intelligent Home Control System Based onAndroid andArduino

YUXie-hua1,2,DENGLin-mao2,3,ZHANGXiao-yun1,CHENMei-long1,KUANGFeng-fei1
1.Minnan Science and Technology Institute/FuJian Normal University,Quanzhou362332,China
2.School of Information Science and Engineering/Xiamen University,Xiamen361005,China
3.TPV Display Technology(Xiamen)Co.,Ltd.Xiamen361101,China

As one of the most sought-after mobile application terminal operating system,Android has become an indispensable part of the intelligent application system,because it has the features of definite openness,flexibility for development,perfect connection with Google applications and abundant third party software and hardware resources and so on.Arduino MCU system is widely used in society because of its characteristics of open source electronic prototype platform,flexible and convenient design,rich sensor resources,etc.Moreover,its classes Java and C language based on Wiring/Processing development environment are becoming more and more popular among the electronics enthusiasts and developers.Taking the mobile phone Android system as wireless control terminal,and combining Arduino MCU system,an intelligent home control system based on Android and Arduino is designed and implemented in this paper.By controlling LED lamp samples,with the network HTTP transmission control instructions sending to the Arduino MCU system,and according to the

instructions,Arduino can control different household electrical appliances to complete the required tasks.Experiments show that the methods designed in this paper can be flexibly applied to daily household appliances,such as,home appliance control,security equipment,etc.This paper provides a new idea for the design of intelligent home system,which is easy to implement and widely used.

Android;Arduino;intelligent home;control system

U666.12+4

A

1000-2324(2017)04-0532-05

2016-02-03

2016-02-20

2015年度“福建省高校杰出青年科研人才培育計劃”項目(閩教科[2015]54號);2015年福建省高等學校創新創業教育改革項目(SJKC-2015-02);2016年本科高校重大教育教學改革研究項目:基于區域經濟發展的應用型軟件人才培養模式研究(JZ160253);2016年省級互聯網實驗教學示范中心項目(SFZX-2016-01);2016年福建省高等學校服務產業特色專業建設項目(SJZY-2016-02)

禹謝華(1982-),男,碩士,副教授,思科認證網絡工程師.主要研究方向:移動互聯網,人工智能,單片機技術,無線傳感器網絡.E-mail:yuxiehua@163.com

猜你喜歡
單片機用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 亚洲精品波多野结衣| 久青草国产高清在线视频| 欧美性精品| 美女裸体18禁网站| 四虎永久在线精品影院| 园内精品自拍视频在线播放| 91综合色区亚洲熟妇p| 日韩午夜伦| 亚洲中文字幕在线精品一区| 精品国产免费人成在线观看| 97在线观看视频免费| 99手机在线视频| 99热精品久久| 欧美日韩激情在线| 亚洲成A人V欧美综合| 欧美国产日韩在线| a网站在线观看| 亚洲免费毛片| 亚洲91精品视频| 97国产在线视频| 国产午夜不卡| 激情综合婷婷丁香五月尤物 | 国产精品视频导航| 先锋资源久久| 在线亚洲天堂| 中文字幕 91| 国产高清在线观看91精品| 99在线观看视频免费| 乱人伦99久久| 色成人亚洲| 亚洲最大情网站在线观看| 亚洲VA中文字幕| 免费人欧美成又黄又爽的视频| 亚洲高清日韩heyzo| 精品国产污污免费网站| 97se亚洲综合在线韩国专区福利| 青青久久91| 在线国产三级| 国产人成乱码视频免费观看| 欧美成人午夜视频免看| 国产精品中文免费福利| 老司机久久99久久精品播放| 亚洲九九视频| 精品1区2区3区| 欧美国产视频| 日韩高清在线观看不卡一区二区 | 日韩欧美中文在线| 午夜不卡福利| 亚洲欧美在线综合一区二区三区| 在线99视频| 日韩在线1| 亚洲无码精品在线播放| 一级毛片免费不卡在线| 麻豆精品国产自产在线| av色爱 天堂网| 91久久大香线蕉| 欧美成人二区| 色亚洲成人| 欧美日韩国产成人高清视频| 亚洲人成影视在线观看| 亚洲成人在线免费观看| 免费av一区二区三区在线| 五月婷婷丁香综合| 日韩在线欧美在线| 欧美日韩国产精品va| 在线日韩日本国产亚洲| 日韩欧美中文亚洲高清在线| 国产精品密蕾丝视频| 亚洲大尺度在线| 欧美精品aⅴ在线视频| 一区二区在线视频免费观看| 广东一级毛片| 永久在线精品免费视频观看| 中日韩一区二区三区中文免费视频| 国产高清毛片| 欧美成一级| 四虎免费视频网站| 色综合久久88| 久久精品女人天堂aaa| 亚洲精品第一在线观看视频| 曰AV在线无码| 一区二区三区毛片无码|