Python a sériový port

Pokud se podobně jako já rozhodnete pracovat se sériovým portem prostřednictvím Pythona, možná Vám pomůže pár následujících řádků.

pyserial (pod Windows)

Knihovna, která Vám ovládání umožní, se jmenuje "pyserial" (http://pyserial.sourceforge.net/), ale předtím je nezbytně nutné nainstalovat "Python for Windows extensions" (http://sourceforge.net/projects/pywin32/). Instalace je naprosto triviální a myslím, že nemá cenu ji rozebírat.

Pakliže máme výše uvedené úspešně za sebou, nebylo by na škodu si funkčnost ověřit. Možností je několik, ovšem asi nejjednodušší je vyrobit si "loopback adapter". Jakkoliv honosně zní jeho název, nejde o nic jiného než o protikus konektoru (obvykle 9 pinový Canon Female), na kterém propojíme piny 2 a 3 (Rx a Tx linku - vše, co vyšleme vzápětí přečteme). Nutno zmínit, že sériový port obsahuje i další takzvané řídící linky. Dvě výstupní (RTS, DTR) a čtyři vstupní (CTS, DSR, RI, CD).

A zde je malý příklad. Komentáře, myslím, vše vysvětlují.:

import serial           # umozni nam pouzit pyserial

com = serial.Serial(0)  # inicializace portu COM1
com.write("bubak\n")    # zapise na port retezec "bubak" a odradkuje
rx = com.readline()     # do promenne rx nacte vse co je ve vstupnim bufferu az do enteru
com.close()             # uzavre port
print(rx)               # vypise nacteny retezec

Knihovna "pyserial" toho pochopitelně obsahuje mnohem více, proto pro další práci doporučuji pozorně prostudovat dokumentaci.

A to je vše. Tímto Vám přeji co nejvíce úspešně realizovaných spojení :-)




subject:
  ( 112 subscribers )