Monitor z Raspberry Pi i Arduino, który wysyła e-mail, gdy temperatura staje się niebezpieczna
W letnie upały coraz częściej zdarza się, że osoby starsze mieszkające samotnie trafiają do szpitala z udarem cieplnym, bo nie zauważyły wzrostu temperatury w mieszkaniu. «THSense», osobisty projekt opublikowany na Zenn, jest przeznaczony dla osób opiekujących się bliskimi mieszkającymi daleko. Monitoruje temperaturę i wilgotność w pokoju i wysyła e-mail, gdy temperatura osiągnie niebezpieczny poziom.
Funkcje są proste. Co minutę mierzy temperaturę i wilgotność, powyżej 35 °C wysyła e-mail, a w przeglądarce można zobaczyć bieżące wartości oraz historię na wykresie. Według autora wykres pozwala wcześniej zauważyć oznaki problemu, na przykład stale rosnącą temperaturę.
Architektura jest ciekawa. Odczyt czujnika (DHT20) powierzono Arduino z zestawu Grove Beginner Kit, a nie Raspberry Pi, ponieważ działa szybciej i łatwiej uzyskać dokładne wyniki. Co 60 sekund Arduino wysyła ciąg znaków przez port szeregowy USB do Raspberry Pi. Program w Pythonie odbiera go przez pyserial, zamienia z powrotem na liczby i zajmuje się sprawdzaniem temperatury, wysyłaniem e-maila oraz zapisem do bazy danych. Bazą jest MariaDB na maszynie wirtualnej w Azure, a interfejs powstał na bazie Flask i Chart.js. E-maile wysyłane są przez serwer SMTP Gmaila za pomocą smtplib, a dane logowania są czytane z pliku .env, a nie zapisane w kodzie.
Podział ról jest jasny, dlatego projekt dobrze nadaje się jako przykład projektowania małych układów IoT. Pomiar po stronie Arduino, a ocena i powiadomienia po stronie Raspberry Pi to podział, z którego sam mógłbym skorzystać przy podobnych konstrukcjach. Autor pisze, że kod źródłowy jest opublikowany na GitHubie.
Źródło: Zenn
Funkcje są proste. Co minutę mierzy temperaturę i wilgotność, powyżej 35 °C wysyła e-mail, a w przeglądarce można zobaczyć bieżące wartości oraz historię na wykresie. Według autora wykres pozwala wcześniej zauważyć oznaki problemu, na przykład stale rosnącą temperaturę.
Architektura jest ciekawa. Odczyt czujnika (DHT20) powierzono Arduino z zestawu Grove Beginner Kit, a nie Raspberry Pi, ponieważ działa szybciej i łatwiej uzyskać dokładne wyniki. Co 60 sekund Arduino wysyła ciąg znaków przez port szeregowy USB do Raspberry Pi. Program w Pythonie odbiera go przez pyserial, zamienia z powrotem na liczby i zajmuje się sprawdzaniem temperatury, wysyłaniem e-maila oraz zapisem do bazy danych. Bazą jest MariaDB na maszynie wirtualnej w Azure, a interfejs powstał na bazie Flask i Chart.js. E-maile wysyłane są przez serwer SMTP Gmaila za pomocą smtplib, a dane logowania są czytane z pliku .env, a nie zapisane w kodzie.
Podział ról jest jasny, dlatego projekt dobrze nadaje się jako przykład projektowania małych układów IoT. Pomiar po stronie Arduino, a ocena i powiadomienia po stronie Raspberry Pi to podział, z którego sam mógłbym skorzystać przy podobnych konstrukcjach. Autor pisze, że kod źródłowy jest opublikowany na GitHubie.
Źródło: Zenn
Komentarze 0
Dodaj pierwszy komentarz, w dowolnym języku.
Zaloguj się, aby komentować