2022-4-20 19:58:12 [显示全部楼层]
12795浏览
查看: 12795|回复: 8

[M10教程] 行空板自带SIoT项目-远程开关灯

[复制链接]

行空板自带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

程序代码.zip

245.12 KB, 下载次数: 3825

You  见习技师

发表于 2022-4-21 11:55:03

学起来,非常赞
回复

使用道具 举报

hnyzcj  版主

发表于 2022-4-21 16:49:32

哈哈哈哈,好
回复

使用道具 举报

rzegkly  版主

发表于 2022-4-28 13:50:55

喜欢
回复

使用道具 举报

gray6666  初级技神

发表于 2022-5-1 10:28:47

行空板自带SIoT项目-远程开关灯图1
无线连接怎么开?
回复

使用道具 举报

Nick-ccq  NPC
 楼主|

发表于 2022-5-7 11:01:13

gray6666 发表于 2022-5-1 10:28
无线连接怎么开?

行空板通过USB连接电脑,在网页输入10.1.2.3进入,然后找到wifi设置。
回复

使用道具 举报

gray6666  初级技神

发表于 2022-5-7 11:44:26

Nick-ccq 发表于 2022-5-7 11:01
行空板通过USB连接电脑,在网页输入10.1.2.3进入,然后找到wifi设置。

已调试好,感谢回复
回复

使用道具 举报

刘睿鹏  初级技师

发表于 2024-6-11 18:10:55

MQTT总是不稳定,而且拔掉行空板就会废掉
回复

使用道具 举报

xhc_luoyj  学徒

发表于 2024-9-15 23:36:49

按照楼主的程序做了一遍, 开灯和 关灯 按钮,以及消息的on和off都能控制灯的亮与灭。但是同时也发现和循环体相关的bug:
1、行空板上satue显示的文本变化,只有等到循环体执行完毕后,才能变化,显示当前的状态”打开“或”关闭。经多种测试,如在循环体前先加入一个测试用的文本更新和一个等待命令,也依然是在循环执行完毕后方能更新。
2、另外增加一个线程,用于更新light数值(光线值),同样发现,只有等循环体执行完毕后,light值才会继续更新。
3、尝试增加另外两个按钮及回调函数用于“自动控制开启”——根据实时的光线值来控制灯环的亮与灭,按钮”自动控制关闭“——随时能关闭自动光控的功能。测试后,一旦调用”自动控制开启“,则程序一直在执行循环体,其他按钮均无响应。即使用mqtt测试,也是一样的结果。也是通过同问题1的方法得出的结论。
所以我的问题是:
1、在回调函数或mqtt内,当出现循环体时,是否必然是循环体的代码优先执行?
2、如果要在程序中“自动控制开启——根据实时的光线值来控制灯环的亮与灭,那么如何实现呢?
3、请问楼主,“开灯”和“关灯”两个按钮为何是用相同的对象名an,是有什么特殊作用吗?

远程开关灯 测试.mp

174.43 KB, 下载次数: 136

我的程序

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail