Sterownik akwariowy

Gdy ktoś ma akwarium dłuższy czas, coraz częściej rozgląda się za czymś co ułatwi mu życie. Najprostsze rozwiązania są dostępne od ręki, tj. regulacja temperatury za pomocą termostatu wbudowanego w grzałkę, oświetlenia wyłącznikiem czasowym, istnieją też automatyczne karmniki co sprawia że akwarium w pewnym sensie staje się automatyczne.

Żeby połączyć to w całość w postaci jednego urządzenia trzeba oczekiwać że urządzenie to będzie niezawodne i o dużo większych możliwościach niż te podstawowe elementy wymienione wcześniej. Przeszukiwałem internet w postaci różnych sterowników (a najbardziej interesowały mnie DIY), ale żaden z projektów ostatecznie mnie nie przekonał. Dlatego postanowiłem rozpocząć własny projekt.

Jako bazę dla sterownika postanowiłem użyć Raspberry Pi. Dlaczego tak? Powodów było kilka, a poniżej kilka z nich:

  • Koszt. Najtańsza wersja kosztuje $25, droższa (ze złączem Ethernet $35). Koszt zbudowania własnego sterownika od postaw jest często wyższy (chociaż sama płytka sterownika jeszcze nie czyni), a możliwości często niższe.
  • Oprogramowanie. Raspberry to po prostu komputer na którym można zainstalować Linuxa. Do tego dochodzi trochę kodu który trzeba stworzyć, ale ogrom narzędzi sprawia że pisanie czegoś na tą platformę to przyjemność
  • GPIO. Jest to skrót od General Purpose Input/Output czyli coś czego w zwykłym komputerze nie ma. GPIO pozwala sterować np. przekaźnikiem czy odczytywać temperaturę za pomocą kilku dołączonych elementów.
  • Możliwości. Te są duże. Pamiętać należy że Raspberry to komputer, a więc sterownik na nim oparty może mieć możliwość prezentacji informacji na TV (nawet w full HD), serwowaniu stron WWW (zmiana ustawień ze smartphona, bądź przeglądarki) z każdego miejsca na świecie, sterowanie pilotem na podczerwień, itd.
  • Wielkość i zapotrzebowanie na energię. Raspberry jest małe. Jest rozmiaru karty kredytowej. Zasilane z ładowarki do telefonu komórkowego. Spokojnie może pracować 24h/dobę i nie będziemy musieli obawiać się o rachunki.
  • Otwartość. Raspberry (i oprogramowanie na niego) to projekty o otwartym źródle, a więc dostępne dla każdego i bez obawy że nagle jakaś firma przestanie udostępniać nowsze wersje oprogramowania lub zacznie sprzedawać za grube $.
  • Kilka dodatkowych smaczków jak np. wbudowany watchdog, sprzętowe I2C, UART, SPI, czy też PWM będzie w przyszłości przydatne np. do sterowania natężeniem oświetlenia lub nawożeniem CO2

Podsumowując, możliwości są spore. Żeby od czegoś zacząć, przyjąłem następujące założenia:

  • Płytka rozszerzeń w wersji 1.0 będzie zawierać 4 przekaźniki i 2 złącza do cyfrowych termometrów
  • Całość zasilana ze standardowego złącza zasilania Raspberry (+5v)
  • Interface napisany w PHP5 z użyciem MySQL (i pierwsza zmiana w projekcie. MySQL jest zbyt zasobożerny na Pi, podobnie Apache. Zamiast tego będzie Sqlite + lighthttpd)
  • Za sterowaniem urządzeniami wyjściowymi odpowiadać będzie daemon napisany w C
  • Wyjścia przekaźnikowe sterowane sekundowo

Czego nie będzie w płytce 1.0 (chociaż mogło by się znaleźć)

  • Większa ilość wyjść przekaźnikowych
  • Wyjścia PWM – np. do sterowania jasnością oświetlenia
  • Zasilanie całej płytki za pomocą 12V (PWM, przekaźniki), i zasilanie Raspberry z wbudowanego stabilizatora 5V – odpada dodatkowy zasilacz
  • Sonda pH – nawożenie CO2
  • Mały wzmacniacz audio (mono) – np. dla sygnałów alarmu
  • Zegar czasu rzeczywistego – na chwilę obecną moje Raspberry pobiera datę z serwera NTP.

To tyle jeśli chodzi o założenia. Teraz pozostaje tylko zbudować działające urządzenie prototypowe 🙂

Ps. Sterownik przeszedł na tyle odległą stronę, że dorobił się własnej strony internetowej pod adresem: aquapi.polarnet.pl

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *