嵌入式技术论坛
直播中

大菠萝Alpha

3年用户 666经验值
擅长:嵌入式技术
私信 关注
[经验]

【英飞凌PSoC 6 RTT开发板试用】以搭积木方式实现简单的互联型家庭网关

本文基于RT-Studio,采用搭积木的方式实现一个简单的互联型家庭网关,采集各类传感器数据并传输至云端。硬件除了Psoc6-evaluationkit-062S2开发板之外,还有一块RW007 WIFI模块,本来斥巨资购买的AHT10温湿度传感器已经到货,但是由于RW007把Psoc6-evaluationkit-062S2开发板全部的pin都用了,so,放弃真实的数据采集,测试传输几个数据到云端。

一、硬件环境

RW007 是由上海睿赛德电子科技有限公司开发的高速 WiFi 模块,模块基于 Realtek RTL8710BN(Ameba Z 系列) WIFI SOC,使用 SPI/UART 与主机通信 ,支持 IEEE 802.11b/g/n 网络、 WEP/WPA/WPA2 加密方式和 STA 和 AP 模式。

主要特性

1.Cortex-M4 高性能 MCU
2.可自由选择的 AT SPI 双模式,工作模式可由主机配置
3.SPI 时钟高达 30Mbps,UART 波特率高达 6Mbps。
4.SPI 模式下有效以太网带宽高达上传 1MBytes/s,下载 1MBytes/s
5.内置 Bootloader,支持固件升级、安全固件功能。
6.支持快速连接、airkiss 配网
7.支持存储多达 5 条连接信息
RW007.png

Psoc6-evaluationkit-062S2是 RT-Thread 联合英飞凌推出的一款集成32位双核CPU子系统( ARM Cortex-M4 和 ARM Cortex-M0)的开发板,其具有单周期乘法的150-MHz Arm Cortex-M4F CPU (浮点和存储器保护单元),100-MHz Cortex M0+ CPU,带单周期乘法和MPU,可以充分发挥 PSoC6 双核芯片性能。

image.png

二、工程配置

基于RT-Studio创建Psoc6-evaluationkit-062S2的RT-Thread工程就不介绍了,毕竟有现成的Psoc6-evaluationkit-062S2 BSP。

(一)wifi配置

PC1.png

根据Psoc6-evaluationkit-062S2的电路图,知道用的是spi0,所以硬件配置中打开spi0,并且配置好跟rw007对接的针脚,输入SSID和password即可。

(二)onenet配置

OneNET 软件包是 RT-Thread 针对 OneNET 平台连接做的的适配,通过这个软件包,可以让设备在 RT-Thread 上非常方便的连接 OneNet 平台,完成数据的发送、接收、设备的注册和控制等功能。

OneNET 软件包依赖paho-mqtt、webclient和cJSON软件包,所以在RT-Studio中选择OneNET 软件包后自动加上依赖包。
PC2.png

OneNET 软件包配置主要是填入OneNET设备信息和鉴权信息。
PC3.png

上面要填的信息来自于OneNET设备页面,直接copy即可。
PC4.png

(三)编译

配置好后保存,然后编译,感觉flash占用有点大。

make -j8 all 
arm-none-eabi-size --format=berkeley "rtthread.elf"
   text	   data	    bss	    dec	    hex	filename
1309004	     48	  60816	1369868	 14e70c	rtthread.elf

              Used Size(B)           Used Size(KB)
Flash:        1309052 B             1278.37 KB
RAM:            60864 B               59.44 KB

22:08:25 Build Finished. 0 errors, 0 warnings. (took 1s.376ms)

三、测试

固件烧入完成后,reset Psoc6-evaluationkit-062S2。
PC5.png

RW007也起来了,接下来手动加入WiFi。
PC6.png

网络连上后,onenet注册起来。

msh />onenet_mqtt_init
[D/onenet.mqtt] Enter mqtt_connect_callback!
[D/mqtt] ipv4 address port: 6002
[D/mqtt] HOST = '183.230.40.39'
[I/onenet.mqtt] RT-Thread OneNET package(V1.0.0) initialize success.
msh />[I/mqtt] MQTT server connect success.
[D/onenet.mqtt] Enter mqtt_online_callback!

刚好OneNET 软件包里有个上传本地数据的demo,那就跑起来。

msh />onenet_upload_cycle
[D/onenet.sample] buffer : {"temperature":52}
msh />[D/onenet.sample] buffer : {"temperature":56}
[D/onenet.sample] buffer : {"temperature":56}
[D/onenet.sample] buffer : {"temperature":19}
[D/onenet.sample] buffer : {"temperature":11}
[D/onenet.sample] buffer : {"temperature":51}
[D/onenet.sample] buffer : {"temperature":43}
[D/onenet.sample] buffer : {"temperature":5}
[D/onenet.sample] buffer : {"temperature":8}
[D/onenet.sample] buffer : {"temperature":93}
[D/onenet.sample] buffer : {"temperature":30}

此时OneNET的数据流如下:
PC7.png

回到Psoc6-evaluationkit-062S2开发板,看看系统状态,1M的SRAM就是爽,随便用。

msh />free
total    : 970000
used     : 31232
maximum  : 34240
available: 938768

ps看看进程。
PC8.png

更多回帖

发帖
×
20
完善资料,
赚取积分