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

HMI  board
不用放大了, 我在包里找到张不小的……
这块板子

以太网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智能硬件产品。

以太网GUI线下培训

这是官方公众号里的:

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开发工具

Rtt的图片
S q u a r e L i n e S t u d i o 图形工具 \textcolor{#4183c4}{SquareLine Studio图形工具} SquareLineStudio图形工具
SquareLine Studio

资料链接

●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官网
MQTTX
MQTT教程

其他的我先去看看:

安装好RT-Thread Studio 后我们需要安装HMI-Board的开发板支持包:
HMI的包

接下来安装烧写工具:
选择版本

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

工具链


HMI-Board 以太网数据监视器

Why Rt-Thread

Rtt

  • 标准
  • Nano
  • smart

标准:

目录
MQTT

MQTT

GUI

LVGL 嵌入式图形库

VG

Squareline

PHY
以太网
数据收发
现场实践中……

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 Studio 后我们需要安装HMI-Board的开发板支持包:

接下来安装烧写工具:

创建 HMI-Board 模板工程:

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

两根线的实例图

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

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

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

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

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

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

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

查看网络
烧录好固件后,打开串口终端,可以输入ifconfig命令查看是否获取到IP地址。
获取到IP地址后,可以输入 ping www.baidu.com 测试网络是否可以用。
msh的加入

实践环节二: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仓库,进行

Rbb666/hmi-board-eth-monitor

实践环节四:使用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窗口:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/242382.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT应用开发:编写插件获取实时天气信息

欢迎阅读本系列文章&#xff01;我将带你一起探索如何利用OpenAI API开发GPT应用。无论你是编程新手还是资深开发者&#xff0c;都能在这里获得灵感和收获。 本文&#xff0c;我们将继续展示聊天API中插件的使用方法&#xff0c;让你能够轻松驾驭这个强大的工具。 插件运行效…

Oracle21C + PLSQL Developer 15 + Oracle客户端21安装配置完整图文版

一、Oracle21C PLSQL Developer 15 Oracle客户端文件下载 1、Oracl21C下载地址&#xff1a;Database Software Downloads | Oracle 中国 2、 PLSQL Developer 15下载地址&#xff1a;Registered download PL/SQL Developer - Allround Automations 3、 Oracle 客户端下载地址…

51单片机中断

1、什么是中断&#xff1f; CPU在处理某一事件A时&#xff0c;发生了另一事件B请求CPU迅速去处理&#xff08;中断发生&#xff09;&#xff1b; CPU暂时中断当前的工作&#xff0c;转去处理事件B&#xff08;中断响应和中断服务&#xff09;&#xff1b; 待CPU将事件B处理完…

百度搜索Push个性化:新的突破

作者 | 通用搜索产品研发组 导读 本文简单介绍了百度搜索Push个性化的发展过程&#xff0c;揭示了面临的困境和挑战&#xff1a;如何筛选优质物料、如何对用户精准推荐等。我们实施了一系列策略方法进行突破&#xff0c;提出核心的解决思路和切实可行的落地方案。提升了搜索DAU…

Servlet系列两种创建方式

一、使用web.xml的方式配置&#xff08;Servlet2.5之前使用&#xff09; 在早期版本的Java EE中&#xff0c;可以使用XML配置文件来定义Servlet。在web.xml文件中&#xff0c;可以定义Servlet的名称、类名、初始化参数等。然后&#xff0c;在Java代码中实现Servlet接口&#x…

MacOS X 安装免费的 LaTex 环境

最近把工作终端一步步迁移到Mac上来了&#xff0c;搭了个 Latex的环境&#xff0c;跟windows上一样好用。 选择了 Mactex 做编译&#xff0c;用 Texmaker 做编辑&#xff1b; 1. 下载与安装 1.1 Mactex 下载安装 MacOS 安装和示例 LaTex 的编译器 与 编辑器 编译器使用免费…

c++ mysql数据库编程(linux系统)

ubuntu下mysql数据库的安装 ubuntu安装mysql&#xff08;图文详解&#xff09;-CSDN博客https://blog.csdn.net/qq_58158950/article/details/135667062?spm1001.2014.3001.5501 项目目录结构 数据库及表结构 public.h //打印错误信息 #ifndef PUBLIC_h #define PUBLIC_H…

[Linux 进程(四)] 再谈环境变量,程序地址空间初识

文章目录 1、前言2、环境变量2.1 main函数第三个参数 -- 环境参数表2.2 本地环境变量和env中的环境变量2.3 配置文件与环境变量的全局性2.4 内建命令与常规命令2.5 环境变量相关的命令 3、程序地址空间 1、前言 上一篇我们讲了环境变量&#xff0c;如果有不明白的先读一下上一…

maven 基本知识/1.17

maven ●maven是一个基于项目对象模型(pom)的项目管理工具&#xff0c;帮助管理人员自动化构建、测试和部署项目 ●pom是一个xml文件&#xff0c;包含项目的元数据&#xff0c;如项目的坐标&#xff08;GroupId,artifactId,version )、项目的依赖关系、构建过程 ●生命周期&…

list列表可编辑状态

有时候list需要修改或选择属性,mfc自带的只能显示内容,基本上是不可以修改,为了实现这个功能需求,需要完成一下步骤转换. 第一步记录选择的单元格. 第二步创建一个编辑框CComboBox对象, 设置字体,窗口属性. 第三步获取选中单元格的位置信息. 第四步获取单元格内容信息. 第五步…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十三)

