Przyglądamy się Raspberry Pi 3 - czy warto?
Raspberry Pi to obecnie jedna z najpopularniejszych platform SBC, która podbiła serca wielu użytkowników na całym świecie. Dopiero co oswoiliśmy się z Raspberry Pi 2, a do naszych drzwi zapukała już "trójka". Zastanawiający jest również fakt, że na nowe Raspberry Pi 3 musieliśmy czekać zaledwie rok, a więc dwukrotnie krócej niż w przypadku jego poprzednika.
Osobiście byłem zaskoczony tak szybkim pojawieniem się nowej wersji, ale wygląda na to, że fundacja nie miała po prostu wyjścia, obserwując dynamicznie rozwijający się sektor małych komputerków z układami ARM.
Reklama
Raspberry PI 2 otrzymuje eksperymentalne OpenGL 2.1
Społeczność Raspberry Pi doczekała się w końcu eksperymentalnej obsługi OpenGL 2.1 dla modelu Raspberry Pi 2. Jest to już druga platforma ARM, która obecnie wspiera ten standard. Po aktualizacji do najnowszej wersji systemu operacyjnego Raspbian, mamy możliwość włączenia sterownika GL bezpośrednio za pomocą programu raspi-conig.
raspi-config
Glxgears ze względu na synchronizację pionową raportuje tylko 60 klatek/s. Obsługa OpenGL 2.1 realizowana jest przez sterownik VideoCore4 Gallium3D bazujący na bibliotece Mesa 11.1.
Benchmark glmark2 również się uruchamia, ale na chwilę obecną nie jest w stanie ukończyć testów, kończąc działanie przepięknym segfaultem.
glmark2
glmark2
Próba uruchomienia Nexuiz również zakończyła nię niepowodzeniem, powodując wywrotkę całego systemu. Miejmy nadzieję, że w przeciągu kilku lub kilkunastu tygodni, OpenGL będzie w pełni stabilny i użyteczny.
Jestem bardzo ciekaw, jak będzie się zachowywał w "naturalnych" zastosowaniach.
UniPi w służbie inteligentnego domu
Czy zastanawialiście się kiedyś nad realizacją własnego projektu inteligentnego domu? Ja osobiście nigdy nie mogłem zebrać się w sobie, aby taki plan zrealizować we własnym domu, ale jakiś czas temu, dzięki uprzejmości sklepu ElTy.pl, trafiła w moje ręce ciekawa płyta UniPi, która znacznie upraszcza cała sprawę.
UniPI 1.1
Płytka została zaprojektowana do współpracy z poprzednią generacją komputerków Rasbperry Pi B oraz B+, jednak bez większych kłopotów dogada się również z Raspberry Pi 2.
UniPI jest wyspecjalizowanym rozszerzeniem, które zamienia naszą "mailnę" w zaawansowane urządzenie do sterowania automatyką domową. Bardzo istotną kwestią podczas projektowania jakiejkolwiek instalacji domowej, jest bezpieczeństwo użytkownika i ochrona jego zdrowia, dlatego ogromnym atutem UniPi jest spełnienie dyrektyw CE. Płyta posiada wymiar 198mm x 86mm i można ją zamontować na szynie DIN.
Test 7" wyświetlaczy TFT oraz IPS z wejściem HDMI
Dzięki ponownej uprzejmości sklepu internetowego elty.pl, miałem dziś okazję przetestować 7" wyświetlacze ze złączem HDMI. Zapraszam do obejrzenia materiału w serwisie YouTube. Mnie osobiście urzekł wyświetlacz z matrycą IPS, jednak posiadaczy komputerów Raspberry Pi / 2, szczególnie powinien zainteresować model z pojemnościowym ekranem dotykowym.
Jak ożenić wyświetlacze WaveShare z Raspberry Pi 2 ?
Kiedy wymieniłem swoją "malinę| na Raspberry Pi 2, pojawił się problem z uruchomieniem popularnych wyświetlaczy TFT 3.5" / 4" od WaveShare z rezystancyjnym panelem dotykowym. Producent, pomimo już dawnej premiery Rasperry Pi 2, nie przygotował stosownych instrukcji lub odpowiednich obrazów systemu. Po kilku eksperymentach, udało mi się w końcu ożenić te wyświetlacze z RPi2.
Zapraszam zatem do małego how-to na przykładzie świeżej instalacji dystrybucji Raspbian (2015-05-05).
W pierwszej kolejności musimy zmienić wyjście sygnału z HDMI na szynę SPI. W tym celu edytujemy plik /usr/share/X11/xorg.conf.d i zmieniamy urządzenie framebuffera z fb0 na fb1:
- sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf
Zmiany zapisujemy wciskając CTRL-X, następnie Y i zatwierdzamy enterem.
Ekran dotykowy również korzysta z magistrali SPI do komunikacji z procesorem, jest ona jednak domyślnie wyłączona, dlatego musimy ją najpierw włączyć. Wydajemy polecenie:
- sudo raspi-config
Przechodzimy do pozycji "Advanced Options" i włączamy SPI (Enable/Disable automatic loading of SPI kernel module), zatwierdzając dwa kolejne pytania przyciskiem Yes.
Możemy wyjść z konfiguracji wybierając opcję Finish i zresetować urządzenie.
Jeśli korzystasz z wersji Rasbiana 2015-05-05, możesz pominąć kolejny krok, jeśli natomiast używasz wersji sprzed 31 stycznia 2015, konieczne będzie jeszcze za komentowanie na czarnej liście modułu spi-bcm2708 w pliku /etc/modprobe.d/raspi-blacklist.conf
- sudo nano /etc/modprobe.d/raspi-blacklist.conf
W przypadku świeżego Rasbiana (2015-05-05), plik powinien być pusty. Gdyby jednak znajdował się w nim zapis "blacklist spi-bcm2708", usuń go lub za komentuj linię dodając na jej początku znak # i zapisz zmiany.
W kolejnym kroku musimy pobrać i zainstalować sterowniki dla ekranu LCD oraz panelu dotykowego.
- sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update
Nastąpi ściąganie paczek jądra, firmware oraz odpowiednik modułów (~45MB). Kiedy paczki zostaną pobrane, powinna nastąpić ich instalacja.
Kiedy proces dobiegnie końca, restartujemy malinę:
- sudo reboot
Mamy już zaktualizowane sterowniki, więc musimy odpowiednio skonfigurować moduły jądra, edytując plik:
- sudo nano /etc/modules
Pod linią zawierającą snd-bcm2835 dodajemy:
- flexfb width=480 height=320 regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
oraz
- fbtft_device debug=3 rotate=0 name=flexfb speed=16000000 gpios=reset:25,dc:24
Dodajmy również odpowiednią konfigurację dla panelu dotykowego:
- ads7846_device model=7846 cs=1 gpio_pendown=17 speed=1000000 keep_vref_on=1 swap_xy=1 pressure_max=255 x_plate_ohms=60 x_min=200 x_max=3900 y_min=200 y_max=3900
Następnie edytujemy parametry bootowania:
- sudo nano /boot/cmdline.txt
i po "rootwait" doklejamy:
- fbtft_device.custom fbtft_device.name=flexfb fbtft_device.gpios=dc:24,reset:25 fbtft_device.bgr=1 fbtft_device.speed=16000000 fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo dma.dmachans=0x7f35 console=tty1 consoleblank=0 fbtft_device.fps=50 fbtft_device.rotate=0
Kolejny restart:
- sudo reboot
Po ponownym uruchomieniu, ekran powinien już działać prawidłowo, pokazując proces ładowania jądra:
Jeśli chcemy, aby od razu startował serwer X, edytujemy plik:
- sudo nano /etc/rc.local
i nad "exit 0" dodajemy linię:
- su -l pi -c startx
Kolejny restart i już mamy malinę z "iksami":
- sudo reboot
Prawie gotowe! Na zakończenie musimy jeszcze "aktywować" nasz panel dotykowy:
- sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf
gdzie dodajemy nową sekcję:
- Section "InputClass"
- Identifier "calibration"
- MatchProduct "ADS7846 Touchscreen"
- Option "Calibration" "3900 240 3900 240"
- EndSection
oraz dodajmy do konfiguracji config.txt odpowiednie zapisy:
- sudo nano /boot/config.txt
- dtoverlay=ads7846,speed=500000,penirq=17,swapxy=1
Zapisujemy, restartujemy:
- sudo reboot
i gotowe :)
Touchscreen do góry nogami?
W przypadku 4" ekranu praktycznie nic nie musimy robić, ale okazuje się, że w przypadku wersji 3.5" ekran dotykowy interpretowany jest "góry nogami". Aby temu zaradzić, musimy doinstalować paczki xinput oraz evtest:
- sudo apt-get -y install xinput evtest
oraz odwrócić oś Y w, edytując odpowiedni plik:
- sudo nano /etc/X11/xinit/xinitrc
dodając przed . /etc/X11/Xsession linię:
- DISPLAY=:0 xinput --set-prop 'ADS7846 Touchscreen' 'Evdev Axis Inversion' 0 1
Po zapisaniu i ponownym uruchomieniu RaspberryPi 2, wszystko będzie jak należy.
Gdzie kupić wyświetlacze?
Wyświetlacze WaveShare 3.5" oraz WaveShare 4" kupicie spokojnie w sklepie elty.pl