Pokazywanie postów oznaczonych etykietą linux. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą linux. Pokaż wszystkie posty

piątek, 26 lutego 2016

Rasperry Pi - stan komputerka na wyświetlaczu OLED SSD1306


Od dłuższego czasu zastanawiałem się nad adaptacją dość małego wyświetlacza OLED. W technologie ubieralne na pewno się udawać nie będę, a sam wyświetlacz do automatyki średnio się nada. Postanowiłem wykorzystać go do równie małego Raspberry Pi Zero, tworząc z jego użyciem swoistą "deskę rozdzielczą" tego komputerka. Pomysł jest w fazie rozbudowy, ale już wygląda na tyle fajnie, że postanowiłem się nim podzielić. Wyświetla trzy wartości: zajętość CPU, ramu i obecny adres IP w sieci lokalnej.

Co należy zrobić aby odpalić wspomniany wyświetlacz? Zakładam że posiadasz Raspberry Pi w wersji B1, B+1 albo Zero. W pierwszej trzeba uruchomić moduł I2C. Postępujemy zgodnie z poradnikiem na stronie: https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c
Dogrywamy biblioteki od GPIO, grafik w pythonie jak i samych sterowników od SSD1306. Wystarczy wklepać komenda po komendzie poniższy zestaw:

sudo apt-get update
sudo apt-get install build-essential python-dev python-pip

sudo pip install RPi.GPIO 
sudo apt-get install python-imaging python-smbus
sudo apt-get install git 
git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git 
cd Adafruit_Python_SSD1306 
sudo python setup.py install
sudo pip install psutil

Pobieramy moją paczkę ze skryptem: http://1drv.ms/1T02KuB, rozpakowujemy ją do /home/pi/ Podpinamy nasz wyświetlacz zgodnie ze schematem, filozofii co prawda nie ma, ale zamieszczam dodatkowo pinout maliny. Trzeci dotyczy również RPi Zero, są to dokładnie te same piny.



OLED LCD <-> Raspberry Pi
SDA <-> SDA1 (pin nr.3)
SCL <-> SCL1 (pin nr.5)
VCC <-> 5V (pin nr. 2 lub 4)
GND <-> GND (tu mamy do wyboru do koloru: 6,9,14,20,25,34,39)

Skrypt uruchomiamy komendą: sudo python oled.py Jeśli wszystko jest w porządku, na wyświetlaczu powinien pojawić się stan jak na moim pierwszym zdjęciu.  

No fajnie, ale co zrobić żeby nie odpalać tego ręcznie za każdym razem po uruchomieniu Maliny?

Tak to powinno wyglądać
Jest też i na to patent. Otwieramy na RPi plik komendą: sudo nano /etc/rc.local. Przed ostatnią linijką dodajemy polecenie wywołania skryptu, z kompletnym adresem gdzie się znajduje oraz znakiem & na końcu. Przyciskając CTLR+O wywołujemy zapis pliku, dajemy enter, potem wychodzimy z notatnika CTRL+X. Po uruchomieniu ponownie, skrypt powinien ruszyć już automatycznie.  

W razie problemów zapraszam do kontaktu, służę pomocą :)

Pozdrawiam,
Marcin

Źródła, z których bezczelnie ściągałem na potrzeby tego artykułu:
https://learn.adafruit.com
http://raspi.tv

niedziela, 23 sierpnia 2015

Linuksie, może się jednak pogodzimy?


