Skocz do zawartości

Kurs Raspberry Pi, projekty – #3 – Domoticz, kamera, GPIO


Komentator

Pomocna odpowiedź

@Treker, chodzi o to?

pi@raspberrypi:~$  gpio -v
gpio version: 2.46
Copyright (c) 2012-2018 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
  Type: Pi 3, Revision: 02, Memory: 1024MB, Maker: Sony 
  * Device tree is enabled.
  *--> Raspberry Pi 3 Model B Rev 1.2
  * This Raspberry Pi supports user-level GPIO access.


pi@raspberrypi:~$ gpio readall
 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5v      |     |     |
 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 0 | IN   | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | IN   | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 1 | IN   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+

 

Edytowano przez grossier
Link do komentarza
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

Witam,
mam problem z dodawaniem pinów gpio do domoticz mianowicie wpisuje w konsoli 

sudo nano /etc/init.d/domoticz.sh

potem dodaje wpisy

/usr/bin/gpio export 16 out
/usr/bin/gpio export 20 out

potem odwracam piny

sudo sh -c "echo '1' >> /sys/class/gpio/gpio20/active_low"

i do tego momentu wszystko działą domoticz sie uruchamia itd ale gdy dodaje liniejke 

/usr/bin/gpio export 21 in

domoticz przestaje sie uruchamiac wyskakuje domoticz browser refresh failed

gdy usune ta liniejke z /usr/bin/gpio export 21 in wszystko wraca do normy 

to jaki to pin nie ma zadnego znaczenia probowałem z różnym co najdziewniejsze piny wyjsciowe moge dodawac do woli jak tylko dodam wejsciowy pin doomoticz sie wali.

prosze o jakas wskazówke co robie nie tak.

Edytowano przez Treker
Poprawiłem formatowanie.
Link do komentarza
Share on other sites

@lukasz87, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.

53 minuty temu, lukasz87 napisał:

Witam,
mam problem z dodawaniem pinów gpio do domoticz mianowicie wpisuje w konsoli [...]

Czy próbowałeś wykonywać wszystko po kolei i słowo w słowo tak, jak jest to opisane w kursie? Czyli zacząłeś od testowania wejścia na pinie 26? Co wtedy zwróciło polecenie gpio exports? Obawiam się, że to jednak jakiś błąd po Twojej stronie, do tej pory nikt inny nie zgłaszał tutaj takiego problemu. Nie mogę też zlokalizować w internecie żadnych konkretnych informacji na temat takiego błędu.

Link do komentarza
Share on other sites

Dziekuje za odpowiedź tak robiłem wszystko po kolei tak jak napisane jest na forum. Dodaje pin wejsciowy w skrypcoe domoticza dopisujac 

/usr/bin/gpio export 21 in
/usr/bin/gpio edge 21 falling

jak w konsoli wpisuje gpio exports to wyswietla wszystkie piny wyjsciowe i ten pin wejsciowy 21 tez i jest napisane ze jest falling ale wtedy domoticz wywala bład 

domoticz browser refresh failed(6) domoticz offline

gdy usune informacje o pinie wejsciowy obojetniu juz czy 21 czy jakims innym który dodam z 

sudo nano /etc/init.d/domoticz.sh

to domoticz sie uruchamia normalnie oczywiście po restarcie maliny

sformatowałem pendriva wrzuciłem jeszcze raz rasbiana zainstalowalem tylko domoticza i wszystko działą jak należy ... Mimo wszystko dzieki za pomoc

Link do komentarza
Share on other sites

Czyli standardowe rozwiązanie - reinstalacja - rozwiązało problem 😉 Szkoda, że nie poznaliśmy przyczyny tego błędu, ale grunt, że już jest dobrze i możesz iść dalej. Powodzenia!

Link do komentarza
Share on other sites

Hej mam dwa pytanka: 

  1.  W kursie jest, że żeby np zrobić z IO17 wyjście to tam robimy /usr/bin/gpio export 17 out. Potem coś tam coś tam i restartujemy malinkę itp. Ale przecież po restarcie wszystko się zeruje.  To u mnie jest coś nie tak? Dopisałem sobie tą linię do pliku domoticza na początku i wtedy faktycznie jest ok, ale nie wynika to z kursu.
  2. Ogarnąłem sobie taki kod do obsługi DHT11:
# Domoticz server
SERVER="192.168.0.53:8181"
# DHT IDX
DHTIDX="2"
 
# DHTPIN
DHTPIN="4"
 
sleep 5
 
sudo nice -20 python /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 11 $DHTPIN > /var/tmp/temp.txt
#TEMP=$(cat /var/tmp/temp.txt | grep "Temp" | awk '{ print $3 }')
#TEMP=$(cat /var/tmp/temp.txt | grep "Temp")
 
TEMP=$(awk ' /Temp/ {print substr ($0,6,4)}' /var/tmp/temp.txt)
#HUM=$(awk ' /Hudmidity/ {print substr ($0,0)}' /var/tmp/temp.txt)
#HUM=$(awk ' /Humidity/ {print 1$}' /var/tmp/temp.txt)
HUM=$(awk ' /Humidity/ {print substr ($0,22,4)}' /var/tmp/temp.txt)
echo $TEMP
echo $HUM
 
