System monitorowania temperatury z powiadamianiem SMS – cz. 1

W dzisiejszym wpisie przedstawię poskładany z klocków kompletny system monitorowania temperatury z powiadamianiem sms i mail. Urządzenie jest oparte o Raspberry Pi, system raspian i darmowe oprogramowanie nettemp, które zawiera całą logikę. Założenie jest takie, by monitorować temperaturę w czterech/pięciu punktach serwerowni i wilgotność. Zbyt niska lub wysoka mierzona wartość ma powodować wysłanie smsa lub maila pod zdefiniowane wcześniej numery/adresy. Całość musi się zmieścić w obudowie 1U, która zostanie wkręcona do szafy rackowej.

Zestaw części niezbędnych do budowy

Budując system monitorowania i powiadamiania należy zaopatrzyć się w Raspberry Pi, mocniejsze Raspberry Pi 2 lub Banana Pi na którym również działa nettemp. Niezbędny jest również zasilacz stabilizowany 5V min. 2A, obudowa, czujniki i modem obsługiwane przez nettemp. Opcjonalnie można użyć wyświetlacza LCD 2×16 znaków i sterownika I²C.

Części do budowy Nettemp

Mój zestaw to:

  1. Raspberry Pi B i karta 8GB Class 10;
  2. Zasilacz DIY 2x5V 2×1,5A;
  3. Modem Huawei E220 i karta prepaid Virgin Mobile;
  4. Wyświetlacz LCD HD44780 2×16 znaków + driver I²C;
  5. 2 czujniki DS18B20 i 1 czujnik DHT11;
  6. Gniazda natynkowe RJ12 jako obudowy do czujników;
  7. Płytka DIY z gniazdami RJ12 do podłączenia czujników;
  8. Obudowa 1U po KVM’ie VGA;
  9. Kabelki żeńskie goldpin, kabel telefoniczny, inne drobiazgi.

Budowa systemu monitorowania temperatury z powiadamianiem

Budowę mojego systemu opartego na nettemp zacząłem od obudowy 1U i rozplanowanie w niej modułów. Pierwszy etap to usunięcie płyty głównej przełącznika KVM i odzyskanie z niej przydatnych części (transformator, radiatory, stabilizatory).

Metalowa obudowa 1U

Zostawiłem instalację 230V, czyli przedni włącznik, tylne gniazdo z bezpiecznikiem i kable – idealnie nadadzą się w budowanym układzie. Wykorzystując zdemontowany transformator sieciowy i stabilizatory, zbudowałem klasyczny zasilacz liniowy z dwoma stabilizatorami LM7805. Zaprojektowana płytka posiada otwory montażowe pasujące pod gwintowane tuleje dystansowe obudowy.

Zasilacz DIY 5V

Napięcia wyjściowe są dostępne za listwie ARK i goldpinach. Stabilizatory zostaną zamontowane na radiatorach poza PCB. Z założenia jeden obwód będzie zasilał Raspberry Pi, drugi pozostałe urządzenia typu wyświetlacz, modem itp.

Budowa zasilacza DIY

Założyłem, że czujniki będę podłączał za pośrednictwem gniazd RJ12 i 4-żyłowego kabla telefonicznego. Wystarczyło zaprojektować prostą płytkę drukowaną, na której uwzględniłem rezystor 3,9kΩ podciągający linię DQ czujników DS18B20 do plusa zasilania. Płytka została wyposażona w 3 pinowe gniazdko do podłączenia z Raspberry Pi.

PCB do gniazdek RJ12

Najmniej wdzięczny etap prac, to przygotowanie obudowy. Na panelu przednim potrzebowałem otwór pod wyświetlacz LCD. Z uwagi na estetykę, nie było tu mowy o ręcznym wycinaniu multiszlifierką – zajął się tym znajomy, profesjonalnie wycinając metal frezarką. Tylną część ciąłem już sam dremelem, robiąc (prawie) prostokątne otwory pod gniazdka RJ12 małej płytki i kartę sieciową oraz USB Raspberry Pi. Pozostałe otwory po gniazdach VGA zostały finalnie zaślepione.

Obudowa 1U z otworami

Między przedni, odkręcany panel, a pionową ściankę obudowy wstawiłem kawałek przezroczystego tworzywa z jakiegoś blistra, którego zadaniem jest ochrona wyświetlacza przed uszkodzeniem.

