Skocz do zawartości

Kurs Raspberry Pi - #15 - czujnik temperatury DS18B20


Pomocna odpowiedź

html_mig_img
W tym odcinku kursu do malinki podłączymy termometr cyfrowy. Czujnik DS18B20 pozwala na precyzyjny pomiar temperatury, więc często używany jest np. w automatyce domowej.Do obsługi tego sensora potrzebna będzie nam umiejętność komunikacji przez interfejs 1-wire.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

Link to post
Share on other sites

Cześć,

czy do komendy "except KeyboardInterrupt:" potrzebna jest jakaś dodatkowa biblioteka? Aby mieć pewność, że nie zrobiłam literówki nawet przekopiowałam tekst, ale nadal wyskakuje mi błąd:

except KeyboardInterrupt:

^

SyntaxError: invalid syntax

Proszę o pomoc.

I jeszcze jedno pytanie, gdzie i jak szukać bibliotek? np. biblioteki time

Link to post
Share on other sites

hatamarii, możesz dla pewności wkleić swój cały program? Pamiętaj, że w Pythonie każda spacja/wcięcie jest ważna. Może tutaj wkradł się jakiś problem (nawet przy kopiowaniu)?

I jeszcze jedno pytanie, gdzie i jak szukać bibliotek? np. biblioteki time

Tzn.? Chcesz ją zlokalizować gdzieś fizycznie "na dysku", czy pytasz gdzie szukać w Internecie innych bibliotek 🙂?

Link to post
Share on other sites

poniżej mój program:

import time
import RPi.GPIO as GPIO
import w1thermsensor

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

GPIO.setup(21, GPIO.OUT)
GPIO.output(21, GPIO.LOW)

temperatura_max = 22.0
sensor = w1thermsensor.W1ThermSensor()

while True:
       temperatura = sensor.get_temperature()
       print(temperatura)
       if temperatura > temperatura_max:
               GPIO.output(21, GPIO.HIGH)
               print("Alarm!")
       else:
               GPIO.output(21, GPIO.LOW)

       time.sleep(1)


except KeyboardInterrupt:
       GPIO.output(21, GPIO.LOW)
       print('Koniec')
       GPIO.cleanup()

teraz widzę, że brakuje "try" i najwyraźniej to był właśnie problem. Zostawię jednak ten wpis, jakby ktoś jeszcze natknął się na podobny problem.

a jeśli chodzi o biblioteki, to chciałabym znaleźć je w internecie.Teraz pytanie może zabrzmieć może głupio, ale one są również gdzieś na dysku?

Link to post
Share on other sites

hatamarii, cieszę się, że ostatecznie udało się znaleźć rozwiązanie Twojego problemu 🙂 Przy bibliotekach sytuacja będzie analogiczna jak w przypadku programowania Arduino/STMów. Jest wiele różnych bibliotek i nie ma jednej strony w Internecie, na której znajdziesz wszystkie biblioteki. Jeśli stoisz przed jakimś problemem warto wtedy wpisać w Google "Python libraries XXX" i na pewno coś znajdziesz.

Jeśli chodzi o lokalizację bibliotek to oczywiście są one na dysku, czyli w tym przypadku na karcie pamięci malinki. W interpreterze Pythona możesz wydać polecenia import sys oraz sys.path. W ich wyniku zobaczysz listę lokalizacji, w których mogą być umieszczone biblioteki.

Link to post
Share on other sites

Inari, kolejny artykuł pojawi się w tym tygodniu 🙂 Jeśli chodzi o dalsze wpisy związane z RPi to zmieniamy trochę formę, aby nie ciągnąć tego kursu w "nieskończoność", bo i tak jest już bardzo długi. Będziemy teraz publikować osobne artykuły z ciekawymi projektami na RPi. Teksty nie będą publikowane jako kolejne części tego kursu tylko raczej jako coś w stylu uzupełnienia/kontynuacji serii.

Link to post
Share on other sites
Inari, kolejny artykuł pojawi się w tym tygodniu 🙂 Jeśli chodzi o dalsze wpisy związane z RPi to zmieniamy trochę formę, aby nie ciągnąć tego kursu w "nieskończoność", bo i tak jest już bardzo długi. Będziemy teraz publikować osobne artykuły z ciekawymi projektami na RPi. Teksty nie będą publikowane jako kolejne części tego kursu tylko raczej jako coś w stylu uzupełnienia/kontynuacji serii.

bedzie z góry ustalone co jakiś czas taki artykuł się pojawi? 🙂

Link to post
Share on other sites

z artykułu wynika, że pod 1wire mogę podłączyć kilka takich czujników.

z terminala w bashu rozumiem, że po prostu należałoby wejść do odpowiednich folderów, ponieważ każdy czujnik będzie miał inny numer.

Nie rozumiem za to jak w pythonie z różnych czujników można by wtedy uzyskać informacje, skoro mamy jedną funkcję get_temperature(), mógłbym prosić o podpowiedź? 🙂

Link to post
Share on other sites

Inari, dokładnie tak. Do jednej magistrali może być podłączone wiele czujników temperatury. W programie najlepiej odwoływać się wtedy do każdego termometru za pomocą jego adresu (można też odczytywać wszystkie po kolei). W kursie używaliśmy biblioteki "w1thermsensor" informacje na temat obsługi kilku czujników znajdziesz w jej dokumentacji: https://github.com/timofurrer/w1thermsensor/blob/master/README.md Sprawdź fragment od "Multiple sensors".

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

Cześć!

Próbuję odczytać temperaturę w Pythonie. Wpisuję: "sudo pip3 install w1thermsensor". Program myśli, wyskakuje  "Collecting w1thermsensor", po czym wyświetla się długi ciąg znaków pisanych czerwoną czcionką. Próbowałem, wpisywać "sudo apt-get install python3-w1thermsensor" i długo łączy się z archive.raspberrypi.org i wywala kolejne błędy.
HELP!

1.png 2.png

3.png 4.png

Link to post
Share on other sites

@Radberry, witam na forum 😉
Widzę, że to Twoje pierwsze kroki na Forbocie, jeśli chcesz przywitać się z innymi członkami naszej społeczności skorzystaj z tego tematu: Powitania użytkowników

Czy twoje Raspberry Pi ma dostęp do Internetu? Sprawdziłem przed chwilą (jak widać poniżej) nie miałem żadnych problemów z instalacją:

869fb-2018-09-15_16-33-00-4412.png

Link to post
Share on other sites
23 minuty temu, Radberry napisał:

Wydawało mi się, że żeby w ogóle wydawać polecenia z laptopa malince, musi mieć ona dostęp do internetu, nie jest tak?

Nie musi. Wystarczy, że Twój komputer i Raspberry Pi będą w tej samej sieci lokalnej. Dostęp do internetu to tylko "miły dodatek", który nie jest konieczny do samej komunikacji. Oczywiście Internet jest potrzebny do pobierania bibliotek i programów, ale nie ma tutaj związku z komunikacją PC<>RPi.

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.