Я работаю над созданием солнечной метеорологической станции на базе Arduino. Метеостанция состоит из датчика температуры и фоторезистора, и я планирую добавить анемометр в будущем. Я хотел бы подключить метеостанцию к моей беспроводной сети, чтобы я мог получать данные датчика с моего компьютера без использования проводов (я живу в прокате).
Какие есть варианты подключения Arduino к WiFi? Я посмотрел на сетевые экраны, WiFi-экраны и что-то под названием Xbee, но я не понимаю, для чего каждый из них.
У меня также есть беспроводной домашний маршрутизатор, который я мог бы использовать. Можно ли подключить Arduino Uno к маршрутизатору через Ethernet-порт маршрутизатора или через USB-порт, а затем получать данные и отправлять команды на Arduino по беспроводной сети через мою домашнюю сеть? Если так, как это будет достигнуто?
В настоящее время у меня есть голое Arduino Uno.
источник
Ответы:
У вас есть несколько вариантов подключения вашего Arduino к сети / Интернету.
Ethernet
Что-то вроде Arduino Ethernet Shield позволяет подключить кабель Ethernet от стены или маршрутизатора к вашему Arduino. Очевидно, что основным ограничением является то, что ваше устройство теперь привязано кабелем. Для наружного использования я бы этого не делал.
Вай-фай
Arduino WiFi Shield позволяет подключить к домашней Wi - Fi сети. Это так же, как Ethernet, за исключением его теперь беспроводной.
ESP8266 является более дешевой альтернативой , которая, с прошивкой по умолчанию, имеет такую же функциональность , как WiFi Shield. Будьте осторожны, что вы используете питание 3,3 В, а не 5 В, как остальные Arduino. Он также использует 3,3 В логические уровни, поэтому не подключайте вывод TX Arduino напрямую к выводу RX ESP; используйте делитель напряжения.
РФ
Если у вас много датчиков или других устройств, которые должны взаимодействовать друг с другом, лучшим вариантом, как правило, является радиочастотный модуль. У вас есть много вариантов, XBee является одним из них. Ознакомьтесь с Руководством по покупке Sparkfun XBee, чтобы просмотреть все доступные варианты. И это только XBee. Есть много других доступных беспроводных опций по разным ценам.
Дело в том, что RF не подключается к Интернету. Все ваши устройства будут взаимодействовать друг с другом или с базовой станцией, которая затем будет подключена к сети с помощью модуля WiFi или Ethernet.
Последовательный беспроводной маршрутизатор
В зависимости от того, какой тип беспроводного маршрутизатора вы используете, вы можете напрямую подключить Arduino к нему и использовать его в качестве подключения к сети.
источник
Женитесь на OpenWrt и вашем Arduino
Получите небольшой маршрутизатор с поддержкой OpenWrt, такой как TP-Link TL-WR703N, прошейте его текущей стабильной версией OpenWrt и подключите Arduino к USB-порту маршрутизатора.
Это решение составляет половину или меньше стоимости WiFi-щитов и обладает гораздо большей мощностью.
... и дешевле, как YÙN.
Умный домашний веб-сервер автоматизации на маршрутизаторе OpenWRT WR703N, подключенный к Arduino, по сравнению с Raspberry Pi и Ubuntu может стать отправной точкой для прочтения об этом, и ваша любимая поисковая система найдет еще много ссылок о браке WR703N и Arduinos ...
(!) Пожалуйста, смотрите /arduino//a/1754/653 тоже ....
источник
ESP8266 - это дешевый 5-долларовый модуль Wi-Fi с поддержкой UART, SPI. Это можно легко интегрировать с Arduino либо через стандартную прошивку с использованием AT-команд, либо путем написания специальной прошивки с использованием предоставленного SDK и доступного GIPO. Для получения дополнительной ссылки http://www.esp8266.com/
источник
Я работаю с xbee над Arduino и Raspberry Pi уже несколько месяцев. Хотя у него есть свои проблемы и причуды, это отличный инструмент в цепочке коммуникаций. Он не идеален, но с точки зрения сетки, для меня он достигает большего, чем мой Wi-Fi, и даже может быть более надежным (мой Raspberry Pi с Wi-Fi иногда выпадает, однако подключенный xbee продолжает работать в фоновом режиме.
В частности, в моем случае это позволяет установить последовательное соединение между моими устройствами (состоящими из нескольких arduinos, Raspberry Pi (координатор) и моего Mac (используется в основном для мониторинга, а также иногда для ввода последовательных данных)). В этом случае это идеально. Он не разрешает доступ в Интернет или доступ за пределами платформы xbee, но это мне подходит, поскольку реализация так же проста, как Serial.print и Serial.read, без затрат Ethernet.
источник
Я использую Spark Core - очень простую в использовании платформу программирования Arduino. Эта платформа была построена на том принципе, что WiFi должен быть простым в использовании и дешевым. Можно даже запрограммировать Spark Core из любого места и в любое время.
источник
Вы можете попробовать Arduino Yun, он похож на Uno, но у него есть WiFi прямо на плате.
В «Руководстве по Arduino Yún» есть раздел «Настройка встроенного Wi-Fi» , в котором описывается, как настроить WiFi.
источник
То, что вы хотите, довольно легко сделать, и код уже существует. Но, как я понимаю, вы не будете подключать датчик Arduino к вашему Wi-Fi. Вместо этого вы будете использовать другой Arduino в качестве шлюза следующим образом:
Датчик Arduino: расположен снаружи, подключен к датчику температуры, скорости ветра, датчика дождя?
Шлюз Arduino: расположен внутри, с сетевым экраном Wiznet 5001
Sensor Arduino и Gateway Arduino общаются друг с другом с помощью ОЧЕНЬ простого в использовании беспроводного трансивера nRF24L01 +. Беспроводные модули стоят по 3 доллара, а библиотека для использования очень зрелая. Все данные датчика легко передаются в шлюз с помощью этой библиотеки.
Шлюз Arduino с сетью Ethernet действует как веб-сервер, позволяя любому компьютеру в вашей локальной сети открывать страницу и просматривать текущие условия. Посмотрите на этой странице код Arduino: http://arduino.cc/en/Tutorial/WebServer
Вы также хотите сохранить историческую информацию о температуре / скорости ветра, верно? Это лучшая часть! Gateway Arduino может передавать данные в сервис, такой как Xively, бесплатный веб-сервис для сбора данных, который также предоставляет вам отличный способ визуализации / отображения ваших данных. Есть небольшой сбой с использованием Wiznet вместе с модулем nRF24L01. И беспроводной модуль, и сетевой экран используют одну и ту же шину для связи, поэтому взгляните на этот блог, чтобы узнать, как вы можете использовать оба одновременно:
http://www.heald.ca/content/arduino-ethernet-nrf24l01-and-pachubecosmxively
Xively также позволяет вам сделать эти данные общедоступными или личными, чтобы вы могли предоставить данные своих метеостанций сообществу.
Некоторые другие замечания: мне нравятся модули nRF24L01 +, потому что они очень дешевые. Модули Xbee стоят дороже, чем сами Arduinos. Вы можете продолжать добавлять модули nRF24L01 + по дому, как только вы установите шлюз. Та же самая проблема стоимости существует с экраном Wi-Fi - дорогой.
источник
Если вы хотите более дешевую альтернативу для добавления возможностей Wi-Fi в Arduino, взгляните на ESP WiFi Shield .
Отлично работает с библиотекой WiFiEsp . Модель программирования точно такая же, как Arduino WiFi Shield
источник
Проверьте модуль Wi-Fi ESP8266, это дешевый модуль, которым можно управлять с помощью любого микроконтроллера с помощью AT-команд, также это Soc, так что вы можете использовать его автономно.
источник
Использование набора команд ESP8266 AT сложно и подвержено ошибкам. Предлагаем вам перепрошить ESP8266-01 как мост UART-WiFi, как описано здесь ESP8266 Wifi Add для Arduino Made Simple
Обратите внимание, что настройка также позволяет переконфигурировать настройки Wi-Fi без перепрограммирования ESP8266-01
источник
Использование экрана ESP8266 подвержено ошибкам, требует обновления, которое необходимо прошить, требует пайки и не подходит для производственной среды. Кроме того, существуют проблемы с источником питания, потому что вам нужно иметь отдельный источник питания 3,3 В. Это 2016 (!), И теперь есть еще много вариантов.
«Плата UNO WiFi - это Arduino UNO со встроенным WiFi». http://www.arduino.org/products/boards/arduino-uno-wifi
а также
«Star Otto - первая плата Arduino с процессором STM32F469 с WiFi». http://www.arduino.org/products/boards/arduino-star-otto (На самом деле, по состоянию на октябрь, он все еще не доступен, "скоро").
Пожалуйста, обратите внимание, что эти две доски от ДРУГОЙ организации Arduino.
источник
После нескольких проб и ошибок в моем IoT-проекте я бы порекомендовал работать над ESP32 поверх ESP8266 (а также с Arduino Uno & Nano), за исключением случаев, когда вы хорошо знаете сферу своего проекта.
Преимущества ESP32 перед ESP8266:
Я работаю над проектом IoT и пытаюсь аутентифицировать устройство на GCP с помощью сертификата. Корневой сертификат GCP уже составляет около 120 КБ, поэтому он не вписывается в ESP8266. Есть альтернативы, но это усложняет ситуацию.
Ну, в какой-то момент вашего IoT-проекта вы можете захотеть, чтобы Bluetooth подключил ваше устройство к вашему телефону ...
С ESP8266 вы, безусловно, можете использовать камеру, но это потребует больше кодирования и проводки и потенциально худшей производительности.
И, наконец, я попытался соединить чип Wi-Fi с Arduino Uno & Nano, но столкнулся с некоторыми ошибками и проблемами с командами AT. Таким образом, теперь я вполне доволен ESP32, потому что все интегрировано.
источник