微信硬件平台 (1) 总说明

微信硬件平台

本文目的,使用微信公众号控制ESP8266的LED开和关。进一步使用微信当遥控器(避免写APP或者IOS或者小程序),控制一切设备。给两个关键的总教程参考。

  • 官网教程  微信硬件平台
  • 微信控制arduino点亮LED 教程

 目前整体测试效果

打开微信,关注自己的公众号

 

技术分享图片

 

功能结构图

 

技术分享图片

1 公众号注册

1.申请认证公众号&开通设备功能1.1公众号申请: https://mp.weixin.qq.com

技术分享图片

 

个人订阅号   

功能有限,不能有设备管理模块功能,本教程系列使用的是订阅号,做一个测试足够了。

技术分享图片

 

企业服务号

注册必须要有公司信息,法人等组织代码,个人用不了。  某宝上可以买个临时用下测试。

可以拥有设备管理功能,简单来说可以生产100个设备(例如大气传感器),每个用户可以对应自己的设备

技术分享图片

 

2 自己的服务器搭建

 

2-1服务器搭建

第一种方案  阿里云服务器搭建  

  必须报备后才能使用80端口网页服务功能,其实报备也很快,但是嫌麻烦没使用。

第二种方案

  找个外国的服务器,没有报备的限制。

本教程使用的外网服务器

https://my.vultr.com

自己买一个。

这里教程是centos6系统镜像

技术分享图片

 

 2-2 开放服务器端口

  和微信服务器交互,我们需要80或443端口,服务器端口默认需要开启,才能被外界访问。

  第一层,登陆网页服务器管理界面添加安全组

  第二层 ,系统本身的防火墙开启端口(测试阶段粗暴地关了防火墙)

 

阿里云如何添加安全组开放端口

本教程的外网服务器如何开启端口

3 搭建Web服务器(apache + php + mysql)

centos6系统下,搭建Web服务器(apache + php + mysql)

教程 

安装apache

安装yum install httpd

启动service httpd start
暂停service httpd stop
重启service httpd restart

检查开机启动情况chkconfig --list httpd
默认情况下是全部关闭的,尽量设置开机启动,以防主机意外关机

设置开机启动命令chkconfig httpd on
再次检查启动情况,看到2,3,4,5为启动
关闭开机启动命令chkconfig httpd off

到此Apache安装完成,在自己浏览器中输入主机IP和端口号能正常打开

(不能打开重启下服务器)

Apache的默认网站根目录

/var/www/html

技术分享图片

 

配置文件路径

/etc/httpd/conf/httpd.conf

技术分享图片

 

安装php

yum install phpyum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpcyum install php-mysql

  

以上命令为安装php及其支持的组件

测试是否安装成功
在这个文件夹下,创建一个
info.php文件
vi /var/www/html/info.php 
(不喜欢vi命令编辑的,可以把文件拖到windos上修改,后再复制过去)
技术分享图片
<html><body><h1>It‘s work!</h1><?php echo ‘HELLO WORLD‘; phpinfo();?></body></html>

  

重启Apache服务器

在浏览器地址栏访问:http://自己的服务器IP/info.php
技术分享图片

 

 

安装mysql

安装

首先查看主机是否已经安装

rpm -qa|grep mysql

注意:可能检查中安装有php-mysql XXXXX 和 mysql-libXXXX,这是刚刚第二步安装的php的组件,不必理会

已经安装的话就执行删除命令

rmp -e mysql

然后继续安装
使用命令

yum list | grep mysql
来查看yum上提供的mysql数据库可下载的版本

安装命令

yum install -y mysql-server mysql mysql-devel
等待一段时间安装成功

配置

接下来是对mysql的配置(注意:命令中是”mysqld”,不是mysql)

初始化:

service mysqld start
重启:

service mysqld restart
配置开机自动启动:

chkconfig mysqld on

为mysql的root账户设置密码:

mysqladmin -u root password ‘*********‘

改密码后要重启Mysql服务器

登录命令

mysql -u root -p

 

配置Apache使其支持PHP

教程 https://blog.csdn.net/qq_25371579/article/details/78476186

需要在httpd.conf中添加以下代码,修改后重启Apache服务

技术分享图片

