Thread View: pl.comp.lang.python
7 messages
7 total messages
Started by luka
Mon, 06 Jan 2003 17:10
pyserial
Author: luka
Date: Mon, 06 Jan 2003 17:10
Date: Mon, 06 Jan 2003 17:10
11 lines
1229 bytes
1229 bytes
Czy ktoś ma jakieś doświadczenia z tym modułem? Mam następujący problem napisałem prosty programik do obsługi modemu radiowego(prędkość 9600 jeżeli to istotne). Pod windowsem działa bez zarzutu, natomiast pod linuxem przy odbiorze binarnych bloków wielkości 1kB czasami tracę 1 -2 bajtów nie wiem w czym dokladnie tkwi problem, czy coś się przepełnia, czy może problem tkwi gdzieś poza pythonem. -- pozdrawiam luka
Re: pyserial
Author: Adam Przybyla
Date: Mon, 06 Jan 2003 17:19
Date: Mon, 06 Jan 2003 17:19
12 lines
1491 bytes
1491 bytes
luka <lzalewsk@elka.pw.edu.pl> wrote: > Czy kto? ma jakie? do?wiadczenia z tym modu?em? > Mam nast?puj?cy problem napisa?em prosty programik do obs?ugi modemu > radiowego(pr?dko?? 9600 je?eli to istotne). > Pod windowsem dzia?a bez zarzutu, natomiast pod linuxem przy odbiorze > binarnych blok?w wielko?ci 1kB czasami trac? 1 -2 bajt?w > nie wiem w czym dokladnie tkwi problem, czy co? si? przepe?nia, czy mo?e > problem tkwi gdzie? poza pythonem. ... robilem cos z tym modulem, u mnie dzialal bez problemu. Mam system alarmowy odczytywany przez rs wlasnie poprzez python'a. Z powazaniem Adam Przybyla
Re: pyserial
Author: Krzysztof Kaczkowski
Date: Mon, 06 Jan 2003 18:21
Date: Mon, 06 Jan 2003 18:21
5 lines
1147 bytes
1147 bytes
Jezeli faktycznie jest krotki to podeslij może cos sie wyjasni. PS Moze jakies komunikaty o bledach sa? Jak jest realizowane polączenie? Moze jest problem z kompresją? Trudno cos powiedziec bez zadnych dodatkowych informacji.
Re: pyserial
Author: luka
Date: Mon, 06 Jan 2003 19:31
Date: Mon, 06 Jan 2003 19:31
40 lines
3029 bytes
3029 bytes
Użytkownik "Krzysztof Kaczkowski" <krzysztof@py142.wroclaw.sdi.tpnet.pl> napisał w wiadomości news:avcdvo$h1a$1@news.tpi.pl... > Jezeli faktycznie jest krotki to podeslij może cos sie wyjasni. > PS > Moze jakies komunikaty o bledach sa? > Jak jest realizowane polączenie? Moze jest problem z kompresją? > Trudno cos powiedziec bez zadnych dodatkowych informacji. > Trochę ciężko go przesłać, ale trochę opowiem do RS podłączony jest modem GSM'owy prędkość 9600;standardowe komendy AT Programik robi następującą rzecz: 1) Nasłuchuje modem czy ktoś do niego dzwoni: 2) Jeżeli tak: podnosi słuchawkę: 3) Dzwoniącym jest pewne urządzenie podłączone do zwykłego telefonu GSM które posiada dane które chce wysłać do "serwera" 4) Programik po podniesieniu słuchawki zaczyna rozmawiać z w/w urządzeniem komendami "pseudo AT" (taki prosty wymyślony protokół) 5) następuje autoryzacja, uzgodnienie jaka wielkość danych będzie wysyłana itp. 6) następnie przechodzi do transmisji w/w danych w postaci binarnej opakowanej w odpowiedni pakiecik z wielkością danych oraz CRC - jeżeli coś nie tak to oczywiście następuje retransmisja danych 7) wszytsko co następuje w punkcie 5 wychodzi bez problemu, problem zaczyna się sporadycznie pojawiać w momencie transmisji danych binarnych (znikają 1 do 2 bajtów; poprostu nie ma ich w buforze) - oczywiście radzę sobie z tym poprzez retransmisję danych, ale to wydłuża czas połączenia Co robiłem: zastosowałem dwa rozwiązania: - czytałem z portu (urzywając pyseriala) stosując standardowe metody wtedy kiedy potrzebowałem sięgnąć po dane - utworzyłem jednego threda który zajmował się tylko tym, że jeżeli pojawiało się coś na porcie to to od razu zczytywał do niezależnego bufora (zastosowałem najprostrzą listę, nic z nmap) , z którego później czytałem W obu przypadkach pod Linuxem występują retransmisję, podczas gdy pod Windą nie mam najmniejszych problemów. Może macie jakiś pomysł. Może gdzieś powinienem zajrzeć? -- pozdrawiam luka
Re: pyserial
Author: piter
Date: Mon, 06 Jan 2003 23:00
Date: Mon, 06 Jan 2003 23:00
53 lines
3430 bytes
3430 bytes
Uzytkownik "luka" <lzalewsk@elka.pw.edu.pl> napisal w wiadomosci news:avclis$9je$1@julia.coi.pw.edu.pl... > Użytkownik "Krzysztof Kaczkowski" <krzysztof@py142.wroclaw.sdi.tpnet.pl> > napisał w wiadomości news:avcdvo$h1a$1@news.tpi.pl... > > Jezeli faktycznie jest krotki to podeslij może cos sie wyjasni. > > PS > > Moze jakies komunikaty o bledach sa? > > Jak jest realizowane polączenie? Moze jest problem z kompresją? > > Trudno cos powiedziec bez zadnych dodatkowych informacji. > > > Trochę ciężko go przesłać, ale trochę opowiem > do RS podłączony jest modem GSM'owy prędkość 9600;standardowe komendy AT > Programik robi następującą rzecz: > 1) Nasłuchuje modem czy ktoś do niego dzwoni: > 2) Jeżeli tak: podnosi słuchawkę: > 3) Dzwoniącym jest pewne urządzenie podłączone do zwykłego telefonu GSM > które posiada dane które chce wysłać do "serwera" > 4) Programik po podniesieniu słuchawki zaczyna rozmawiać z w/w urządzeniem > komendami "pseudo AT" (taki prosty wymyślony protokół) > 5) następuje autoryzacja, uzgodnienie jaka wielkość danych będzie wysyłana > itp. > 6) następnie przechodzi do transmisji w/w danych w postaci binarnej > opakowanej w odpowiedni pakiecik z wielkością danych oraz CRC - jeżeli coś > nie tak to oczywiście następuje retransmisja danych upewnij sie czy to jest _naprawde_ tryb binarny: moze tu chodzi o "zjadane" \r\n? just "strzelam" czy wiesz moze jakie bajty sa tracone? > 7) wszytsko co następuje w punkcie 5 wychodzi bez problemu, problem zaczyna > się sporadycznie pojawiać w momencie transmisji danych binarnych (znikają 1 > do 2 bajtów; poprostu nie ma ich w buforze) - oczywiście radzę sobie z tym > poprzez retransmisję danych, ale to wydłuża czas połączenia > Co robiłem: > zastosowałem dwa rozwiązania: > - czytałem z portu (urzywając pyseriala) stosując standardowe metody wtedy > kiedy potrzebowałem sięgnąć po dane > - utworzyłem jednego threda który zajmował się tylko tym, że jeżeli > pojawiało się coś na porcie to to od razu zczytywał do niezależnego bufora > (zastosowałem najprostrzą listę, nic z nmap) , z którego później czytałem > W obu przypadkach pod Linuxem występują retransmisję, podczas gdy pod Windą > nie mam najmniejszych problemów. > Może macie jakiś pomysł. Może gdzieś powinienem zajrzeć? > > -- > pozdrawiam > luka > >
Re: pyserial
Author: Jacek Konieczny
Date: Tue, 07 Jan 2003 10:36
Date: Tue, 07 Jan 2003 10:36
28 lines
2228 bytes
2228 bytes
In article <avclis$9je$1@julia.coi.pw.edu.pl>, luka wrote:
> Co robiłem:
> zastosowałem dwa rozwiązania:
> - czytałem z portu (urzywając pyseriala) stosując standardowe metody wtedy
> kiedy potrzebowałem sięgnąć po dane
> - utworzyłem jednego threda który zajmował się tylko tym, że jeżeli
> pojawiało się coś na porcie to to od razu zczytywał do niezależnego bufora
> (zastosowałem najprostrzą listę, nic z nmap) , z którego później czytałem
> W obu przypadkach pod Linuxem występują retransmisję, podczas gdy pod Windą
> nie mam najmniejszych problemów.
> Może macie jakiś pomysł. Może gdzieś powinienem zajrzeć?
Użyłeś jakiejkolwiek kontroli przepływu? Była ona zgodna z użytą przez
modem?
Jeśli nie użyłeś kontroli przepływu i program nie nadążał z odbieraniem
danych, to mogły się niektóre znaki tracić.
Jeżeli twój program pracował na porcie z ustawioną kontrolą XON/XOFF,
a modem używał kontroli sprzętowej lub żadnej, to też mogły się znaki
tracić. Ale wtedy zapewne straty byłyby większe (chyba że w przesyłanych
danych zawsze XON następuje zaraz po XOFF).
Druga sprawa jaka przychodzi mi na myśl, to synchronizacja wątków. Czy
na pewno czytasz bufor po jego wypełnieniu? I czy nic do niego nie pisze
w trakcie czytania? Ale gdyby z tym było coś nie tak, to pewnie objawy
też byłyby "poważniejsze".
Pozdrowienia,
Jacek
Re: pyserial
Author: luka
Date: Tue, 07 Jan 2003 15:50
Date: Tue, 07 Jan 2003 15:50
45 lines
2924 bytes
2924 bytes
Użytkownik "Jacek Konieczny" <jajcus@bnet.pl> napisał w wiadomości news:slrnb1lbcn.skr.jajcus@serwus.bnet.pl... > In article <avclis$9je$1@julia.coi.pw.edu.pl>, luka wrote: > > Co robiłem: > > zastosowałem dwa rozwiązania: > > - czytałem z portu (urzywając pyseriala) stosując standardowe metody wtedy > > kiedy potrzebowałem sięgnąć po dane > > - utworzyłem jednego threda który zajmował się tylko tym, że jeżeli > > pojawiało się coś na porcie to to od razu zczytywał do niezależnego bufora > > (zastosowałem najprostrzą listę, nic z nmap) , z którego później czytałem > > W obu przypadkach pod Linuxem występują retransmisję, podczas gdy pod Windą > > nie mam najmniejszych problemów. > > Może macie jakiś pomysł. Może gdzieś powinienem zajrzeć? > > Użyłeś jakiejkolwiek kontroli przepływu? Była ona zgodna z użytą przez > modem? > Jeśli nie użyłeś kontroli przepływu i program nie nadążał z odbieraniem > danych, to mogły się niektóre znaki tracić. > Jeżeli twój program pracował na porcie z ustawioną kontrolą XON/XOFF, > a modem używał kontroli sprzętowej lub żadnej, to też mogły się znaki > tracić. Ale wtedy zapewne straty byłyby większe (chyba że w przesyłanych > danych zawsze XON następuje zaraz po XOFF). > > Druga sprawa jaka przychodzi mi na myśl, to synchronizacja wątków. Czy > na pewno czytasz bufor po jego wypełnieniu? I czy nic do niego nie pisze > w trakcie czytania? Ale gdyby z tym było coś nie tak, to pewnie objawy > też byłyby "poważniejsze". > > Pozdrowienia, > Jacek Jeżeli chodzi o synchronizację wontków to jest zapewniona, są odpowiednie semafory jeżeli chodzi o kontrolę przepływu to dane przychodzą dokładnie wtedy kiedy ja tego chcę (mówie tutaj o tym dodatkowym urządzeniu), ale porzeźbię jescze trochę i jeżeli coś znajdę to siępodzielę. Jak na razie dzięki za wszystko. -- pozdrawiam luka
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads