Goto page Previous 1, 2, 3, 4, 5 Next
JarosĹaw SokoĹowski
Guest
Fri Dec 13, 2013 5:24 pm
Pan Sylwester Łazar napisał:
Quote:
Jeśli to nie jest wielka tajemnica, to co ten system ma robić?
Tak mniej więcej chociaż (wiem, że obrazki jakieś).
Po przyjściu RS-em kodu ma wywoływać odpowiednie reakcje.
Jeżeli np. 12 to ma wyświetlić kolejny rysunek.
Jeśli 13 to ma odtworzyć kolejny dźwięk.
Tylko tyle? No to program w C (lub dowolnym innym języku) do odbierania
znaków z rs-232 będzie miał kilkanaście, może kilkadziesiąt linijek.
Z niego najlepiej wywołać dostępny program, który zrobi, co jest do
zrobienia -- choćby xv do pokazania rysunku, czy mpg123 do odtworzenia
dźwięku. Z systemu, to będzie potrzebne gołe X11 bez uruchomionego
menedżera.
--
Jarek
Sylwester Łazar
Guest
Fri Dec 13, 2013 5:42 pm
Quote:
Tylko tyle? No to program w C (lub dowolnym innym języku) do odbierania
znaków z rs-232 będzie miał kilkanaście, może kilkadziesiąt linijek.
Z niego najlepiej wywołać dostępny program, który zrobi, co jest do
zrobienia -- choćby xv do pokazania rysunku, czy mpg123 do odtworzenia
dźwięku. Z systemu, to będzie potrzebne gołe X11 bez uruchomionego
menedżera.
I to chyba będzie najbardziej rozsądne.
Ten xv trochę za drogi 150$.
Sciągnąłem mpg123-1.16.0.tar.bz2
A jak to rozpakować?
Możesz podać jakiś przykład, jak się za to zabrać z poziomu c?
S.
Sebastian Biały
Guest
Fri Dec 13, 2013 5:52 pm
On 2013-12-13 17:42, Sylwester Łazar wrote:
Quote:
Sciągnąłem mpg123-1.16.0.tar.bz2
A jak to rozpakować?
Możesz podać jakiś przykład, jak się za to zabrać z poziomu c?
Za to należy zabrać się z poziomu basha. jesli to faktycznie tak jak
piszesz to lazarus to jest zbedny zbiór bitów. Z bashu machniesz to w 30
minut. W perlu i pythonie w podobnym czasie.
JarosĹaw SokoĹowski
Guest
Fri Dec 13, 2013 6:16 pm
Pan Sylwester Łazar napisał:
Quote:
Tylko tyle? No to program w C (lub dowolnym innym języku) do odbierania
znaków z rs-232 będzie miał kilkanaście, może kilkadziesiąt linijek.
Z niego najlepiej wywołać dostępny program, który zrobi, co jest do
zrobienia -- choćby xv do pokazania rysunku, czy mpg123 do odtworzenia
dźwięku. Z systemu, to będzie potrzebne gołe X11 bez uruchomionego
menedżera.
I to chyba będzie najbardziej rozsądne.
Ten xv trochę za drogi 150$.
Co?! Kiedyś chyba faktycznie był shareware, ale od dawna jest za darmo.
Zresztą ja w podobnych okolicznościach użyłem programu telak, który
został napisany do wyświetlania różnych rzeczy w root window. Nie
tylko lokalnych obrazków, ale i zdalnych URL. Naraił mi go znajomy,
który jakieś miał konszachty z autorem. Ściągnąłem, skompilowałem
i zobaczyłem, że jest dobry. Ale nie do końca, albowiem nie zauważa
gdy się obrazek podmieni na inny i wciąż wyświetla starą wersję.
A ja chciałem, żeby się zmieniało. Więc zacząłem marudzić, że sobie
w źródłach to poprawię tak, by proces po odebraniu sygnału SIGUSR1
czytał jeszcze raz swój konfig i w razie czego poprawiał wyświetlane
elementy. Nie zdążyłem jednak. Zanim pojawiłem się przy swoim komputerze,
to plotki o moim zrzędzeniu dotarły do autora i źródła zostały zminione
po mojej myśli. I co ja w tej sytuacji mogę? Chyba tylko pochwalić
i jeszcze raz podziękować obu młodym ludziom (donosicielowi i sprawcy)
oraz polecić robotę:
http://julien.danjou.info/projects/telak
Quote:
Sciągnąłem mpg123-1.16.0.tar.bz2
A jak to rozpakować?
Nadepnąć midnight commanderem? A jak nie, to:
tar jxvf mpg123-1.16.0.tar.bz2
Quote:
Możesz podać jakiś przykład, jak się za to zabrać z poziomu c?
A po co "się za to zabrać z poziomu c". Skompilowac i tyle.
configure ; make ; make install
Albo ściągnąć już gotową paczkę tgz do Slackware. Albo zainstalować
system, w którym wszystko jest (ale o tym już mówiłem).
--
Jarek
JarosĹaw SokoĹowski
Guest
Fri Dec 13, 2013 6:18 pm
Pan Sebastian Biały napisał:
Quote:
Możesz podać jakiś przykład, jak się za to zabrać z poziomu c?
Za to należy zabrać się z poziomu basha. jesli to faktycznie tak jak
piszesz to lazarus to jest zbedny zbiór bitów. Z bashu machniesz to
w 30 minut. W perlu i pythonie w podobnym czasie.
A jak w bashu odczytuje się dane z rs-232?
--
Jarek
Sebastian Biały
Guest
Fri Dec 13, 2013 6:41 pm
On 2013-12-13 18:18, Jarosław Sokołowski wrote:
Quote:
Możesz podać jakiś przykład, jak się za to zabrać z poziomu c?
Za to należy zabrać się z poziomu basha. jesli to faktycznie tak jak
piszesz to lazarus to jest zbedny zbiór bitów. Z bashu machniesz to
w 30 minut. W perlu i pythonie w podobnym czasie.
A jak w bashu odczytuje się dane z rs-232?
Zapominasz że to jest Unix i wszystko jest plikiem?
https://groups.google.com/forum/#!topic/comp.os.linux.development.system/fXHq-ijPgIU
http://linux.derkeiler.com/Newsgroups/comp.os.linux.development.system/2009-04/msg00081.html
Ale prywatnie przez lata stosowalem inną metodę: socat RS232 -> TCP. I
dalej już "normalnie" jak każde gniazdo sieciowe. A ponieważ mogleś
otworzyć normalny port TCP to nagle można bylo zdalnie sterować z sieci
ethernet bez żadnych kosztów. Dzieki temu moglem developować aplikację
na PC i jednoczesnie mieć pełny sprzet RS z malego komputerka ARM w
żywym systemie. Nieocenione. Zwłaszcza że aplikacja w Javie ...
Podstawowa zasada w Unixie mówi: nie rób tego. Ktoś to już zrobił.
Połącz klocki.
Sebastian Biały
Guest
Fri Dec 13, 2013 7:05 pm
On 2013-12-13 18:41, Sebastian Biały wrote:
Quote:
socat RS232 -> TCP.
A konkretnie tak:
socat -x TCP4-LISTEN:2000,nodelay,fork /dev/ttyS1,raw,echo=0,crnl,b57600,cs8
Od tej pory RS232 jest na porcie tcp 2000 i mozna połaczyć się z nim
byleczym, poczynając od telnetu.
Sylwester Łazar
Guest
Fri Dec 13, 2013 7:29 pm
Quote:
A po co "się za to zabrać z poziomu c". Skompilowac i tyle.
configure ; make ; make install
To znaczy co mam wpisać po kolei?
S.
JarosĹaw SokoĹowski
Guest
Fri Dec 13, 2013 7:52 pm
Pan Sebastian Biały napisał:
Quote:
Port rs-232 też oczywiście jest plikiem, ale żeby w nim poukładać kartki
przed odczytaniem, to trzeba już zewnętrznego programu, jak stty.
Więc nie, nie zapomniałem. Pytanie miało pokazać, że z samym bashem
będzie ciężko. Ale w pythonie już będzie swobodnie.
Quote:
Ale prywatnie przez lata stosowalem inną metodę: socat RS232 -> TCP.
Ja sobie pisałem jak najprostszy program w C żeby nim obracać w bashu.
Quote:
Podstawowa zasada w Unixie mówi: nie rób tego. Ktoś to już zrobił.
Ta zasada dobrze się sprawdza również poza Uniksem. Robić żeby zrobić,
a się nie narobić.
--
Jarek
JarosĹaw SokoĹowski
Guest
Fri Dec 13, 2013 7:53 pm
Pan Sebastian Biały napisał:
Quote:
socat RS232 -> TCP.
A konkretnie tak:
socat -x TCP4-LISTEN:2000,nodelay,fork /dev/ttyS1,raw,echo=0,crnl,b57600,cs8
Od tej pory RS232 jest na porcie tcp 2000 i mozna połaczyć się z nim
byleczym, poczynając od telnetu.
Chińczyk sprzedaje już pudełeczka, które robią to i tylko to.
--
Jarek
JarosĹaw SokoĹowski
Guest
Fri Dec 13, 2013 7:53 pm
Pan Sylwester Łazar napisał:
Quote:
configure ; make ; make install
To znaczy co mam wpisać po kolei?
Albo po kolei, albo w jednej linii ze średnikami, jak wyżej.
--
Jarek
Sylwester Łazar
Guest
Fri Dec 13, 2013 8:00 pm
Quote:
configure ; make ; make install
To znaczy co mam wpisać po kolei?
Albo po kolei, albo w jednej linii ze średnikami, jak wyżej.
dzięki. Zaraz sprawdzę.
Teraz tak.
Pytałeś co jest po mount i df.
Tak więc podaję:
mount:
aufs on / type aufs
(rw,si=be427c2b,xino=/mnt/live/memory/.aufs.xino,nowarn_perm)
/proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/hdb1 on /mnt/hdb1 type fuseblk (rw,noatime,allow_other,blksize=4096)
/dev/hdb5 on /mnt/hdb5 type fuseblk (rw,noatime,allow_other,blksize=4096)
/dev/sda1 on /mnt/sda1 type vfat
(rw,noatime,quiet,umask=0,check=s,shortname=mixed)
df:
Filesystem 1K-blocks Used Available Use% Mounted on
aufs 1237776 3584 1234192 1% /
tmpfs 1031480 0 1031480 0% /dev/shm
/dev/hdb1 18590008 5443832 13146176 30% /mnt/hdb1
/dev/hdb5 20480008 904224 19575784 5% /mnt/hdb5
/dev/sda1 7669840 1561408 6108432 21% /mnt/sda1
Sebastian Biały
Guest
Fri Dec 13, 2013 8:01 pm
On 2013-12-13 19:52, Jarosław Sokołowski wrote:
Quote:
Port rs-232 też oczywiście jest plikiem, ale żeby w nim poukładać kartki
przed odczytaniem, to trzeba już zewnętrznego programu, jak stty.
Więc nie, nie zapomniałem. Pytanie miało pokazać, że z samym bashem
będzie ciężko.
Nie istnieje "sam bash". To niezrozumienie unixa. Bash polega właśnie na
odpalaniu zewnętrzych programów. W tym konfiguratora tty. W bashu
ogromna ilośc poleceń jest zewnętrzna.
Quote:
Podstawowa zasada w Unixie mówi: nie rób tego. Ktoś to już zrobił.
Ta zasada dobrze się sprawdza również poza Uniksem. Robić żeby zrobić,
a się nie narobić.
Nieprawda. Inny do niedawna wiodący system operacyjny dostarczał
wyłacznie odlewy z betonu zamiast klocków. Efekty widać dzisiaj: do
prostej rzeczy którą można zrobic w bashu w 30 minut trzeba uzywac
kompilowanego języka, ide, bibliteki gui i to wszystko w niszowym języku
którego nikt już nie używa.
Sebastian Biały
Guest
Fri Dec 13, 2013 8:05 pm
On 2013-12-13 19:53, Jarosław Sokołowski wrote:
Quote:
socat RS232 -> TCP.
A konkretnie tak:
socat -x TCP4-LISTEN:2000,nodelay,fork /dev/ttyS1,raw,echo=0,crnl,b57600,cs8
Od tej pory RS232 jest na porcie tcp 2000 i mozna połaczyć się z nim
byleczym, poczynając od telnetu.
Chińczyk sprzedaje już pudełeczka, które robią to i tylko to.
Mialo być "jak korzystac w czymkolwiek z RS232". To pokazuje ze można go
"skonwerotwać" do tcp i się nie przejmowac niczym. I to jest wygodne
również w zakresie localhosta na urzadzeniu loopback. Czyli aplikacja
nie wie co to jest rs232 ale bez problemu sie z tym komunikuje przez
socket. Taki problem ma java: niby jest obsługa portów szeregowych ale
najnormalniej w świecie nie działa poprawnie (np. zawiesza enumeracje na
irda albo ma kłopoty z małymi timeoutami).
PS. Działa też w cygwinie.
JarosĹaw SokoĹowski
Guest
Fri Dec 13, 2013 8:15 pm
Pan Sebastian Biały napisał:
Quote:
Port rs-232 też oczywiście jest plikiem, ale żeby w nim poukładać kartki
przed odczytaniem, to trzeba już zewnętrznego programu, jak stty.
Więc nie, nie zapomniałem. Pytanie miało pokazać, że z samym bashem
będzie ciężko.
Nie istnieje "sam bash". To niezrozumienie unixa. Bash polega właśnie
na odpalaniu zewnętrzych programów. W tym konfiguratora tty. W bashu
ogromna ilośc poleceń jest zewnętrzna.
Nie chcę rozpoczynać świętej wojny, ale dla mnie bash, to bash. Tak to
rozumiem. A polecenia zewnętrzne, to polecenia zewnętrzne. Jak KDE odpala
się ze skryptu shella, to wcale nie oznacza, że to KDE jest elementem
basha (gdy ten shell to bash). Sam bash jak najbardziej istnieje i też
sporo potrafi.
Quote:
Podstawowa zasada w Unixie mówi: nie rób tego. Ktoś to już zrobił.
Ta zasada dobrze się sprawdza również poza Uniksem. Robić żeby zrobić,
a się nie narobić.
Nieprawda. Inny do niedawna wiodący system operacyjny dostarczał
wyłacznie odlewy z betonu zamiast klocków.
Prawda. Jak ktoś ma leniwą naturę, to się trzyma z dala od betoniarzy.
Obojętnie w jakiej branży by nie robił.
--
Jarek
Goto page Previous 1, 2, 3, 4, 5 Next