Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread
瑞萨_RA6M4
基于RT-Thread+RA6M4+W5500物联网应用(基于阿里云平台)
发布于 2022-07-13 10:36:35 浏览:908
订阅该版
[tocm] # **应用背景** 随着科技的进步,物联网已经逐步的走进了家庭。通过物联网平台监控了解家中电气设备的状况成为一种趋势。这次应用就给大家带来了一个物联网的应用平台。 # 功能实现 通过瑞萨的开发板,我们把开发板上的IO(LED灯,按键)、光感传感器以及模拟量的信息。通过MQTT上传到阿里云平台。这样我们登录阿里云平台时,就可以了解以上设备的状况。 # 整体框架 ![整体框架.PNG](https://oss-club.rt-thread.org/uploads/20220722/bdaf38305258de69ae97534192fbed09.png.webp "整体框架.PNG") # 硬件 CPK-RA6M4 MCU评估板 是瑞萨电子推出的基于ARM Cortex M33内核芯片。在此增加了连接网络的RW007和W5500模块。使其方便连接互联网。 ![CPK-RA6M4硬件框图.PNG](https://oss-club.rt-thread.org/uploads/20220713/44c55dfe2e41cbf2faee672a3880d593.png.webp "CPK-RA6M4硬件框图.PNG") # 软件框架 基于RT-THREAD STUDIO 工程。 软件框架及使用rt-thread资源如下图: ![软件框架.PNG](https://oss-club.rt-thread.org/uploads/20220729/1cd7bd527d930434e27befe11ce0fdb8.png.webp "软件框架.PNG") ![软件框架软件包.PNG](https://oss-club.rt-thread.org/uploads/20220729/12da470ecaed8f467b4d23c99eea38c6.png "软件框架软件包.PNG") ![软件框架组件和服务层.PNG](https://oss-club.rt-thread.org/uploads/20220729/7208859a2ebe2bc64968840063158f2d.png.webp "软件框架组件和服务层.PNG") ![软件框架底层驱动.PNG](https://oss-club.rt-thread.org/uploads/20220729/f8f60f2a948d59b25495dc09817f1b41.png.webp "软件框架底层驱动.PNG") 占用RA6M4板上资源如下图: ![软件框架硬件配置.PNG](https://oss-club.rt-thread.org/uploads/20220729/a94eb92df0a935ae282d28f13f9d5afb.png.webp "软件框架硬件配置.PNG") # 问题处理 ## 在配置W5500和连接阿里云时遇到的问题及解决方法。 项目是通过W5500连接阿里云IOT。实现MQTT的功能。因同时使用了RW007wifi模块,通过SPI1连接的。所以准备实现有线无线双上网。于是就准备利用SPI0与W5500通讯。 在配置SPI0时有几个地方要特别注意。 1 SPI MODE 选项要改成`SPI OPERATION`默认是`Clock Synchronous Operation` 2 取消spi0 的SSLA0 配置改为在Pins中设置。P205设成`Output mode(Initial High)` 3 Callback 回调函数改成`spi0_callback` 4 W5500的中断引脚选择PMODA上的P06。需要注意的是在配置IRQ11时`Trigger`默认为`Rising` 要改成`Falling` 以上配置完成后可以初始化W5500。但会出现`spi0 write failed`错误。 **仔细对照SPI1的设置都没有问题。** 后来经过分析发现在RT-THREAD setting中SPI选项中没有选择DTC,但SPI0中默认的是`Enable Support for using TDC--- Enabled`。 把这个选项改成`Disabled`驱动成功。 同样在SPI1中设置成Enabled 是没有问题的。这点一定要注意!!! 至此W5500已经可以正常联网。但在连接阿里云的IOT会出现`hard fault on thread: tshell`和`bus fault:`错误报警。 经查找定位到`wizchip`_`dns.`c中`int16_t dns_makequery(uint16_t op, char * name, uint8_t * buf, uint16_t len)` 函数,监控分析后发现`char sname[MAXCNAME];`变量数值太小。 阿里云iot网址要5-60个字符。造成cp错误`error:Cannot access memory at address xxxxxxx` 更改wizchip_dns.h中的为`#define MAX_DOMAIN_NAME 256`原来是16对于太长的网址会造成内存地址错误。 ## ADC连续读取 瑞萨配置软件中ADC采样模式Mode默认是`Single Scan`这样要连续采样结果就是第一次正常,后面的值就为0了。需要把Mode修改为`Continuous Scan`,才可以循环连续读取。 # 整体图片 ![整体图片.jpg](https://oss-club.rt-thread.org/uploads/20220729/f4a2fc1a392c4260b9ef2194ca7ef234.jpg.webp "整体图片.jpg") 阿里云数据变化对比 ![light31.PNG](https://oss-club.rt-thread.org/uploads/20220729/327da2abf4ab816e341f935cc92b6620.png "light31.PNG") ![light999.PNG](https://oss-club.rt-thread.org/uploads/20220729/0bbc0e9e420ca3948aa7f1968bcddd7d.png "light999.PNG") ![阿里云light31.PNG](https://oss-club.rt-thread.org/uploads/20220729/c97abc0f46445e6bcadac615f345a298.png "阿里云light31.PNG") ![阿里云light999.PNG](https://oss-club.rt-thread.org/uploads/20220729/34812cf4232dc1b449ad9fa5adf036ae.png "阿里云light999.PNG") # 源码工程文件 https://gitee.com/plcprosunway/rt-thread-ra6m4 # 视频资料 https://www.bilibili.com/video/BV1t3411G7rn/?vd_source=d7cf337e889a6fabab42a74bc87c5601 https://www.bilibili.com/video/BV1xt4y1H7AM/?vd_source=d7cf337e889a6fabab42a74bc87c5601 https://www.bilibili.com/video/BV16S4y1t7jG/?vd_source=d7cf337e889a6fabab42a74bc87c5601 https://www.bilibili.com/video/BV1DT411j7Px/?vd_source=d7cf337e889a6fabab42a74bc87c5601 https://www.bilibili.com/video/BV1Pa411S7V3/?vd_source=d7cf337e889a6fabab42a74bc87c5601
4
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
plcpro
这家伙很懒,什么也没写!
文章
2
回答
0
被采纳
0
关注TA
发私信
相关文章
1
RT-THREAD在STM32H747平台上移植lwip
2
正点原子miniSTM32开发板读写sdcard
3
反馈rtt串口驱动对低功耗串口lpuart1不兼容的问题
4
Keil MDK 移植 RT-Thread Nano
5
RT1061/1052 带 RTT + LWIP和LPSPI,有什么坑要注意吗?
6
RT thread HID 如何收发数据
7
求一份基于RTT系统封装好的STM32F1系列的FLASH操作程序
8
RT-Thread修改项目名称之后不能下载
9
rt-studio编译c++
10
有木有移植rt-thread(nano)到riscv 32位MCU上
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
YZRD
2
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部