Do tak przygotowanej obudowy należało zamontować RaspberryPi, płytkę z gniazdkami, zasilacz, wyświetlacz i połączyć to wszystko ze sobą kabelkami.

Połączenia modułów z RPi

Zdecydowałem się na niezbyt wygodne zasilanie RPi przez gniazdko microUSB tylko ze względu na dobre zabezpieczenie, znajdujące się na płytce komputerka. Stabilizowane +5V można też podpiąć do goldpinów, ale awaria np. stabilizatora na wyjściu którego wzrośnie napięcie, spowoduje uszkodzenie malinki. Zakup wtyczki microUSB i dolutowanie do niej dwóch kabelków pozwoli spać spokojniej :).

Przy podłączaniu całej reszty przydatna będzie rozpiska pinów w Raspberry Pi.

Pinout w Raspberry Pi

Stabilizatory LM7805 zasilacza przykręciłem do niewielkich radiatorków z odzysku – jedno i drugie posmarowałem pastą termoprzewodzącą, dzięki czemu scalaki oddają lepiej ciepło do radiatorków a te do metalowej obudowy. Zasilanie wyświetlacza LCD i sterownika I²C podłączyłem do drugiej sekcji stabilizującej +5V, linie SDA i SCL do pinów w Raspberry (GPIO2, GPIO3). Zasilanie płytki Z RJ12 zostało podłączone pod pin 3V3 i GND, linia DATA DQ do GPIO4. Po zaprojektowaniu płytki okazało się, że korzystnie byłoby użyć rówież czujnika DHT11. Zrobiłem więc małą przeróbkę – w skrajnym czarnym gnieździe RJ12 odciąłem linię DATA od rezystora i przylutowałem kabelek dołączony do GPIO17. Takie rozwiązanie wymusza dołączenie rezystora podciągającego do +3V3 – ja zamontowałem go bezpośrednio w obudowie czujnika.

Druga część zawiera opis instalacji i konfiguracji systemu, oraz podłączenie czujników i modemu: System monitorowania temperatury z powiadamianiem SMS – część 2.

Możesz również polubić…

6 komentarzy

  1. Rysiek pisze:

    A czy mógłbyś wrzucać schematy swoich układów? Ja wiem, że zasilacz na 7805 to abecadło ale pokazanie tego jako całość czy poszczególne moduły pomogłoby wielu amatorom zrozumieć klocki 🙂

  2. Andrzej pisze:

    Świetnie rozpisane. Myślałem nad czymś takim, ale po tym artykule biorę się do roboty. Dzięki!

  3. Paweł pisze:

    Sam system robi wrażenie, w szczególności możliwość powiadamiania sms. Robiąc instalację samemu możemy zaoszczędzić sporo pieniędzy

  4. Łukasz pisze:

    witam,
    Może moje pytanie będzie nie na miejscu, ale..czy dużym wyzwaniem byłoby zbudowanie w/w układu z pominięciem Raspberry Pi? Czy układ będzie trudno zbudować na płytce stykowej? czy mógłbym prosić o odpowiedź?
    Pozdrawiam

  1. 27.02.2016

    […] Poprzednia część zakończyła się na umieszczeniu modułów w obudowie i opisie ich połączeń. Teraz kolej na uruchomienie całości, podłączenie modemu, czujników i konfigurację. Mój system monitoringu składa się obecnie z dwóch czujników DS18B20 połączonych 4-żyłowym kablem telefonicznym (4 i 7 metrów), które mierzą temperaturę lewego i prawego rzędu szaf rackowych oraz czujnika wilgotności i temperatury DHT11 połączonego 5-metrowym kablem telefonicznym, który mierzy parametry zamkniętego, ciepłego korytarza między rzędami szaf. Ostatnie urządzenie zewnętrzne, to modem Huawei E220 wpięty w gniazdo USB, który wysyła SMS’y z powiadomieniami. […]

  2. 05.04.2019

    […] oparty o nettemp, zbudowałem ponad 3 lata temu. Całość opisałem w dwóch częściach: wpis 1 i wpis 2. W skrócie – układ opierał się na Raspberry v1, czujniki DS18B20 mierzyły […]

Leave a Reply

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.