9浏览
查看: 9|回复: 0

[M10项目] 大屏可视化校园气象站

[复制链接]
本帖最后由 云天 于 2026-7-29 11:41 编辑

大屏可视化校园气象站——基于云雀气象仪、行空板M10与LattePanda的物联网实践

【项目背景】
       气象观测是科学与信息科技教育中重要的跨学科主题。2022版义务教育信息科技课程标准中,“在线数字气象站”被列为7~9年级互联智能设计方向的跨学科主题项目。然而,传统的气象观测手段往往简陋且检测项目匮乏,对于湿度、风向、风速等重要气象数据的精准获取与长时间记录更是束手无策。
       云雀气象仪的出现很好地解决了这一问题。它内部集成了风速、风向、温度、湿度、气压五个传感器,体积小巧(接近一罐可乐大小),支持I2C/UART通信,可兼容行空板、Arduino等主流开源硬件。搭配行空板自带的SIoT物联网平台和Mind+可视化面板,可以轻松搭建一套完整的气象数据采集、传输与可视化展示系统。
       本项目在此基础上进一步升级:以15.6英寸IPS触摸大屏作为显示终端,以LattePanda Alpha 800s作为可视化面板的主控,配合行空板M10云雀气象仪组成完整的气象监测系统,并加入了LED提醒和风扇散热等执行功能,使系统兼具数据采集、远程监控与物理交互能力。
【硬件清单】

硬件
型号/SKU
用途
15.6英寸触摸屏DFR1045气象数据大屏显示,1920×1080 IPS Type-C电容触控
行空板M10UNIHIKER气象数据采集与物联网网关
云雀气象仪EDU0157采集风速、风向、温度、湿度、气压五要素
行空板双路电机驱动I/O扩展板DFR1136扩展行空板控制LED灯和风扇
LattePanda Alpha 800s运行Mind+可视化面板的主控
LattePanda UPS电源扩展板DFR0682为LattePanda提供不间断供电
2路18650电池座DFR0969为行空板M10供电
7.4V锂电池为扩展板供电

【系统架构】
大屏可视化校园气象站图7

       整个系统采用“端-云-屏”三层架构:
       1.感知层(端) :行空板M10通过I2C接口连接云雀气象仪,定时读取气象五要素数据。
大屏可视化校园气象站图8

       2.传输层(云) :行空板M10通过自带的SIoT物联网平台,将气象数据以MQTT协议发布到局域网内的指定Topic。
大屏可视化校园气象站图3

       3.呈现层(屏) :LattePanda Alpha 800s上的Mind+可视化面板订阅SIoT的Topic,实时接收数据并以图表、仪表盘等形式在大屏上展示。
大屏可视化校园气象站图4

大屏可视化校园气象站图5


大屏可视化校园气象站图6

       同时,系统支持反向控制:通过可视化面板上的按钮,可以向SIoT发送控制指令,行空板订阅相应Topic后执行LED闪烁或风扇启停等操作。
大屏可视化校园气象站图1

      行空板端:数据采集与发布
      行空板M10作为数据采集的核心,运行以下Python程序:
  1. #  -*- coding: UTF-8 -*-
  2. #  MindPlus V2
  3. #  python-block
  4. import sys
  5. import siot
  6. import time
  7. from unihiker import GUI
  8. from shield import SHIELD
  9. from DFRobot_Atmospherlum import *
  10. from pinpong.extension.unihiker import *
  11. from pinpong.board import Board, Pin, NeoPixel, IRRemote, IRRecv, Servo
  12. # 变量
  13. ShiJian = 0
  14. ShiJian2 = 0
  15. FengXiang = 0
  16. # 事件回调函数
  17. def on_message_callback(client, userdata, msg):
  18.        print(msg.topic)
  19.        if (msg.topic=="siot/light"):
  20.               if (msg.payload.decode()=="o"):
