本人是新接触物联网新手菜鸟一枚,玩了大概一星期,文章水平有限,不过绝对是原创,如有雷同绝不可能,反正我是没有在百度上找到类似的文章资料
可能大部分新入门的菜鸟都会有我这样的想法,玩物联网嘛
1、简单通用的硬件模块,如ESP8266,成熟稳定超便宜
2、直接使用编译好的通用开源的固件,不需要下载各种编程工具输入代码反复调试,麻烦
3、简单直观的web设置,完成配网,配置连服务器接,配置硬件设备等等一系列操作,通过简单的操作实现比较复杂的MCU才能完成的功能
4、服务器连接公开,稳定,能免费玩,服务质量很高的大型服务平台, 比如OneNET,呵呵,HA这样的自建平台当然也行但是配置麻烦还得自己建服务器。。。
新手朋友,跟我一起,三步超简单进入物联网世界,开车
首先,准备一块ESP8266模块,x宝随便买,很便宜几块钱到几十块钱,各种型号有一点小差异可以自行查阅,建议购买NodeMCU开发板,优点不用自己焊接任何线路买来直接用
拿到板子用usb连接电脑,安装串口转USB驱动,刷入固件
固件为ESPeasy,下载地址 https://github.com/letscontrolit/ESPEasy/releases
解包后在bin文件夹找到(xxxxxxxx是日期每天下载的不一样)ESP_Easy_mega-xxxxxxxx_normal_ESP8266_4096.bin
刷写可用任何适用8266的工具,推荐NodeMCU-PyFlasher,简单方便稳定
重启ESP模块,打开手机,搜索wifi,找到ESP_EASY_0连接,我这里没有要求输入密码,如果要密码应该是configesp
连接成功后,如果没有自动进入配置页面,用浏览器打开192.168.4.1
选择你要连接的wifi,下面输入密码,提交,20秒后页面会直接进入web配置(没有自动打开需要在路由器查看esp设备分配的ip地址并用手机或电脑浏览器进入)
第一步刷写固件完成了,很简单方便,完全不要求下载任何调试编译等等软件不需要输入任何程序,略懂电脑就可以玩。。。
接下来,连接服务器,连接之前需要到OneNET注册产品和设备
注册账号后进入开发者中心,创建产品,联网选wifi,模组选ESP8266,协议选MQTT,其他随意
创建完后点击名称进入产品概况,此页面可以获取 (产品ID)和 APIkey
在设备管理中添加设备,我这里有两个一个是开关对应的就是ESP模块,另一个是控制器通过发送消息来控制ESP模块,获得可对应的设备ID,注册完成!
配置ESP_easy,浏览器进入web配置页面
配置设备id,菜单config>>Unit Name设置为注册的设备id
这个设备id并不是默认有效的,必须手动开启,打开tools>>advarced setting勾选controller setting中的设置
设置MQTT连接,菜单controllers,点击列表中的edit,需要设置的有
Protocol:OpenHAB MQTT(这个openHAB是一个只能家居开源平台,我不知道为什么要选这个,不过选别的貌似不能正常连接)
IP:183.230.40.39 port:6002 user:(产品id)password(APIkey)订阅地址Subscribe:任意/cmd,我这里用的是设备id
连接完成了,简单吧
OneNET后台能看到智能开关前面的绿灯亮起,表示设备已连接
最后环节,控制测试!!通过发送MQTT消息来控制ESP模块
在模块的D0和G上连接一个发光管,当然也可以是继电器模块,懒得拍图了,能玩玩的这点东西应该能明白。。。
打开一个虚拟设备连接控制器的MQTT,这个虚拟设备可以是任何能使用MQTT连接的东西,PC软件,手机软件,python程序等等
我这里使用的是OneNET提供的测试虚拟设备软件,地址 https://open.iot.10086.cn/doc/art433.html#118
MQTT-device调试工具
填写deviceID(设备id,我这里是控制器设备的id,注意不能用开关的设备id,否则会把ESP模块挤下线)
productID(产品id)authinfo(APIkey)server和port已经填写了
连接成功后,切换标签到“发布”
Topic中输入ESP模块中设置的订阅地址,Topic_content中输入发送的内容
测试发送 gpio,16,1 将ESP模块中的gpio16口(对应NodeMCU上标注的D0)设置为1高电平状态,此时发光管点亮,发送 gpio,16,0 关闭
如果是开锁之类的模拟轻触开关可以发送 pulse,16,1,500 (点亮500毫秒后关闭)
整个测试流程完整通过,后续可以用APP,手机MQTT客户端,或者OneNET提供的API来对开关进行控制
|