RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践

这篇具有很好参考价值的文章主要介绍了RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread
不用放大了, 我在包里找到张不小的……
RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

以太网HMI线下培训-环境准备

这是社群的文档:【腾讯文档】以太网线下培训(HMI-Board)
https://docs.qq.com/doc/DY0FIWFVuTEpORlNn

先介绍周六的培训是啥,然后再介绍一下要准备的一些东西


R A 6 M 3 H M I − B o a r d \textcolor{#4183c4}{RA6M3 HMI-Board} RA6M3HMIBoard

本次培训将使用,由RT-Thread与瑞萨电子及LVGL官方合作推出的一款高性价比图形评估套件。它采用了瑞萨电子的高性能RA6M3芯片,具备2D的图形加速和JPEG编解码功能。配合RT-Thread软件生态系统,可帮助开发人员轻松创建GUI智能硬件产品。

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

这是官方公众号里的:

1月20号,RT-Thread 瑞萨电子共同举办 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践线下培训。本期培训, 开发者将了解以太网在嵌入式行业的应用,上手LVGL GUI图形界面开发,

从0到1的去学习如何进行智能家居网络开发。同时我们还特设现场交流环节,RT-Thread及瑞萨电子资深技术工程师将现场与开发者交流、答疑解惑。

环境准备

●电脑(需要带网口/自备带网口的拓展坞)

好像我的轻薄本不太行,要看看之前的装备了

●Win10/11 系统

开发工具

●RT-Thread Studio/Keil MDK5(固件开发、编译)

R T − T h r e a d S t u d i o 开发工具 \textcolor{#4183c4}{RT-Thread Studio开发工具} RTThreadStudio开发工具

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread
S q u a r e L i n e S t u d i o 图形工具 \textcolor{#4183c4}{SquareLine Studio图形工具} SquareLineStudio图形工具
RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

资料链接

●RT-Thread Studio下载链接:

RT-Thread Studio下载链接

●SquareLine Studio下载链接:

SquareLine Studio 下载链接

●MQTTX 下载链接: (https://packages.emqx.net/MQTTX/v1.9.6/MQTTX-Setup-1.9.6-x64.exe)

MQTTX官网
RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread
RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

其他的我先去看看:

安装好RT-Thread Studio 后我们需要安装HMI-Board的开发板支持包:
RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

接下来安装烧写工具:
RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

确认工具链5.4.1版本已安装(没安装请按照下图点击后安装):

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread


HMI-Board 以太网数据监视器

Why Rt-Thread

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

  • 标准
  • Nano
  • smart

标准:

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread
MQTT

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

GUI

LVGL 嵌入式图形库

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

Squareline

现场实践中……

HMI-Board以太网数据监视器
开发工具
●RT-Thread Studio/Keil MDK5(固件开发、编译)
●SquareLine Studio(LVGL UI设计工具)
资料链接
●RT-Thread Studio下载链接:
https://download_redirect.rt-thread.org/download/studio/RT-Thread_Studio_2.2.7-setup-x86_64.exe
●SquareLine Studio下载链接:https://static.squareline.io/downloads/SquareLine_Studio_Windows_v1_3_2.zip
●MQTTX 下载链接:
https://packages.emqx.net/MQTTX/v1.9.6/MQTTX-Setup-1.9.6-x64.exe
●项目代码链接:
https://gitee.com/Rbb666/hmi-board-eth-monitor

实践环节一:以太网外设的使用

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread
安装好RT-Thread Studio 后我们需要安装HMI-Board的开发板支持包:

接下来安装烧写工具:

创建 HMI-Board 模板工程:

在 RT-Thread Setting 中的Hardware中使能 Ethernet (以太网)外设:

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

然后ctrl+s 保存配置到工程,接下来点击编译选项进行工程的编译:

最后点击下载选项,烧录固件到开发板中:

电脑端设置
1.打开控制面板

2.进入:控制面板→网络和 Internet→网络和共享中心

3.选择当前电脑连接的wi-fi

4.选择属性,点击允许其他网络用户通过Internet连接

5.!!!复位下开发板,然后进行下面步骤 !!!

查看网络
烧录好固件后,打开串口终端,可以输入ifconfig命令查看是否获取到IP地址。
获取到IP地址后,可以输入 ping www.baidu.com 测试网络是否可以用。
RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

实践环节二:MQTT 软件包的使用

基于刚刚创建好的示例工程:
在 RT-Thread Setting 中搜索 Kawaii-mqtt 软件包,并使能mqtt test功能,
然后ctrl+s 拉取软件包到工程内:

示例代码:
将下面代码粘贴覆盖 packages/kawaii-mqtt-latest/test/test.c

实在不行是可以手动拖的。

#include <stdio.h>
#include <stdint.h>
#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>
#include "mqttclient.h"

static void sub_topic_handle1(void* client, message_data_t* msg)
{
    (void) client;
    KAWAII_MQTT_LOG_I("-----------------------------------------------------------------------------------");
    KAWAII_MQTT_LOG_I("%s:%d %s()...\ntopic: %s\nmessage:%s", __FILE__, __LINE__, __FUNCTION__, msg->topic_name, (char*)msg->message->payload);
    KAWAII_MQTT_LOG_I("-----------------------------------------------------------------------------------");
}

static int mqtt_publish_handle1(mqtt_client_t *client)
{
    mqtt_message_t msg;
    memset(&msg, 0, sizeof(msg));

    msg.qos = QOS0;
    msg.payload = (void *)"this is a kawaii mqtt test ...";

    return mqtt_publish(client, "pub5323", &msg);
}

static char cid[64] = { 0 };
static void kawaii_mqtt_demo(void *parameter)
{
    mqtt_client_t *client = NULL;
    
    rt_thread_delay(6000);
    
    mqtt_log_init();

    client = mqtt_lease();

    rt_snprintf(cid, sizeof(cid), "rtthread-5323", rt_tick_get());

    mqtt_set_host(client, "broker.emqx.io");
    mqtt_set_port(client, "1883");
    mqtt_set_user_name(client, "RT-Thread");
    mqtt_set_password(client, "012345678");
    mqtt_set_client_id(client, cid);
    mqtt_set_clean_session(client, 1);

    KAWAII_MQTT_LOG_I("The ID of the Kawaii client is: %s ",cid);

    mqtt_connect(client);
    
    mqtt_subscribe(client, "sub5323", QOS0, sub_topic_handle1);
    
    while (1) {
        mqtt_publish_handle1(client);
                               
        mqtt_sleep_ms(4 * 1000);
    }
}

int ka_mqtt(void)
{
    rt_thread_t tid_mqtt;

    tid_mqtt = rt_thread_create("kawaii_demo", kawaii_mqtt_demo, RT_NULL, 2048, 17, 10);
    if (tid_mqtt == RT_NULL) {
        return -RT_ERROR;
    }

    rt_thread_startup(tid_mqtt);

    return RT_EOK;
}
MSH_CMD_EXPORT(ka_mqtt, Kawaii MQTT client test program);

编译,烧录固件到开发板中,使用 ifconfig 命令查看是否获取到IP地址:

输入 ka_mqtt 命令,等待连接MQTT服务器成功:

上位机软件配置
安装软件
安装MQTTX-Setup-1.9.6-x64.exe 软件
导入配置
打开MQTTX软件,按照下图选择导入tools/mqtt_tool 目录下的:RT-Threads.json 文件

注意:其中Client ID需要修改为和其他人不同的数值,需要点击右侧的图标

注意:订阅和发布的topic需要和开发板上的topic保持一致(sub/pub+手机号后四位)

{
“temp”: 23,
“humi”: 20,
“lux”: 120
}

使用MQTT工具向开发板订阅的Topic发送数据:
开发板串口终端接收到此消息,并打印:

实践环节三:LVGL 以太网数据监视器

导入工程有以下两种方式,请任选其一即可(推荐方式一):
方式一:使用RT-Thread Studio

  • 1、打开RT-Thread Studio 选择导入:

  • 2、选择导入RT-Thread Studio项目到工作空间

  • 3、选择fimeware目录下进行导入

  • 4、点击编译按钮,等待编译完成

  • 5、烧录固件

方式二:使用Keil MDK5

  • 1、双击project.uvprojx 文件打开项目

  • 2、点击编译按钮,等待编译完成

  • 3、点击下载按钮进行固件的烧录

Demo使用介绍
克隆该https://gitee.com/Rbb666/hmi-board-eth-monitor仓库,进行

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践,RT-Thread,智能家居,网络,php,stm32,物联网,MQTTX,Rt-Thread

实践环节四:使用Squareline Studio开发UI

创建LVGL工程,配置如下:

UI项目资源导出设置:

选择ui文件导出路径:

修改以下选项为 lvgl.h

导出UI文件,选择hmi-board-lvgl\board\lvgl\demo\squareline路径:

点击导出,即可导出LVGL文件:

QA
问题1:

解决办法:

node-red 可视化界面(选做)
Node-RED是一个物联网编程工具,它以新颖和有趣的方式,将硬件设备、应用接口和在线服务连接到一起。
它不仅提供了一个基于浏览器的编程环境和丰富的节点类型,使流程的创建变得非常容易,而且还为流程的运行提供了运行环境,实现了一键部署的能力。
安装node-red
Windows 环境:
1、安装nodejs服务:
安装tools/node-red 目录下的node-v18.18.1-x64.msi软件。
2、安装node-red服务:打开powershell,输入以下命令
npm install -g --unsafe-perm node-red

3、在终端输入node-red,打开服务

4、打开http://127.0.0.1:1880/ 网址,即可进入node-red界面
5、进入右上角的节点管理

6、安装插件:控制板中的搜索框中输入dashboard,安装对应插件:

导入配置
导入tools/node-red 目录下的flows.json文件:

进行节点的导入:

导入成功后见下图:

使用方式
配置订阅和发布的topic:

全部配置好后,点击右上角的部署:

在dashboard界面点击可以进入web界面:

或者进入网址:http://127.0.0.1:1880/ui/

Deubg窗口:文章来源地址https://www.toymoban.com/news/detail-811162.html

到了这里,关于RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [嵌入式系统-25]:RT-Thread -12- 内核组件编程接口 - 网络组件 - HTTP编程

    目录 一、HTTP编程概述 1.1 概述 1.2 HTTP 服务器和 HTTP 客户端 二、HTTP Client 2.1 如何配置HTTP Client 2.2 HTTP Client代码实例1:socket发送http报文 2.3 HTTP Client代码实例2:httpc_xx接口收发HTTP报文 2.3.1 接口函数描述 2.3.2 代码实例:httpc_get 2.3.3 代码实例:httpc_post 2.3.4 代码实例:httpc

    2024年02月19日
    浏览(35)
  • RT-Thread 1. GD32移植RT-Thread Nano

    1. RT-Thread Nano 下载 RT-Thread Nano 是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实

    2024年02月05日
    浏览(35)
  • [嵌入式系统-24]:RT-Thread -11- 内核组件编程接口 - 网络组件 - TCP/UDP Socket编程

    目录 一、RT-Thread网络组件 1.1 概述 1.2 RT-Thread支持的网络协议栈 1.3 RT-Thread如何选择不同的网络协议栈 二、Socket编程 2.1 概述 2.2 UDP socket编程 2.3 TCP socket编程 2.4 TCP socket收发数据 RT-Thread 是一个开源的嵌入式实时操作系统(RTOS),它提供了丰富的网络组件用于网络通信。 RT-

    2024年03月12日
    浏览(48)
  • 【STM32&RT-Thread零基础入门】 2. 新建RT-Thread项目

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具 RT-Thread的全称是Real Time Thread,顾名思义,它是一个嵌入式实时多线程操作系统。相较于 Linux 操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此之外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限(

    2024年02月13日
    浏览(32)
  • RT-Thread 7. RT-Thread Studio ENV修改MCU型号

    1. 修改MCU型号 2.在ENV界面输入 3. dist下为更新后完整源代码 4.导入RT-Thread Studio 发现GD32F330已经生效了。 5. 自己编写startup_gd32f3x0.S,准确性待验证

    2024年02月06日
    浏览(32)
  • RT-Thread 9. VS2012下仿真RT-Thread 和LVGL

    1. 在ENV中添加组件 2. 下载组件 3. 生成代码 4. 打开代码 双击project.vcxproj 编译 5. 运行

    2024年02月06日
    浏览(49)
  • 使用RT-Thread Studio搭配STM32CubeMX新建RT-Thread项目

    STM32CubeMX下载 RT-Thread Studio下载 安装好RT-Thread Studio后,先打开RT-Thread SDK管理器确认有没有自己MCU需要的SDK包,直接安装好之后里面是有STM32F1系列的SDK包,其他的需要自己安装。 之后点击文件→新建→RT-Thread项目,根据自己需要配置好后点击完成就会生成RT-Thread项目。 新建项

    2024年02月11日
    浏览(32)
  • 【RT-Thread】使用RT-Thread Studio 配置BootLoader及App实现OTA功能

    由于项目需要实现OTA功能学习了一下具体实现方法,以备后期查看,有问题的地方随时指正修改 1.什么是OTA OTA是“over-the-air”的缩写,是一种无线技术,用于在不需要接触设备的情况下向移动设备或物联网设备提供更新、补丁或新版本的软件。OTA更新通常通过无线网络(如

    2024年02月09日
    浏览(28)
  • 【STM32&RT-Thread零基础入门】8. 基于 CubeMX 移植 RT-Thread Nano

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 利用RT_Thread操作系统实现三种不同的LED等闪烁 提示:以下是本篇文章正文内容,下面案例可供参考 cubemx配置参考教程: 基于 CubeMX 移植 RT-Thread Nano 后面程序所需的引脚 RT

    2024年02月09日
    浏览(33)
  • NUCLEO-F411RE RT-Thread 体验 (1) - GCC环境 RT-Thread 的移植

    a、用stm32cubemx新建一个工程。 时钟配置 st-link提供8M的mco输出,所以配置hse 8m,sysclk最高100M,设置如下: 配置LED 连接pa5,设置pa5为输出模式。 配置串口 st-link可以做虚拟串口用,这样可以省下一个usb转串口的模块。st-link连接f411的PA2 PA3,也就是uasrt2。 配置SWD 生成Makefile工程

    2024年02月09日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包