Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:mindstorms:lab:conf [2009/01/07 11:15] holownia |
pl:mindstorms:lab:conf [2019/06/27 15:50] (aktualna) |
</code> | </code> |
| |
Zmiana dongle powoduje konieczność ponownego sparowania i ustawienia parametrów portu (stty). Ustawienie parametrów jest koniczne także po restarcie systemu, więc student musi mieć dostęp do stty. | ===== 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. |