EDN China > 设计实例 > 嵌入式系统 > 开发工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于ARM智能家居控制器设计与实现

来源:微计算机信息/作者:朱华生 冯祥胜?? 2007年07月19日 ?? 收藏0

  4? 应用程序的设计

  为了提高应用程序的运行速度,以及程序运行的稳定性,所以将应用程序设计成多线程结构,如图2所示。应用程序由7个线程和一个共享数据结构组成。

应用程序结构框图

如图2 应用程序结构框图

  共享数据主要用于存放家电开启和关闭时间,发送短信的电话号和短信内容等信息。共享数据是通过2个设置线程来修改的。家电控制线程主要是根据控制数据、检测短信线程的内容和操作线程的内容来进行操作。发送短信线程主要是根据控制数据、检测传感器线程的内容和操作线程的内容来进行操作。应用程序的具体内容如下。

  #include??&nb

sp; //线程库头文件

int main()
{┅
? pthread_creat(&th_a,NULL,send_msg,0); //创建发送短信线程
pthread_creat(&th_b,NULL,control_driver,0); //创建家电控制线程

? pthread_join(th_b,&retval); //等待家电控制线程结束
pthread_join(th_a,&retval); //等待发送短信线程结束
┅}
/*发送短信线程*/
int send_msg()
{┅
?????? tty_init();?? //初始化串口
?????? gprs_init();? //初始化GPRS模块
?????? tty_writecmd(“at”,strlen(“at”));? //发送AT命令
?????? tty_writecmd(“at+cmgf=1”,strlen(“at+cmgf=1”));//发送修改字符集命令
?????? tty_write(“at+cmgs=”,strlen(“at+cmgs=”));???? //发送短信命令
?????? tty_writecmd(msg.send_tel,strlen(msg.send_tel)); //发送电话号码
tty_writecmd(msg.send_text,strlen(msg.send_text)); //发送短信内容
????? tty_end();?

????? return 0;
}

  其它线程的设计方法有很多相似之处。应用程序设计完成之后,再经过交叉编译就可生成目标文件。

  5 结束语

  将移植好的系统、驱动程序和应用程序下载到智能家居控制器上。经过测试,系统具有操作方便、可靠性高和抗干扰能力强等优点。本文的创新点是:通过智能家居控制器将家电、传感器、手机等许多独立的设备连接成为一个系统,从而方便本地和远程控制。

  参考文献:

  [1] 朱华生,胡凯利.基于Linux系统的HHARM9电机驱动程序设计[J].南昌工程学院学报.2005,4:51-53.

  [2] 严厉平.嵌入式智能家庭网关的研究与设计[J].微计算机信息.2005,2:14-16.

  [3] 朱华生,刘文军.基于Linux下实时数据备份的研究[J].南昌水专学报.2004,4:57-58.

  [4] 朱华生,韩宇贞.计算机故障分析仪的设计[J].南昌水专学报.2003,2:34-36


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

ARM? 智能家居控制器? Linux系统?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