Programmatisk å snakke med en serieport i OS X eller Linux

stemmer
16

Jeg har en Prolite LED tegn på at jeg liker å sette opp for å vise rulle søk fra en apache logger og andre morsomme statistikk. Problemet er, min G5 ikke har en seriell port, så jeg må bruke en usb til seriell dongle. Det viser seg som /dev/cu.usbserial og /dev/tty.usbserial.

Når jeg gjør dette alt synes å være hunky-dory:

stty -f /dev/cu.usbserial
speed 9600 baud;
lflags: -icanon -isig -iexten -echo
iflags: -icrnl -ixon -ixany -imaxbel -brkint
oflags: -opost -onlcr -oxtabs
cflags: cs8 -parenb

Alt fungerer også når jeg bruker seriell port verktøyet til å snakke med den.

Hvis jeg kjører denne stykke kode mens de ovennevnte seriell port verktøyet, everthing fungerer også. Men så snart jeg kobler verktøyet forbindelsen blir brutt.

#!/usr/bin/python

import serial

ser = serial.Serial('/dev/cu.usbserial', 9600, timeout=10) 
ser.write(<ID01><PA> \r\n) 
read_chars = ser.read(20)
print read_chars

ser.close()

Så spørsmålet er, hva magicks må jeg gjøre for å begynne å snakke til serieporten uten serieporten verktøyet? Er det et problem med rettigheter? Også, hva er forskjellen mellom /dev/cu.usbserial og /dev/tty.usbserial?


Nope, ingen serienumre. Saken er, problemet vedvarer selv med sudo-kjører Python-skript, og det eneste som gjør det gå gjennom hvis jeg åpner forbindelsen i gui verktøy som jeg nevnte.

Publisert på 06/08/2008 klokken 21:00
kilden bruker
På andre språk...                            


2 svar

stemmer
5

/dev/cu.xxxxxer "callout" enhet, er det det du bruker når du oppretter en tilkobling til den serielle enheten og begynne å snakke til den. /dev/tty.xxxxxer "dialin" innretning, anvendt for å overvåke en port for innkommende anrop for eksempel en fakslytter.

Svarte 07/08/2008 kl. 00:19
kilden bruker

stemmer
0

har du prøvd å se på trafikken mellom GUI og serieporten for å se om det er noen form for spesiell kommando som sendes over nettverket? Også bare nysgjerrig, er Python sende ASCII og ikke UTF-8 eller noe annet ikke sant? Grunnen til at jeg spør er fordi jeg la merke tilbudet endringer for strengene og i noen språk som faktisk er forskjellen mellom ASCII og UTF-8.

Svarte 06/08/2008 kl. 23:40
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more