这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 有奖活动 » 基于RK3506B的片温识读功能的实现

共1条 1/1 1 跳转至页

基于RK3506B的片温识读功能的实现

助工
2026-10-15 13:45:08     打赏

RK3506B开发板提供了片温检测功能及串口通讯功能,将两种相结合并配以语言合成模块,就可实现片温识读功能。

在编程方面,有两种方式无需编译即可实现,即脚本编程和python编程方式。

相对来讲,采用脚本编程的方式更易于实现,而采用python编程方式要次之。从技术探索的角度出发,这里是以python编程的方式来实现。

1)片温检测

片温检测的python程序为:

image.png

经程序,其测试结果如图1所示。

image.png

图1运行结果 

2)串口通讯

由于语言合成模块是通过串口来控制,为此先要解决串口通讯的问题。

这里是选取UART1来控制语言合成模块,需修改设备树来添加串口设备。UART1所使用的引脚为RM_IO10和RM_IO11,其引脚位置见图2所示。

image.png

图2引脚位置

使用 Python 的serial库,实现串口通讯的程序为:

#!/usr/bin/python3
from periphery import Serial
# 使用上下文管理器,自动关闭串口  
with Serial("/dev/ttyS1", baudrate=115200, databits=8, parity="none", stopbits=1, xonxoff=False, rtscts=False) as serial:
    try:
        serial.write(b"\xfd\x00\x0e\x01\x03\x53\x5f\x4d\x52\x47\x72\x29\x6e\x2f\x66\x00\x00")
              # 合成“当前片温”的语言输出
    except Exception as e:
        print(f"An error occurred: {e}")

3)语言合成及指令生成

在串口通讯的基础上,通过语言合成模块就能把检测到的片温值转化为语言播报内容。

语言合成模块与开发板的连接关系为:

TX----RM_IO10

RX----RM_IO11

image.png

图3 器件连接

将片温值转化为语言合成指令进行播报的程序为:

image.png

经程序的运行,其测试效果见图4和视频所示。

image.png

图4 测试结果

 演示视频:




共1条 1/1 1 跳转至页

回复

匿名不能发帖!请先 [ 登陆 注册 ]