树莓派4B学习笔记7:(Python)_TTL串口收发数据_

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi)

 本人所用树莓派4B 装载的系统与版本如下:

 版本可用命令 (lsb_release -a) 查询:

 Opencv 版本是4.5.1:

 今日尝试使用树莓派的TTL串口进行收发数据:

文章提供测试代码讲解,整体代码贴出、测试效果图

目录

串口预设置:

关闭串口shell,打开串口调试:

查看默认串口分配:

安装serial库:

(Python)TTL串口收发数据:

TTL串口收发测试效果图:

安装minicom(串口调试助手):

启动使用minicom:

测试minicom:

设置/退出minicom:

网上学习资料贴出:


串口预设置:

关闭串口shell,打开串口调试:

sudo raspi-config

查看默认串口分配:

树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0)。硬件串口有单独的波特率时钟源,性能好,稳定性强;mini串口功能简单,稳定性较差,波特率由CPU内核时钟提供,受内核时钟影响。 

ls /dev/ser* -al

这个默认串口分配可以更改,我们使用用到的就是serial0,serial1则是蓝牙端口的串口

安装serial库:

sudo apt-get install python-serial

(Python)TTL串口收发数据:

代码写法1如下:

# coding: utf-8  # 明确指定编码  
  
import serial  
  
ser = serial.Serial("/dev/ttyS0", 115200) 
print('serial test start...\r\n')  
ser.write(b"Hello World!\r\n")  # 注意这里使用了字节字符串,因为 write 方法需要字节  
  
try:  
    while True:  
            ser.write(ser.read())  # 发送读取到的数据  
except KeyboardInterrupt:  
    ser.close()

代码写法2如下:

# coding: utf-8
import serial
import time
# 打开串口
ser = serial.Serial("/dev/ttyS0", 115200)
def main():
    while True:
        # 获得接收缓冲区字符
        count = ser.inWaiting()
        if count != 0:
            # 读取内容并回显
            recv = ser.read(count)
            ser.write(recv)
        # 清空接收缓冲区
        ser.flushInput()
        # 必要的软件延时
        time.sleep(0.1)
    
if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        if ser != None:
            ser.close()

TTL串口收发测试效果图:

 写法1测试效果如下:

  写法2测试效果如下:

安装minicom(串口调试助手):

sudo apt-get  install minicom

启动使用minicom:

minicom -D /dev/ttyS0 -b 115200
#-b代表波特率,-D代表端口,/dev/ttyAMA0(ttyS0) 类似于windows中的COM

测试minicom:

下方会显示接受到的数据,而我们发送的不会显示:

设置/退出minicom:

按下Ctrl+A:首先,你需要按下Ctrl键和A键同时,这会将你带入minicom的设置状态。

按下Z:接着,在按下Ctrl+A之后,再按下Z键。这将会显示minicom的帮助菜单或者设置菜单。

按下Q:在帮助菜单或设置菜单中,你可以通过按Q键来退出minicom。这将不会复位modem,而是直接退出minicom。

网上学习资料贴出:

【树莓派】树莓派配置串口通讯-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

能耗监控与管理平台

在当今社会,随着工业化、城市化的快速发展,能源消耗问题日益凸显,节能减排已成为全社会共同关注的焦点。在这个背景下,一款高效、智能的能耗监控与管理平台显得尤为重要。 一、HiWoo Cloud平台的概念 HiWoo Cloud是一款集数据采…

【数据结构(邓俊辉)学习笔记】图04——双连通域分解

文章目录 0. 概述1 关节点与双连通域2 蛮力算法3 可行算法4 实现5 示例6 复杂度 0. 概述 学习下双连通域分解,这里略微有一点点难,这个算是DFS算法的非常非常经典的应用,解决的问题也非常非常有用。 1 关节点与双连通域 连通性很好理解&am…

springboot与flowable(5):任务分配(表达式)

在做流程定义时我们需要给相关的用户节点指派对应的处理人。在flowable中提供了三种分配的方式。 一、固定分配 在分配用户时选择固定值选项确认即可。 二、表达式 1、值表达式 2、方法表达式 三、表达式流程图测试 1、导出并部署 导出流程图,复制到项目中 部署流…

海南聚广众达电子商务咨询有限公司可靠吗?

在数字经济的浪潮中,抖音电商以其独特的魅力迅速崛起,成为众多企业竞相追逐的新高地。海南聚广众达电子商务咨询有限公司,作为抖音电商服务的佼佼者,凭借专业的团队和创新的思维,在抖音电商领域取得了骄人的成绩&#…

BT音频方案