地址簿相关功能 1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计1.1.3 表设计 1.2 代码实现1.2.1 Mapper层1.2.2 Service层1.2.3 Controller层 1.1 需求分析和设计 1.1.1 产品原型 地址簿&#xff0c;指的是消费者用户的地址信息&#xff0c;用户登录成功后可以维护自己的地…

Kafka Console Client 的 Consumer Group

以往使用 kafka-console-consumer.sh 消费 Kafka 消息时并没有太在意过 Consumer Group&#xff0c;在命令行中也不会使用 --group 参数&#xff0c;本文针对 Kafka Console Client 命令行中的 Consumer Group 进行一次统一说明。 1. 如不设置 --group 参数会自动生成一个 Con…

JVM:Java类加载机制

Java类加载机制的全过程&#xff1a; 加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的&#xff0c;类型的加载过程必须按照这种顺序按部就班地开始&#xff0c;而解析阶段则不一定&#xff1a;它在某些情况下可以在初始化阶段之后再开始&#xff0c; 这是为了支持Java…

Java编程练习之this关键字(2)

this关键字除了可以调用成员变量或成员方法之外&#xff0c;还可以作为方法的返回值。 示例&#xff1a;创建一个类文件&#xff0c;在类中定义Book类型的方法&#xff0c;并通过this关键字进行返回。 public class Book{ public Book getBook(){ return this; } } 在getB…

宿舍人走断电系统的重要性

宿舍人走断电系统石家庄光大远通电气有限公司公寓智能用电管理系统适合集体公寓、学生宿舍等应用场景&#xff0c;具备多种性能&#xff0c;满足多种形式需求&#xff0c;解决方案面向实际&#xff1b;集计量控制、违规用电管理、用电过程管理等功能于一体。系统采用集中控制&a…

大创项目推荐 深度学习验证码识别 - 机器视觉 python opencv

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x…

使用Scrapy 爬取“http://tuijian.hao123.com/”网页中左上角“娱乐”、“体育”、“财经”、“科技”、历史等名称和URL

一、网页信息 二、检查网页&#xff0c;找出目标内容 三、根据网页格式写正常爬虫代码 from bs4 import BeautifulSoup import requestsheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/53…

C#操作pdf之使用itext实现01-生成一个简单的table

创建.net 8控制台项目 安装itext <PackageReference Include"itext" Version"8.0.2" /><PackageReference Include"itext.bouncy-castle-adapter" Version"8.0.2" /><PackageReference Include"itext.bouncy-cast…

【从零开始学习Java重要知识 | 第三篇】暴打ReentrantLock底层源码

目录 前言&#xff1a; 前置知识&#xff1a; 什么是公平锁与非公平锁&#xff1f; 尝试自己构造一把锁&#xff1a; ReentrantLock源码&#xff1a; 加锁&#xff1a; 解锁&#xff1a; 总结&#xff1a; 前言&#xff1a; 在并发编程中&#xff0c;线程安全是一个重…

【机器学习】调配师:咖啡的完美预测

有一天&#xff0c;小明带着一脸期待找到了你这位数据分析大师。他掏出手机&#xff0c;屏幕上展示着一份详尽的Excel表格。“看&#xff0c;这是我咖啡店过去一年的数据。”他滑动着屏幕&#xff0c;“每个月的销售量、广告投入&#xff0c;还有当月的气温&#xff0c;我都记录…