开发者作品|基于涂鸦三明治开发板和 MCU SDK 开发智能照明(Smart RedLight)

更新时间Invalid date

概况

我设计 Smart RedLight 的初衷是为了给大学校园宿舍提供一种智能的包含照明、控制、以及感知统计的产品,包含的功能列举为:

  • 手机 APP 控制 RGB 氛围灯
  • 手机 APP 控制电源开关
  • 手机 APP 控制采集温湿度信息并显示,还可以支持阈值报警
  • 手机 APP 显示统计的能耗信息

本 Demo 内容均为涂鸦开发者 @杨永胜 提供,经其授权编辑发布。

物料清单

硬件 (6)软件 (1)
  • 涂鸦三明治 Wi-Fi MCU 通信板(WB3S)

    数量:1

    查看详情

  • 涂鸦三明治(PWM + IIC)照明功能板

    数量:1

    照明开发板(PWM+I2C)可实现五路照明功能,带有暖光,冷白及 RGB 灯珠和相应的控制芯片。查看详情

  • 涂鸦三明治插座功能板

    数量:1

    一款支持计量、输出断电的多功能通断器,输入 AC 220 V。查看详情

  • 涂鸦三明治温湿度传感功能板

    数量:1

    功能板主要包含一颗 SENSIRION 温湿度传感器 SHT30-DIS,通过 I2C 协议进行通信,I2C 时钟频率最高支持 1MHz。查看详情

  • 涂鸦三明治直流供电电源板

    数量:1

    给涂鸦三明治其余相关的部件供电。查看详情

  • ART-Pi

    数量:1

    RT-Thread 团队为嵌入式软件工程师、开源创客设计的一款极具扩展功能的 DIY 开源硬件。致力打造一个开源的软硬件平台。查看详情

步骤

作品框图

  • 作品框架:

    图片12.png

  • 数据流向:

    图片13.png

  • 硬件框图:

    图片14.png

硬件开发过程

RedLight使用到了五种涂鸦三明治开发板:

  • 涂鸦三明治(PWM + IIC)照明功能板
  • Wi-Fi MCU 通信板
  • 涂鸦三明治插座功能板
  • 涂鸦三明治温湿度传感功能板
  • 涂鸦三明治直流供电电源板

主控部分使用了 RT-Thread 提供的开源板卡 ART-Pi:

图片15.png

组装后的效果为:

图片16.png

还有一个电源板没有入镜:

图片17.png

在涂鸦 IoT 平台创建产品

此次作品使用的涂鸦智能 MCU SDK 低代码开发接入方式接入。

  1. 涂鸦 IoT 平台 上创建产品时,可以使用 自定义方案 的吸顶灯的模型。

  2. 添加产品功能时,一共创建了7个DP,包括标准吸顶灯的 2 个,以及自己添加的 5 个。

    image.png

  3. 考虑到有插座控制和电量、温湿度值的显示,可以自定义设备面板。

    image.png

  4. 硬件开发 阶段,选择 WB3S 云模组,下载 MCU SDK。

    图片21.png

嵌入式软件开发过程

整个代码开发是在 Linux 下完成,代码基于 RT-Thread 嵌入式操作系统,相关的源码路径请参考 Gitee 仓库

整个代码的开发,根据开发顺序罗列为:

  • SH3tx 传感器功能开发
  • RGB 驱动代码编写
  • 串口 SDK 代码移植
  • 电能统计功能开发
  • Wi-Fi 配网初始化

代码提交截图:

图片22.png

我重点记录了串口 SDK 的移植工作,大致流程是将 SDK 的代码添加到工程中,根据实际的编译提示去完成移植。请注意,要从 RT-Thread 中提前截取串口收到的数据交给涂鸦 MCU SDK 处理。

图片23.png

串口发送这里使用的中断发送数据:

图片24.png

图片25.png

将相关的函数关联到涂鸦 MCU SDK 的 protocol.c 中。

图片26.png

初始化及运行 SDK

在创建的用户线程循环执行函数 wifi_uart_service 处理 Wi-Fi MCU 开发板模组接收的数据:

图片27.png

成品视频

小结

涂鸦物联网开发平台为开发者提供了便捷的 IoT 开发工具与服务,助力开发者更高效的完成设备接入,并为开发者提供物联网应用开发及场景服务能力。