复制代码

      代码要点解析:
  • 云雀气象仪初始化:通过I2C地址0x42与气象仪通信,循环检测直到连接成功。
  • 数据采集频率:每3秒采集一次,兼顾实时性与系统负载。
  • 风向中文化:将英文风向缩写(N/S/E/W/NW/SW/NE)转换为中文显示。
  • SIoT发布:使用siot.publish_save()将数据发布到对应的Topic,LattePanda端通过订阅这些Topic获取数据。

      LattePanda端:大屏可视化
      LattePanda Alpha 800s搭载Intel Core m3-8100Y处理器,性能足以流畅运行Mind+ 2.0的可视化面板。配合15.6英寸1920×1080 IPS触摸屏,可以设计出信息丰富、视觉效果出色的气象仪表盘。
【可视化面板设计步骤】
       新建项目:在Mind+中点击“可视化面板”按钮,新建空白项目,分辨率为1920×1080。
       连接SIoT:配置服务器地址为行空板的IP(本例为192.168.31.116),端口1883,用户名siot,密码dfrobot。
       设计数据组件:
              温度:使用仪表盘或折线图组件,订阅Topic siot/Temp
              湿度:使用进度条或仪表盘组件,订阅Topic siot/Humi
              气压:使用数字显示器或折线图组件,订阅Topic siot/Pressure
              风速:使用仪表盘组件,订阅Topic siot/Speed
              风向:使用文本或图标组件,订阅Topic siot/Dir
       布局优化:深色主题配合高亮数据展示,充分利用大屏空间,使气象数据一目了然。
       反向控制:LED与风扇
       系统的另一大亮点是通过可视化面板上的按钮反向控制硬件。行空板扩展板上集成了3个WS2812 RGB灯和两路直流电机驱动,可用于:
  • LED闪烁提醒:当气象条件恶劣(如风速过大)时,可通过点击面板按钮远程控制三颗LED灯闪烁,提醒周边行人注意避让。
  • 风扇散热:连接在扩展板电机接口上的风扇,可在设备温度过高时远程启动降温。
    大屏可视化校园气象站图2

       行空板端通过订阅以下Topic实现控制:
  1. def on_message_callback(client, userdata, msg):
  2.     if (msg.topic == "siot/light"):
  3.         if (msg.payload.decode() == "o"):
复制代码
       同时在主循环中,三颗RGB灯以0.2秒的间隔循环旋转,形成动态呼吸效果:
  1. if ((time.time() - ShiJian2) > 0.2):
  2.     ShiJian2 = time.time()
  3.     RGB.rotate(1)  # RGB灯循环旋转
复制代码

【电源方案:移动性升级】
       本项目在供电方面充分考虑了户外部署的灵活性:
  • 行空板M10:使用2路18650电池座供电,支持5V/2A输出,具备过充过放保护功能。
  • 扩展板:使用7.4V锂电池独立供电,确保电机驱动有充足的电力。
  • LattePanda:当前使用支持PD协议的电源线供电,后续将升级为LattePanda Alpha & Delta UPS电源扩展板。该UPS使用3节18650电池,支持Type-C PD和DC圆口两种供电方式,外部供电中断时可自动切换到电池供电,续航最长可达8小时。更重要的是,它支持HID-UPS协议,可在操作系统中被识别为电池设备,实现电源管理和自动关机功能。

【演示视频】

项目亮点与总结】
       亮点一:大屏可视化,数据一目了然
       15.6英寸IPS触摸大屏搭配Mind+可视化面板,将枯燥的气象数据转化为直观的图表、仪表盘和动态展示,极大地提升了数据感知的效率和体验。
       亮点二:物联网架构,灵活可扩展
       基于SIoT+MQTT的物联网架构,使得数据采集端(行空板)和展示端(LattePanda)解耦。未来可以轻松接入更多传感器或增加多个展示终端。
       亮点三:双向交互,不止于展示
       通过可视化面板的按钮反向控制LED和风扇,实现了从“只看”到“可控”的升级,让系统具备了物理交互能力。
       亮点四:移动部署,户外可用
       18650电池供电方案加上即将到位的LattePanda UPS,使得整套系统可以脱离固定电源在户外长时间运行,真正成为“可移动的校园气象站”。
       本项目完整展示了从传感器数据采集、物联网传输到可视化大屏展示的全链路物联网实践,既契合信息科技新课标的教学要求,又具备实际的应用价值。希望本文能为同样对气象观测和物联网项目感兴趣的创客朋友们提供一些参考和启发。


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

本版积分规则

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

硬件清单

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

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

mail