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.

Wpis “System monitorowania temperatury z powiadamianiem SMS – cz. 1” komentowano 4 razy

  1. 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. Świetnie rozpisane. Myślałem nad czymś takim, ale po tym artykule biorę się do roboty. Dzięki!

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

Dodaj komentarz