请选择 进入手机版 | 继续访问电脑版
搜索
查看: 15368|回复: 36

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

  [复制链接]
发表于 2014-7-24 23:59:46 | 显示全部楼层 |阅读模式
一、项目名称:微信控制智能家居简单模型
二、项目实物图:
微信控制开发板.png
三、项目视频:


四、项目概述:
       由于工作原因接触过一些智能家居厂家的产品,移动端控制智能家居终端都需要安装厂家的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, 下载次数: 744)
回复

使用道具 举报

发表于 2014-7-25 08:58:01 | 显示全部楼层
先占一楼慢慢看
回复 支持 1 反对 0

使用道具 举报

发表于 2014-7-25 09:15:38 | 显示全部楼层
小七 发表于 2014-7-25 08:58
先占一楼慢慢看

早上专门加了楼主的微信服务号,体验了一把开灯关灯。如果有机会等大赛结束后,想邀请楼主咱们atmel社区是否可以针对菜鸟专门开设一下智能硬件的课程,比如就拿楼主的微信服务号作为一个起点讲起呢?非常有兴趣,谢谢!
回复 支持 反对

使用道具 举报

发表于 2014-7-25 09:16:46 | 显示全部楼层
北京小王儿 发表于 2014-7-25 09:15
早上专门加了楼主的微信服务号,体验了一把开灯关灯。如果有机会等大赛结束后,想邀请楼主咱们atmel社区 ...

是订阅号,写错了。。
回复 支持 反对

使用道具 举报

发表于 2014-7-25 10:38:17 | 显示全部楼层
北京小王儿 发表于 2014-7-25 09:15
早上专门加了楼主的微信服务号,体验了一把开灯关灯。如果有机会等大赛结束后,想邀请楼主咱们atmel社区 ...

赞成 ~ 完全可以考虑的 ~
回复 支持 反对

使用道具 举报

发表于 2014-7-30 10:08:07 | 显示全部楼层
可以弄弄看的!!
回复 支持 反对

使用道具 举报

发表于 2014-7-30 14:29:37 | 显示全部楼层
顶一下。
回复

使用道具 举报

发表于 2014-7-31 23:10:17 | 显示全部楼层
非常好 谢谢
回复 支持 反对

使用道具 举报

发表于 2014-8-2 10:04:49 | 显示全部楼层
这个有意思
回复 支持 反对

使用道具 举报

发表于 2014-8-2 13:39:15 | 显示全部楼层
不错,学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /5 下一条

facebook google plus twitter linkedin youku weibo rss
©2018 Microchip Corporation

小黑屋|手机版|Archiver|Microchip技术社区

GMT+8, 2018-9-21 06:00 , Processed in 0.084466 second(s), 6 queries , MemCache On.

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