# Send data
curl -s -i -H "Accept: application/json" "http://$SERVER/json.htm?type=command&c=getauth&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;$HUM;2"
 
 
TEMP=""
HUM=""

Ale gdy ustawię w domoticzu hasło to wtedy kod nie może się dostać. Jak jeszcze przekazać dane do logowania?

Link do komentarza
Share on other sites

3 godziny temu, DraveS napisał:

 W kursie jest, że żeby np zrobić z IO17 wyjście to tam robimy /usr/bin/gpio export 17 out. Potem coś tam coś tam i restartujemy malinkę itp. Ale przecież po restarcie wszystko się zeruje.  To u mnie jest coś nie tak? Dopisałem sobie tą linię do pliku domoticza na początku i wtedy faktycznie jest ok, ale nie wynika to z kursu.

Czy możesz jakoś precyzyjniej określić przykład, o który pytasz? Nie mogę zlokalizować ćwiczenia, w którym korzystamy z pinu numer 17. Jeśli dobrze widzę jest tu informacja o pinach 21, 12 oraz 26. Do tego w artykule jest informacja o dodaniu odpowiednich linijek do ustawień Domoticza:

54c81-2019-01-07_22-36-19-5420.png

Nie jestem więc  wstanie połączyć Twojego pytania z kursem.

3 godziny temu, DraveS napisał:

Ale gdy ustawię w domoticzu hasło to wtedy kod nie może się dostać. Jak jeszcze przekazać dane do logowania?

Czy próbowałeś postąpić zgodnie z informacją zawartą w dokumentacji Domoticza: https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's#Format W drugim akapicie dokumentacji API jest podany przykład dopisywania nazwy użytkownika i hasła:

http://<username:password@>domoticz-ip<:port>/json.htm?api-call

Czy taki sposób u Ciebie nie działa?

Link do komentarza
Share on other sites

@Treker Masz rację, ja użyłem sobie 17 i jakoś kompletnie przeoczyłem informację o dodaniu tych linii do pliku. Moja wina przepraszam bardzo (teraz przynajmniej lepiej zapamiętam ;))

Drugi zadziałało bardzo dobrze. Dziękuję bardzo i w sumie przepraszam za lenistwo 😉 następnym razem zajrzę do dokumentacji. 

  • Lubię! 1
Link do komentarza
Share on other sites

Mały chochlik Wam się wkradł.

"sudo apt-get install wiringPi" nie zadziała prawidłowo - błąd "Nie udało się odnaleźć pakietu". 
Właściwa nazwa pakietu to "wiringpi", zatem instalujemy "sudo apt-get install wiringpi".

Pozdrawiam

  • Lubię! 1
Link do komentarza
Share on other sites

Witam 

dla mnie bardzo pomocny kurs, jednak nie wszystko jest proste i oczywiste.

Usiłuję aktywować piny GPIO i mi to nie wychodzi, zgodnie z podanymi w tym kursie instrukcjami dokonałem wpisów w pliku domoticz.sh, potem chciałem aktywować przełącznik w domoticzu wybierając GPIO i w oknie gdzie powinien pojawić się port który podaliśmy w domoticz.sh pojawia mi się napis GPIO INIT ERROR i nic z tego, przełącznika nie da się utworzyć.

zgodnie z instrukcją w kursie usiłowałem zainstalować wiringPi i też mi wypisuje że nie może znaleźć na E: i instalacja się przerywa

jak wpiszę instrukcję gpio readall to też nie otrzymuję listy portów GPIO

można prosić o jakąś podpowiedź co robię nie tkak albo co zrobić żeby to ruszyło i dało się aktywować zarówno porty GPIO jak i przełączniki w domoticzu.

Jak na razie udało mi się zainstalować i uruchomić w domoticzu pomiary temperatur na DS 18B20 i działa

 

edit: jedno doczytałem że macie błąd w instrukcji instalacji wiringpi - piszecie wiringPi i przez to się nie instaluje  (duża litera) - ale mimo to nie poszło bo mi wypisało że:

sudo apt-get install wiringpi
Reading package lists... Done
Building dependency tree
Reading state information... Done
wiringpi is already the newest version (2.50).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

więc niby jest, a po wpisaniu :

gpio readall
Oops - unable to determine board type... model: 17

mam cos takiego, więc nie dostaję listy portów GPIO która powinna się pojawić po tej komendzie

 

Edytowano przez zibi01
Link do komentarza
Share on other sites

9 godzin temu, zibi01 napisał:

gpio readall
Oops - unable to determine board type... model: 17

@zibi01 Błąd ten wynika z nieaktualnej wersji (2.50 jak napisałeś). Dla RPi 4 B jest to 2.52. Akurat nie masz się tu czym przejmować, bo nie jest ona umieszcozna domyslnie w repo i trzeba ją sobie pobrać samemu, W tycelu wykonujesz 3 polecenia i będzie działać 🙂 

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

Więcej na stronie WiringPi.

Edytowano przez Gieneq
  • Lubię! 1
  • Pomogłeś! 1
Link do komentarza
Share on other sites

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.