python3 讀取串列埠資料 demo
最近在寫一個demo,zigbee串列埠連線樹莓派,樹莓派使用串列埠通訊接受zigbee穿過來得值。其中我是用的樹莓派是3代b+,zigbee每隔三秒鐘從串列埠輸出資料。
下面是python串列埠通訊,但是不是linux的,是我在windows上寫的測試demo,python版本是3。
python串列埠讀取資料
# todo 串列埠讀取資料
# auther wjw
import serial # 匯入串列埠包
import time # 匯入時間包
ser = serial.serial("com3",115200,timeout = 5) # 開啟com3口,波特率115200,超時5
ser.flushinput() # 清空緩衝區
def main():
while true:
count = ser.inwaiting() # 獲取串列埠緩衝區資料
if count !=0 :
recv = ser.read(ser.in_waiting).decode("gbk") # 讀出串列埠資料,資料採用gbk編碼
print(time.time()," --- recv --> ", recv) # 列印一下子
time.sleep(0.1) # 延時0.1秒,免得cpu出問題
if __name__ == '__main__':
main()
上邊的**就已經實現python串列埠讀數了,但大部分還需要寫入。
串列埠寫入資料
其實就是一個write方法,我開了一個執行緒,**程裡獲取串列埠出來的資料,然後一個死迴圈每隔一秒發1,每隔一秒發0.
import serial
import time
import _thread # 匯入執行緒包
data_ser = serial.serial("www.cppcns.comcom3",115200,timeout = 5www.cppcns.com)
data_ser.flushinput()
def get_data():
while true:
data_count = data_ser.inwaiting()
i程式設計客棧f data_count !=0 :
recv = data_ser.read(data_ser.in_waiting).decode("gbk")
pri程式設計客棧nt(time.time()," --- data_recv --> ", recv)
time.sleep(0.1)
if __name__ == '__main__':
_thread.start_new_thread(get_data,()) # 開啟執行緒,執行get_data方法
while 1:
time.sleep(20)
data_ser.write(b'1') # 傳送二進位制1
time.sleep(20)
data_ser.write(b'0') # 傳送二進位制0
完成了,應該差不多就這樣!
樹莓派自帶python,但是預設是python2,可以兩行命令修改預設python3
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.4 /usr/bin/python
python 讀取串列埠資料並繪製多路實時動態波形
import pyqtgraph as pg import numpy as np import serial import array from threading import thread defrx h int.from bytes ser.read 1 little 高8位 l int.f...
python讀取串列埠資料並存入資料庫
之前做了一個物聯網小專案,需要打通微控制器與伺服器。微控制器的資料要傳輸到雲伺服器上。我的打算是微控制器串列埠傳輸到本地計算機,本地計算機再傳輸到雲mysql伺服器。可以做這個事情的有很多語言,因為之前剛好學了python,所以我選擇用python讀取微控制器傳到本地計算機的串列埠資料,並將串列埠資...
Python讀取串列埠
在物聯網的實驗中,我們經常會用一些簡單的python指令碼來讀取串列埠通過終端顯示。python讀取串列埠並在終端顯示,介面雖然不好看,但是有時候可以用來除錯程式。import serial import sys try ser serial.serial com4 9600 except exce...
MATLAB讀取JY901串列埠資料
最近做專案需要分析我們做的裝置的一個姿態資訊。朋友推薦說有個jy901的模組的使用效果,比較好。我就去買了這個做個下測試。立刻被種草了。下面給大家看下模組。2 jy901簡介 這個jy901的體積比較小,最關鍵是使用起來很方便。串列埠通訊,基本上線一接。驅動一裝。開啟上位機三個軸的角度資料就出來了。...
C 從串列埠讀取資料
最近要做系統整合,需要從串列埠讀取資料,隨學習一下相關知識 以下是從串列埠讀取資料 public static void main private static void datareceivedhandler object sender,serialdatareceivedeventargs e ...
讀取串列埠資料 自定義串列埠通訊的相關問題整理
串列埠通訊是常見的通訊方式,串列埠介面是大部分工控器件標配的通訊介面。在專案開發的過程中,也經常遇到進行串列埠通訊的處理。這裡就串列埠通訊的部分問題分享給大家。ttl ttl是一種晶片的電平訊號,其電平電壓一般為5v或3.3v 因ttl和rs232訊號之間的電平差異,故ttl訊號不能與rs232訊號...
串列埠讀取資料顯示不出來應該如何寫中斷函式
在看正點原子的中斷函式時候發現,這段的 的結束標誌位為 r n 0x0d和0x0a 也就是回車,所以在用他的串列埠中斷函式的時候,如果收到的資料幀幀尾沒有 r n,串列埠助手始終沒有資料顯示。所以自己重寫中斷函式,其實中斷函式是每次接收一個位元組,所以發一幀資料會多次進入中斷,其實只要在進入中斷時,...
串列埠寫入和讀取資料
serialport類 writecomm 寫串列埠函式 dword cserialport writecomm char buf,dword dwlength assert buf null comstat comstat dword dwerrorflags if clearcommerror ...
Ubuntu USB串列埠資料 讀取及顯示
1.1 在終端輸入lsusb 顯示所有連線的usb裝置 1.2 在終端輸入 ls dev ttya 顯示所有連線的虛擬usb裝置埠號 1.3 在終端輸入 ls dev ttyu 顯示所有連線的usb裝置埠號 1.4 顯示串列埠資訊的操作如下 根據1.2 和 1.3 操作,檢視自己的裝置是 usb 埠...
PYthon讀串列埠
讀取串列埠時首先匯入包 import serial,其次設定讀取哪一個口 波特率 資料位 停止位。serial的原型如下 python view plain copy class serial.serial init port none baudrate 9600 bytesize eightbit...