行空板自带SIoT项目-远程开关灯
## 行空板自带SIoT项目-远程开关灯疫情期间,手里正好有一块行空板,捣鼓捣鼓,做一些基础有趣的项目。
在之前看发布会的时候看到行空板自带SIoT服务和热点模式,这个功能对于麻烦配置的人来说,省下了很多事情,废话不多说,直接上内容。功能好不好使用见内容。
## 视频预览
https://www.bilibili.com/video/BV1WF411M7uc?t=7.8
## 热点以及SIoT服务
- 通过Home键->应用开关->SIoT服务如果关闭了则开启
- 行空板支持开热点,这样其他手机或者wifi就可以通过无线访问行空板实现远程控制了。通过Home键->开关无线热点模式->打开无线热点,等出现SSID和PASS,然后电脑或者手机连接这个行空板的热点。
注:此处采用电脑或者手机连接行空板开启的热点,让行空板与电脑手机处于一个局域网下,你也可以使用wifi或者有线等方式连接:https://wiki.unihiker.com/networking 。

## 检测服务是否开启
通过Home键->查看网络信息,界面显示IP地址为:192.168.123.1,说明服务已经开启. 网页端IP:192.168.123.1:8080(**端口号不是1883**)

## 控制灯带
功能描述:1、可利用行空板SIoT服务,网页端远程控制灯带亮灭,以及手动控制灯带亮灭。
2、实时检测光线数据,以及网页显示数据。
## Mind+使用
Mind+1.7.2 RC2.0软件,需要的可以去行空板官方QQ群下载。
Mind+图形直接加载行空板、MQTT、灯带等模块。如下图:


## 部分代码
初始化MQTT以及设置字体显示和按钮显示。

- SIoT服务器可以填写10.1.2.3,(此处开启了无线热点,因此填写192.168.123.1也可以),注意程序中端口号为:1883
- 接收网页端数据
- 按钮控制函数

## 效果显示
## 界面显示

## 网页登陆访问行空板的ip加8080端口即可打开siot管理页面,注意此处电脑连接了行空板的热点(电脑usb连接行空板也可以通过10.1.2.3:8080访问)。
192.168.123.1:8080
账号:siot 密码: dfrobot

## 网页显示
程序连接成功后发送消息时,siot网页上会自动创建topic对应的项目。
- 网页上打开对应的项目,远程控制发送on或者off可以打开灯带或关闭

- 另一个项目的网页可以实时接收显示光线数值

## 总结
行空板中的热点模式解决了老师现实中的联网情况,SIoT服务一键启动解决了大部分老师配置出现的问题。该项目功能简单,主要讲行空板中SIoT服务和热点模式的使用,老师在使用过程中有什么问题可在下方留言。
{:6_209:}学起来,非常赞 哈哈哈哈,好 喜欢
无线连接怎么开?
gray6666 发表于 2022-5-1 10:28
无线连接怎么开?
行空板通过USB连接电脑,在网页输入10.1.2.3进入,然后找到wifi设置。 Nick-ccq 发表于 2022-5-7 11:01
行空板通过USB连接电脑,在网页输入10.1.2.3进入,然后找到wifi设置。
已调试好,感谢回复 MQTT总是不稳定,而且拔掉行空板就会废掉 按照楼主的程序做了一遍, 开灯和 关灯 按钮,以及消息的on和off都能控制灯的亮与灭。但是同时也发现和循环体相关的bug:
1、行空板上satue显示的文本变化,只有等到循环体执行完毕后,才能变化,显示当前的状态”打开“或”关闭。经多种测试,如在循环体前先加入一个测试用的文本更新和一个等待命令,也依然是在循环执行完毕后方能更新。
2、另外增加一个线程,用于更新light数值(光线值),同样发现,只有等循环体执行完毕后,light值才会继续更新。
3、尝试增加另外两个按钮及回调函数用于“自动控制开启”——根据实时的光线值来控制灯环的亮与灭,按钮”自动控制关闭“——随时能关闭自动光控的功能。测试后,一旦调用”自动控制开启“,则程序一直在执行循环体,其他按钮均无响应。即使用mqtt测试,也是一样的结果。也是通过同问题1的方法得出的结论。
所以我的问题是:
1、在回调函数或mqtt内,当出现循环体时,是否必然是循环体的代码优先执行?
2、如果要在程序中“自动控制开启——根据实时的光线值来控制灯环的亮与灭,那么如何实现呢?
3、请问楼主,“开灯”和“关灯”两个按钮为何是用相同的对象名an,是有什么特殊作用吗?
页:
[1]