謝揚,潘子豪
(廈門大學嘉庚學院,漳州 363105)
謝揚,潘子豪
(廈門大學嘉庚學院,漳州 363105)
目前,智能家居越來越流行,成為未來智能生活領域的重要發展方向之一。以一套51單片機控制系統介紹易安卓開發平臺,通過中文化的編程系統,提供可視化的工作界面,幫助更多傳統行業進入物聯網領域。
易安卓;物聯網;MCU;智能家居;STC89C54RD+;WiFi
近年來,物聯網不僅在工業方面有著出色的表現,而且也進入了人們的生活,即智能家居。當家庭需要控制某個設備(比如燈具、窗簾、門鎖等)時,往往需要走近設備按下開關。隨著智能移動終端的廣泛普及,利用其特有的便攜性和易于接入網絡的特性,智能家居可以解放雙手,只需在屏幕上輕觸即可,家庭的主人還可以通過手機觀察每個設備的情況,甚至可以遠在地球的另一端進行控制,而發生意外時也可以隨時進行控制。
本文設計了一塊51單片機PCB板,該板集成有ADC/DAC芯片、繼電器、電機座子等。手機端由易安卓平臺開發,該平臺為國人在易語言的基礎上向移動平臺過渡的產物,具有中文可視化開發界面,模塊集成度高,編寫簡便,可輕松使用物聯網,甚至可以自行DIY。
1.1 單片機型號
考慮WiFi通信的要求,為了使將來可擴展至同時控制多個設備,選擇STC89C54RD+型單片機,比原STC89C52多出8 KB的FLASH存儲空間,RAM多出768字節,EEPROM也多出14 KB[1]。
1.2 WiFi模塊介紹[3]
HX-M02 WiFi無線透傳模塊是一款高性價比的單面郵票孔式嵌入式WiFi模塊產品,其最大特點是配置簡單、啟動速度快。HX-M02 WiFi 是基于UART 與SPI 接口的符合WiFi 無線網絡標準的嵌入式模塊,內置無線網絡協議IEEE802.11 協議棧以及TCP/IP 協議棧,能夠實現用戶嵌入式設備數據到無線網絡之間的轉換。通過HX-M02 WiFi 模塊,傳統的嵌入式設備也能輕松接入無線WiFi 網絡,其參數如下:
① 無線標準:IEEE802.11b/g 802.11n forcast。
② 頻率范圍:2.412~2.484 GHz。
③ 接收靈敏度:802.11b,-90 dBm @ 11Mbps (typical);802.11g,-70 dBm @ 54Mbps(typical)。
④ 數據速率:802.11b,1,2,5.5,11 Mbps;802.11g,6,9,12,18,24,36,48,54 Mbps。
⑤ 調制方式:DSSS, OFDM, DBPSK, DQPSK, CCK, QAM16/64。
⑥ 輸出功率:802.11b,17±2 dBm(typical),802.11g,15±1 dBm(typical)。
⑦ 天線接口:IPX/微帶。
該模塊有2種與上位機通信的模式:
① AP熱點模式,即本身為終端,設備接入AP進行控制。
② STA模式,即本身為副端,可將其連入路由器,設備連入路由器后可以同時連接多個模塊。
其默認通信端口地址為192.168.2.1,其他設置方法與路由器類似。該模塊同樣支持服務器通信,通信方法與路由器類似,手機通過自身網絡連接服務器并向其發送指令,服務器再將指令傳至路由器或WiFi模塊,最后發送給單片機。其連接電路圖如圖1所示,其中UART1為通信端,其余為電源、復位、通信端口,通信端口詳見其說明手冊。

圖1 WiFi模塊連接電路圖
1.3 板載其他芯片與電路
單片機與WiFi模塊額定電壓為5 V與3.3 V,故通過AMS1117進行供電。各端口引出后與各模塊相連,有以下幾個主要模塊:
① ULN2003,主要為電機驅動芯片,接入5 V電壓后,可提供500 mA以上的電流,內部則是7個達林頓管。在連接步進電機使用時,第5端口提供控制電壓,第1~4號端口則連接步進電機的4個控制引腳,按相應順序接通時,步進電機則會旋轉。
② 三極管,用以控制繼電器,從而可控制大量生活電路,其電路略——編者注。
③ CP2102USB芯片,用于下載程序。
④ HX-M02WiFi芯片,用于和手機通信,芯片和單片機為透明傳輸模式,所傳即所得。
1.4 WiFi模塊的設置
以下為計算機端模式設置方法,如圖2所示。

圖2 利用模塊自身所帶配置軟件配置WiFi模塊
模塊自身帶有配置程序,將MCU連接至計算機,安裝COM口驅動程序后,即可按自身需求設置WiFi模塊的參數。
模塊也提供AT指令控制模式,發送相應的指令即可配置WiFi模塊,例如端口發送Z 至WiFi模塊,則模塊復位,指令格式參見模塊手冊[4]。
2.1 易安卓開發平臺簡介
E4A(易安卓)是一款于2013年發布的,專為企業、站長、開發者、網絡公司、各種手持設備等基于安卓系統下的APP開發的全中文安卓編程語言。本語言的安卓APP代碼編寫非常符合國人的編程思維習慣,極易上手,而且,易安卓也支持發布與代碼共享,可以進行程序模塊重復利用。
2.2 可視化編程
易安卓平臺可以進行可視化編程,避免了傳統Eclipes需要大量代碼以及難理解的問題,編寫類似于智能家居應用的軟件非常迅速,其界面如圖3所示。

