Skocz do zawartości

Pomocna odpowiedź

Napisano

Witam, jako, że jestem bardzo początkujący z Arduino chciałbym prosić o małą podpowiedź jak zrealizować takie oto zadanie :

Na działce rekreacyjnej (ok 1000 m2) chciałbym zlokalizować kilka niezależnych czujek ruchu - każda na bazie Arduino i każda wyposażona w moduł WiFi (wszystkie zasilane niezależnie z akumulatorów). W przypadku wykrycia ruchu przez którąś z czujek chciałbym otrzymać automatycznego maila z informacją która czujka ten ruch wykryła.

Z podłączeniem czujki PIR nie powinienem mieć chyba problemu. Gorzej jest z tymi sieciowymi sprawami (WiFi), bo tu zupełnie nie czuję tematu i nie mam pojęcia co jest możliwe a co nie i w ogóle jak się do tego zabrać. Chętnie też o tym poczytam, jeśli ktoś zna jakiś ciekawy link. Np. czy możliwe jest zarówno wysyłanie maili "przez Arduino" jak i ich otrzymywanie (np. w celu przesłania komendy do Arduino w celu realizacji jakiegoś zadania)?

Dodam, że cały teren objęty jest siecią WiFi (router-modem z dostępem do internetu przez sieć komórkową znajduje się w zamkniętej chatce).

Z góry dziękuję za wszelkie sugestie!

MarJanPol

Wysyłanie maili to ciężka sprawa, bo o ile w teorii każdy komputer może to robić, to w praktyce, ze względu na problemy ze spamem, większość serwerów odrzuca wiadomości przychodzące z losowych adresów, na których nie stoi serwer SMTP. Najprościej objeść to tak, że albo maile wysyłasz tylko do swojego własnego serwera, który specjalnie konfigurujesz tak, żeby nie odrzucał wiadomości z twoich czujników, albo twoje czujniki dają znać serwerowi jakimś innym sposobem (na przykład przez mqtt), a ten dopiero wysyła e-mail.

Z otrzymywaniem jest nawet trudniej, bo musiałbyś mieć serwer SMTP żyjący na tych malutkich procesorkach ze znikomą mocą obliczeniową i ilością pamięci. Nie wiem czy nawet ktoś zrobił jakiś serwer poczty dla Arduino. Dużo łatwiej będzie użyć protokołu, który specjalnie został do tego zaprojektowany, takiego jak wspomniane MQTT.

Nie potrzebujesz osobnych płytek arduino i osobnych modułów wifi — popularne i tanie ESP8266 daje się programować przy pomocy środowiska Arduino i ma wifi wbudowane.

  • Lubię! 1

Dzięki Mistrzu! 🙂 Wygląda na to, że muszę znaleźć inne rozwiązanie, bo za słabo się czuję w tych tematach 🙁 Niestety ciągnięcie dziesiątek metrów kabli to też nie jest rozwiązanie...

Myślałeś o NRF21L01+ może?

Nie znałem tego modułu, ale widzę, że też można go ciekawie wykorzystać. tylko czy nie miałeś na myśli NRF24L01+ ?

A tak jeszcze wracając do tego wątku wifi - czy raspberry ułatwiłoby wysłanie maila ?

Tak, raspberry pi często się stosuje w takich systemach jako serwer MQTT (czy czym tam chcesz się komunikować — jeśli zdecydujesz się na radio jak te NRF, to robisz swój protokół), który dalej już używając standardowych bibliotek wysyła maile, wpisuje wyniki do bazy danych czy udostępnia to wszystko na stronie www.

A koniecznie musi być to email? Nie może być np. SMS? Skoro chcesz wykorzystać Arduino albo RPi to tyle samo pracy będzie kosztować podpięcie modułu GSM. Takie rozwiązania bez problemu w necie znajdziesz.

Odnośnie WiFi to tak jak pisał deshipu, ewentualnie możesz wysyłać jakąś notyfikację na dedykowany serwer i z niego odczytywać informację. Chyba że zależy tobie na powiadomieniach „alarmowych” w z których wiesz że ktoś wszedł na działkę w tym momencie, ale moim zdaniem SMS będzie szybszym i wygodniejszym rozwiązaniem.

No i jeżeli zdecydujesz się jednak na WiFi to całość możesz na ESP8266 postawić zapominając o istnieniu Arduino.

  • Pomogłeś! 1

