行空板自带SIoT项目-远程开关灯

2022-04-202.7万
精华项目
AI 快速预览详细 收起
行空板自带SIoT项目-远程开关灯是一个基础有趣的项目,通过行空板的热点模式和SIoT服务,可以轻松实现远程控制灯带。用户可以通过网页端实时控制灯带的亮灭,并显示光线数据。该项目适合STEM教育场景,适合老师和学生进行实践。项目中使用的硬件包括行空板、灯带等,最终效果是通过网页端远程控制灯带,并实时显示光线数据。

行空板自带SIoT项目-远程开关灯

疫情期间,手里正好有一块行空板,捣鼓捣鼓,做一些基础有趣的项目。

在之前看发布会的时候看到行空板自带SIoT服务和热点模式,这个功能对于麻烦配置的人来说,省下了很多事情,废话不多说,直接上内容。功能好不好使用见内容。

视频预览



热点以及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

行空板自带SIoT项目-远程开关灯图1

  • 接收网页端数据

行空板自带SIoT项目-远程开关灯图2

  • 按钮控制函数

效果显示

界面显示

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

192.168.123.1:8080
账号:siot 密码: dfrobot  

网页显示

程序连接成功后发送消息时,siot网页上会自动创建topic对应的项目。

  • 网页上打开对应的项目,远程控制发送on或者off可以打开灯带或关闭

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

总结

行空板中的热点模式解决了老师现实中的联网情况,SIoT服务一键启动解决了大部分老师配置出现的问题。该项目功能简单,主要讲行空板中SIoT服务和热点模式的使用,老师在使用过程中有什么问题可在下方留言。










界面.png (12.23 KB, 下载次数: 6062)

STEM教育 · 行空板自带SIoT项目-远程开关灯_image_3.webp

程序代码.zip

245.12 KB, 下载次数: 13042

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(7)
小米@66
小米@66
博主,全部的图形化代码有嘛,我按上面的积木操作一遍,按钮能实现开关灯,但是网页没成功是为什么呀
Nick-ccq
Nick-ccq
作者
回复米叔粉
检测连接线是否正确
米叔粉
米叔粉回复Nick-ccq
你好,请问用你的代码,网页端显示连接成功,但发送on的时候,灯不亮呢?
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
xhc_luoyj
xhc_luoyj
按照楼主的程序做了一遍, 开灯和 关灯 按钮,以及消息的on和off都能控制灯的亮与灭。但是同时也发现和循环体相关的bug:
1、行空板上satue显示的文本变化,只有等到循环体执行完毕后,才能变化,显示当前的状态”打开“或”关闭。经多种测试,如在循环体前先加入一个测试用的文本更新和一个等待命令,也依然是在循环执行完毕后方能更新。
2、另外增加一个线程,用于更新light数值(光线值),同样发现,只有等循环体执行完毕后,light值才会继续更新。
3、尝试增加另外两个按钮及回调函数用于“自动控制开启”——根据实时的光线值来控制灯环的亮与灭,按钮”自动控制关闭“——随时能关闭自动光控的功能。测试后,一旦调用”自动控制开启“,则程序一直在执行循环体,其他按钮均无响应。即使用mqtt测试,也是一样的结果。也是通过同问题1的方法得出的结论。
所以我的问题是:
1、在回调函数或mqtt内,当出现循环体时,是否必然是循环体的代码优先执行?
2、如果要在程序中“自动控制开启——根据实时的光线值来控制灯环的亮与灭,那么如何实现呢?
3、请问楼主,“开灯”和“关灯”两个按钮为何是用相同的对象名an,是有什么特殊作用吗?
IOHDHQ
IOHDHQ
MQTT总是不稳定,而且拔掉行空板就会废掉
gray6666
gray6666

无线连接怎么开?
gray6666
gray6666回复Nick-ccq
已调试好,感谢回复
Nick-ccq
Nick-ccq
作者
回复gray6666
行空板通过USB连接电脑,在网页输入10.1.2.3进入,然后找到wifi设置。
rzegkly
rzegkly
喜欢
hnyzcj
hnyzcj
哈哈哈哈,好
You
You
学起来,非常赞
- 没有更多了 -