Podstawowa konfiguracja komputera
Gdy już mamy dostęp do konsoli urządzenia można dokonać podstawowej konfiguracji, uruchomienia odpowiednich peryferiów oraz instalacji programów.
Dostęp do internetu można uzyskać za pomocą sieci Ethernet. W tym przypadku wystarczy podłączyć przewód – urządzenie samo połączy się z siecią.
Aby zaktualizować oprogramowanie należy użyć standardowych komend:
1 2 |
sudo apt-get update sudo apt-get full-upgrade |
Do instalacji nowego oprogramowania najczęściej wymagane są pakiety: git, make, a także wget. Zainstalujemy je komendami:
1 2 3 |
sudo apt install git -y sudo apt install make device-tree-compiler gcc -y sudo apt install wget -y |
Transmisję przez konwerter USB-UART można zastąpić przez SSH. Aby zainstalować pakiet należy wprowadzić komendę:
1 |
sudo apt install ssh -y |
Uruchomienie sieci Wi-Fi
Aby uruchomić sieć bezprzewodową, należy najpierw zainstalować pliki nagłówkowe zgodne z wersją środowiska.
1 |
sudo apt install linux-headers-$(uname -r) -y |
Następnie należy zainstalować sterowniki dla STM32MP1 z pakietu seeed-linux-dtverlays.
1 2 3 |
git clone https://github.com/Seeed-Studio/seeed-linux-dtverlays cd seeed-linux-dtverlays make all_stm32mp1 CUSTOM_MOD_FILTER_OUT="jtsn-wm8960" && sudo make install_stm32mp1 CUSTOM_MOD_FILTER_OUT="jtsn-wm8960" |
Teraz trzeba dodać pakiet do pliku /boot/uEnv.txt, co pozwoli na uruchamianie sterowników przy starcie systemu.
1 2 |
sudo sh -c "echo uboot_overlay_addr0=/lib/firmware/stm32mp1-seeed-ap6236-overlay.dtbo >> /boot/uEnv.txt" sudo reboot now |
Do połączenia się z siecią Wi-Fi należy wykorzystać narzędzie connmanctl. Jest to program działający z poziomu konsoli i sterowany odpowiednimi poleceniami. Wzór korzystania z narzędzia można znaleźć poniżej.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
robot@ev3dev:~$ sudo connmanctl Error getting VPN connections: The name net.connman.vpn was not provided by any connmanctl> enable wifi Enabled wifi connmanctl> scan wifi Scan completed for wifi connmanctl> services *AO Wired ethernet_b827ebbde13c_cable wifi_e8de27077de3_hidden_managed_none AH04044914 wifi_e8de27077de3_41483034303434393134_managed_psk Frissie wifi_e8de27077de3_46726973736965_managed_psk ruijgt gast wifi_e8de27077de3_7275696a67742067617374_managed_psk schuur wifi_e8de27077de3_736368757572_managed_psk connmanctl> agent on Agent registered connmanctl> connect wifi_e8de27077de3_41 # You can use the TAB key at this point to autocomplete the name connmanctl> connect wifi_e8de27077de3_41483034303434393134_managed_psk Agent RequestInput wifi_e8de27077de3_41483034303434393134_managed_psk Passphrase = [ Type=psk, Requirement=mandatory ] Passphrase? ************* Connected wifi_e8de27077de3_41483034303434393134_managed_psk connmanctl> quit |
Stan połączeń sieciowych można sprawdzić za pomocą polecenia ifconfig.
Aktywacja połączenia Bluetooth
Komunikację za pomocą Bluetooth można aktywować instalując następujące pakiety
1 |
sudo apt -y install bluetooth bluez bluez-tools rfkill |
Następnie należy włączyć połączenie za pomocą komendy
1 |
systemctl is-enabled bluetooth.service |
Do podstawowych działań związanych z siecią Bluetooth, takich jak skanowanie i parowanie urządzeń, służy program bluetoothctl. Jest to program konsolowy, działający w sposób podobny do connmanctl. Skanowanie można uruchomić komendą scan on. Natomiast do parowania i łączenia z urządzeniem służą odpowiednio komendy pair oraz connect. Jako parametr tych komend należy podać device ID w postać klucza szesnastkowego. Przed parowaniem urządzeń należy wyjść z trybu skanowania komendą scan off.
Na poniższym listingu można obejrzeć przykładowe wyniki skanowania sieci Bluetooth.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
debian@npi:~$ bluetoothctl [NEW] Controller 43:43:A0:12:1F:AC ReSpeaker-1FAC [default] Agent registered [bluetooth]# scan on Discovery started [CHG] Controller 43:43:A0:12:1F:AC Discovering: yes [NEW] Device C8:69:CD:BB:9B:B3 C8-69-CD-BB-9B-B3 [NEW] Device E1:D9:68:0E:51:C0 MTKBTDEVICE [NEW] Device 62:15:9C:3F:40:AA 62-15-9C-3F-40-AA [NEW] Device 56:AF:DE:C0:34:25 56-AF-DE-C0-34-25 [NEW] Device B8:86:87:99:FB:10 SOLARRAIN [CHG] Device B8:86:87:99:FB:10 Trusted: yes [NEW] Device 04:5D:4B:81:35:84 MDR-1000X [CHG] Device 04:5D:4B:81:35:84 Trusted: yes [CHG] Device 4C:04:59:38:D3:25 ManufacturerData Key: 0x004c [CHG] Device 4C:04:59:38:D3:25 ManufacturerData Value: 10 05 0b 10 99 18 0a ....... [bluetooth]# scan off [CHG] Device 04:5D:4B:81:35:84 RSSI is nil [CHG] Device B8:86:87:99:FB:10 TxPower is nil [CHG] Device B8:86:87:99:FB:10 RSSI is nil [CHG] Device 4C:04:59:38:D3:25 RSSI is nil [CHG] Device 58:44:98:93:35:24 RSSI is nil Discovery stopped [bluetooth]# |
Podsumowanie
Minikomputer Odyssey STM32MP157C to niewielkie urządzenie oparte o mikroprocesor z serii STM32MP1. Te układy to potężne procesory aplikacyjne korzystające jednocześnie z zalet ekosystemu STM32Cube. Komputer ma jednakowe wymiary, co Raspberry Pi, oferuje podobny zestaw interfejsów i ma także podobne możliwości obliczeniowe. W razie potrzeby można zaprojektować własną płytkę i podłączyć do niej moduł SoM za pomocą specjalnych złączy. Producent poleca używanie komputera i modułu SoM w systemach takich jak urządzenia przemysłowe, AGD, sprzęt medyczny, wysokiej klasy urządzenia ubieralne oraz urządzenia inteligentnego domu.