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

微信硬件平台

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

目前整体测试效果

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

功能结构图

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 php
yum install php-mysql  php-gd  php-imap  php-ldap  php-odbc php-pear  php-xml  php-xmlrpc
yum 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.so

AddType application/x-httpd-php .php
AddType 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页面,链入公众号菜单

原文地址:https://www.cnblogs.com/kekeoutlook/p/10162771.html

时间: 2024-08-28 23:46:00

微信硬件平台 (1) 总说明的相关文章

微信硬件平台

调用openApi 微信硬件平台是微信推出连接物与人,物与物的IOT解决方案.也就是说可以通过微信控制各种智能设备.比如一些蓝牙设备.空调.电视等等. 我本身不懂硬件(虽然是电子信息专业),硬件是北航的两个研究生在弄,小团队里我负责开发H5自定义面板,刚开始看官方文档各种迷糊,对于jssdk.jsapi.Airkiss.openApi.直连SDK都不知道该用哪个做,官方论坛问问题基本上没结果,加了几个微信硬件群问问题,发现好些开发者和我一样,同一个问题,发到几个群里问,画面好心酸.给wxthin

微信硬件平台的基础接入和硬件云标准接入分析

本文分析基于微信硬件平台的物联网架构,将从物联网的核心要素.物联网的关键场景.微信硬件平台的通信协议分析三个维度去分析.更多的微信硬件平台开发的深度技术原创分享请订阅微信公众号:嵌入式企鹅圈. 微信硬件平台包括基础接入方案与微信硬件云标准接入方案.前者是在应用端和设备端都完全由厂商开发,微信硬件平台只负责用户管理.设备管理和透明的消息推送:后者是在前者的基础上,给设备端提供了直连SDK(可以适配linux/Android等平台).提供设备API给第三方硬件平台接入,甚至在应用端根据各种家电场景定

一张图读懂基于微信硬件平台的物联网架构

本文从物联网的核心要素.物联网的关键场景.微信硬件平台的通信协议分析三个维度去分析基于微信硬件平台的物联网架构.相关的背景知识请阅读微信公众号:嵌入式企鹅圈发布的有关物联网和微信硬件专题文章. 一. 基于微信硬件平台的物联网架构图示 上图涵盖以下信息: 1.   基于微信硬件平台的物联网的架构组成,有微信公众平台/硬件平台.第三方厂商云后端.手机微信/公众号.微信硬件设备终端(Wifi和蓝牙BLE). 2.   绿色代表腾讯向开发者和公众提供的基础平台和服务,并通过红色(airsync/airk

微信硬件平台框架说明及接入流程

微信硬件平台框架说明及接入流程1 / 15 硬件平台框架说明及接入流程 V0.5 Tencent Confidential 硬件平台框架说明及接入流程 2 / 15 文档变更日志 部门 微信事业群\开放平台创新部\创新二组 版本 描述 撰写人员 更新日期 V0.1 初稿 jeffqi.genewu 2014/07/8 V0.2 加入Q&A jeffqi.genewu 2014/07/8 V0.3 针对常见问题,增加说明.流程图优化. jeffqi.genewu 2014/07/9 V0.4 添加

微信Wifi物联架构---机智云/云智易如何接入微信硬件平台

本文由嵌入式企鹅圈原创团队成员-华南师范大学物联网创新中心黄鑫执笔. 嵌入式企鹅圈已经就微信蓝牙物联架构做过很多次的分析了,这里就不再啰嗦了.这里主要分析物联网远场控制场景,就是wifi物联,当然也包括GPRS.3G.4G等等. 一.微信wifi物联的使命 基于Wifi物联网平台很早就有了,远在微信硬件平台出现之前,所以在wifi物联方面,微信除了抱着一个极大的流量入口,其他方面并不具有什么优势.马化腾说过微信硬件是要连接一切嘛,那微信硬件自然要去适配已经存在的平台和设备.而已有的wifi物联平

微信硬件平台(二) 企业服务号号设备注册和绑定

该教程目的:在教程1里,完成了微信服务器向自己的服务器转发公众号收到的数据.但是缺少用户认证,设备注册,设备绑定等功能.这里使用调试助手模拟一个实际的设备(空调,灯),直接向微信硬件云注册和授权,绑定个人的微信账号.这里暂时没有用的自己的服务器. 微信教程 网友调试过程    微信硬件平台下设备与微信通信 需要: 1 申请一个服务号(必须有企业组织代码,法人等信息). 没有公司的开通一个测试账号.这里使用的是一个公司注册后的服务号. 2 在公众号-设备功能-添加几个设备 (图标随便上传的) 因为

微信硬件平台(六) 设备直连微信云

微信硬件开发文档 智能硬件厂家的痛点 微信硬件平台是基于微信公众号体系的智能硬件平台,在公众号的技术架构里,设备厂商必须要有自己的服务器.厂商服务器主要完成两部分工作: 1.管理设备的连接登录.鉴权.状态上报.命令发送.固件更新等基础网络功能: 2.通过H5页面或者微信公众平台消息接口,接收设备用户的操作命令,处理设备业务逻辑,展示设备状态给微信用户. 这两部分工作相对独立. 对于硬件设备厂家来说,服务器第一项工作受到各种因素限制,实现起来相对困难,增加了研发投入时间.精力.资金成本. 同时各个

微信硬件平台(十) 1 ESP8266通过mqtt交互消息

//----------------------------------------------------------------------------------------// //-----------------------------------程序功能-----------------------------------------// /* 总功能: 制作一个MQTT服务器和ESP8266串口互相传输消息的模块 如何使用: 1修改每个芯片的信息 1-1 修改每一个产品的ID 1

微信硬件平台(八)7 综合合并版本

尚未加入自动获取token #include <ESP8266WiFi.h> #define WEIXIN_TOKEN "19_69S6lnr6S-j1Zbmy1XYwx8LqYbKIT2PfmwJUofoBG2fNv_UvfCQmgYdh9TE_m1jJUPimQ7jRVe87h6pmS4Zdl2vCc7ZVx9aRgC0S-3eACtqMTd77VzWX1-p_PjQWBRqkIJAI7OOOPI3bY4xaZNXhAEAMAK" #define PRODUCT_TYP