Konfiguracja platformy sprzętowej BeagleBone Black Debian. Poradnik przedstawia w prosty i klarowny sposób jak krok po kroku zainstalować i skonfigurować platformę sprzętową BeagleBone Black w oparciu o dystrybucję systemu Linux o nazwie Debian. Niniejszy poradnik zawiera informacje na temat: 1. przygotowania karty microsd z dystrybucja systemu Linux Debian; 2. instalacji systemu na platformie sprzętowej BeagleBone Black; 3. konfiguracji sieciowa platformy sprzętowej; 4. instalacji tzw. AMP-P (Apache2, MySQL, PHP, Python); 5. aktualizacji strefy czasowej; 6. tworzenia skryptu umożliwiającego autostart programu po ponownym bootowaniu systemu. 7. włączenia niektórych protokołów komunikacyjnych SPI. Poradnik został stworzony na podstawie różnorodnych stron internetowych i powstał w celu zgromadzenia podstawowych danych i informacji koniecznych do skonfigurowania ww. platformy sprzętowej. 1. Przygotowanie karty microsd z dystrybucją systemu Linux Debian. Do przygotowania karty microsd potrzeba następujących programów: 7-zip (licencja: Open Source) archiwizator plików z wysokim stopniem kompresji, Win32 DiskImager (licencja: Freeware) narzędzie do zapisywania obrazów dysków na pamięciach USB oraz kartach SD/CF Firma BeagleBoard umożliwia pobranie ze swojej strony internetowej kilku różnych dystrybucji systemu Linux takich jak Angstrom czy Debian specjalnie przygotowanych pod platformę sprzętową BeagleBone Black. Aby zainstalować wybrany system należy go pobrać ze strony internetowe: http://beagleboard.org/latestimages,a następnie za pomocą programu 7-zip zdekompresować. Następną czynnością jest umieszczenie karty microsd w komputerze (za pomocą czytnika kart lub adaptera USB). Po umieszczeniu karty należy uruchomić kolejny program o nazwie Win32DiskImager, którego zadaniem będzie zapisanie
zdekompresowanego obrazu systemu operacyjnego na karcie microsd w postaci binarnej. Aby zapisać system na karcie należy: 1. wybrać obraz pliku, który ma zostać wgrany na kartę (Rys. 1.1 pkt. 1). 2. wybrać urządzenie, na którym ma zostać wgrany wcześniej wybrany obraz systemu (Rys. 1.1 pkt. 2). 3. nacisnąć przycisk Zapisz (Rys. 1.1 pkt. 3). Rys. 1.1Interfejs programu Win32 DiskImager Ważne jest również to, aby w trakcie działania programu Win32DiskImagerBeagleBone Black był odłączony od komputera. 2. Instalacji systemu na platformie sprzętowej BeagleBone Black Kolejnym etapem w procesie konfiguracji platformy sprzętowej jest instalacja wcześniej przygotowanego systemu. Aby zainstalować system należy: 1. umieścić kartę microsd z systemem w wersji binarnej w slocie karty microsd platformy sprzętowej; 2. podłączyć platformę sprzętową do zasilania (zasilacz DC 5V) wciskając i przytrzymując przycisk USER/BOOT czekając aż cztery diody użytkownikazaświecą się, po czym zaczną migać. Instalacja systemu potrwa około 30 minut, a gdy zakończy się, cztery diody użytkownika zasygnalizują to poprzez ciągłe świecenie. Aby poprawnie zakończyć instalację, należy odłączyć platformę sprzętową od zasilania, po czym wyciągnąć kartę microsd ze slotu. 2
3. Konfiguracji sieciowej platformy sprzętowej Po zakończeniu instalacji wybranego systemu, należy skonfigurować sieć. Konfiguracjazostanie omówiona na przykładzie routera: 54M Wireless Router Model No. TL-WR340G/TL-WR340GD. Aby skonfigurować sieć należy zatem wykonać następujące czynności: 1. podłączyć platformę sprzętową do zasilania oraz połączyć ją z routerem za pośrednictwem złącza Ethernet, 2. zalogować się do panelu administracyjnego routera (Fot. 3.1), 3. otworzyć zakładkę DHCP Clients List(Fot. 3.2) w celu odczytania adresu MAC platformy sprzętowej, 4. otworzyć zakładkę Address Reservation, gdzie należy przypisać statyczny adres IP naszemu urządzeniu (Fot. 3.3). Aby przypisać statyczny adres IP należy wcisnąć przycisk Add New, następnie wpisaćzapamiętany adres MAC z zakładkidhcp Clients Listurządzenia oraz adres IP, który chcemy przypisać temu urządzeniu. Na końcu należy ustawić status Enabled i zrestartować router. Fot. 3.1Moment logowania się do panelu administracyjnego routera 3
Fot. 3.2 Zakładka DHCP Clients List wraz z zaznaczonym adresem MAC platformy sprzętowej Fot. 3.3 Lista zarezerwowanych adresów IP 4. Instalacji tzw. AMP-P (Apache2, MySQL, PHP, Python) Aby zainstalować AMP-P na platformie sprzętowej należy połączyć się z nią za pomocą protokołu komunikacyjnego SSH (Secure Shell) wykorzystującego port 22. Protokół ten jest następcą protokołu Telnet i zasadniczą różnicą jest to, że transfer danych odbywa się w sposób zaszyfrowany. W nawiązaniu połączenia pomoże darmowy program PuTTY(licencja: Freeware) Fot. 4.1, który umożliwia nawiązywanie połączenia z różnymi urządzeniami za pośrednictwem różnych protokołów. 4
Żeby skonfigurować połączenie należy: uruchomić program PuTTY, wpisać adres IP, wpisać numer portu: 22, wybrać protokół SSH. Po naciśnięciu przycisku Open uruchomi się konsola, gdzie należy zalogować się do systemu. Aby zalogować się do systemu wpisujemy: user: root password: root Fot. 4.1Interfejs programu PuTTY 1) Instalacja serwera Apache2: Apache otwarty serwer HTTP dostępny dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD, OS X, Microsoft Windows). Aby zainstalować serwer w konsoli wystarczy wpisać dwa następujące polecenia: #sudo apt-get update #sudo apt-get install apache2 5
2) Instalacja MySQL: MySQL wolno dostępny system zarządzania relacyjnymi bazami danych. Aby zainstalować system zarządzania relacyjnymi bazami danych należy wpisać polecenie: #sudo apt-get install mysql-server libapache2-mod-authmysql php5-mysql W trakcie instalacji MySQL poprosi o ustawienie hasła dla administratora. Po zakończeniu instalacji należy aktywować tą usługę poleceniem: # sudo mysql_install_db Po aktywowaniu należy ją uruchomić poleceniem: # sudo /usr/bin/mysql_secure_installation Po uruchomieniu MySQL poprosi o potwierdzenie tej operacji poprzez wpisanie hasła administratora (hasło ustawione krok wcześniej). Następnie zapyta o to czy chcesz zmienić hasło (wybieramy opcję N). Wszystkie kolejne pytania należy potwierdzić opcją tak (opcja: Y). Poniżej są przedstawione pytania, o które zostaniemy zapytani: Remove anonymous users? [Y/n] y... Success! Normally, root should only be allowed to connect from 'localhost'. Thisensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y... Success! By default, MySQL comes with a database named 'test' that anyone canaccess. This is also intended only for testing, and should be removedbefore moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database...... Success! - Removing privileges on test database...... Success! Reloading the privilege tables will ensure that all changes made so farwill take effect immediately. Reload privilege tables now? [Y/n] y... Success! 6
3) Instalacja PHP: PHP obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.php jest najczęściej stosowany do tworzenia skryptów po stronie serwera WWW, ale może być on również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym (np. za pomocą biblioteki GTK+, używając rozszerzenia PHP-GTK). Aby zainstalować język PHP należy wpisać następujące polecenie: # sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt Po zakończonej instalacji należy zmodyfikować plik o nazwiedir.conf znajdujący się w katalogu /etc/apache2/mods-enabled/. Można to zrobić następującym poleceniem: #sudo nano /etc/apache2/mods-enabled/dir.conf Zawartość pliku powinna być następująca: <IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.php index.xhtml index.htm </IfModule> Jest wiele możliwości na sprawdzenie czy zainstalowany język PHP działa w sposób poprawny. Jedną z nich jest umieszczenie przykładowego pliku o nazwie info.php w katalogu /var/www/. Plik można stworzyć następującym poleceniem: #sudo nano /var/www/info.php W pliku umieszczamy następującą zawartość: <?php phpinfo();?> Zapisujemy plik i restartujemy serwer poleceniem: #sudo service apache2 restart Po wpisaniu w przeglądarce adresu przypisanego podczas konfiguracji sieciowej naszej platformie z dodatkiem /info.php, np. (192.168.7.2/info.php) powinniśmy zobaczyć informacje odnośnie zainstalowanej wersji języka PHP. 7
4) Instalacja języka Python: Aby zainstalować język Python należy wpisać następujące polecenia w konsoli: #sudo ntpdate pool.ntp.org #sudo apt-get update #sudo apt-get install build-essential python-dev python-pip -y #easy_install -U distribute Niestety tak zainstalowany kompilator językapython nie będzie do końca współpracować z platformą sprzętową, ponieważ należy jeszcze zainstalować bibliotekę Adafruit_BBIO odpowiedzialną za obsługę GPIO. Aby zainstalować wyżej wymienioną bibliotekę należy wpisać następujące polecenie: # sudo pip install Adafruit_BBIO 5. Aktualizacja strefy czasowej Minusem platformy sprzętowejbeaglebone Black jest brak zegara czasu rzeczywistego. Po każdym wyłączeniu i ponownym podłączeniu do zasilania należy na nowo wprowadzać datę oraz czas.istnieją dwa sposoby na ustawienie aktualnej daty i godziny. Pierwszy z nich jest możliwy bez konieczności dostępu do sieci Internet. Aby zmienić datę i godzinę należy w konsoli wpisać polecenie: #date MMDDhhmmCCYY.ss gdzie: MM miesiąc (np. styczeń 01) DD dzień miesiąca (np. 12) hh godzina (np. 11) mm minuta (np. 44) CC pierwsze dwie cyfry roku YY dwie ostatnie cyfry roku ss sekundy (system przyjmuje domyślnie 00) Drugim sposobem jest możliwość zmiany daty i godziny za pośrednictwem sieci Internet. W konsoli należy wpisać następujące polecenie: # dpkg-reconfigure tzdata Następnie należy wybrać lokalizacje (np. Europe i Warsaw). 8
6. Włączenie protokołu SPI Aby korzystać z możliwości SPI konieczne jest wyłączenie portu micro HDMI platformy sprzętowej. Aby to zrobić należy wpisać następujące polecenia: # mkdir /mnt/boot # mount /dev/mmcblk0p1 /mnt/boot # nano /mnt/boot/uenv.txt Następnie należy od komentować następującą linie: optargs=quiet BONELT-HDMIN capemgr.disable_partno=bb-bonelt-hdmi,bb- UWAGA! W linii tej może również znajdować się fraza BB-BONE-EMMC-2G, która należy przenieść do nowej linii i za komentować. 7. Autostart programu 1. Umieść twój skrypt w folderze /usr/local/sbin 2. Utwórz nowy plik w /etc/init.d (np. example >> /etc/init.d/example) 3. Umieść poniższy kod w utworzonym pliku. ### BEGIN INIT INFO # Provides: dovecot # Required-Start: $local_fs $network # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: dovecot # Description: dovecot pop & imap daemon ### END INIT INFO #! /bin/sh # /etc/init.d/example case "$1" in start) echo "Starting example" # run application you want to start python /root/example.py & ;; stop) echo "Stopping example" # kill application you want to stop killall python ;; *) echo "Usage: /etc/init.d/example{start stop}" exit 1 ;; esac exit 0 9
4.Nadaj prawa do wykonywania utworzonemu plikowi (sudo chmod 775 example) 5. Wykonaj polecenie: sudo aupdate-rc.d example defaults Kiedy uruchomisz ponownie platformę sprzętową skrypt uruchomi się automatycznie (możesz zatrzymać autostart skryptu poleceniem: service example start / stop) 10