一、缩写 缩写 全程 释义 I2S I2S 音频传输接口总线 PCM Pulse-Code Modulation 基础音频数据或翻译为音频接口总线 HFP Handsfree 蓝牙通话协议 A2DP Advanced Audio Distribution Profile 蓝牙媒体音频协议 二、音频流转策略 蓝牙音频功能分为通话声音和媒体…

高通Android 12 右边导航栏改成底部显示

最近同事说需要修改右边导航栏到底部,问怎么搞?然后看下源码尝试下。 1、Android 12修改代码路径 frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java a/frameworks/base/services/core/java/com/android/server/wm/Display…

【HarmonyOS】遇见的问题汇总

一、当前编辑的页面,预览打不开 1、问题说明 当前编辑的页面,预览打不开,日志提示如下: Route information is not configured for the current page. To avoid possible redirection issues, configure route information for…

【leetcode--单词规律】

题目要求: 跟上一个字符串的思路一致,只是要进行单词的拆分,用.split()函数即可。 class Solution:def wordPattern(self, pattern: str, s: str) -> bool:word s.split()if(len(pattern) ! len(word)):return Falsereturn len(set(patt…

python爬虫爬电影数据

使用python 爬了下豆瓣电影,仅供学习。 目标链接主页 获取div内容 保存爬出来的数据

并发、多线程、HTTP连接数有何关系?

在计算机领域,"并发"、"多线程"和"HTTP连接数"是三个重要的概念,它们之间存在着密切的关系。本文将探讨这三者之间的联系以及它们在现代计算机系统中的作用。 一、并发的概念 并发是指系统能够同时处理多个任务或事件的能…

3. ceph-mimic版本部署

ceph-mimic版本部署 一、ceph-mimic版本部署1、环境规划2、系统基础环境准备2.1 关闭防火墙、SELinux2.2 确保所有主机时间同步2.3 所有主机ssh免密2.4 添加所有主机解析 3、配置ceph软件仓库4、安装ceph-deploy工具5、ceph集群初始化6、所有ceph集群节点安装相关软件7、客户端…

问题:设开环系统的频率特性为则其相频特性穿越-180°线时对应的频率为()。 #学习方法#微信

问题:设开环系统的频率特性为则其相频特性穿越-180线时对应的频率为()。 ? A、10rad1s B、3rad/s C、lradIs D、√3rad/s 参考答案如图所示

代码随想录:回溯20-21

51.N皇后 题目 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解…

卫星通讯助力船舶可视化监控:EasyCVR视频汇聚系统新应用

一、背景 随着科技的不断进步和社会治安的日益严峻,视频监控系统已经成为维护公共安全和提升管理效率的重要工具。传统的视频监控主要依赖于有线传输,但受到地域限制、布线成本高等因素的影响,其应用范围和效果受到一定限制。而卫星通讯传输…

【python】tkinter编程三大布局管理器pack、grid、place应用实战解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

【成品设计】基于STM32的单相瞬时值反馈逆变器

《基于STM32的单相瞬时值反馈逆变器》 整体功能: 图13 软件框图 如图13所示,由于本设计中需要通过定时器中断执行一些程序,故首先对中断进行初始化。中断初始化以后即为对串口进行初始化,总共初始化了两个串口,第一个…

攻防演练之-成功的钓鱼邮件溯源

书接上文,《网络安全攻防演练风云》专栏之攻防演练之-网络安全产品大巡礼二,这里。 演练第一天并没有太大的波澜,白天的时间过得很快。夜色降临,攻防演练中心内的灯光依旧明亮。对于网络安全团队来说,夜晚和白天并没有…

2024 年勒索软件将比以往更加残酷

如今,世界各地的人们去学校、去医院或去药店时,都会被告知:“抱歉,我们的计算机系统瘫痪了。” 罪魁祸首往往是在世界另一端活动的网络犯罪团伙,他们会要求人们支付系统访问费用或安全归还被盗数据。 尽管警方加大打…

Python数据分析与机器学习在医疗诊断中的应用

文章目录 📑引言一、数据收集与预处理1.1 数据收集1.2 数据预处理 二、特征选择与构建2.1 特征选择2.2 特征构建 三、模型选择与训练3.1 逻辑回归3.2 随机森林3.3 深度学习 四、模型评估与调优4.1 交叉验证4.2 超参数调优 五、模型部署与应用5.1 模型保存与加载5.2 …

数据治理新视角:质量与真实度提升,让数据更有价值!

在这个信息爆炸的时代,数据已经成为企业决策的重要依据。然而,数据的质量与真实度却往往成为制约其价值发挥的关键因素。本文将为您揭示数据治理的新视角,探讨如何提升数据质量与真实度,让数据真正发挥其应有的价值! 数…