如果您是想通过esp8266WiFi模块的MQTT协议来实现智能家居控制的话,可以了解一下支持MQTT协议的esp8266WiFi模块,比如SKYLAB的WG219/WG229以及WG231。
MQTT 最初由 IBM 于上世纪 90 年代晚期发明和开发。它最初的用途是将石油管道上的传感器与卫星相链接。顾名思义,它是一种支持在各方之间异步通信的消息协议。异步消息协议在空间和时间上将消息发送者与接收者分离,因此可以在不可靠的网络环境中进行扩展。虽然叫做消息队列遥测传输,但它与消息队列毫无关系,而是使用了一个发布和订阅的模型。在 2014 年末,它正式成为了一种 OASIS 开放标准,而且在一些流行的编程语言中受到支持(通过使用多种开源实现)。
物联网设备选择MQTT协议的原因分析
物联网 (IoT) 设备必须连接互联网。通过连接到互联网,设备就能相互协作,以及与后端服务协同工作。互联网的基础网络协议是 TCP/IP。MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的,已成为 IoT 通信的标准。
MQTT 是一种轻量级的、灵活的网络协议,致力于为 IoT 开发人员实现适当的平衡:
1、这个轻量级协议可在严重受限的设备硬件和高延迟/带宽有限的网络上实现。
2、它的灵活性使得为 IoT 设备和服务的多样化应用场景提供支持成为可能。
WG219是一款基于ESP8266芯片方案的小尺寸低功耗低成本串口WiFi模块,符合802.11b / g / n 无线模块标准,支持UART-WiFi -以太网数据传输。专为移动设备和物联网应用设计,可将用户的物理设备连接到WiFi无线网络上,进行互联网或局域网通信,实现联网功能。
WG229是一款基于ESP8266芯片方案的小尺寸低功耗低成本串口WiFi模块,符合802.11b / g / n 无线模块标准,支持UART-WiFi -以太网数据传输。专为移动设备和物联网应用设计,可将用户的物理设备连接到WiFi无线网络上,进行互联网或局域网通信,实现联网功能。另外WG229仅需要通过出串口使用AT指令控制,就能满足大部分的网络功能需求。WG229高性能、低功耗、低成本、支持串口透传等特性,使得WG229在高集成、低功耗自动化和传感器解决方案的理想解决方案,WG229和LCS6260 Pin对Pin兼容,可替代ESP8266方案的ESP-12F。
支持MQTT协议的IoT UART接口WiFi模块也都是支持对接云端服务的。LCS6260支持对接阿里云、涂鸦云,WG219/WG229/WG231支持对接阿里云。
开发资源
1、Esp8266 Wi-Fi模块
2、机智云串口调试软件
3、51单片机或者STM32单片机或者其它单片机
4、Windows 10
主要设计思路
一句话概括:将esp8266 Wi-Fi 模块连接上能上网的路由器(手机开热点作为路由器也行),连接过程需要做一些配置,以跟机智云平台对接。之后智能终端(手机或平板)跟Wi-Fi模块绑定后即可远程或者局域网控制设备。
简易介绍机智云官方提供的文档资料
机智云给开发者提供了大量开发支持,如开源的安卓/苹果SDK、APP等,开发者直接在开源的架构上二次开发即可,从而减少开发工作量。文档中心提供大量的接入教程,非常详细,此处不再重复说明。
机智云官方文档中心链接:http://docs.gizwits.com/zh-cn/overview/overview.html
步骤一:
我们要将自己的Wi-Fi模组跟机智云对接,必须对Wi-Fi模组烧录机智云官方给的GAgen固件。硬件厂商对硬件智能化的第一步是让设备能够联网,GAgent是机智云提供的一款兼容国内主流Wi-Fi模块、移动网络模块的模组系统。硬件厂商只需理解如何与GAgent进行通讯即可。
详细教程链接地址:http://docs.gizwits.com/zh-cn/GCP/wmodule/ESP8266.html#ESP8266
步骤二:
在机智云平台注册一个属于自己的账号。
1、创建产品
2、创建数据点
3、根据需求选择MCU开发或者SOC开发。MCU开发就是在51/STM32等单片机开发,代码可自动生成,不需要懂协议即可开发。SOC开发是指直接在ESP8266上开发。注意:自动生成的代码,MCU运行环境至少要有2K的RAM左右的大小,如果是普通的51单片机,RAM一般不足1K,STC15系列有2K大小的RAM,STM32基本所有系列RAM大小都超过2K。如果RAM不够的单片机,就需要自己懂协议,才能开发。协议其实也挺简单,无非就是一些你发数据包,我解析后回复给你数据,有来有往。
4、手机安装机智云开源的APP,进行调试测试
5、.......
详细教程:http://docs.gizwits.com/zh-cn/quickstart/UseMCU.html
步骤三:
建议直接使用机智云封装好的协议,直接自动生成包含协议相关的代码,前提是,你得保证你的单片机拥有超过2K的RAM大小空间。如果不满足RAM大小的单片机,则自己根据协议文档编写代码,通信协议在《开发向导》里下载,如图下所示。
根据文档协议写测试代码的时候,可以不着急在单片机上测试,机智云提供了一个串口调试助手,可在这里先测试好。
机智云机智云串口工具使用文档:http://docs.gizwits.com/zh-cn/deviceDev/%E4%B8%B2%E5%8F%A3%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.html
关于单片机上的应用开发,不管开发什么产品,协议上报数据格式都是固定不变的。遇到问题多看机智云官方给的教程即可解决绝大部分问题。
去乐鑫官方网站,它家做的ESP8266芯片,所以什么资料都有
强大的乐鑫论坛8266源码,APP源码都有下载,还有现成的固件和APP,烧录好就能远程控制
AT,SDK看你学会了哪一种,随你自己发挥
百度吧,网址不好发