Chyba każdy, kto choć trochę obcuje z technologiami wie czym jest Linux. Jest to baza pod pierdylion systemów na PC, telefony komórkowe i tysiąc innych urządzeń. Są znacznie bezpieczniejsze, nie potrzebują antywirusów oraz przede wszystkim nie mają żadnego "Wielkiego Brata" nad sobą. Wiele się mówi się teraz złego w kontekście Windows'a 10, który ma mnóstwo za uszami, że nie szanuje prywatności, że mnóstwo rzeczy robi na boku, że każde kliknięcie myszy wysyłane jest na serwery MS. To nie jest fajne, w żadnym stopniu nie usprawiedliwiam śledzenia MS tym, że "nie mam nic do ukrycia", że nie jestem potencjalnym terrorystą który chce "się rozerwać" w środku miasta. Narastająca inwigilacja nie podoba mi się na tyle, że aby zacząć jej powoli przeciwdziałać, przesiadłbym się na jakąkolwiek dystrybucje Linuxa, która byłaby w stanie robić to samo z podobną wydajnością.

Szanuje Linuksa za jego wolnościowe podejście, dostępność, oraz to że wszelakie bugi społeczność łata na bieżąco. Jest zdecydowanie bezpieczniejszy od Windows'a, ogólnie bez konta root'a nie da się zrobić mu krzywdy - sam o tym się przekonałem czyniąc multum "eksperymentów" (na vpsie i stacjonarce zresztą też). Ma niesamowite możliwości dopasowywania interfejsu do własnych potrzeb przez wszelakiej maści rysowacze pulpitów. Chcesz cukierkowo? Proszę bardzo, masz pierdylion animacji. Masz mało ramu i potrzebujesz czegoś lekkiego? Proszę bardzo, masz coś lekkiego.


Problem zaczyna się, kiedy całą tą machinerie próbujesz zaimplementować. Poświęciłem kilkadziesiąt godzin na próby dostowania to Ubuntu, to Debiana, to Minta do moich potrzeb. Zawsze, ale to zawsze czegoś brakowało, coś nie chodziło. To Eclipse nie chciał współgrać z avrdude, to java pracowała jakby chciała a nie mogła, czy to jakiś program nie ruszał pod wine. Przeważnie obwiniałem siebie za brak cierpliwości/umiejętności, bo po parogodzinnym googlowaniu rozwiązania danego problemu po prostu miałem dość. Chyba nie jestem power userem.


Chyba każdy posiadacz Radeona próbujący zdziałać coś pod Linuksem poczuł, że wydajność grafiki spadła. Internety skarżą się, że sterowniki są słabe, mają ograniczoną funkcjonalność. W moim przypadku nawet odtwarzanie Youtuba w FullHD pod HTML5 działa widocznie gorzej, bywają częste przycinki. 


Teraz najważniejsza kwestia, za którą Linuksowi dostaje się po mordzie na prawo i lewo od Windowsowców - gry. Wybór natywnych jest mega słaby, sytuacje stara się ratować Valve ze Steamem i poniekąd robi to dobrze. Jest Wiedźmin, jest CS 1.6, jest CS:GO i podobne - w zasadzie biedy nie ma. Bieda zaczyna się, kiedy chcemy je odpalić na wspomnianym Radeonie. Działają zdecydowanie słabiej, CS 1.6 na Linuksie chodził u mnie mniej więcej tak, jak CS:GO na Windowsie. Odpalanie gier pod Wine kończy się albo fiaskiem, albo jeszcze większym spadkiem fps'ów.

Linux ≠ łatwe
Na moim pececie wisi obecnie Ubuntu wraz z Windowsem 10. Pomimo wielu nieudanych prób, w wolnych chwilach wciąż odpalam Linuxa i dążę (i dążyć będę) do takiego stanu, w którym bez bólu będę mógł usunąć system Microsoftu. Jednak żeby nie było, że obsmarowuje MS dla zasady. Na tapetę biorę powoli śledzenie wszędobylskiego Google'a. W Androidzie też niezłe kwiatki się odwala z telemetrią.


Zapewne nie ma recepty na zapewnienie sobie 100% prywatności (odcięcie kabla od internetu?). Jednak uważam, że warto ograniczyć dostarczanie na tacy nieraz wrażliwych informacji o nas wszelakim gigantom.

W imię wolności.