20983| 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-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed