[TOC]
串口调试的脚本可以使用shell脚本,也可以使用python脚本。
> # Python串口脚本
```
#!/usr/bin/env python3
# -- coding:utf-8 --
#-------------------------------------------------------
# FileName : t.py
# Author :hpy
# Email :yuan_hp@qq.com
# Date :2020年10月26日
# Description :
#-------------------------------------------------------
import serial
import time
try:
timex=5 #超时设置,None:永远等待操作,0为立即返回请求结果,其他值为等待超时时间(单位为秒)
ser=serial.Serial("/dev/ttyS39",9600,timeout=timex) #打开串口
#ser.open()
#写数据
result=ser.write("12345\n".encode("gbk")) #通过串口发送数据
data=ser.readline() #读取串口数据 直至遇到 \n,否则阻塞
data = str(data)[2:-3] #强制转换读取的数据为字符串并截取一部分
rd=int(data) #转为int型
y = rd + 1 #数据处理
print(y) #打印处理后的数据
ser.close() #关闭串口
except Exception as e :
print("异常")
```
> # shell脚本
```
#!/usr/bin/env bash
#-------------------------------------------------------
# FileName : mtty.sh
# Author :hpy
# Date :2020年08月09日
# Description :基于linux终端的串口工具
# :连接树莓派,licheepi等
#-------------------------------------------------------
#++++++++++++++++ 串口参数设置+++++++++++++++++++++
#目标串口设置 /dev/ttyUSB*
fdtty=/dev/ttyUSB0
#波特率设置
baud=115200
#+++++++++++++++++++++++++++++++++++++++++++++++++++
tp="/tmp/$(date +%N).txt"
exUsb(){
if [ ! -c $fdtty ];then
echo "不存在目标串口($fdtty)!退出脚本"
exit 0
fi
}
#自动检测目标usb 未完成
checkUsb(){
t1=$(ls /dev/ttyUSB*)
if [[ $? -gt 0 ]];then
read -p "请插入串口后,是否继续检测串口y/n?" chechin
if [ "$chechin" = "y" ] || [ "$chechin" = "yes" ]
then
fdtty=$(ls /dev/ttyUSB*)
fi
else
t2=$(ls /dev/ttyUSB*)
fi
}
#键盘输入
getData(){
while((1))
do
exUsb
read readd
echo -e -n "$readd\n" > $fdtty
done
}
#串口有数据接收时就返回
dis(){
while ((1))
do
exUsb
cat $fdtty | tail -n +2 >> $tp
#cat $fdtty >> /tmp/usbget.txt
if [[ -s $tp ]];then
cat $tp
cat /dev/null > $tp #显示过的就在文件中清除
fi
done
}
info(){
echo "欢迎使用linux终端上的嵌入式串口工具!"
echo "使用 <Ctrl-c> 退出"
echo ""
}
main(){
info
exUsb
stty -F $fdtty -echo raw speed $baud min 0 time 2 &> /dev/null
#cat /dev/null > /tmp/usbget.txt
echo -e -n "\n" >$fdtty #启动时发送,以获取反馈显示
dis & #显示线程
getData #键盘输入线程
exit 0
}
main
```
- 图片处理
- 调整图片像素大小
- Python控制摄像头拍照
- 文件操作
- 提取文件名,扩展名
- 查找文件
- ls列出目录,文件
- shell解析json串
- 读取文件第n行内容
- 将变量写入文件和从文件读取变量的一中方法
- shell操作二进制文件
- 命令行将ppt转换为pdf
- python读取串口数据
- 查最近修改的文件
- awk的一些操作
- 输入输出
- 判断输入是否为数字
- 获取脚本输入的第 i 个参数
- column实现输出列表对齐
- 串口调试脚本
- 按键实时检测
- 网络脚本
- 基于Python的TCP客户端
- bash将字符转换为urlencode
- 挂载远程文件夹到本地
- 其他功能
- shell随机产生某一个范围内的整数
- 删除、替换字符串中指定的字符
- 获取时间日期并打印
- 字符串反转
- 实用功能
- 自定义函数模板
- shell中包含另一个脚本文件实现include的方法
- Bash下实现自定义指令的几种方法
- 根据文件类型自动执行脚本
- 命令行运行matlab
- 项目引导main.sh脚本
- 新建文件模板脚本
- bash实现读取和改写ini文件
- 添加当前路径到fish shell环境变量
- 查询进程并杀死进程
- 带界面的身份验证
- 常用软件
- 基本软件
- 我喜欢的软件
- 自用带有界面的系统修复工具-repair
- 解析xml文件