21840| 0
|
[入门教程] 基于行空板和SIOT的物联网项目案例 | 智慧游乐场 |
本帖最后由 怀若谷 于 2024-9-1 20:12 编辑 ↑ 演示视频 ↑ 在中小学创客教育中,物联网技术的应用是一项基本技能。在教学时,找到一个简单易用且免费的物联网平台是教学能够顺利开展的保证。在这几年的教学实践中,我使用过EasyIoT、Blynk等平台,它们有各自的优点,有着不同的使用场景,但也存在着一些不足和不便之处。这两年,我用得较多的是SIOT,特别是DFRobot公司推出行空板后,里面集成了SIOT平台,使用起来非常方便。行空板加SIOT的组合方案成为了我在教学与作品创作中使用最多的方案。 这个方案的主要优点有:(1)无需连接互联网,主控板之间通过热点组网,既方便又稳定;(2)演示时可以不依赖计算机或智能设备(手机或平板电脑),因为行空板自身就是一个带有2.8英寸屏幕的计算机;(3)可以自行设计控制面板,增加作品的交互性、美观度和完整度。 下面以“智慧游乐场”作品为例,分享一下我的做法。 ![]() 图1 0. 设计思路 以行空板和掌控板为主控板,其中行空板开启热点供掌控板连接进行无线通讯,使用行空板内置的SIOT软件为物联网平台,同时行空板也将作为远程监控端设备;掌控板作为游乐场本地设备控制端,与SIOT服务器进行信息交互并根据指令控制TT马达、灯带等器件工作。 1. 准备工作 1.1 硬件材料 ![]() 图2 ◆ 行空板 1块 ◆ 掌控板 1块 ◆ 掌控板扩展板 1块 ◆ TT马达(焊接好导线) 1个 ◆ DHT11温湿度传感器 1个 ◆ 数字按钮 2个 ◆ WS2812灯带 1条 ◆ 锂电池及底座(可选) 1套 ◆ USB数据线(两用) 1条 1.2所需软件 1.2.1编程软件 Mind+ V1.8.0 RC3.1 下载地址: https://mindplus.cc/ ![]() 图3 本项目有两块主控板,需要编写两个程序。在Mind+的Python模式下给行空板编写程序,在上传模式下给掌控板编写程序。 1.2.2 建模软件 本项目使用了LaserMaker软件绘制结构及造型图纸,亦可使用其他建模软件。 ![]() 图4 1.2.3 绘图软件 WPS Office或者其他绘图软件。 ![]() 图5 本项目需要给行空板绘制一张背景图片,我采用了先制作PPT文档再将其导出为图片文件的方法,简单便捷,适合中小学使用。 1.2.4 图片处理 光影魔术手等软件,能够实现改变图片的大小即可。 ![]() 图6 1.3 查看行空板信息 将行空板通过USB数据线连接电脑或者其他电源,行空板自动启动。根据提示,长按HOME键进入菜单。 ![]() 图7 1.3.1 查看网络信息 在菜单中选择并点击“4-查看网络信息”,记录下USB网口和无线热点的IP地址待用。 ![]() 图8 1.3.2 查看热点名称及密码 在菜单中选择并点击“5-开关无线热点模式”,然后点击“无线热点:已禁用”,则会变为“无线热点:已启用”,记录下方的“SSID”和“PASS”信息待用。 ![]() 图9 2. SIOT配置 2.1 主题(topic)规划 根据作品要实现的功能,拟设置4个不同的主题用于信息交互,主题名称及功能、数据格式等说明见下表。 ![]() 表1 2.2 登入SIOT系统 1. 将行空板通过USB数据线连接到电脑。 ![]() 图10 2. 打开网络浏览器。 ![]() 图11 3. 在地址栏输入行空板的USB网口IP地址(1.3.1部分已记录)。 ![]() 图12 4. 点击“应用开关”,在“SIOT”版块中选择“启动服务”(如已启动可跳过)。 ![]() 图13 5. “打开页面”按钮,进入登录界面。 ![]() 图14 6. 输入用户名(siot)和密码(dfrobot),即可进入系统。 ![]() 图15 2.3 新建主题 根据前面的规划,依次新建4个主题。主题名称必填,主题描述可不填。主题创建好后,系统会自动在前面加上“siot/”字符,使用时需要全部填写方有效。如主题“led”,在后面的使用中必须写为“siot/led”。 ![]() 图16 3. 硬件搭建 3.1 远程监控端(行空板) 行空板本身自带了通讯模块和显示模块,又支持触控输入,所以无需连接外设。只需要连接USB数据线用于供电和传输程序文件即可。 3.2 本地设备端(掌控板) 将掌控板插入扩展板卡槽中。 将其他电子元件连接到扩展板的引脚上,在本作品中连接方法如下表所示。 ![]() 表2 硬件连接实物图如下图所示。 ![]() 图17 4. 程序设计 4.1 行空板端程序 4.1.1 背景图制作 1. 使用WPS OFFICE软件的演示文档模块,制作一张比例为4:3(纵向)的背景图,内容包括作品名称和与需要加入的功能模块有关的图文信息等。 ![]() 图18 2. 将该文件另存为“png”格式的文件,即可得到一张图片文件。 ![]() 图19 3.将图片通过光影魔术手软件进行大小调整,调整为240*320后保存,即可得到需要的背景图。 ![]() 图20 4.1.2 摩天轮控制按钮制作 1. 继续在一张空白演示文档中绘制两个图标,代表摩天轮的运行和停止。 ![]() 图21 2. 分别选中图标,单击鼠标右键,在弹出的菜单中选择“另存为图片......”,将图标存为两个PNG格式的图片文件待用。 ![]() 图22 4.1.2编程准备 1. 打开Mind+软件,切换到“Python模式”。 ![]() 图23 2. 打开远程控制,连接行空板(10.1.2.3)。 ![]() 图24 3. 展开“文件系统”窗口,把背景图和按钮图传到行空板中。 ![]() 图25 4.1.3 编写程序 (一)初始化部分 1.连接SIOT服务器,订阅相关主题。 ![]() 图26 2.设置背景图来源及显示坐标。 ![]() 图27 3.设置温湿度数据显示坐标及文本参数。 ![]() 图28 4. 设置摩天轮控制按钮显示坐标及回调函数;设置状态信息显示坐标及文本参数;建立一个变量“a”记录摩天轮运行状态,初始值为“2”,代表“停止”。 ![]() 图29 5. 绘制4个圆角矩形按钮作为灯光控制按钮,设置对应的回调函数;设置灯光状态信息显示坐标及文本参数。 ![]() 图30 (二)循环执行部分 因程序执行主要以接收信息和按钮触发方式进行,循环执行部分为空。(此部分程序需连接到初始化部分下方) ![]() 图31 (三)温湿度数据显示部分 当接收到SIOT服务器发送来的信息后,先对主题进行判断。如果主题是所订阅的“siot/temp”,则将该信息显示到预设的温度数据位置。如果主题是所订阅的“siot/humi”,则将该信息显示到预设的湿度数据位置。 ![]() 图32 (四)摩天轮控制部分 当控制按钮被点击后,先读取点击前状态,然后切换到相反的状态,发出对应的指令到SIOT服务器的“siot/mtl”主题下,同时改变变量“a”的值,以保持与当前状态一致。 ![]() 图33 当接收到SIOT服务器发送来的信息后,如果收到的信息是“start”,则将按钮图片和状态信息文字更新为“运行”所对应的图片和文字。如果收到的信息是“stop”,则将按钮图片和状态信息文字更新为“停止”所对应的图片和文字。(此部分程序需连接到温湿度数据显示部分下方) ![]() 图34 (五)灯光控制部分 当4个控制按钮被点击后,将分别发出对应的指令到SIOT服务器的“siot/led”主题下。 ![]() 图35 当接收到SIOT服务器发送来的信息后,如果收到的信息是“r”,则灯光状态信息文字更新为“红色”;如果收到的信息是“y”,则灯光状态信息文字更新为“黄色”;如果收到的信息是“b”,则灯光状态信息文字更新为“蓝色”;如果收到的信息是“off”,则灯光状态信息文字更新为“关闭”。(此部分程序需连接到摩天轮控制部分下方) ![]() 图36 (五)行空板端完整程序 ![]() 图37 4.2 掌控板端程序 (一)初始化部分 1.连接行空板热点(见1.3.2部分的记录)。 ![]() 图38 2.连接SIOT服务器,订阅相关主题。 ![]() 图39 3.初始化灯带。 ![]() 图40 4.设置两个变量“a”和“b”。变量a用于记录摩天轮运行状态,初始值设为“2”,表示停止;变量b用于记录灯光状态,初始值设为“4”,表示关闭。 ![]() 图41 (二)循环执行部分 该部分主要负责温湿度数据采集、显示及上传。温度数据传送到SIOT服务器的“siot/temp”主题下,即本程序中定义的Topic_0;湿度数据传送到SIOT服务器的“siot/humi”主题下,即本程序中定义的Topic_1;采集频率为5秒/次,可根据需要调整。(此部分程序需连接到初始化部分下方) ![]() 图42 (三)摩天轮控制部分 当连接到P2引脚的数字按钮被触发后,先读取按下前状态,然后切换到相反的状态,发出对应的指令到SIOT服务器的“siot/mtl”主题(Topic_2)下,同时改变变量“a”的值,以保持与当前状态一致。 ![]() 图43 当接收到SIOT服务器发送来的信息后,如果收到的信息是“start”,则使TT马达以一定的速度正转(或反转)。如果收到的信息是“stop”,则使TT马达停止。 ![]() 图44 (四)灯光控制部分 当连接到P8引脚的数字按钮被触发后,将根据按下次数来确定灯光状态,4次为一个循环,即红色、黄色、蓝色、关闭,每按一次都会发出对应的指令到SIOT服务器的“siot/led”主题(Topic_3)下。 ![]() 图45 当接收到SIOT服务器发送来的信息后,如果收到的信息是“r”,则使连接到P1引脚的灯带显示红色;如果收到的信息是“y”,则使灯带显示黄色;如果收到的信息是“b”,则使灯带显示蓝色;如果收到的信息是“off”,则使灯带熄灭。 ![]() 图46 (五)掌控板端完整程序 ![]() 图47 5. 结构设计 5.1 激光建模 1. 绘制底盒,用于支撑作品的各个部件和隐藏线路。 ![]() 图48 2. 绘制淘气堡模型,兼做主控板放置处。 ![]() 图49 3. 绘制摩天轮模型。 ![]() 图50 4. 绘制名称牌(使用亚克力材料)。 ![]() 图51 5. 绘制行空板支架。 ![]() 图52 5.2 切割加工 使用激光切割机进行加工,确保材料和工艺使用正确。 ![]() 图53 6. 组装调试 1. 组装底盒(顶板不装),固定灯带和电池模组。 ![]() 图54 2. 将其他电子件与木板件组装固定。 ![]() 图55 3. 合上顶板,组装其他木件。 ![]() 图56 4. 组装行空板支架。 ![]() 图57 5. 通电测试。 ![]() 图58 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed