微信玩转开发板-微信控制智能家居简易模型

一、项目名称:微信控制智能家居简单模型
二、项目实物图:
微信玩转开发板-微信控制智能家居简易模型_第1张图片 
三、项目视频:
http://atmel.eefocus.com/module/forum/thread-1218-1-1.html
四、项目概述:
       由于工作原因接触过一些智能家居厂家的产品,移动端控制智能家居终端都需要安装厂家的APP还得注册,觉得很是麻烦,就想有没有一个通用平台进行智能家居控制不需要用户安装厂家APP,于是想到用微信控制智能家居这个主意。
       由于精力有限,简单的用手上一块ATMEL的M4的开发板代替智能家居终端来模拟智能家居做动作。通过点亮开发板上的led来表示灯控,显示屏显示操作内容,点亮灯显示“LED ON”灭灯显示“LED OFF”打开音乐“BGM ON”关闭音乐“BGM OFF”,服务器端程序里也预留了温度等信息,只是开发板上没有温度传感器就没做。

五、实现过程
       社区活动在于分享,我把这个制作的实现过程简单说一下,了解原理,大家可以自由发挥,微博微信都可以用来控制硬件平台,人家做个微博养鱼,你也可以做个微信浇花,哈哈。
       首先, 微信和微博这类应用都提供了 API 接口给用户,高级用户可以通过这些接口进行定制开发。以微信为例,首先你得到微信公众平台申请一个公众账号,认证之后才可以进入开发模式。有了公众账号之后,你就可以通过公众账号向用户推送消息,用户通过关注你的公众账号就可以向你发送消息啦,你和用户的连接就算建立起来了,然后就要建立公众账号和你的硬件平台的连接了,微信公众账号的开发模式是这样的,微信服务器会将用户发送的消息通过HTTP的POST请求发送到公众账号所关联的服务器上,这个服务器当然是我们自己提供的,程序当然也是我们自己需要编写的啦,我们处理完消息之后,再POST回微信服务器,然后返回给用户,这样利用服务器就能建立起和硬件平台的连接了,当然你的硬件得能够访问服务器。
    这时候就有一个关键问题:服务器。普通电脑可以做服务器但是我们得放在公网上,那就得有固定的访问地址,当然你可以通过花生壳之类的软件搞动态域名,但是我提供一个比较简单的方法(当然这也是搜微信开发教程的时候搜到的),那就是利用各家互联网大佬提供的云服务器,百度、新浪、阿里、京东都有,我用的是新浪的SAE,因为我试了一遍貌似只有新浪的可以不花钱玩一些简单的应用,其他的都要钱(虽然不贵,但谁让咱是屌丝呢),这些云服务器都搭好了服务器环境,你只要上传代码就能运行服务程序了,省的自己搭服务器了,很是方便,如果有同学想学习web编程,我觉得这个做学习环境很方便。关于微信公众账号的开发和新浪SAE的使用大家可以搜教程或者看官网的文档,相信对于搞技术的同学们很简单,我也是自己搜才知道这些滴。
    有了服务器之后,就得写服务器程序了,我用的语言是PHP,之前没学过,为此还特意花一天学习了下基本语法,写的程序比较难看各位不要计较,哈哈。程序在附件里提供了。大体思路是收到POST请求之后识别内容,判断是否是自己定义的命令,然后做相应处理,主要是对数据库做处理,数据库标识了硬件平台的信息,而我的硬件平台通过定时访问服务器来更改或者读取数据库,这样硬件就知道了该做什么动作。硬件访问服务器我用的是HTTP的GET请求,因为简单,本来想用socket实现通信,后来发现SAE上用socket貌似有限制,所以就没用,如果大家想实现与硬件传送图片之类的,估计GET方法就不行了。
    服务器搞定了,就看硬件了,首先硬件必须能够访问服务器,由于我的开发板上没有网络模块,所以我就买了个WiFi模块,但是调试的时候发现用跳线太丑,而且老接触不良,所以一气之下就不用WiFi模块了。我的替代方法是通过串口连接电脑,电脑上写一个上位机,通过上位机来和服务器通信。这样又得编写上位机了,于是用VB写了个上位机,以前没用过VB,但是听说VB简单就用VB了。源程序也在附件里了,程序写的简陋大家莫笑话。
    最后就是开发板程序了,其实最简单的就是这个了,识别下串口命令然后做动作就行了,用的开发板现成的例程改的,这里不得不吐槽下ATMEL Studio,我用过这么多开发环境,它是最慢的,打开软件用了几分钟!!!!然后还各种没反应,编译个程序用了老半天。估计是基于visual studio的原因。不过我觉得里面的ASF倒是很方便,现在各家都搞这种现成的模块化的东西,搞的我们要写的代码越来越少,一大坨代码都不是自己敲的,搞的有点心虚呢。程序也在附件里了,还是那句话代码写的简陋大家莫见笑。
六、文档
    服务器程序:  index.rar (2.33 KB, 下载次数: 150) 
    上位机(visual 2008 VB)程序:  test.rar (463.17 KB, 下载次数: 184) 
       开发板(SAM4L-EK)程序:    USART_USART_SERIAL_EXAMPLE1.rar (8.54 MB, 下载次数: 486) 

最后谢谢大家看帖!


转自:http://atmel.eefocus.com/module/forum/thread-1218-1-1.html


http://v.ku6.com/show/t1mFRShEZyoa_9mrdz9yHQ...html

你可能感兴趣的:(微信玩转开发板-微信控制智能家居简易模型)