Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:mindstorms:lab:conf [2008/12/30 12:01]
gjn
pl:mindstorms:lab:conf [2019/06/27 15:50] (aktualna)
Linia 9: Linia 9:
 hidd --connect ​ hidd --connect ​
 </​code>​ </​code>​
 +
 +PH:
 +<​code>​
 +Skanowanie urządzeń BT:
 +   ​hcitool scan
 +
 +Edycja rfcomm.conf:​
 +   gedit _etc_bluetooth/​rfcomm.conf
 +
 +Dodać wpis:
 +   ​rfcomm0 {
 +     bind yes;
 +     ​device MAC_ADRESS;
 +     ​channel 1;
 +     ​comment "​NXT";​
 +   }
 +
 +Restart:
 +   ​_etc_init.d/​bluetooth restart
 +
 +Weryfikacja:​
 +   ​rfcomm
 +
 +Ustawienie portu:
 +sudo stty -F /​dev/​rfcomm0 -echo -icanon -iexten -isig -icrnl -inpck -istrip -ixon -cstopb cs8 parenb parodd -opost ispeed 115200 ospeed 115200
 +
 +Tutaj następuje pierwsze połączenie,​ więc i sparowanie z ustaleniem pinu.
 +
 +Proszę załadować plnxt.pl i odpalić nxt_open/0.
 +Dodatkowo jakieś podstawowe dwa dema dodawałem przy ostatniej aktualizacji
 +w cvs.
 + 
 +
 +</​code>​
 +
 ===== Testy 2008.12.29 ===== ===== Testy 2008.12.29 =====
 Ubuntu 8.04.01 desktop, robo2 wzorcowy Ubuntu 8.04.01 desktop, robo2 wzorcowy
