謝揚(yáng),潘子豪
(廈門大學(xué)嘉庚學(xué)院,漳州 363105)
謝揚(yáng),潘子豪
(廈門大學(xué)嘉庚學(xué)院,漳州 363105)
目前,智能家居越來(lái)越流行,成為未來(lái)智能生活領(lǐng)域的重要發(fā)展方向之一。以一套51單片機(jī)控制系統(tǒng)介紹易安卓開發(fā)平臺(tái),通過(guò)中文化的編程系統(tǒng),提供可視化的工作界面,幫助更多傳統(tǒng)行業(yè)進(jìn)入物聯(lián)網(wǎng)領(lǐng)域。
易安卓;物聯(lián)網(wǎng);MCU;智能家居;STC89C54RD+;WiFi
近年來(lái),物聯(lián)網(wǎng)不僅在工業(yè)方面有著出色的表現(xiàn),而且也進(jìn)入了人們的生活,即智能家居。當(dāng)家庭需要控制某個(gè)設(shè)備(比如燈具、窗簾、門鎖等)時(shí),往往需要走近設(shè)備按下開關(guān)。隨著智能移動(dòng)終端的廣泛普及,利用其特有的便攜性和易于接入網(wǎng)絡(luò)的特性,智能家居可以解放雙手,只需在屏幕上輕觸即可,家庭的主人還可以通過(guò)手機(jī)觀察每個(gè)設(shè)備的情況,甚至可以遠(yuǎn)在地球的另一端進(jìn)行控制,而發(fā)生意外時(shí)也可以隨時(shí)進(jìn)行控制。
本文設(shè)計(jì)了一塊51單片機(jī)PCB板,該板集成有ADC/DAC芯片、繼電器、電機(jī)座子等。手機(jī)端由易安卓平臺(tái)開發(fā),該平臺(tái)為國(guó)人在易語(yǔ)言的基礎(chǔ)上向移動(dòng)平臺(tái)過(guò)渡的產(chǎn)物,具有中文可視化開發(fā)界面,模塊集成度高,編寫簡(jiǎn)便,可輕松使用物聯(lián)網(wǎng),甚至可以自行DIY。
1.1 單片機(jī)型號(hào)
考慮WiFi通信的要求,為了使將來(lái)可擴(kuò)展至同時(shí)控制多個(gè)設(shè)備,選擇STC89C54RD+型單片機(jī),比原STC89C52多出8 KB的FLASH存儲(chǔ)空間,RAM多出768字節(jié),EEPROM也多出14 KB[1]。
1.2 WiFi模塊介紹[3]
HX-M02 WiFi無(wú)線透?jìng)髂K是一款高性價(jià)比的單面郵票孔式嵌入式WiFi模塊產(chǎn)品,其最大特點(diǎn)是配置簡(jiǎn)單、啟動(dòng)速度快。HX-M02 WiFi 是基于UART 與SPI 接口的符合WiFi 無(wú)線網(wǎng)絡(luò)標(biāo)準(zhǔn)的嵌入式模塊,內(nèi)置無(wú)線網(wǎng)絡(luò)協(xié)議IEEE802.11 協(xié)議棧以及TCP/IP 協(xié)議棧,能夠?qū)崿F(xiàn)用戶嵌入式設(shè)備數(shù)據(jù)到無(wú)線網(wǎng)絡(luò)之間的轉(zhuǎn)換。通過(guò)HX-M02 WiFi 模塊,傳統(tǒng)的嵌入式設(shè)備也能輕松接入無(wú)線WiFi 網(wǎng)絡(luò),其參數(shù)如下:
① 無(wú)線標(biāo)準(zhǔn):IEEE802.11b/g 802.11n forcast。
② 頻率范圍:2.412~2.484 GHz。
③ 接收靈敏度:802.11b,-90 dBm @ 11Mbps (typical);802.11g,-70 dBm @ 54Mbps(typical)。
④ 數(shù)據(jù)速率:802.11b,1,2,5.5,11 Mbps;802.11g,6,9,12,18,24,36,48,54 Mbps。
⑤ 調(diào)制方式:DSSS, OFDM, DBPSK, DQPSK, CCK, QAM16/64。
⑥ 輸出功率:802.11b,17±2 dBm(typical),802.11g,15±1 dBm(typical)。
⑦ 天線接口:IPX/微帶。
該模塊有2種與上位機(jī)通信的模式:
① AP熱點(diǎn)模式,即本身為終端,設(shè)備接入AP進(jìn)行控制。
② STA模式,即本身為副端,可將其連入路由器,設(shè)備連入路由器后可以同時(shí)連接多個(gè)模塊。
其默認(rèn)通信端口地址為192.168.2.1,其他設(shè)置方法與路由器類似。該模塊同樣支持服務(wù)器通信,通信方法與路由器類似,手機(jī)通過(guò)自身網(wǎng)絡(luò)連接服務(wù)器并向其發(fā)送指令,服務(wù)器再將指令傳至路由器或WiFi模塊,最后發(fā)送給單片機(jī)。其連接電路圖如圖1所示,其中UART1為通信端,其余為電源、復(fù)位、通信端口,通信端口詳見其說(shuō)明手冊(cè)。
圖1 WiFi模塊連接電路圖
1.3 板載其他芯片與電路
單片機(jī)與WiFi模塊額定電壓為5 V與3.3 V,故通過(guò)AMS1117進(jìn)行供電。各端口引出后與各模塊相連,有以下幾個(gè)主要模塊:
① ULN2003,主要為電機(jī)驅(qū)動(dòng)芯片,接入5 V電壓后,可提供500 mA以上的電流,內(nèi)部則是7個(gè)達(dá)林頓管。在連接步進(jìn)電機(jī)使用時(shí),第5端口提供控制電壓,第1~4號(hào)端口則連接步進(jìn)電機(jī)的4個(gè)控制引腳,按相應(yīng)順序接通時(shí),步進(jìn)電機(jī)則會(huì)旋轉(zhuǎn)。
② 三極管,用以控制繼電器,從而可控制大量生活電路,其電路略——編者注。
③ CP2102USB芯片,用于下載程序。
④ HX-M02WiFi芯片,用于和手機(jī)通信,芯片和單片機(jī)為透明傳輸模式,所傳即所得。
1.4 WiFi模塊的設(shè)置
以下為計(jì)算機(jī)端模式設(shè)置方法,如圖2所示。
圖2 利用模塊自身所帶配置軟件配置WiFi模塊
模塊自身帶有配置程序,將MCU連接至計(jì)算機(jī),安裝COM口驅(qū)動(dòng)程序后,即可按自身需求設(shè)置WiFi模塊的參數(shù)。
模塊也提供AT指令控制模式,發(fā)送相應(yīng)的指令即可配置WiFi模塊,例如端口發(fā)送Z 至WiFi模塊,則模塊復(fù)位,指令格式參見模塊手冊(cè)[4]。
2.1 易安卓開發(fā)平臺(tái)簡(jiǎn)介
E4A(易安卓)是一款于2013年發(fā)布的,專為企業(yè)、站長(zhǎng)、開發(fā)者、網(wǎng)絡(luò)公司、各種手持設(shè)備等基于安卓系統(tǒng)下的APP開發(fā)的全中文安卓編程語(yǔ)言。本語(yǔ)言的安卓APP代碼編寫非常符合國(guó)人的編程思維習(xí)慣,極易上手,而且,易安卓也支持發(fā)布與代碼共享,可以進(jìn)行程序模塊重復(fù)利用。
2.2 可視化編程
易安卓平臺(tái)可以進(jìn)行可視化編程,避免了傳統(tǒng)Eclipes需要大量代碼以及難理解的問題,編寫類似于智能家居應(yīng)用的軟件非常迅速,其界面如圖3所示。
圖3 易安卓可視化界面
易安卓提供了大量組件進(jìn)行應(yīng)用,除了傳統(tǒng)的文本框、按鈕之外,還提供了與安卓契合的網(wǎng)絡(luò)模塊、傳感器模塊等,可以隨意調(diào)用。如圖4所示,只需要將組件拖入到可視化界面后,即可進(jìn)行編程。
易安卓的程序、屬性、架構(gòu)與Eclipse一致,各模塊所調(diào)用的外部圖片、音樂、鏈接等資源會(huì)在其左側(cè)的屬性區(qū)記錄,而每個(gè)模塊組件的事件發(fā)生位置也是可設(shè)定的,其事件列表在屬性區(qū)下方,通過(guò)設(shè)定事件,即可完成各功能在某個(gè)時(shí)間點(diǎn)應(yīng)該做的事。如圖5所示。
圖4 易安卓應(yīng)用組件
圖5 易安卓屬性區(qū)
2.3 易安卓的程序編寫
易安卓使用的語(yǔ)言為易語(yǔ)言安卓版,即前幾年出現(xiàn)的易語(yǔ)言移動(dòng)版,其變量屬性定義方式與易語(yǔ)言基本相同,下面以LED燈控制程序?yàn)槔榻B其使用特性。
在主界面拖入一個(gè)客戶端后,雙擊打開程序編寫界面,其屬性區(qū)可以對(duì)其事件進(jìn)行設(shè)置,也就是確定某個(gè)事件發(fā)生的時(shí)間點(diǎn),程序編寫如圖6所示。
圖6 客戶端創(chuàng)建方法
其中8000為端口號(hào),6000為延遲再試時(shí)間,在這一步驟結(jié)束后,程序即可成功連接上WiFi芯片。為了防止程序連接失敗無(wú)提示,可加入一段程序,如圖7所示。
圖7 連接失敗提示
這段程序體現(xiàn)了易安卓的邏輯命令使用方法,只需打出“如果”二字,易安卓會(huì)自動(dòng)生成控制邏輯。
接下來(lái)是變量聲明,易安卓提供了豐富多樣的變量(邏輯型、文本型等),易安卓幫助文件說(shuō)明了各類型的應(yīng)用。在這里聲明一個(gè)變量為文本型,如下所示:
變量LIGHT為文本型
之后即可對(duì)按鈕進(jìn)行編程,如圖8所示。
圖8 按鈕控制
將“LEDON”這個(gè)文本值賦予“LIGHT”變量,并聲明一個(gè)“中間燈”的字節(jié)型變量,然后利用文本到字節(jié)的命令,將“LIGHT”中的“LEDON”值變?yōu)樽止?jié)型常量,GBK為國(guó)標(biāo)字節(jié)型格式,之所以這么做,是因?yàn)榭蛻舳酥荒馨l(fā)送字節(jié)型或者十六進(jìn)制數(shù),而本設(shè)計(jì)在單片機(jī)中應(yīng)用的為ASCII碼控制,故發(fā)送字節(jié)型常量,最初未定義字節(jié)型變量則是為了方便程序編寫和理解。最后利用發(fā)送數(shù)據(jù)命令將控制指令發(fā)送至創(chuàng)建的客戶端端口。這時(shí)WiFi模塊便會(huì)接收到指令,將字節(jié)型轉(zhuǎn)為ASCII碼,與單片機(jī)程序的命令匹配,如果無(wú)誤,則啟動(dòng)燈泡。手機(jī)端也會(huì)收到反饋,將運(yùn)行情況顯示在編輯框內(nèi)。
燈泡連至繼電器即可,端子程序如下所示:
while(1){
if(strncmp(Buf,"LEDON",5)==0){
Status=1;
for(ClearCounter=0;ClearCounter<10;ClearCounter++)
Buf[ClearCounter]=0;
SendCounter=0;
}
else if(strncmp(Buf,"LEDFF",5)==0){
Status=0;
for(ClearCounter=0;ClearCounter<10;ClearCounter++)
Buf[ClearCounter]=0;
SendCounter=0;
}
}
通過(guò)比較指令,將收到的字符串與設(shè)定的指令進(jìn)行比較:若一致,則做出相應(yīng)的動(dòng)作,若不一致,則不執(zhí)行動(dòng)作。
類似地,將繼電器、ADC/DAC模塊、電機(jī)座子等程序編寫后,再編寫單片機(jī)的相應(yīng)程序,就很容易達(dá)到控制繼電器、顯示溫度濕度、控制電機(jī)的目的。而單片機(jī)控制對(duì)應(yīng)模塊部分程序已相當(dāng)成熟,更改程序十分方便。
通過(guò)以上實(shí)例,可以非常明顯地看出易安卓的優(yōu)勢(shì),編程難度十分低。在智能家居領(lǐng)域,只需要短短的幾行命令,就可以實(shí)現(xiàn)控制單片機(jī)各個(gè)部分的目的。而相應(yīng)的單片機(jī)程序已十分成熟,只需要更改其中的控制命令和部分硬件電路,即可實(shí)現(xiàn)物聯(lián)網(wǎng)。
在企業(yè)應(yīng)用時(shí),可以在構(gòu)建自己的服務(wù)器后,采用芯片加上簡(jiǎn)單的易安卓程序,可快速對(duì)產(chǎn)品的信息進(jìn)行收集、數(shù)據(jù)分析以及設(shè)備維護(hù)。而生活上,該平臺(tái)和單片機(jī)結(jié)合,可以很方便地控制家用設(shè)備,還可以按需自行定制功能。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1] 林毓梁.單片機(jī)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2012.
[2] 易安卓開發(fā)公司.易安卓使用指南,2015.
[3] 紅心物聯(lián)科技公司.HX-M02芯片使用指南,2014.
[4] 王贊森,馬維華.基于手機(jī)WiFi熱點(diǎn)的電子秤自動(dòng)化質(zhì)監(jiān)系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(4):21-24.
本文提出了一種面向多核DSP的調(diào)試環(huán)境,為多核DSP的開發(fā)人員提供了一種支持多核開發(fā)調(diào)試的可視化環(huán)境,集成多核調(diào)試器MCCD,實(shí)現(xiàn)了多核同步運(yùn)行控制、針對(duì)每個(gè)核的調(diào)試數(shù)據(jù)查看等調(diào)試功能。下一步的工作是在面向多核實(shí)時(shí)操作系統(tǒng)的多任務(wù)系統(tǒng)級(jí)調(diào)試研究。
參考文獻(xiàn)
[1] Lina J Karam,Ismail Alkamal.Trends in multicore DSP platforms[J].IEEE Signal Processing Magazine,2009,26(6):38-49.
[2] 王爽,康慕寧.基于Eclipse平臺(tái)的嵌入式遠(yuǎn)程調(diào)試軟件實(shí)現(xiàn)[J].微處理機(jī),2004(6).
[3] 林廣棟,黃光紅.一種統(tǒng)一的調(diào)試信息管理方法[J].中國(guó)集成電路,2014(11):33-37.
[4] Debugging With GDB: The gnu Source-Level Debugger, Ninth Edition Introduction to Programming with DSF[EB/OL].[2015-03].http://help.eclipse.org/indigo/topic/org.eclipse.cdt.doc.
[5] 梁騫,王威.Eclipse RCP技術(shù)內(nèi)幕[M].北京:電子工業(yè)出版社,2012.
朱艷,研究方向?yàn)镈SP集成開發(fā)環(huán)境。
(責(zé)任編輯:薛士然 收稿日期:2015-03-31)
Application of Yi Android Platform Visual Interface in Intelligent Home
Xie Yang,Pan Zihao
(Xiamen University Tan Kah Kee College,Zhangzhou 363105,China)
Currently,the field of intelligent home is increasingly popular,which has become an important direction of the future intelligent life.The paper introduces Yi Android development platform through a set of MCU control system,which can provide a visual interface through its Chinese characteristic programming system and help more traditional industries come into the Internet of Things.
Yi Android;Internet of Things;MCU;intelligent home;STC89C54RD+;WiFi
TP36
A
士然
2015-04-13)
單片機(jī)與嵌入式系統(tǒng)應(yīng)用2015年9期