Czujki mają mieć własne zasilanie a to jest duże wyzwanie. Być może da się niepostrzeżenie umieścić na drzewie akumulator samochodowy ale jeśli ma to być rozwiązanie praktyczne (i tanie) to trzeba minimalizować wielkość obudowy wraz z zasilaniem a maksymalizować czas między wdrapywaniem się na to drzewo i wymianą pakietu, choćby w celu naładowania pustego.

Moim zdaniem ani WiFi ani tym bardziej Malina do takiego zastosowania się nie nadają. Jakakolwiek aktywność radiowa - wszystko jedno nadawanie, odbiór danych czy tylko nasłuch (a czasem paradoksalnie odbiór najbardziej) kosztuje mnóstwo prądu. Jeśli urządzenie ma dostawać krótkie rozkazy naprawdę rzadko, nie przesyłać żadnych zdjęć z kamer a raportować proste zdarzenia względnie natychmiast, to tanie moduły radiowe Low-Power są tu najlepszym rozwiązaniem. Trzeba wymyślić tylko politykę używania kanału radiowego tak, by wszystkie założenia co do pracy tego systemu były spełnione. Jeśli np. stacja bazowa może być zasilana z sieci AC, to zupełnie spokojnie może cały czas pozostawać na nasłuchu z włączonym wszystkim co potrzeba. Jeśli komendy wysyłane do czujek mogą być wykonywane z pewnym opóźnieniem, to może warto włączać im odbiorniki tylko na minutę np. co godzinę. Każdorazowe wysłanie rozkazu powodowałoby w modułach czujek synchronizację zegarów na kolejną godzinę. Natomiast gdy one same chciałyby alarmować (to najważniejsze) lub np. poinformować o niskim stanie baterii (to także jest ważne) lub też wysłać sygnał "żyję i mam się dobrze" (to też ważne w systemach nadzoru bo trzeba zakładać, ze robimy go przeciwko komuś komu czujka na drzewie bardzo przeszkadza), to mogą to zrobić w każdej chwili. Jeśli taka informacja będzie wysyłana np. w trzech identycznych ramkach co losową liczbę sekund (w granicach minuty) to praktycznie nie ma szans, by w tak małym systemie wszystkie trzy ramki nałożyły się na nadawanie innych węzłów. To oczywiście tylko przykład, podobnych pomysłów można mnożyć wiele. Biblioteki do takich modułów są gotowe, Arduino można zmusić do spania i znacznego obniżenia poboru mocy, czujka pobiera tyle co musi i tutaj nic się nie da zrobić a wyłączony moduł radiowy na 433 lub 868MHz nie pobiera praktycznie nic. W rezultacie można zejść do pojedynczych mA prądu (na 3.3V) w porównaniu do ponad 500mA (na 5V) potrzebnych do pracy Maliny. Ten sam akumulator może starczyć na 10 dni lub 2 godziny pracy. Chyba warto.

Na pewno ESP8266 - jeśli tylko jego radio umie głęboko zasnąć a późniejsze obudzenie nie wymaga jakiejś skomplikowanej i kosztownej energetycznie procedury logowania do sieci WiFi - także się nada. Wszelkie komputerki linuxowe oparte na kilkurdzenowych ARMach i dużych SDRAMach są tu armatą na wróble i mimo pozornych zalet w postaci gotowego oprogramowania chyba już do wszystkiego, w takim systemie będą głównie zajmować się zamianą cennego prądu na ciepło.

  • Lubię! 1
  • 2 tygodnie później...

Panowie, bardzo dziękuję za wszystkie sugestie! Starałem się odwdzięczyć każdemu punktem pomocy oraz piwkiem 🙂

Ostatecznie za waszą radą zrezygnowałem na razie z pomysłu powiadomienia mailem i obrałem kierunek komunikacji smsowej. Jednakowoż w temacie komunikacji GSM też dopiero raczkuję więc wszelkie podpowiedzi będą bardzo mile widziane. Dla chętnych do wypowiedzenia się zapraszam do odrębnego wątku: https://www.forbot.pl/forum/topics74/wspolpraca-arduino-z-modulem-gsm-vt14845.htm

Natomiast niniejszy temat definitywnie zamykam.

Dziękuję raz jeszcze i pozdrawiam!

MarJanPol

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...