基于ESP8266的微信门铃

基于ESP8266的微信门铃

前言

最近在学习ESP8266,所以想用他来做个小玩意儿。

于是就有了这篇文章,其实最终实现的效果很简单。

就是当门铃按键按下,微信会收到消息提醒。

当然这只是初期,拓展的话可以进一步设计一套协议,添加更多设备,比如开关或者插座之类的电器设备。

添加用户绑定功能,实现数据双向通信。

下面介绍怎么完成他。

一、硬件准备

1、ESP8266模块

我选择的是nodemcu。因为他可以直接用micro usb烧录,下载程序方便。实质上他就是一块ESP8266.

2、其他

本来准备外接一个按键的,结果发现nodemcu上面自带了两个按键,一个复位键,一个flash键。

因为是做门铃,所以暂时不需要杜邦线和按键了,一个安卓充电线当做下载线就可以了。

二、软件准备

nodemcu原生是lua脚本来开发,但是我还是习惯用C来开发。

于是我的开发环境就是VS2015+visual micro

软件环境的搭建,可以见我博客的前几篇文章。

arduino IDE配置ESP8266开发环境
https://blog.rayuu.com/arduinoesp8266.html

使用VS2015 visual micro安装开发arduino
https://blog.rayuu.com/vs2015arduino.html

三、系统架构

  • 单片机部分:nodemcu采用C来编写;

  • 后台:linux平台下使用python来写;

  • 数据库:待定。

  • 通信协议:基于MQTT+私有协议。

初期计划实现步骤大致如下:

  1. ESP8266固件开发(NodeMcu);
  2. mqtt协议学习;
  3. python版mqtt开发;
  4. 把wxpy与mqtt融合(后台开发);
  5. 与web版微信对接。

使用说明

1、flash模式

用户在开机前3秒内按下flash key,系统进入flash模式。

在该模式下,esp8266是AP模式,会生成一个wifi热点。名称为smledart_xxxxx xxxxx为芯片ID。

QQ截图20171113200344.jpg

用户连接该热点后,打开浏览器,输入192.168.4.1
打开配置wifi界面

QQ截图20171113200423.jpg

输入正确的wifi热点和密码,即你家里的可以上网的wifi热点。
服务器地址和端口,后续不会对用户开放。这里仅供测试用。

Image.png

另外后续可能采用通过smartconfig方式来连接wifi。即通过手机发送UDP报文出来,esp8266通过搜索报文自动建立连接。

配置完成后,重启esp8266即可。

热点名称,密码,服务器IP和端口,设备信息等信息 存在flash内,用文件系统spiffs来挂载读写。

网页同样用文件系统保存,用html,js,css来编写网页

2、normal模式

开机,等5~6秒后,esp8266连上第一步配置的wifi后,同时也会连上服务器。

这时就可以正常使用了。

按下flashkey后,微信就会收到相应的消息了。这里按下flashkey不同于开机前三秒按下进入flash模式。

QQ截图20171113200547.jpg

最后放上录的小视频。

aaa.gif


文章作者: Rayu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Rayu !
 上一篇
【笔记】matlab建模生成代码注意事项 【笔记】matlab建模生成代码注意事项
一、代码生成后,查看生成报告。如下图所示: 代码文件简介: 1、ert_main.c该文件中会调用 “模型名称_step();”函数,用于单步执行,可以根据实际情况放在定时器中断或者任务调度里面执行该函数。除此之外,该文件中的main函数
2019-12-18
下一篇 
最新版visual micro 破解 最新版visual micro 破解
安装完成visual micro 会有一个7天的试用期。在网上找了一个dll爆破的帖子,借来参考一下。 参考链接:http://www.52pojie.cn/forum.php?mod=viewthread&tid=460921
2017-08-08 Rayu
  目录