Skocz do zawartości

Kurs Raspberry Pi - #12 - podstawy GPIO, skrypty


Pomocna odpowiedź

Ostatnio sprawdzałem czy kurs jest aktualny dla nowego Raspberry Pi 4 i niestety program Wiring Pi nie jest dopracowany i posiada pewne błędy. Jeden z nich to niedziałająca funkcja pullup, której wykorzystanie można spotkać w przykładach z kursu.

W internecie nie ma o tym wzmianki, dlatego napisałem do autora biblioteki, który zwięźle odpisał, że funkcja ta faktycznie nie działa. Zapytany kiedy planuje ją dodać odpisał, że nie wie, następnie dodał, że biblioteka nie jest w najlepszym stanie i sugeruje przejść na inną. Zaproponował pigpio.

Możliwe, że Wiring Pi niedługo zostanie zaaktualizowany. Jeżeli tak się jednak nie stanie, można rozważyć przejście na pigpio. Możliwe jest też dodanie rezystora pullup we własnym zakresie lub skorzystanie z wbudowanych rezystorów znajdujących się na liniach I2C (GPIO 2 i 3). W tym ostatnim należy uważać żeby nie mieć włączonej alternatywnej funkcji (najczęściej I2C). W tym celu sprawdzamy poleceniem:

gpio readall

image.thumb.png.08c74698eb770c3e62d4ee255fd9ba16.png

Jak widać po włączeniu I2C w kolumnie mode zmieniła się funkcja alternatywna. Mając wyłączone I2C można korzystać z wbudowanego pullup.

Co do innych programów to w wersji full raspbiana zainstalowany jest już pigpio. Można też skorzystać z raspi-gpio. Wszystkie maja podobną konstrukcję poleceń:

Wiring Pi:

gpio -g mode 26 up

pigpio:

pigs pud 26 u

raspi-gpio:

raspi-gpio set 26 pu

Ten ostatni działa out-of-box, można sprawdzić poprawność poleceniem jak wyżej, lub tym z raspi-gpio:

raspi-gpio get

Jak widać działa:

image.thumb.png.8d49be3a42ee635bccfad0c5ca00ef9f.png

Edit:

gpiozero też radzi sobie dobrze. Biblioteka jest mniej elastyczna ale funkcjinalna.

 

Edytowano przez Gieneq
  • Lubię! 2
Link to post
Share on other sites

Niedawno na blogu autora WiringPi pojawił się informacyjny wpis.

Wynika z niego, że wersja w pełni kompatybilna z RPi 4 niedługo się pojawi, a wraz z nią kod źródłowy do dalszego rozwoju.

Ogół newsa jest jednak negatywny i widać w nim rozgoryczenie autora (które również zauważyłem w prywatnym w mailu) - kradzież oprogramowania, niekontrolowane użytkowanie ostatecznie liczne skargi na brak wsparcia (użytkowników niekoniecznie produktów Raspberry). Jak można przeczytać w podsumowaniu, jest to najpewniej koniec tej biblioteki i nawet jeżeli autor będzie ją dalej rozwijał to nie będzie ona udostępniana i warto rozważyć przejście na inną.

  • Lubię! 1
Link to post
Share on other sites


#RPi 4
Cześć, do tego momentu wszystkie poprzednie rozdziały kursu przechodziłem bez problemów (udało się nawet bez większych problemów podpiąć do monitora z VGA 🙂 ), jednak przy tej części pojawił się problem z buzerem. Podpiąłem wszystko jak należy, niestety buzzer nie wydaje z siebie żadnego dźwięku. Myślałem, że jest to może spowodowane tym, że nie ma jeszcze aktualizacji (post wyżej) ale jak sprawdziłem voltomierzem na pinach buzzera pokazuje 3,3 V, wiec powinno wszystko działać. Czy jest możliwość żeby nowo-otwarty element był uszkodzony? Albo jak można inaczej sprawdzić jaki może być problem? Podepnę go jeszcze do Arduino, ale to chyba nic nie pomoże 😛 

Link to post
Share on other sites
12 minut temu, krzym2 napisał:

Czy jest możliwość żeby nowo-otwarty element był uszkodzony?

Wszystko jest możliwe, ale to raczej mało prawdopodobne 😉 Możesz spróbować podłączyć moduł buzzera do Arduino lub zwyczajnie podłączyć sygnał sterujący do masy. Buzzer powinien wtedy wydawać ciągły dźwięk (oczywiście, jeśli doprowadzisz do modułu dodatkowo zasilanie).

  • Lubię! 1
Link to post
Share on other sites
14 minut temu, Gieneq napisał:

jak dopiszesz na początku komendy sudo to działa?

A z ciekawości: czemu by miało zadziałać?

Polecenie "sudo echo cośtam > gdzieśtam" wykona się tak:

  • zostanie wykonane polecenie "sudo echo"
  • polecenie "echo" wykona się jako root
  • wynik polecenia echo zostaje skierowany do "gdzieśtam", ale już nie jako root tylko jako normalny użytkownik.

Polecenie sudo sudo echo cośtam > gdzieśtam wykona się podobnie:

  • zostanie wykonane polecenie "sudo sudo"
  • w związku z tym polecenie "sudo echo" zostanie wykonane jako root
  • a dalej polecenie "echo" również jako root
  • a wynik polecenia echo zostaje skierowany do "gdzieśtam", ale już nie jako root tylko jako normalny użytkownik.

Gdyby jednak usunąć literówkę z polecenia i zamiast "vaule" napisać "value", jest duża szansa że zadziała 😉

 

 

  • Lubię! 1
Link to post
Share on other sites
4 godziny temu, ethanak napisał:

A z ciekawości: czemu by miało zadziałać?

Polecenie "sudo echo cośtam > gdzieśtam" wykona się tak:

  • zostanie wykonane polecenie "sudo echo"
  • polecenie "echo" wykona się jako root
  • wynik polecenia echo zostaje skierowany do "gdzieśtam", ale już nie jako root tylko jako normalny użytkownik.

Polecenie sudo sudo echo cośtam > gdzieśtam wykona się podobnie:

  • zostanie wykonane polecenie "sudo sudo"
  • w związku z tym polecenie "sudo echo" zostanie wykonane jako root
  • a dalej polecenie "echo" również jako root
  • a wynik polecenia echo zostaje skierowany do "gdzieśtam", ale już nie jako root tylko jako normalny użytkownik.

Gdyby jednak usunąć literówkę z polecenia i zamiast "vaule" napisać "value", jest duża szansa że zadziała 😉

 

 

Dzięki

Link to post
Share on other sites
Dnia 19.03.2018 o 14:50, Treker napisał:

Drobna aktualizacja dla osób korzystających z nowego Raspberry Pi 3 model B+. Do poprawnej pracy programu gpio konieczna jest najnowsza wersja biblioteki wiringPi (minimum 2.46). Niestety w chwili obecnej nie instaluje się ona automatycznie (otrzymujemy starszą wersję). Umieściłem więc w artykule informację jak zrobić ręczną aktualizację.

Dla Raspberry Pi 4 wersja biblioteki wiringPi 2.5 (domyślnie zainstalowana) to za mało.
Musiałem wykonać następujące kroki w celu zainstalowania wersji 2.52:

cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb

  • Lubię! 2
Link to post
Share on other sites
Dnia 16.11.2020 o 10:27, Treker napisał:

@mar77 dzięki za informację - w grudniu będziemy odświeżać ten kurs, na pewno zajmiemy się wtedy również tym tematem 🙂

grudniu którego roku?

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.