无题
VirtualBox虚拟机下安装Ubuntu20.041.Ubuntu镜像下载链接:https://pan.baidu.com/s/1yYZN5iC83fitcEA1M0M5Jw提取码:kiyv
2.安装VMwareDownloads – Oracle VM VirtualBox
ROS智能车(一):视觉感知
实验一 视觉感知:红绿灯与锥桶检测实验目的:
掌握相机标定的基本方法,了解相机畸变的影响;
掌握传统图像处理的基本方法,使用 OpenCV 进行图像处理;
实验内容:
使用相机标定源码标定相机;
运用OpenCV处理锥桶和红绿灯信息;
实验仪器:ROS智能车、雷达、红色蓝色锥桶、路由器、工控机。
实验原理:
ROS环境下驱动USB相机
ROS智能车上配置的是USB串口摄像头。原厂代码不包含驱动,我们需要在ROS.org上获取usb相机驱动usb_cam功能包,功能包在/image_raw话题下发布sensor_msgs/Image结构的图像信息,数据结构如下:
12345678Header header uint32 height # image height, that is, number of rowsuint32 width # image width, that is, number of columnsstring encoding # Encoding of pixels -- chann ...
ESP32 LVGL(8)
功能
LVGL++
MQTT
OTA
SMTP
实现MQTT巴法开放平台 (bemfa.com)
MQTT基础功能实现非常简单
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384#include "head.h"#include <PubSubClient.h>const char *ssid = "";const char *password = "";const char *MQTT_SERVER = "bemfa.com";const int MQTT_PORT = 9501;const char *MQTT_ID = "";const char *TOPIC = "&qu ...
ESP32 LVGL(7)
功能
软件界面设计
代码郁闷
BUG
lvgl如何音乐播放不卡死页面的问题
lvgl页面切换导致重启的问题
定时器导致的重启
设计指针、或者地址导致重启的问题
重定义问题
这个问题最后也不知道是哪里导致的,产生了很多奇奇怪怪的bug,最后代码写在一个文件中才解决
头文件首字母大小写
多个文件中定义,逻辑要清楚,头文件注意不要嵌套调用
汉字存储
需要用二维数组[4]不可少
1char tiangan[][4] = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥" };
ROS
ROS参考资料
roslaunch/XML/rosparam - ROS Wiki
4.2.6 launch文件标签之rosparam · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程
group123456789101112<launch> <!-- 启动两对乌龟GUI --> <group ns="first"> <node pkg="turtlesim" type="turtlesim_node" name="my_turtle" output="screen" /> <node pkg="turtlesim" type="turtle_teleop_key" name="my_key" output="screen" /> </group> ...
ESP32 LVGL(6)
功能
主界面 UI 设计以及移植
代码郁闷死我了
霸哥
即使如此严格地分开 client 执行也会报错,人麻了😭😭😭😭😭,这个 bug 改来改去改了三小时,为什么他程序报错但也可以执行啊😭😭😭。
23:44了,我不管了,等它什么时候影响运行了再改吧。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657if (weather_client.connect("api.seniverse.com", 80)){ weather_client.print(high_low_https); // 向服务器发送HTTP请求 while (weather_client.connected() || weather_client.available()) { // 服务器保持连接 if (weather_client.available()) ...
ESP32 LVGL(5)
功能
sk6812 彩灯测试。
jq8900 测试。
代码参考了棉花糖永远滴神博主的文章ESP32驱动JQ8900语音模块。
刚开始测试 JQ8900 由单片机单线通信的时候全是噪音,声音几乎听不见……睡了一觉起来就什么都正常了😢😢😢……
SK6812123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147#include <Arduino.h>#include ...
ESP32 LVGL(0)
内容
万年历硬件部分。
路途坎坷😭😭😭😭😭😭😭😭😭😭😭😭😭😭
初版
之前未考虑到的问题
FPC排座太难焊了🥲🥲🥲,稍微多一点锡就会连锡,并且怎么刮不下来啊😭😭😭,怎么刮都刮不下来
LVGL 框架确实不难学,但是为什么现有移植好的驱动是基于 IDF 的啊😭😭😭,对于只会 Arduino 框架的菜🐶代码完全看不懂啊😭😭😭
从零开始移植这个老驱动到 Arduino 框架难度太大了哇😭😭😭
最终选择去掉屏幕部分,选择使用现有的屏幕模块,并且也有配置好的基于 Arduino 框架的 LVGL 代码
V3.0版本
ESP32 LVGL(4)
功能
恩智浦 Gui Guider + Platformio + ESP32S3 移植测试
以及 LVGL 优化
UI 移植1.设计 UI 并导出代码
2.移植1.在json文件里添加头文件路径,注意 path 和 includePath 都要添加
1234"${workspaceFolder}/**","E:/Files/Projects/CXCollege/hardware/Firmware/ESP32-S3-LVGL/ESP32-S3-LVGL-PIO-PROJECT-TFT3.5-ST7796U-CPT/lib/MyUI/custom","E:/Files/Projects/CXCollege/hardware/Firmware/ESP32-S3-LVGL/ESP32-S3-LVGL-PIO-PROJECT-TFT3.5-ST7796U-CPT/lib/MyUI/generated", "E:/Files/Projects/CXCollege/hardware/Firmware/ ...
ESP32 LVGL(3)
功能
mq2 模块测试
esp32s3 获取 mq2 模块数据,并且使用 LVGL显示。
代码使用最基础的 digitalRead() 以及 analogRead() 就可以读取数据。
变量定义1234567#define smokePin 5#define analogPin 12typedef struct _lv_mq2{ lv_obj_t *digitalNum; // 时间标签 lv_obj_t *analogNum; // 日期标签} lv_mq2_t;
UI设计12345678910111213141516171819202122232425262728293031323334353637383940414243444546void demo12(){ static lv_style_t date_time_clock_style; // 最外层对象的样式 lv_style_reset(&date_time_clock_style); ...