天猫精灵、esp8266、LED(继电器)
(本文所使用的是ESP8266-12-F系列)
贝壳物联
网址:https://www.bigiot.net
注册自己的账号,增加相应的设备
1:选择设备位置:(卧室、厨房。。。)
2:选择设备别名:(贝壳物联目前只支持 开关 选项)
(一)
程序和固件下载:https://pan.baidu.com/s/1d4sW1bSDkKZOL_w_B2YYtQ
提取码:nooa
ESP8266接线图
PCB下载:https://pan.baidu.com/s/1F0pN_HixDFnP-R8oDzODpA
提取码:tmrt
(二)
烧录NODEMCU固件:
烧录成功如下:
(三)
打开NodeMCU 2015软件,
添加 ESP8266-天猫精灵\bigiotArduino-master\bigiotArduino-master\examples\ESP8266\NodeMCU\kaiguan\init.lua
esp8266初始化连接自己wifi的程序
修改后对应com口下载进ESP8266
下载成功后有 .........success 类的提示:
然后加入驱动ESP8266 IO口输出的程序 (本文所使用的是GPIO14---PIN5):
添加 ESP8266-天猫精灵\bigiotArduino-master\bigiotArduino-master\examples\ESP8266\NodeMCU\kaiguan\kaiguan.lua
这个软件总是弹出下边这个框,不用管它,不影响使用:
再次下载kaiguan.lua程序 (注意:总共下载两次)
在下边框中输入重启命令 node.restart()
等待出现所连接的IP地址时,配置成功:
kaiguan.lua主要函数:
if r.C == "play" //接受天猫精灵语音或远程控制函数
cu:send( played.."\n" ) //发送给贝壳物联平台的函数
tmr.alarm(6, 5000, 0, run) //第一个定时器;定时器周期ms;定时器模式;回调函数;
(四)
使用串口助手分析接受数据:
手机上微信小程序添加贝壳物联 远程控制界面:
实物图:
连接 :https://pan.baidu.com/s/1opokz-NaCsM4TcLMa5x6kQ 提取码: ybus
烧录固件前先使用下边软件清空esp8266的flash,目的是为了防止烧录完所有程序后连接上次的wifi
(esp8266flash会存储上次所连接的wifi信息)
然后再烧录新版的固件
之前的int.lua修改为:
--init.lua web config
print("set up wifi mode")
enduser_setup.start(
function()
print("Connected to wifi as:" .. wifi.sta.getip())
--dofile("main.lua")
dofile("kaiguan.lua")
end,
function(err, str)
print("enduser_setup: Err #" .. err .. ": " .. str)
end
)
kaiguan.lua 程序不改变
(注意:在init.lua页面 下载一次程序,在kaiguan.lua页面再下载一次程序,总共清空flash一次,烧录最新固件一次,下载初始化程序一次,下载开关程序一次)
下载完所有程序后,记得输入node.restart()重启命令,最好重上电一次
打开手机wifi,连接wifi, 没有密码,如下图:
打开浏览器,输入192.168.4.1
进入网页配置页面,输入wifi名称和密码,save,等待大约10秒,在手机微信小程序的贝壳物联刷新设备可以看到在线情况,或者打开路由器客户端,查看所连接设备(我的路由器显示ESP_5DD50E)
可能是固件里边封装的是半双工模式,在8266连上所配置的wifi后,手机上的wifi会自动断掉。
在下次上电时,会自动连接上次的wifi。
所以在重新配置wifi时,只能在上次的wifi所覆盖不到的情况下配置,这一点等待下次优化!!!
有疑问者请联系:QQ:1735915513