niedziela, 6 grudnia 2015

BeagleBone Black konfiguracja WIFI dalsze zmagania.

Jest chyba 10 dnia kolejnego. Pora zatem na ciąg dalszy. Włączamy naszego Beagle i na razie bez podłączania karty WIFI instalujemy usługę obsługi WIFI. Wykonujemy szereg następujących po sobie poleceń:

cd ~
ntpdate -b -s -u pool.ntp.org
apt-get update && apt-get install git
git clone https://github.com/adafruit/wifi-reset.git
cd wifi-reset
chmod +x install.sh
./install.sh

Każde polecenie zatwierdzamy klawiszem Enter. Po wykonaniu prawidłowo wszystkich powinniśmy na ekranie otrzymać takie oto komunikaty:

Installing wifi reset service to /opt/wifi-reset.
Installing systemd service to run at boot.
Enabling systemd service.

Gdy coś pójdzie nie tak proszę koniecznie sprawdzić składnię poleceń opisanych powyżej.

Nareszcie nadeszła pora na właściwe uruchomienie sieci bezprzewodowej w naszym BeagleBone Black. Najpierw wyłączamy BBB potem podłączamy naszą kartę sieciową i włączamy ponownie nasz system. Wykonujemy połączenie przez USB lub UART za pomocą terminala a następnie wykonujemy komendy które pozwolą nam sprawdzić, czy nasz interfejs działa prawidłowo. Komenda jest następująca:

iwconfig

Po jej zatwierdzeniu klawiszem Enter dostajemy informację o zainstalowanych interfejsach sieciowych, w tym naszej karcie WIFI.
Jedną z ostatnich operacji jest edycja pliku, który będzie "przechowywał" ustawienia naszej sieci. Należy go oczywiście sobie wyedytować. Wpisujemy polecenie:

nano /etc/network/interfaces

Nano to popularny prosty edytor tekstowy a /etc/network/interfaces to oczywiście ścieżka dostępu do pożądanego pliku z konfiguracją sieci. Po otwarciu w edytorze nano poszukujemy następującej składni pliku:

# WiFi Example
#auto wlan0
#iface wlan0 inet dhcp
# wpa-ssid "essid"
# wpa-psk "password"


Jedyne co musimy zrobić to zedytować go tak żeby "odhashować" następujące linijki:

# WiFi Example
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "moja_siec_WIFI"
wpa-psk "moje_haslo_WIFI"


Chyba nie muszę wyjaśniać co i jak, bo powyższy przykład dla osób obznajomionych z sieciami WIFI powinien być czytelny. wpa-ssid to nazwa naszej sieci a z kolei wpa-psk to hasło ją zabezpieczające :)
Po zakończeniu edycji plik zapisujemy kombinacja klawiszy Ctrl-O i zatwierdzamy nasz zapis zawartości pliku Enterem.
Kombinacją Ctrl-X wychodzimy z edytora Nano.
Testujemy nasze "łącze" poleceniem:

ifup wlan0

I na ekranie terminala powinna pojawić się kompletna informacja o przydzieleniu naszemu interfejsowi adresu IP przypisanym z DHCP.

Możemy także sprawdzić połączenie sieciowe BeagleBone Black wykonując polecenie:

ifconfig wlan0

No i w końcu je przetestować poleceniem np.:

ping www.wp.pl

Zobaczymy wtedy potwierdzenie połączenia w postaci poprawnych pingów. Ctrl-C zamknie nam pingowanie.
Wykonujemy polecenie reboot i po ponownym uruchomieniu - połączenie nie działa! Trzeba na nowo wklepywać polecenie ifup wlan0 i tak za każdym razem - tylko podstawowe pytanie po co? Skoro ma to działać automatycznie i cieszyć nas zdalnym dostępem via WIFI:)
Aby rozwiązać tę niedogodność musimy znowu wrócić się do edycji pliku interfaces:

nano /etc/network/interfaces

I znowu odszukać linijki składni:

# WiFi Example
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "moja_siec_WIFI"
wpa-psk "moje_haslo_WIFI"


Dodajemy następujące polecenie ("hashując" jednocześnie linijkę - auto wlan0):

allow-hotplug wlan0

Tak, że nasz plik po wyedytowaniu będzie miał następująca składnię:

# WiFi Example
# auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "moja_siec_WIFI"
wpa-psk "moje_haslo_WIFI"




Poniżej zamieszczam zrzuty z obu plików tak aby wyeliminować wątpliwości związane z ich konfiguracją.

 Edycja pliku  - rc.local

Edycja pliku intefaces

Może nie jest to najlepszy pomysł ale ten sposób u mnie zadziałał znakomicie i wydaje się, że do potrzeb amatorskich w zupełności wystarczy.
Można jeszcze wykonać polecenie włączające:

ifup wlan0

I po kolejnym restarcie cieszyć się WIFI z BeagleBone Black.
I tak się sprawy z niesfornym Beaglem i siecią WIFI miały. mam nadzieję, ze komuś się przyda taka konfiguracja np. do sterowania robotem via WIFI no i oczywiście za pomocą BBB.
Pozdrawiam kolegów i koleżanki życzę sukcesów w zmaganiu się z tą platformą.




