硬件介绍
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://forum.arduino.cc/t/no-dfu-capable-usb-device-available/1163382