nodeMCU Lua ESP8266第六课 公网控制ESP
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nodeMCU Lua ESP8266第六课 公网控制ESP,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2757字,纯文字阅读大概需要4分钟。
内容图文
学习这一课需要用到一款安卓的mqtt软件,可以自行寻找,也可以使用我写的一个demo。
软件介绍:https://blog.csdn.net/qq_26820797/article/details/79260661
写在前面的话:个人学习笔记,抛砖引玉,希望有兴趣的人加入QQ群415469069一起讨论,欢迎有共同爱好的人。
本教程以ESP-12N,CP2102开发板为例进行讲解,配合之前编写的Android软件。
- ESP端代码。
依然使用第四课的两个文件:mqtt_test.lua和close_mqtt.lua。群文件可以下载。为了方便调试,将publish、lwt和subscribe的Topic改一下,第11行输出信息改为print("mcu connected broker.")
--mqtt_test.lua myClient = mqtt.Client("test_mqqt_20180123_mcu",120) myClient:connect("iot.eclipse.org", function(client) print("connected") end) myClient:lwt("esp_to_android_","mcu is closed") myClient:on("connect", function(clinet) if(myClient:publish("esp_to_android_","online",0,0))then print("pc connected mcu") end if(myClient:subscribe("android_to_esp_",0))then print("subscribe is success.") end end) myClient:on("offline", function(client) myClient:publish("esp_to_android_","offline",0,0) end) myClient:on("message", function(client , topic , message) print(“get a message.\n”) print(topic..":"..message) end) |
--mqtt_close.lua if(myClient:close()) then print("mqtt is closed.") else print("closed is failed.") end |
- 测试功能。
运行mqtt_test.lua文件。
连接成功后,打开我们的手机客户端(上一课内容)。点击按钮CONNECT连接broker,可以通过点击按钮ISCONNECTED查看是否连接上。连接成功之后,点击按钮PUBLISH一条消息,可以看到ESP后台已经打印。
接下来,我们看看手机端的订阅效果,点击按钮SUBSCRIBE.
由于我们第四课中的程序只写了一条publish,是在连接时运行的,所以,为了演示效果,我们先关闭ESP端的mqtt客户端,运行mqtt_close.lua。
然后重新打开mqtt客户端。运行mqtt_test.lua。
这时,你会在手机客户端看到已经收到了一条新的消息。
至此,通过公网控制ESP的思路已经讲解完毕了。
我的宗旨一直是抛砖引玉,授之以渔。接下来如果你想要实现具体功能的话,只需要提取subscribe中的字段就行了。在on方法中添加以下代码段,实现远程开关灯效果。IO口根据自己的情况配置。
myClient:on("message", function(client , topic , message) print("get a message.\n") print(topic..":"..message) -- turn the light on if(message == "light_on") then gpio.write(0,gpio.LOW) end -- turn the light off if(message == "light_off") then gpio.write(0,gpio.HIGH) end end) |
修改好代码后,SAVE运行。等待连接到broker后,在手机客户端publish一条light_on消息,可以看到,开发板上的led灯被点亮。接着publish一条light_off消息,可以看到,开发板上的led灯熄灭。
安卓端的客户端,可以根据自己的具体需求,编写相应的界面和对数据的处理。
PS:在使用过程中有什么疑问,欢迎加入QQ群415469069进行讨论。
内容总结
以上是互联网集市为您收集整理的nodeMCU Lua ESP8266第六课 公网控制ESP全部内容,希望文章能够帮你解决nodeMCU Lua ESP8266第六课 公网控制ESP所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。