圖3 易安卓可視化界面
易安卓提供了大量組件進行應用,除了傳統的文本框、按鈕之外,還提供了與安卓契合的網絡模塊、傳感器模塊等,可以隨意調用。如圖4所示,只需要將組件拖入到可視化界面后,即可進行編程。
易安卓的程序、屬性、架構與Eclipse一致,各模塊所調用的外部圖片、音樂、鏈接等資源會在其左側的屬性區記錄,而每個模塊組件的事件發生位置也是可設定的,其事件列表在屬性區下方,通過設定事件,即可完成各功能在某個時間點應該做的事。如圖5所示。

圖4 易安卓應用組件

圖5 易安卓屬性區
2.3 易安卓的程序編寫
易安卓使用的語言為易語言安卓版,即前幾年出現的易語言移動版,其變量屬性定義方式與易語言基本相同,下面以LED燈控制程序為例介紹其使用特性。
在主界面拖入一個客戶端后,雙擊打開程序編寫界面,其屬性區可以對其事件進行設置,也就是確定某個事件發生的時間點,程序編寫如圖6所示。

圖6 客戶端創建方法
其中8000為端口號,6000為延遲再試時間,在這一步驟結束后,程序即可成功連接上WiFi芯片。為了防止程序連接失敗無提示,可加入一段程序,如圖7所示。

圖7 連接失敗提示
這段程序體現了易安卓的邏輯命令使用方法,只需打出“如果”二字,易安卓會自動生成控制邏輯。
接下來是變量聲明,易安卓提供了豐富多樣的變量(邏輯型、文本型等),易安卓幫助文件說明了各類型的應用。在這里聲明一個變量為文本型,如下所示:
變量LIGHT為文本型
之后即可對按鈕進行編程,如圖8所示。

圖8 按鈕控制
將“LEDON”這個文本值賦予“LIGHT”變量,并聲明一個“中間燈”的字節型變量,然后利用文本到字節的命令,將“LIGHT”中的“LEDON”值變為字節型常量,GBK為國標字節型格式,之所以這么做,是因為客戶端只能發送字節型或者十六進制數,而本設計在單片機中應用的為ASCII碼控制,故發送字節型常量,最初未定義字節型變量則是為了方便程序編寫和理解。最后利用發送數據命令將控制指令發送至創建的客戶端端口。這時WiFi模塊便會接收到指令,將字節型轉為ASCII碼,與單片機程序的命令匹配,如果無誤,則啟動燈泡。手機端也會收到反饋,將運行情況顯示在編輯框內。
燈泡連至繼電器即可,端子程序如下所示:
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;
}
}
通過比較指令,將收到的字符串與設定的指令進行比較:若一致,則做出相應的動作,若不一致,則不執行動作。
類似地,將繼電器、ADC/DAC模塊、電機座子等程序編寫后,再編寫單片機的相應程序,就很容易達到控制繼電器、顯示溫度濕度、控制電機的目的。而單片機控制對應模塊部分程序已相當成熟,更改程序十分方便。
通過以上實例,可以非常明顯地看出易安卓的優勢,編程難度十分低。在智能家居領域,只需要短短的幾行命令,就可以實現控制單片機各個部分的目的。而相應的單片機程序已十分成熟,只需要更改其中的控制命令和部分硬件電路,即可實現物聯網。
在企業應用時,可以在構建自己的服務器后,采用芯片加上簡單的易安卓程序,可快速對產品的信息進行收集、數據分析以及設備維護。而生活上,該平臺和單片機結合,可以很方便地控制家用設備,還可以按需自行定制功能。
編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。
[1] 林毓梁.單片機原理及應用[M].北京:清華大學出版社,2012.
[2] 易安卓開發公司.易安卓使用指南,2015.
[3] 紅心物聯科技公司.HX-M02芯片使用指南,2014.
[4] 王贊森,馬維華.基于手機WiFi熱點的電子秤自動化質監系統設計[J].單片機與嵌入式系統應用,2014(4):21-24.
本文提出了一種面向多核DSP的調試環境,為多核DSP的開發人員提供了一種支持多核開發調試的可視化環境,集成多核調試器MCCD,實現了多核同步運行控制、針對每個核的調試數據查看等調試功能。下一步的工作是在面向多核實時操作系統的多任務系統級調試研究。
參考文獻
[1] Lina J Karam,Ismail Alkamal.Trends in multicore DSP platforms[J].IEEE Signal Processing Magazine,2009,26(6):38-49.
[2] 王爽,康慕寧.基于Eclipse平臺的嵌入式遠程調試軟件實現[J].微處理機,2004(6).
[3] 林廣棟,黃光紅.一種統一的調試信息管理方法[J].中國集成電路,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技術內幕[M].北京:電子工業出版社,2012.
朱艷,研究方向為DSP集成開發環境。
(責任編輯:薛士然 收稿日期: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)