2023RT-Thread开发者大会

参加了一次RT-Thread的开发者大会,相当有意思,虽然一天奔波挺累,但睡了半天之后简单剪了下22号的视频,也就有时间写自己的参会笔记了。
RT-Thread开发者大会图
与openEuler社区不同,RT-Thread社区更专注于嵌入式,与硬件厂商结合较为紧密。我是在openEuler的嵌入式SIG的引导下来的,openEuler社区的Embedded发行版是Yocto架构为主与服务器端的发行版本并不一样。很明显在ARM-M系列的场景下是跑不了openEuler的,这时RTOS(实时操作系统)显然更为适合这类场景,正如RT-Thread开发者大会上演讲者所说,RT-Thread也在做一些填补大型操作系统与硬件之间关系,可以这么理解。
会议议程
我们是到的最早的那一批,坐了无人车,到了会场外,边收集着开发板,边看着一家家公司布着展,看着demo, 看着有意思的东西,开发板、系统、小样。虽然都在说今年裁员压力大,但各家公司的产品都还看起来不错。

早上,是开场,然后小睡了会儿,主办方RTT在说社区的人更多了,软件包更多了,但也更为完善了,更新放缓的阶段。英飞凌介绍了PSoc MCU, 瑞萨 给了几个行业应用的例子,比较让我惊喜的是给了很多新能源行业的解决方案。给我不少做课设的启发,如果自己的成果能解决行业问题,我觉得也是挺好的方向。
PSoc MCU
Psoc

下午,听了场瑞萨恩智普的边缘计算分会场的讲座。

一个在做MCU的e-AI模型迁移部署实验–强调了
MPU与MCU的界限逐渐模糊
Cheak MOTOR 电机检测

  • 算力检测–平台
  • HVAC风机检测
  • 13帧的视觉检测的RA8 MCU
    RA8 MCU

RA8

一个在做相似的方向(emmm, 没咋听全,有个老哥打我电话,喊我搬砖)

  • 机器学习
  • 控制器
  • 产品

对了还有一家做车载AI视觉的大宋汽车技术合作方——黑芝麻

动手实践也比较简单,但挺有趣的。

现场发布的 RA8 MCU 开发板

用的 OpenMV IDE, 界面也比较简单(与PR相比),挺有意思的,demo如下

DEMO RTT RA8
Blog就到这了,Bye 2023RT-Thread开发者大会。

