[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文件