Skocz do zawartości

Arduino a WiFi


MarJanPol

Pomocna odpowiedź

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

Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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 ?

Link do komentarza
Share on other sites

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.

Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

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

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.