12795| 8
|
[M10教程] 行空板自带SIoT项目-远程开关灯 |
行空板自带SIoT项目-远程开关灯疫情期间,手里正好有一块行空板,捣鼓捣鼓,做一些基础有趣的项目。 在之前看发布会的时候看到行空板自带SIoT服务和热点模式,这个功能对于麻烦配置的人来说,省下了很多事情,废话不多说,直接上内容。功能好不好使用见内容。 视频预览热点以及SIoT服务
注:此处采用电脑或者手机连接行空板开启的热点,让行空板与电脑手机处于一个局域网下,你也可以使用wifi或者有线等方式连接:https://wiki.unihiker.com/networking 。 检测服务是否开启通过Home键->查看网络信息,界面显示IP地址为:192.168.123.1,说明服务已经开启. 网页端IP:192.168.123.1:8080(端口号不是1883) 控制灯带功能描述:1、可利用行空板SIoT服务,网页端远程控制灯带亮灭,以及手动控制灯带亮灭。 Mind+使用Mind+1.7.2 RC2.0软件,需要的可以去行空板官方QQ群下载。 Mind+图形直接加载行空板、MQTT、灯带等模块。如下图: 部分代码初始化MQTT以及设置字体显示和按钮显示。
效果显示界面显示网页登陆访问行空板的ip加8080端口即可打开siot管理页面,注意此处电脑连接了行空板的热点(电脑usb连接行空板也可以通过10.1.2.3:8080访问)。192.168.123.1:8080 网页显示程序连接成功后发送消息时,siot网页上会自动创建topic对应的项目。
总结行空板中的热点模式解决了老师现实中的联网情况,SIoT服务一键启动解决了大部分老师配置出现的问题。该项目功能简单,主要讲行空板中SIoT服务和热点模式的使用,老师在使用过程中有什么问题可在下方留言。 |
245.12 KB, 下载次数: 3825
按照楼主的程序做了一遍, 开灯和 关灯 按钮,以及消息的on和off都能控制灯的亮与灭。但是同时也发现和循环体相关的bug: 1、行空板上satue显示的文本变化,只有等到循环体执行完毕后,才能变化,显示当前的状态”打开“或”关闭。经多种测试,如在循环体前先加入一个测试用的文本更新和一个等待命令,也依然是在循环执行完毕后方能更新。 2、另外增加一个线程,用于更新light数值(光线值),同样发现,只有等循环体执行完毕后,light值才会继续更新。 3、尝试增加另外两个按钮及回调函数用于“自动控制开启”——根据实时的光线值来控制灯环的亮与灭,按钮”自动控制关闭“——随时能关闭自动光控的功能。测试后,一旦调用”自动控制开启“,则程序一直在执行循环体,其他按钮均无响应。即使用mqtt测试,也是一样的结果。也是通过同问题1的方法得出的结论。 所以我的问题是: 1、在回调函数或mqtt内,当出现循环体时,是否必然是循环体的代码优先执行? 2、如果要在程序中“自动控制开启——根据实时的光线值来控制灯环的亮与灭,那么如何实现呢? 3、请问楼主,“开灯”和“关灯”两个按钮为何是用相同的对象名an,是有什么特殊作用吗? |
174.43 KB, 下载次数: 136
我的程序
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed