Funpack3_5 Arduino UNO R4 点灯
该项目使用了ArduinoUNOR4,实现了点灯的设计,它的主要功能为:物联网 点灯。
标签
嵌入式系统
Arduino
Funpack活动
Argon
更新2025-01-13
75

硬件介绍

Arduino UNO R4 WiFi 将瑞萨电子的 RA4M1 微处理器与乐鑫的 ESP32-S3 相结合,为创客打造了一款一体化工具,具有增强的处理能力和多样化的全新外设。凭借其内置的 Wi-Fi® 和蓝牙®功能,UNO R4 WiFi 使制造商能够探索无限的创意可能性。此外,这款多功能板拥有方便的板载 12x8 LED 矩阵和 Qwiic 连接器,为各个级别的创客提供了无与伦比的灵活性和可能性。

*特性:*

  • 48MHz Arm Cortex-M4
  • 256kB 闪存以及 32kB SRAM
  • 与 EEPROM 存储数据功能类似的 8kB 数据闪存
  • 可从 40 引脚封装扩展至 100 引脚封装
  • 段式 LCD 控制器
  • 14 位 A/D 转换器
  • 电容式触摸传感单元
  • 全速 USB 2.0
  • CAN 2.0B
  • SCI(UART、简单 SPI、简单 I2C)
  • SPI/ I2C 多主机接口

本期任务

点灯!通过网络连接到智能云端,尝试将设备模拟成可以控制的灯,远程端发送指令,将灯光开启关闭,或调整灯光的亮度,0到90%时,矩阵亮起逐渐变大的范围,90%以上时,灯板显示出太阳的图标

功能剖析和设计思路

Matrix 矩阵像素灯

通过MCU IO进行高速的行列扫描,来达到视觉暂留刷屏显示的效果。

Blinker 点灯平台

平台介绍

点灯是一套专业且易用物联网解决方案,提供了服务器、应用、设备端sdk支持。 基于高性能异步框架开发的服务器端可以承载大量设备连接,让设备所有者方便的进行设备管理;简单便捷的应用配合多设备支持的sdk,可以让开发者在3分钟内实现设备的接入。 点灯服务有三个版本,社区版开源且免费,让大家可以体验到点灯方案的特点和优势;云服务版提供更多增值服务与功能,且有效降低客户的项目实施成本,让客户更快的进行物联网升级;商业版可进行独立部署,可以满足客户更多样的需求;

接入方式

官方提供了较为精简的基于MQTT和HTTP设备接入方式,只需要通过HTTP/HTTPS的形式获取到设备Token,就可以通过标准的MQTT接入平台。


相关接口

设备Token 获取(HTTP)

GET https://iot.diandeng.tech/api/v1/user/device/diy/auth?authKey={authKey}

应答模版:

{
   "message": 1000,
   "detail": {
       "deviceName": "A3683198DAFJ9P0WOSRD19WT", //MQTT 登陆 clientId
       "iotId": "A3683198DAFJ9P0WOSRD19WT", //MQTT 登陆 username
       "iotToken": "bngMJZSjGfOVVL1wS5N9htPZ9svmUJrg", //MQTT 登陆 password
       "productKey": "blinker",
       "broker": "blinker",
       "uuid": "a11b54f1c73311ef83605254", //MQTT Topic 相应的字段
       "host": "mqtt://broker.diandeng.tech", //MQTT 域名
       "port": "1883", //MQTT 端口号
       "realDeviceName": "A3683198DAFJ9P0WOSRD19WT"
  }
}


数据下发(MQTT)

设备向Topic发布信息后,broker会获取其中的toDevice信息,并将该信息转发到指定设备

TOPIC /device/{deviceName}/s

消息主体:

{"toDevice":"xxxxxxxx","data":"abcdefg"}
toDevice:目标设备
data:承载数据
举例:
{"toDevice":"a11b54f1c73311ef83605254","data":{"max-num":{"val":12}}}


数据上报(MQTT)

broker转发来的数据,会以fromDevice注明消息的来源设备

TOPIC /device/{deviceName}/r

消息主体:

{"fromDevice":"xxxxxxxx","data":"abcdefg"}

效果展示

【视频】


问题分析和解决


Blinker 平台提示设备离线

Blinker 平台 使用MQTT进行数据上报和下发 ,因此需要定时进行通讯,否则超时平台会强制将设备离线。上报方法是定时上报如下的Topic。

{"toDevice":"a11b54f1c73311ef83605254","data":{"state":"online","timer":"000","version":"0.1.0"}}


固件恢复方法

esp32 固件恢复方法

https://github.com/arduino/uno-r4-wifi-usb-bridge/releases/tag/0.4.1

RA MCU 固件恢复

https://github.com/arduino/ArduinoCore-renesas/tree/main/bootloaders/UNO_R4#rocket-how-to-load-bootloader-uno-r4-wifi

https://forum.arduino.cc/t/no-dfu-capable-usb-device-available/1163382








附件下载
http.zip
团队介绍
团队成员
Argon
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号