Odyssey STM32MP157C – minikomputer z procesorem z serii STM32MP1
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:
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:
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ę:
sudo apt install ssh -y
Uruchomienie sieci Wi-Fi
Aby uruchomić sieć bezprzewodową, należy najpierw zainstalować pliki nagłówkowe zgodne z wersją środowiska.
sudo apt install linux-headers-$(uname -r) -y
Następnie należy zainstalować sterowniki dla STM32MP1 z pakietu seeed-linux-dtverlays.
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.
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.
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
sudo apt -y install bluetooth bluez bluez-tools rfkill
Następnie należy włączyć połączenie za pomocą komendy
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.
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.