Microduino微信公众平台控制/zh

来自Microduino Wikipedia
Radiumray9@gmail.com讨论 | 贡献2014年12月1日 (一) 02:21的版本 调试
跳转至: 导航搜索


目的

本教程将教大家如何借助微信公众平台来控制Microduino和获取传感器的信息,显示在你的微信上。

出处

本教程的原始创意来自于[Ulink——基于微信的物联网平台]

原作者博客:[lllord.github.io/]

设备

模块 数量 功能
Microduino-Core/zh 1 核心板
Microduino-USBTTL/zh 1 下载程序
Microduino-ENC28J60/zh 1 网络通讯
Microduino-RJ45/zh 1 网络通讯


  • 其他设备
220电阻 2个
面包板跳线 一盒
LED灯 1个
micro usb数据线 一根
LM35温度传感器 一个

原理图


程序

[MicroduinoWeixinSEA]

调试

教程介绍:

整个教程的开发主要是软件层面:

首先需要一个服务器,服务器的架构应该是

  • Liunx
  • Apache
  • MySQL
  • PHP

然后需要一个微信公众平台账号,使的我们可以用每个人的微信来控制家里的设备。

最后我们用Microduino来直接控制家里的设备。



步骤一:需要一个服务器,LAMP架构的,最好是免费的,有吗?。。。 有的,SinaAppEngine:http://sae.sina.com.cn/

有账号登陆,没账号注册,新浪提供的服务默认使用新浪微博账号登陆:

登陆进去之后就可以看到应用管理:

点击创建新应用,就会看到下面界面:

二级域名,应用名自己填写,最后开发语言选择PHP类型,选择空应用,咱们从头开发不使用任何模板。

然后进入你的界面,选择左边的代码管理:

进入代码管理界面,在选择编辑代码:

就进入了你的项目代码编辑区,把给你的代码放上去,操作很简单,最终像这样:

一共需要放两个文件downup.php

此文件是为了家中的Microduino获取灯泡状态所用。

和wechat.php,不过只是把此代码文件的内容替换到index.php里边就可以了。

此文件是主文件用来和微信公众账号验证通讯,返回微信用户的请求响应所用。

接下来我们创建数据库,返回你的项目主页点击左边的服务管理下的MySQL,右边再点击管理MySQL如下图:

进入你的数据库,创建两个表switch表用来控制LED灯,sensor表用来获取温度数据 Switch表字段:ID,timestamp,state

Sensor表字段:ID,timestamp,data

图中ID,data和state的类型是int,timestamp的类型是varchar长度是15

分别插入一条数据:

图中ID的值都为1,timestamp是更新时间,data存的是传感器的数据,state是led的状态。


步骤二:接下来需要申请一个微信公众平台测试号,有效期一天,免费的:http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

点击登陆会让你用你手机微信扫二维码,进入微信测试号配置界面:

输入你的新浪服务URL和Token后,用你的微信扫面左下角的二维码,你的手机微信就多了一个测试公众微信号了:

点击进入,输入 温度,开灯,关灯试一试:

即使我们没有搭建家中Microduino和传感器,照样能收到信息,是因为之前我们在MySQL数据库里插入了两条数据,所以显示的不是传感器传回的数据。


步骤三:最后,我们要搭建家中的Microduino和传感器了。

按着电路图搭建好电路像这样:

图中使用的模块是:

  • Microduino-Core
  • Microduino-USBTTL
  • Microduino-ENC28J60
  • Microduino-RJ45

修改一下代码里的website值,改成新浪服务的地址,格式为1.*****.sinaapp.com


修改好后编译运行,如果编译错误应该是缺少EtherCard库:[ethercard] 安装好函数库,重启IDE应该就没问题了,再打开微信,看看灯泡是不是可以控制了,温度获取的值对不对。

如果想支持语音识别,登陆你的微信公众号,里边有设置的。

结果

你可以用微信来控制家里的设备和获取传感器数据了。

视频