Beagle Bone Black - konfiguracja WIFI.

Jakiś czas temu stałem się szczęśliwym posiadaczem platformy BeagleBone Black. Jako, że bardzo szybko podłączyłem komputerek przez UART'a i opanowałem jako tako obsługę wbudowanego weń Debiana (na razie tylko podstawowe polecenia), naszła mnie ochota na podłączenie systemu do mojej domowej sieci WiFi.
No niby nic trudnego - kupić jakąś tam kartę na USB podłączyć i koniec tematu. Okazało się to jednak nie takie proste bo zakupiona karta wcale to, a wcale nie chciała działać.
Należało poszukać nieco w sieci a oto co udało mi się wykopać.
Mój post jest więc kompilacją tego co udało mi się znaleźć na ten temat w sieci, własnych eksperymentów i przeczytanych artykułów - postów. Dlatego proszę nie posądzać mnie o Plagiatowanie pracy innych - albowiem są to moje własne tłumaczenia z jęz. angielskiego i samodzielne przemyślenia w dochodzeniu do pewnych rzeczy.


Zacznę teraz od tego, że lista kart sieciowych które będą bez specjalnych "haków" i gimnastyki współdziałały z BBB i odpowiednimi dystrybucjami LINUX jest stosunkowo uboga ale dla potrzeb amatorskich w zupełności wystarczy - oto one:
1/ ASUS USB-N13 802.11 b/g/n - Angstrom;
2/ EDIMAX EW-7811UN oraz D-Link DWA-125 - Debian LXDE, Debian Gnome Desktop;
3/ D-Link DWA-121 - Angstrom Debian LXDE, Debian Gnome Desktop;
4/ Belkin N150 - Debian LXDE
5/ TP-Link TL-WN727N - Debian LXDE, Debian Gnome Desktop
6/ TP-Link TL-WN722N (z antenką) - Debian LXDE, Debian Gnome Desktop (i tejże użyłem w moich doświadczeniach);
7/ Netgear WNA1100 - Debian LXDE, Debian Gnome Desktop;
8/ Keebox W150NU - Debian LXDE, Debian Gnome;
9/ Realtek RTL8188CU w wersji USB - Debian LXDE (i tejże również używałem);
Informacje o kartach kompatybilnych z BBB pochodzą ze strony:http://www.elinux.org/Beagleboard:BeagleBoneBlack#WIFI_Adapters a dwie wytłuszczone powyżej karty wypróbowałem sam bo tylko takie znalazłem w handlu w sensownej cenie:)

Kolejną ważną rzeczą jest sprawdzenie czy dysponujemy najnowszą wersją Debiana na naszym komputerku. Najnowsze wersje obrazów możemy sprawdzić TUTAJ.

Jeżeli nie Jesteście pewni jak wykonać sprawdzenie i ewentualną instalację od zera czyli "flashowanie" zachęcam do odwiedzenia strony projektu BBB celem dowiedzenia się jak tego dokonać.

Do komunikacji z Beaglem będzie jeszcze potrzeba połączenia przez np. jego UART ale o tym to już inna historia i nie na dzisiaj.

Ja do komunikacji używam prostego konwertera USB <-> UART z kompletem przewodów komunikacyjnych tak, że nie muszę się martwić że "Tx to ma być podłączone do Rx i na odwrót" itd. itp. układ robi to za mnie.
Używam konwertera USB - TTL RS232 na układzie CH340G z możliwością przełączania napięć sterowanych, programowanych układów (3,3 - 5V).
Poniżej foto konwertera:
Połączenie nawiązuję przez Putty i port serial o szybkości 115200.

No dobrze w następnej kolejności musimy oczywiście połączyć się z naszym Beaglem i wykonujemy te czynność np przez program PUTTY i terminal (tak lubię najbardziej) - ale wiadomo są różne szkoły.
Pamiętajmy o tym aby zasilić nasz komputerek odpowiedniej mocy zasilaczem. Ja użyłem zasilacza 5v 3A. Który w zupełności pokrywa moje zapotrzebowanie na zabawę z Beaglem. Zasilenie BBB + WIFI tylko z kabla USB może nie dać mu wystarczającej mocy.
Co dalej? Dalej potrzeby będzie upgrade kernela naszego systemu. W przypadku Debiana 7 Wheezy. Wykonujemy polecenie:

cd /opt/scripts/tools/
./update_kernel.sh

Na ekranie terminala pokaże się nam szereg rozpakowywanych i instalowanych skryptów i plików i właściwie niewiele tu można pisać - całość dzieje się automatycznie. Po pojawieniu się z powrotem znaku zachęty wykonujemy komendę:

reboot

która uruchamia Beagle'a z powrotem.

No i zrobiła się Pierwsza w nocy zatem dokończę mojego posta w czasie późniejszym - wybaczcie drodzy koledzy i koleżanki idę spać...

CDN...