APP下载

易安卓开发平台可视化界面在智能家居领域的应用

2015-01-13谢扬潘子豪

单片机与嵌入式系统应用 2015年9期
关键词:字节智能家居端口

谢扬,潘子豪

(厦门大学嘉庚学院,漳州 363105)

谢扬,潘子豪

(厦门大学嘉庚学院,漳州 363105)

目前,智能家居越来越流行,成为未来智能生活领域的重要发展方向之一。以一套51单片机控制系统介绍易安卓开发平台,通过中文化的编程系统,提供可视化的工作界面,帮助更多传统行业进入物联网领域。

易安卓;物联网;MCU;智能家居;STC89C54RD+;WiFi

引 言

近年来,物联网不仅在工业方面有着出色的表现,而且也进入了人们的生活,即智能家居。当家庭需要控制某个设备(比如灯具、窗帘、门锁等)时,往往需要走近设备按下开关。随着智能移动终端的广泛普及,利用其特有的便携性和易于接入网络的特性,智能家居可以解放双手,只需在屏幕上轻触即可,家庭的主人还可以通过手机观察每个设备的情况,甚至可以远在地球的另一端进行控制,而发生意外时也可以随时进行控制。

本文设计了一块51单片机PCB板,该板集成有ADC/DAC芯片、继电器、电机座子等。手机端由易安卓平台开发,该平台为国人在易语言的基础上向移动平台过渡的产物,具有中文可视化开发界面,模块集成度高,编写简便,可轻松使用物联网,甚至可以自行DIY。

1 单片机平台介绍

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 易安卓开发平台[2]

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)

猜你喜欢

字节智能家居端口
No.8 字节跳动将推出独立出口电商APP
一种端口故障的解决方案
基于PLC的智能家居控制系统研究
No.10 “字节跳动手机”要来了?
基于Zigbee的无线通信技术在智能家居中的应用
端口阻塞与优先级
简谈MC7字节码
关于智能家居真正需求的探讨
8端口IO-Link参考设计套件加快开发速度
智能家居更贴心