Pracuję nad budową słonecznej stacji pogodowej opartej na Arduino. Stacja pogodowa składa się z czujnika temperatury i fotorezystora, a w przyszłości planuję dodać anemometr. Chciałbym podłączyć stację pogodową do mojej sieci bezprzewodowej, aby móc pobrać dane czujnika z komputera bez konieczności prowadzenia przewodów (mieszkam w wypożyczalni).
Jakie są różne opcje podłączenia Arduino do WiFi? Patrzyłem na osłony Ethernet, osłony WiFi i coś o nazwie Xbee, ale nie rozumiem do czego służą.
Mam także bezprzewodowy router domowy, którego mogę użyć. Czy możliwe jest podłączenie mojego Arduino Uno do routera przez routery Ethernet lub port USB, a następnie odbieranie danych i wysyłanie poleceń do Arduino bezprzewodowo przez moją sieć domową? Jeśli tak, jak można to osiągnąć?
Obecnie mam nagie Arduino Uno.
źródło
Odpowiedzi:
Masz kilka opcji podłączenia Arduino do sieci / Internetu.
Ethernet
Coś w rodzaju Arduino Ethernet Shield pozwala podłączyć kabel Ethernet ze ściany lub routera do Arduino. Oczywiście głównym ograniczeniem jest to, że Twoje urządzenie jest teraz podłączone za pomocą kabla. Do użytku na zewnątrz nie zrobiłbym tego.
WiFi
Arduino WiFi Tarcza pozwala na podłączenie do domowej sieci Wi-Fi. To jest tak samo jak Ethernet, z wyjątkiem tego, że teraz jest bezprzewodowy.
ESP8266 to tańsza alternatywa, że z domyślnym firmware, posiada taką samą funkcjonalność jak WiFi Shield. Uważaj, aby zasilać go napięciem 3,3 V, a nie 5 V, jak reszta Arduino. Wykorzystuje również poziomy logiczne 3,3 V, więc nie podłączaj styku TX Arduino bezpośrednio do styku RX ESP; użyj dzielnika napięcia.
RF
Jeśli masz wiele czujników lub innych urządzeń, które muszą się ze sobą komunikować, najlepszą opcją jest zazwyczaj moduł RF. Masz tutaj wiele opcji, XBee jest jedną z nich. Sprawdź Przewodnik kupna Sparkfun XBee, aby zobaczyć wszystkie dostępne opcje. A to tylko XBee. Dostępnych jest wiele innych opcji bezprzewodowych za wszelką cenę.
Problem z RF polega na tym, że żadne z nich nie połączy się z Internetem. Będziesz mieć wszystkie urządzenia komunikujące się ze sobą lub ze stacją bazową, która następnie zostanie podłączona do sieci za pomocą modułu WiFi lub Ethernet.
Router bezprzewodowy szeregowy
W zależności od używanego routera bezprzewodowego Arduino może komunikować się bezpośrednio z nim i używać go jako połączenia z siecią.
źródło
Poślub OpenWrt i swoje Arduino
Zdobądź mały router obsługujący OpenWrt, taki jak „TP-Link TL-WR703N”, sflashuj go za pomocą bieżącej stabilnej wersji OpenWrt i podłącz Arduino do portu USB routera.
To rozwiązanie stanowi połowę lub mniej kosztu osłon WiFi i ma znacznie większą moc.
... i tańsze niż Y'N.
Serwer sieci inteligentnej automatyki domowej na routerze OpenWRT WR703N połączonym z Arduino, w porównaniu z Raspberry Pi i Ubuntu może być punktem wyjścia do przeczytania o tym, a twoja ulubiona wyszukiwarka znajdzie wiele innych linków o małżeństwie z WR703N i Arduinos ...
(!) Zobacz też https://arduino.stackexchange.com/a/1754/653 ....
źródło
ESP8266 to tani moduł Wi-Fi za 5 $ z łącznością UART, SPI. Można to bezproblemowo zintegrować z Arduino albo poprzez standardowe oprogramowanie układowe za pomocą komend AT, albo przez napisanie niestandardowego oprogramowania układowego za pomocą dostarczonego zestawu SDK i dostępnego GIPO. Więcej informacji na stronie http://www.esp8266.com/
źródło
Od kilku miesięcy pracuję z Xbee nad arduino i Raspberry Pi. Chociaż ma swoje problemy i dziwactwa, jest doskonałym narzędziem w łańcuchu komunikacji. To nie jest idealne, ale biorąc pod uwagę stronę z siatki, dla mnie sięga dalej niż moje wifi i może być nawet bardziej niezawodne (moje Raspberry Pi z Wi-Fi czasami czasem odpada, ale podłączony Xbee nadal działa w tle.
W szczególności w moim przypadku pozwala to na szeregowe połączenie między moimi urządzeniami (jest to kilka arduinos, Raspberry Pi (koordynator) i mój Mac (używany głównie do monitorowania, ale także od czasu do czasu wstrzykiwania danych szeregowych)). W tym przypadku jest idealny. Nie pozwala na dostęp do Internetu ani dostęp poza ramy xbee, ale to mi odpowiada, ponieważ implementacja jest tak prosta jak Serial.print i Serial.read bez narzutu Ethernet.
źródło
Używam Spark Core, który jest bardzo łatwą w użyciu platformą programistyczną Arduino. Platforma ta została zbudowana z założenia, że WiFi powinno być łatwe w użyciu i tanie. Może nawet zaprogramować Spark Core z dowolnego miejsca, w dowolnym czasie.
źródło
Możesz wypróbować Arduino Yun, to jest jak Uno, ale ma WiFi bezpośrednio na płycie.
Część „Przewodnika po Arduino Yún” zawiera część „Konfiguracja wbudowanego Wi-Fi” , która opisuje sposób konfiguracji Wi-Fi.
źródło
To, czego chcesz, jest dość łatwe do zrobienia, a kod już istnieje. Ale tak, jak ja to widzę, nie podłączysz czujnika Arduino do swojego Wi-Fi. Zamiast tego użyjesz innego Arduino jako swojej bramy w następujący sposób:
Czujnik Arduino: Umieszczony na zewnątrz, podłączony do czujnika temperatury, prędkości wiatru, miernika deszczu?
Gateway Arduino: Znajduje się wewnątrz, z osłoną ethernetową Wiznet 5001
Sensor Arduino i Gateway Arduino rozmawiają ze sobą za pomocą BARDZO łatwego w obsłudze bezprzewodowego nadajnika-odbiornika, nRF24L01 +. Moduły bezprzewodowe kosztują 3 USD, a biblioteka do użytku jest bardzo dojrzała. Wszystkie dane czujnika są łatwo przekazywane do bramki przy użyciu tej biblioteki.
Gateway Arduino w / ethernet działa jak serwer sieciowy, umożliwiając każdemu komputerowi w sieci lokalnej otwarcie strony i wyświetlenie aktualnych warunków. Spójrz na tę stronę po kod Arduino: http://arduino.cc/en/Tutorial/WebServer
Chcesz również zapisać historyczne informacje o temperaturze / prędkości wiatru, prawda? To najlepsza część! Gateway Arduino może przekazywać dane do usługi, takiej jak Xively, bezpłatna internetowa usługa gromadzenia danych, która zapewnia także świetny sposób na wizualizację / wykres danych. Z używaniem Wiznetu i modułu nRF24L01 jest trochę czkawka. Zarówno moduł bezprzewodowy, jak i osłona sieci Ethernet wykorzystują tę samą magistralę do komunikacji, więc spójrz na tego bloga, aby zobaczyć, jak możesz korzystać z obu jednocześnie:
http://www.heald.ca/content/arduino-ethernet-nrf24l01-and-pachubecosmxively
Xively pozwala również ustawić te dane jako publiczne lub prywatne, dzięki czemu możesz zdecydować się na przekazanie danych stacji pogodowej społeczności.
Kilka innych uwag: Lubię moduły nRF24L01 +, ponieważ są tanie. Moduły Xbee kosztują więcej niż same Arduinos. Możesz nadal dodawać moduły nRF24L01 + wokół domu po ustanowieniu bramy. Ten sam problem z kosztami występuje w przypadku osłony Wi-Fi - drogie.
źródło
Jeśli chcesz tańszej alternatywy, aby dodać możliwości WiFi do Arduino, spójrz na tarczę ESP WiFi .
Działa świetnie z biblioteką WiFiEsp . Model programowania jest dokładnie taki sam jak Arduino WiFi Shield
źródło
Sprawdź moduł Wi-Fi ESP8266, jest to tani moduł i można nim sterować za pomocą dowolnego mikrokontrolera za pomocą poleceń AT, a także Soc, dzięki czemu można go używać samodzielnie.
źródło
Korzystanie z zestawu cmd ESP8266 AT jest trudne i podatne na błędy. Zasugeruj, aby przebudować ESP8266-01 jako mostek UART-WiFi, jak opisano tutaj. ESP8266 Wifi Add to Arduino Made Simple
Pamiętaj, że konfiguracja pozwala również ponownie skonfigurować ustawienia Wi-Fi bez konieczności ponownego programowania ESP8266-01
źródło
Używanie sielda ESP8266 jest podatne na błędy, wymaga aktualizacji, która wymaga flashowania, wymaga lutowania i nie jest odpowiednia dla środowiska produkcyjnego. Istnieją również problemy z zasilaczem, ponieważ musisz mieć osobny zasilacz 3,3 V. Jest 2016 (!), A teraz dostępnych jest wiele innych opcji.
„Płyta UNO WiFi to Arduino UNO ze zintegrowanym Wi-Fi”. http://www.arduino.org/products/boards/arduino-uno-wifi
i
„Star Otto to pierwsza płyta Arduino z procesorem STM32F469 z Wi-Fi”. http://www.arduino.org/products/boards/arduino-star-otto (Właściwie od października wciąż nie jest dostępny, „Wkrótce”).
Uwaga: te dwie tablice pochodzą z INNEJ organizacji Arduino.
źródło
Po kilku próbach i błędach w moim projekcie IoT zaleciłbym pracę nad ESP32 nad ESP8266 (a także Arduino Uno i Nano), chyba że dobrze znasz zakres swojego projektu.
Zalety ESP32 w stosunku do ESP8266:
Pracuję nad projektem IoT i próbuję uwierzytelnić urządzenie na GCP przy użyciu certyfikatu. Główny certyfikat GCP ma już około 120 KB, więc nie pasuje do ESP8266. Istnieją alternatywy, ale komplikuje to wszystko.
W pewnym momencie projektu IoT możesz chcieć podłączyć urządzenie Bluetooth do telefonu ...
Dzięki ESP8266 możesz z pewnością korzystać z kamery, ale będzie to wymagało więcej kodowania i okablowania oraz potencjalnie gorszej wydajności.
I w końcu próbowałem połączyć układ Wi-Fi z Arduino Uno i Nano, ale napotkałem kilka błędów i problemów z poleceniami AT. Dlatego teraz jestem całkiem zadowolony z ESP32, ponieważ wszystko jest zintegrowane.
źródło