这里是用到的代码
# Fast Linear Regression Example
#
# This example shows off how to use the get_regression() method on your OpenMV Cam
# to get the linear regression of a ROI. Using this method you can easily build
# a robot which can track lines which all point in the same general direction
# but are not actually connected. Use find_blobs() on lines that are nicely
# connected for better filtering options and control.
#
# This is called the fast linear regression because we use the least-squares
# method to fit the line. However, this method is NOT GOOD FOR ANY images that
# have a lot (or really any) outlier points which corrupt the line fit...import sensor
import timeTHRESHOLD = (0, 100)  # Grayscale threshold for dark things.
BINARY_VISIBLE = True  # Binary pass first to see what linear regression is running on.sensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE)
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames(time=2000)
clock = time.clock()while True:clock.tick()img = sensor.snapshot().binary([THRESHOLD]) if BINARY_VISIBLE else sensor.snapshot()# Returns a line object similar to line objects returned by find_lines() and# find_line_segments(). You have x1(), y1(), x2(), y2(), length(),# theta() (rotation in degrees), rho(), and magnitude().## magnitude() represents how well the linear regression worked. It goes from# (0, INF] where 0 is returned for a circle. The more linear the# scene is the higher the magnitude.line = img.get_regression([(255, 255) if BINARY_VISIBLE else THRESHOLD])print("FPS %f, mag = %s" % (clock.fps(), str(line.magnitude()) if (line) else "N/A"))# About negative rho values:
#
# A [theta+0:-rho] tuple is the same as [theta+180:+rho].
# Automatic RGB565 Color Tracking Example
#
# This example shows off single color automatic RGB565 color tracking using the OpenMV Cam.import sensor
import timeprint("请勿在相机前放置任何物品")sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time=2000)
sensor.set_auto_gain(False)  # must be turned off for color tracking
sensor.set_auto_whitebal(False)  # must be turned off for color tracking
clock = time.clock()# Capture the color thresholds for whatever was in the center of the image.
r = [(320 // 2) - (50 // 2), (240 // 2) - (50 // 2), 50, 50]  # 50x50 center of QVGA.print("将要跟踪的物体放在相机前面的框中"
)
print("确保您要追踪的物体的颜色完全被框住!"
)
for i in range(60):img = sensor.snapshot()img.draw_rectangle(r)print("开始学习颜色  ")
threshold = [50, 50, 0, 0, 0, 0]  # Middle L, A, B values.
for i in range(60):img = sensor.snapshot()hist = img.get_histogram(roi=r)lo = hist.get_percentile(0.01)  # Get the CDF of the histogram at the 1% range (ADJUST AS NECESSARY)!hi = hist.get_percentile(0.99)  # Get the CDF of the histogram at the 99% range (ADJUST AS NECESSARY)!# Average in percentile values.threshold[0] = (threshold[0] + lo.l_value()) // 2threshold[1] = (threshold[1] + hi.l_value()) // 2threshold[2] = (threshold[2] + lo.a_value()) // 2threshold[3] = (threshold[3] + hi.a_value()) // 2threshold[4] = (threshold[4] + lo.b_value()) // 2threshold[5] = (threshold[5] + hi.b_value()) // 2for blob in img.find_blobs([threshold], pixels_threshold=100, area_threshold=100, merge=True, margin=10):img.draw_rectangle(blob.rect())img.draw_cross(blob.cx(), blob.cy())img.draw_rectangle(r)print("Thresholds learned...")
print("Tracking colors...")while True:clock.tick()img = sensor.snapshot()for blob in img.find_blobs([threshold], pixels_threshold=100, area_threshold=100, merge=True, margin=10):img.draw_rectangle(blob.rect())img.draw_cross(blob.cx(), blob.cy())print(clock.fps())

RA8 MCU开发板如果大家感兴趣的话,我就专门出一期,看看有没有人想看,超过10票就发,嘿嘿。

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

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

相关文章

WorkPlus一站式协同解决方案,助力企业降本增效

在企业数字化转型的过程中,很多企业都会遇到一个共同问题:重复建设基础功能,耗费大量时间和资源。为解决这一难题,WorkPlus已经将一些通用、基础且有技术门槛的功能进行了集成与开发,如IM(即时通讯&#xf…

渗透测试——1.1初认识kali

一、kali的下载 官方地址:www.kali.org 下载后压缩就可用vmware打开即可(初始账号和密码都是kali) 二、三种网络配置 1、桥接模式:将虚拟机看成局域网中的独立主机 2、NAT模式:将物理机当做路由器(rout…

操作无法完成(错误 0x000006ba),Windows 11 PDF打印机无法使用解决办法

操作无法完成(错误 0x000006ba),Windows 11 PDF打印机无法使用解决办法 解决方式一 先重启一次电脑,看看是否可以解决问题。 解决方式二 重新启动 Printer Spooler 服务

doris基本操作,02-创建复合分区表

创建复合分区表 create table table2 (event_day DATE,siteid int defautl 10,citycode smallint,username varchar(32) defautl ,pv bigint sum default 0 )aggregate key (event_day, siteid, citycode, username) -- 按照event_day做range分区 -- paritition by range(even…

继承易错总结

1.继承会将所有的成员继承下来,但是继承方式限定的是继承下来成员的可见类型(如果是private继承,那么他不论哪里都是不可见的;如果是protected继承在类中是可见的,在类外是不可见的;如果是public继承,在任何…

C++ Qt开发:Charts折线图绑定事件

Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QCharts折线图的常用方法及灵活运用。 在上一…

ZLMediaKit中的RingBuffer

前面的文章讲到ZLMediaKit转流,提到过RingBuffer,它是比较核心的数据结构。这篇文章就来讲讲RingBuffer的用法。 RingBuffer的类体系 RingBuffer是由多个类组成,分为两大功能:存储和数据分发。 存储功能由类RingStorage实现&…

【笔试强化】Day 8

文章目录 一、单选1.2.3.4.5.6.7.8.9.10. 二、编程1. 求最小公倍数解法:代码: 2. 两种排序方法解法:代码: 一、单选 1. 正确答案:B2. 正确答案:A继承具有传递性 3. 正确答案:C数组不是原生类&…

LaTex中参考文献引用

一、引用参考文献 这里我们使用的是BibTeX的引用格式,因此文件中应包括两个文件(.bib-参考文献 和 .bst-文献格式)。 有了这两个文件后,我们在bib文件中创建参考文献:(注意,作者的名字是逗号前…

4.2 媒资管理模块 - 项目搭建、minio文件系统

文章目录 一、搭建媒资服务工程1.1 media-api 工程1.1.1 bootstrap.yaml1.1.2 Maven1.1.3 Nacos 1.2 media-service 工程1.2.1 bootstrap.yaml1.2.2 Maven1.2.3 Nacos1.2.4 分页插件 1.3 media-model 工程1.3.1 QueryMediaParamsDto1.3.2 MediaFiles1.3.3 MediaProcess1.3.4 Me…

nodejs微信小程序+python+PHP汽车租赁管理网站-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

springboot+vue项目如何在linux上部署

在linux上部署项目,是我们实训项目作业的最后一步,此时我们的项目编码测试已经完成,接下来就需要在服务器上部署上线,那么如何部署上线,接下来我会在虚拟机上的CentOS7系统上实现部署, 一.下载JDK 因为我…