Linia 87: Linia 122:
  
   stty -F /​dev/​rfcomm0 -echo -icanon -iexten -isig -inpck -istrip -ixon -cstopb parodd -opost ispeed 115200 ospeed 115200   stty -F /​dev/​rfcomm0 -echo -icanon -iexten -isig -inpck -istrip -ixon -cstopb parodd -opost ispeed 115200 ospeed 115200
 +
 +
 +<​code>​
 +export CVSROOT=:​ext:​gjn@charon.ia.agh.edu.pl/​mnt/​cvs/​cvs-hades
 +export CVS_RSH=ssh
 +cvs co plnxt
 +</​code>​
 +
 +===== Testy 2009.01.07 =====
 +<​code>​
 +hcitool scan # przeglad urzadzen
 + ​hcitool info 00:​16:​53:​05:​85:​E2
 +rfcomm # podglad kom rfc
 +rfcomm0: 00:​16:​53:​05:​85:​E2 channel 1 clean # przed pol, ma byc clean!
 +rfcomm0: 00:​16:​53:​05:​85:​E2 channel 1 connected [tty-attached] # po pol write
 +
 +# uwaga, reczne zestawienie
 +rfcomm release rfcomm0
 +rfcomm bind rfcomm0 00:​16:​53:​05:​85:​E2
 +
 +# wysw konf serial dev
 +stty -F /​dev/​rfcomm0 -a
 +
 +wajig purge swi-prolog swi-prolog-clib swi-prolog-doc swi-prolog-http ​ swi-prolog-semweb swi-prolog-sgml ​ swi-prolog-table swi-prolog-xpce
 +
 +http://​www.swi-prolog.org/​dl-old.html
 +http://​gollem.science.uva.nl/​cgi-bin/​nph-download/​SWI-Prolog/​binaries/​pl-5.4.7-190.i586.rpm
 +</​code>​
 +
 +===== Quickstart dla administratora (pod laboratorium) =====
 +
 +{{:​pl:​mindstorms:​lab:​plnxt-20081217.tar.gz|plnxt-20081217.tar.gz}}
 +
 +Działa wersji [[http://​gollem.science.uva.nl/​cgi-bin/​nph-download/​SWI-Prolog/​binaries/​pl-5.4.7-190.i586.rpm|SWIPL 5.4.7-190]] patrz [[http://​www.swi-prolog.org/​dl-old.html
 +|stare wersje swi]]
 +
 +==== rfcomm.conf ====
 +
 +W pliku {{:​pl:​mindstorms:​lab:​rfcomm.conf-1.txt|rfcomm.conf}} ​ znajduje się konfiguracja dla zestawów NXT używanych w laboratorium.\\
 +Należy upewnić się, że plik w takiej postaci znajduje się w katalogu _etc_bluetooth. \\
 +W szczególności część dotycząca robota, który ma być użyty. \\
 +
 +Po wprowadzeniu zmian w rfcomm.conf należy zrestartować BT:
 +<​code>​
 +_etc_init.d/​bluetooth restart
 +</​code>​
 +
 +==== Diagnostyka ====
 +
 +Wyszukiwanie dostępnych urządzeń BT:
 +<​code>​
 +hcitool scan
 +</​code>​
 +
 +Informacje o wskazanym urządzeniu:​
 +<​code>​
 +hcitool info 00:​16:​53:​05:​85:​E2
 +</​code>​
 +
 +Podgląd stanu urządzeń:
 +<​code>​
 +rfcomm
 +#Efekt:
 +rfcomm0: 00:​16:​53:​05:​85:​E2 channel 1 clean # Przed połączeniem,​ ma być clean lub closed.
 +rfcomm0: 00:​16:​53:​05:​85:​E2 channel 1 connected [tty-attached] # Po połączeniu.
 +</​code>​
 +
 +Podgląd konfiguracji urządzenia szeregowego:​
 +<​code>​
 +stty -F /​dev/​rfcomm2 -a
 +</​code>​
 +
 +==== Pakiety ====
 +
 +<​code>​
 +bluetooth bluez-gnome bluez-hcidump bluez-utils gnome-bluetooth libbluetooth2 python-bluez
 +
 +uzytkownik w gr do ktorej nalezy rfcomm, np. dialout -> uzycie modemow w m.kont ubuntu
 +</​code>​
 +
 +===== Quickstart dla studenta =====
 +
 +==== Ustawienie parametrów portu i sparowanie ====
 +
 +Należy uruchomić skrypt {{:​pl:​mindstorms:​lab:​nxt_stty.txt|nxt_stty}} (argumentem jest nazwa robota). Np.:
 +<​code>​
 +./nxt_stty czeslaw
 +</​code>​
 +
 +W trakcie może zajść konieczność sparowania urządzeń. Nie będzie wymagane, jeżeli ostatnio z tym zestawem na tym komputerze była używana ta sama wytczka BT.\\
 +Przy sparowaniu NXT prosi o podanie numeru PIN, który następnie trzeba powtórzyć w oknie konfiguracyjnym,​ które powinno się pojawić po zatwierdzeniu PINu w NXT.
 +
 +=== Troubleshooting ===
 +
 +Urządzenia wcześniej sparowane można zobaczyć klikając prawym przyciskiem niebieską ikonę BT -> Preferences -> Bonded devices.\\
 +Jeżeli urządzenie znajduje się na tej liście, parowanie w ogóle nie powinno zachodzić. Wystarczy samo ustawienie parametrów portu, którego dokonuje się uruchamiając skrypt nxt_stty.\\
 +Gdyby jednak cały proces ustawienia parametrów portu i ewentualnego parowania nie przebiegał poprawnie, proszę:
 +  * usunąć z wyżej wskazanej listy urządzenie,​
 +  * konieczne może też być usunięcie wpisu w NXT brick (należy wybrać z menu Bluetooth -> My contacts -> {device} -> Delete)
 +Następnie proszę ponownie uruchomić skrypt nxt_stty.
 +
 +==== Konfiguracja plnxt ====
 +
 +W pliku konfiguracyjnym plnxt.pl należy ustawić urządzenie,​ z którego się korzysta z odpowiednim numerem.\\
 +Przykład dla 02 - Bolek:
 +<code prolog>
 +% Specify the device files.
 +nxt_serial_device(write,'/​dev/​rfcomm2'​).
 +nxt_serial_device(read,'/​dev/​rfcomm2'​).
 +</​code>​
 +
 +==== Interfejs NXT ====
 +
 +W lewym górnym rogu wyświetlacza powinien znajdować się sybol BT oraz na prawo od niego symbol '<'​.\\
 +Jeżeli tak nie jest, BT jest wyłączony. Należy go włączyć (z menu wybrać Bluetooth -> On/Off -> On).\\
 +Po nawiązaniu połączenia obok symbolu '<'​ pojawia się symbol '>'​. Razem tworzą: '<>'​.\\
 +Po zamknięciu połączenia znika symbol '>'​.
 +
 +==== Test ====
 +
 +Otworzenie połączenia w powłoce:
 +<code prolog>
 +[plnxt].
 +nxt_open.
 +</​code>​
 +
 +Sprawdzenie poziomu baterii (najprostsze polecenie, które korzysta i z zapisu i z odczytu z urządzenia):​
 +<code prolog>
 +nxt_voltage_millivolt(Voltage).
 +</​code>​
 +
 +Zamknięcie połączenia w powłoce:
 +<code prolog>
 +nxt_close.
 +</​code>​
 +
 +=== Test z wykorzystaniem programu demowego ===
 +
 +Przykład:​\\
 +demo2.pl (Magazynier)
 +    * podnieś kulkę (użyj sensora dotyku)
 +    * wykonaj zwrot o 180 stopni
 +    * przenieś kulkę pod ścianę (użyj sonaru do określenia co jest ścianą)
 +    * wyłacznik awaryjny: klaśniecie
 +
 +Należy wczytać plik demos/​demo2.pl i uruchomić go przy użyciu start/0.
  
pl/mindstorms/lab/conf.1230634918.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0