DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 280|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 18:45:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      随着数字化家用电器的飞速发展,如何对家庭中相对独立的家用电器进行智能化管理和操作?这是人们非常关心的一个问题。智能家居控制器能够将许多相对独立的家用电器构成一个统一的系统,从而方便对家用电器进行本地操作,也可通过互联网或GPRS系统对家用电器实现远程控制等等。本文主要讨论智能家居控制的设计和实现。

1 智能家居控制器的硬件设计

  在设计智能家居控制器时,考虑到系统的稳定性和扩展性,因此将控制器硬件设计成核心板和控制板2部分。核心板主要用来构成一台嵌入式计算机系统,控制板主要是一些外围接口。系统硬件如图1所示。



750){this.width=500;}" border=0>
如图2 应用程序结构框图
  共享数据主要用于存放家电开启和关闭时间,发送短信的电话号和短信内容等信息。共享数据是通过2个设置线程来修改的。家电控制线程主要是根据控制数据、检测短信线程的内容和操作线程的内容来进行操作。发送短信线程主要是根据控制数据、检测传感器线程的内容和操作线程的内容来进行操作。应用程序的具体内容如下。

#include //线程库头文件

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 结束语

  将移植好的系统、驱动程序和应用程序下载到智能家居控制器上。经过测试,系统具有操作方便、可靠性高和抗干扰能力强等优点。本文的创新点是:通过智能家居控制器将家电、传感器、手机等许多独立的设备连接成为一个系统,从而方便本地和远程控制。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-27 16:44 , 耗时 0.099561 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表