Skocz do zawartości

Pierwszy w życiu :) - zabawa ze stacją pogody


Pomocna odpowiedź

Pierwszy raz próbuję zrobić coś, co połączy fizyczne urządzenie i jego programową obsługę. Wymyśliłem sobie coś, co jest dość popularne, ale - oczywiście - w swojej modyfikacji: stację pogody.

Całość opieram na Raspberry Pi Zero i czujniku BME280 produkcji Waveshare (https://botland.com.pl/czujniki-multifunkcyjne/13463-bme280-czujnik-wilgotnosci-temperatury-oraz-cisnienia-i2cspi-33v5v-waveshare-15231.html) i Pythonie (wybory mają swoje uzasadnienie). Komunikację z czujnikiem zrealizowałem na poziomie podstawowym, zatem mogę myśleć o kolejnych krokach i stąd pozwoliłem sobie założyć temat "na pytania". Na razie mam dwa. O sprzęt i o programowanie.

1. Czujnik i Malina będą na zadaszonym tarasie. Przyczepione do słupa, który jest przy ścianie, od północnej strony. Nie będą wystawione na deszcz (zasadniczo) i na bezpośrednie słońce (może słabe, po 17). Wszystko zamierzam umieścić w drewnianym, ponawiercanym pudełeczku, a czujnik za ażurową osłonką. Czy elektronikę należy w jakiś sposób zabezpieczyć dodatkowo? Czytałem o różnych sprejach i żelach na elektronikę na zewnątrz.

2. W jaki sposób w Pythonie można osiągnąć wykonanie instrukcji o każdej pełnej godzinie? O ile godzinowe odstępy można uzyskać nawet prostym time.sleep() (pomijam czas na wykonanie instrukcji, ale to do sprawdzenia), to nie wiem, jak efektywnie rozpocząć odliczanie od równej godziny. Są jakieś miłe biblioteki do tego, czy trzeba warunkami na zasadzie minuty równe zero i sekundy równe zero czy jeszcze jakoś inaczej?

Edytowano przez Leander
Link to post
Share on other sites

Z czego to będzie zasilane? Nie zrozum mnie źle ale malinka do obsługi jednego tylko czujnika to jakby strzelać z armaty do muchy. Co do pytań o elektronikę uważam że jeśli nie będzie na to bezpośrednio lało to zwykła obudowa powinna wystarczyć, nie wiem jak tam sprawy chłodzenia tego komputerka?

Link to post
Share on other sites
2 godziny temu, Leander napisał:

W jaki sposób w Pythonie można osiągnąć wykonanie instrukcji o każdej pełnej godzinie?

Poczytaj o takim czymś jak cron:

man 5 crontab

Przykładowy plik:
 

MAILTO=""
@hourly /usr/bin/python /home/pi/program.py

 

  • Pomogłeś! 1
Link to post
Share on other sites
38 minut temu, _LM_ napisał:

Z czego to będzie zasilane? Nie zrozum mnie źle ale malinka do obsługi jednego tylko czujnika to jakby strzelać z armaty do muchy. Co do pytań o elektronikę uważam że jeśli nie będzie na to bezpośrednio lało to zwykła obudowa powinna wystarczyć, nie wiem jak tam sprawy chłodzenia tego komputerka?

Tak, masz rację - trochę tak jest. Początkowo miałem pomysł, żeby umieścić to na ganku z wyprowadzeniem czujnika za okno i wtedy do maliny byłby dołożony e-papier, jako wyświetlacz różnych rzeczy. Nie chcę jednak zbytnio przewiercać się przez futrynę, stąd pomysł postawienia czujnika i komputera na dworze. Pytanie, czy z ekranem. A na ganku ekran wyświetlający dane trzymane gdzieś w sieci (to taki luźny pomysł na kiedyś).

Jakie rozwiązanie sprzętowe byś proponował do jednego czujnika? Co do zasilania - gniazdko jest w pobliżu :), więc bezpośrednio z sieci mogę. Mogę też dołożyć czujnik stężenia pyłów, żeby coś więcej sczytywać.

Link to post
Share on other sites
36 minut temu, Leander napisał:

Jakie rozwiązanie sprzętowe byś proponował do jednego czujnika?

ESP z zasilaniem bateryjnym. Da się ogarnąć pobór prądu w stanie spoczynku na poziomie 15µA. Działam teraz nad takim projektem. 

 

48 minut temu, Leander napisał:

Mogę też dołożyć czujnik stężenia pyłów, żeby coś więcej sczytywać.

No te to już więcej prądu potrzebują wtedy byłoby uzasadnione użycie zasilacza bądź akumulatorków

Link to post
Share on other sites
Dnia 1.04.2021 o 20:03, ethanak napisał:

Poczytaj o takim czymś jak cron:

Poczytałem. Dziękuję. Przydatna rzecz. Łatwo się zorientować, że ekspertem linuxa nie jestem ;). W miarę ogarniam, ale wolałbym coś, co nie wymaga grzebania bezpośrednio w systemie. Co prawda doszedłem jak to wywołać z pythona (czyli wewnątrz programu odwołać się do tabeli crona), ale znalazłem rozwiązanie, które odpowiada temu, co miałem na myśli i co obecnie wydaje mi się znacznie prostsze na tym etapie wiedzy, na którym jestem. Biblioteka schedule się to zwie (https://github.com/dbader/schedule)

Link to post
Share on other sites
1 minutę temu, Leander napisał:

Co prawda doszedłem jak to wywołać z pythona (czyli wewnątrz programu odwołać się do tabeli crona),

Ale po co?

Po prostu z crona wywołujesz co godzinę program, który robi swoje i się kończy. To chyba najprostsze co może być...

Link to post
Share on other sites
(edytowany)

Tak, rozumiem. Ale chciałem też "od drugiej strony". Masz rację, że to proste podejście. Wydaje mi się (może się mylę), że w sytuacji, gdy mam różne zadania w ramach jednego pomysłu (np. co kwadrans odczytaj dane, wrzuć do tabeli, co godzinę policz z nich średnią, a co 24 godziny o 15 wyświetl wykres), fajniej byłoby to zrobić w jednym programie, a nie trzema zadaniami systemowymi. Czy się mylę? 🙂 

Edytowano przez Leander
Link to post
Share on other sites

Właśnie łatwiej jest zrobić trzy programy z których każdy robi jedną, ściśle określoną czynność (i to tylko raz) niż jeden "do wszystkiego". A wspólne kody załatwiasz importując do każdego z nich jeden kod.

Poza tym odpada konieczność sprawdzania czy program się przypadkiem nie wyłożył (pokaż mi bezbłędny program), ewentualnych restartów i tak dalej, jakichś wycieków pamięci i ogólnie całej zabawy z utrzymaniem programu w ruchu przez cały czas (która to zabawa wcale taka zabawna nie jest).

  • Lubię! 1
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.