Archiwum kategorii: RaspberryPi i podobne

Raspberry Pi i niedziałające gniazdo kart pamięci

Mimo, iż rzadko do Raspberry wkładałem karty czy w ogóle je ruszałem, zaczęły pojawiać się problemy ze startem. RPi po włączeniu świeci tylko czerwoną diodą i brak reakcji, natomiast jeśli kartę się docisnęło to po włączeniu działało.
Podobno popularna przypadłość tych gniazd. Udałem się więc dziś do pobliskiego sklepu elektronicznego, wybrałem gniazdo najbardziej zbliżone do oryginalnego i wydałem 4zł.

Dwa piny koło otworu montażowego RPi wymagały lekkiego podgięcia żeby spasowały do padów na płytce. Nowe gniazdo nie ma też styku informującego, że karta jest włożona, stąd też zworka z cyny w okolicy rezystora R45.

Przylutowanie było banalne i przyjemne, więcej zachodu było z usunięciem starego gniazda. Najpierw z pomocą lutownicy z grotem i taśmy miedzianej usunąłem cynę z dwóch stron gniazda, na skraju RPi. Dzięki temu delikatnie mogłem podnieść gniazdo by wsunąć pęsetę. Następnie lutownicą na gorące powietrze rozlutowałem cały szereg pinów.

Poniżej zdjęcie po skończonej wymianie. RPi działa teraz jak nowe.

RPi po wymianie gniazda

RPi po wymianie gniazda

Opublikowano RaspberryPi i podobne | Skomentuj

RaspberryPi jako serwer wydruku CUPS który potrafi włączyć drukarkę

Rzecz wykonana chyba z rok temu, ale działa idealnie – serwer wydruku który potrafi włączyć drukarkę, wydrukować i ją wyłączyć. Posiadam dość leciwą drukarkę laserową HP LaserJet 1300, ale toner do niej starcza na wieki, a wydruki są bardzo dobre więc szkoda wymieniać na nową. Dwa minusy to zużywanie kilkanaście watt w bezczynności i brak modułu sieciowego przez ciężko drukować z różnych komputerów, o smartfonach nie wspomnę. Pierwotnie korzystałem z printservera firmy Edimax, ale działał tylko z Windowsami. RaspberryPi okazuje się świetnym rozwiązaniem bo nie dość, że nie ma problemu by drukować z Linuxów czy innych Androidów, to jeszcze może drukarkę włączyć na czas samego drukowania.

Do tego celu wykorzystałem popularny, tani moduł nadawczy na 433MHz (przykładowy nadajnik i odbiornik na AliExpress) i jedno z zestawu gniazdek z Biedronki sterowanych pilotem, oczywiście też na 433MHz. Do podsłuchania jaki kod jest potrzebny do włączenia i wyłączenia tego gniazdka wykorzystałem RF_Sniffer z github.com/ninjablocks/433Utils. Z tego samego repo wykorzystałem codesend który skompilowałem do dwóch binarek, jedna uruchamia drukarkę, druga ją wyłącza.

Żeby RPi wiedziało kiedy drukarkę włączyć i wyłączyć, przydatny jest dodatek do CUPSa o nazwie Tea4Cups. Pozwala on na wykonanie skryptów przed i po wykonaniu zadania drukowania. W tym celu w tea4cups.conf wykorzystuję zmienne prehook_0: i posthook_0: które jako argument przyjmują lokalizację skryptu wykonywanego odpowiednio przed i po. W samym CUPSie trzeba tylko dla wybranej drukarki w DeviceURI dodać prefix tea4cups:

W samych skryptach oprócz wywoływania codesend mam ustawiony sleep żeby dasz szansę drukarce na uruchomienie się, żeby system zobaczył urządzenie, a po wydruku chwila żeby drukarka odetchnęła i przestała wydawać wszelkie odgłosy.

Nie robię instrukcji krok po kroku bo generalnie wszystko już w Internecie jest, a i pewne rzeczy się szybko zmieniają, dlatego ogólnie opisuję co i jak, czasem gdzie na coś trzeba zwrócić uwagę.

Oczywiście trzeba mieć świadomość, że samo RPi i te gniazdka prąd też pobierają więc w przypadku nowych urządzeń może się ten zabieg nie opłacać.

Opublikowano RaspberryPi i podobne | Skomentuj

Autologin i auto start Xów

Chciałem zrobić coś na kształt „kiosku” więc potrzebny jest autostart Xów, w moim wypadku LXDE. Można zainstalować np. LightDM, ale chciałem uniknąć dodatkowych programów które wiszą w pamięci i nie instalować kolejnych zależności. Na stronie www.raspberrypi-spy.co.uk/2012/06/auto-login-auto-load-lxde znalazłem to co potrzeba. Stworzyłem użytkownika dedykowanego dla Xów, jego konto zostaje zalogowane automatycznie i wykonuje się plik .bashrc (powłoka dla tego usera to Bash), w którym to na końcu startuję Xy. Następnie co ma się uruchamiać to już skonfigurować trzeba z uwzględnieniem używanych okien.
Tak więc najpierw tworzymy użytkownika, w Bananian (podobnie w Raspbian i Debian) jest to: adduser xy, następnie edytujemy plik /etc/inittab. Trzeba znaleźć i zakomentować linię: 1:2345:respawn:/sbin/getty 115200 tty1 i wkleić następującą: 1:2345:respawn:/bin/login -f xy tty1 /dev/tty1 2>&1 gdzie „xy” to nazwa użytkownika. Na końcu pliku /etc/profile umieściłem linie: if [ $USER == "xy" ]; then
sleep 1 && startx &
fi
. Po sekundzie odpalają się domyślne Xy dla użytkownika „xy”. Opis zadziała na Raspberry Pi, Banana Pi i innych systemach Debianowych.

Opublikowano RaspberryPi i podobne, Skrypty, kody źródłowe | 1 komentarz

Wygaszanie ekranu na konsoli i Xach

Jeśli na RaspberryPi albo BananaPi pod Debianem potrzebujemy zrobić jakiś ekran informacyjny warto zadbać by się ekran nie wygaszał po okresie bezczynności. Zwłaszcza, że nie zawsze chcę się „obudzić”, tak jak ja miałem w Xach na BPi.
Na stronie trafiłem na wątek który ma rozwiązanie.
Zmodyfikowałem /etc/kbd/config ustawiając na zero dwie wartości:
BLANK_TIME=0 (Was 30)
POWERDOWN_TIME=0

Następnie tylko /etc/init.d/kbd restart
Dzięki temu konsola przestała gasnąć, żeby Xy się nie usypiały, w autostarcie LXDE dodałem następujące linie:
xset s off
xset -dpms
xset s noblank

Opublikowano RaspberryPi i podobne, Skrypty, kody źródłowe | Skomentuj

Raspberry Pi i obsługa webcamów

Raspberry Pi całkiem dobrze sobie radzi z kamerkami na USB – czy to Debian czy Arch. Niedawno próbowałem uruchomić kamerę w identyczny sposób jak kilka tygodni wcześniej i niestety to co działało, działać przestało. Zmienił się sposób obsługi USB czy coś takiego 😉 Tak czy inaczej, małą sztuczką dzięki której kamery działają bez zająknięcia jest wyedytowanie pliku na partycji /boot na karcie SD i dodanie jednej linijki. Restart maliny i wszystko gra.

 

Opublikowano RaspberryPi i podobne | Skomentuj