把这个文件拖到windons上,修改

技术分享图片

 

添加

LoadModule php5_module modules/libphp5.soAddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps

 然后文件重新复制回去,修改后重启Apache服务

 

装MySql图形管理界面phpMyAdmin

从官网上下载下来(注意版本号,看是否支持本机的MySql和PHP),直接放在网站根目录下,在浏览器中输入相应的地址就可以访问,登陆后即可管理

 

测试,在网页里输入自己的服务器的IP,自动跳转php测试样例

技术分享图片

 

至此网页服务器搭建完毕

 4 配置微信SDK

1下载SDK 

链接:https://pan.baidu.com/s/1YKzOOqNxUyGiso4SlyAc5g
提取码:tn4x
技术分享图片

2 将SDK放在服务器下

注意路径,后面配置微信公众号需要用到,不能出错。

/var/www/html/WeChat

技术分享图片

 

5 配置微信公众号

 5-1 个人申请订阅号做的测试

公众号申请: https://mp.weixin.qq.com
技术分享图片

订阅号是不用交钱的,就目前我们控制LED订阅号是足够了的

订阅号公众号设置
公众号申请好之后登陆,然后进行开发者设置。

技术分享图片

 

 技术分享图片
说明:

服务器路径一定要填写对,是微信SDK文件下的的index.php
/var/www/html/WeChat
对应填写 : 服务器IP+/WeChat/index.php
技术分享图片

  不是/var/www/html/下面的index.php(安装网页服务器的测试网页)

技术分享图片

根据实际的sdk路径填写地址。

看上图填写完成之后就点击提交,不出意外就显示提交成功。成功后如上图

 

6 测试

打开微信,关注自己的公众号

 

技术分享图片

 

 现有功能是

 

技术分享图片

 

 7 微信SDK服务分析

核心代码解析

核心代码解

这里推荐使用PHPStorm,可以有智能提示,可以追踪函数实现等。当然你用其他工具也可以。

 

[kenrobot_code]<?php require(‘wechat/Wechat.php‘); class TestWechat extends Wechat { /** * 收到文本消息时触发,回复收到的文本消息内容 * * @return void */ protected function onText() { $this->responseText(‘收到了文字消息:‘ . $this->getRequest(‘content‘)); } } $wechat = new TestWechat(array( ‘token‘ => ‘weixin‘, ‘aeskey‘ => ‘xxx‘, ‘appid‘ => ‘xxx‘, ‘debug‘ => true )); $wechat->run();[/kenrobot_code]

   这个是库里面自带的例子,功能就是你给你的公众号发个内容,他在前面加上  收到了文字消息:  
          我们重点看看onText函数。这个函数里面有两个函数。

$this->responseText(参数是字符串)这个就是给你回复。$this->getRequest(‘content‘))这个就是解析你发送来的文字消息返回值是字符串。

  

8 微信控制LED  对接硬件ESP8266

原教程给的是通过把微信发来的消息保存成txt文件,然后ESP8266不断请求这个txt文件,获取内容判断然后做出开关灯命令。

原教程

作为一个测试足够了,但是后期多用户访问时候,如下问题:

1 涉及身份识别和产品用户绑定问题.

 大白要查询和控制自己的安防开关,首先服务器要知道是大白发来的请求,其次还要根据产品唯一ID找到大白绑定的设备。不能把小明的触感器数据发过去。  

 企业申请的服务号具备这个功能。,例如

https://iot.weixin.qq.com/wiki/new/index.html?page=5-5

技术分享图片

 

智能空调的产品需求及接入微信硬件云实施方案:

●用户用微信配置设备联网&绑定方案一(推荐):设备上张贴“每种型号唯一的二维码”,用户扫码后通过Airkiss配网并绑定设备(http://iot.weixin.qq.com/wiki/new/index.html?page=4-6)方案二:设备上张贴“每个产品唯一的二维码”+用户扫码后绑定设备+进入公众号再通过Airkiss配网●空调遥控器方案一:厂家利用微信提供的标准控制模板,链入公众号菜单方案二:厂家自己开发的H5控制页面,链入公众号菜单●空调售后服务方案:厂家开发H5页面,链入公众号菜单

相关文章