Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:mindstorms:lab:conf [2008/12/30 11:49] gjn |
pl:mindstorms:lab:conf [2019/06/27 15:50] (aktualna) |
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 |
Dec 30 11:48:17 robo2 NetworkManager: <debug> [1230634097.191374] nm_hal_device_removed(): Device removed (hal udi is '/org/freedesktop/Hal/devices/bluetooth_acl_16530585e2'). | Dec 30 11:48:17 robo2 NetworkManager: <debug> [1230634097.191374] nm_hal_device_removed(): Device removed (hal udi is '/org/freedesktop/Hal/devices/bluetooth_acl_16530585e2'). |
</code> | </code> |
| |
| * _etc_bluetooth/rfcomm.conf |
| <code> |
| rfcomm0 { |
| bind yes; |
| device 00:16:53:05:85:E2; # Agatka |
| # channel 1; |
| comment "Agatka Example Bluetooth device"; |
| } |
| </code> |
| * _etc_init.d/bluetooth restart |
| |
| 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. |
| |