Как я могу подключиться к Arduino через WiFi?


27

Я работаю над созданием солнечной метеорологической станции на базе Arduino. Метеостанция состоит из датчика температуры и фоторезистора, и я планирую добавить анемометр в будущем. Я хотел бы подключить метеостанцию ​​к моей беспроводной сети, чтобы я мог получать данные датчика с моего компьютера без использования проводов (я живу в прокате).

Какие есть варианты подключения Arduino к WiFi? Я посмотрел на сетевые экраны, WiFi-экраны и что-то под названием Xbee, но я не понимаю, для чего каждый из них.

У меня также есть беспроводной домашний маршрутизатор, который я мог бы использовать. Можно ли подключить Arduino Uno к маршрутизатору через Ethernet-порт маршрутизатора или через USB-порт, а затем получать данные и отправлять команды на Arduino по беспроводной сети через мою домашнюю сеть? Если так, как это будет достигнуто?

В настоящее время у меня есть голое Arduino Uno.


4
У вас есть щит Ethernet?
jfpoilpret

3
Вы должны уточнить свой вопрос: что значит «общаться с ним»? Загрузить эскизы? Отправить команды на эскиз? Получить данные из эскиза?
jfpoilpret

Я попытался добавить детали и контекст к вопросу. У меня нет никаких щитов в настоящее время.
jlbnjmn

Я не думаю, что какая-либо ревизия официального Uno имеет порт Ethernet. Я предполагаю, что у вас должен быть Arduino Ethernet (который похож) или, может быть, какой-то неофициальный клон?
Питер Блумфилд

Я отредактировал вопрос, чтобы указать порт Ethernet на беспроводном маршрутизаторе. Итак, вопрос: [Arduino +? + (Беспроводной маршрутизатор ИЛИ?) = Arduino отправляет данные по моей беспроводной сети].
jlbnjmn

Ответы:


24

У вас есть несколько вариантов подключения вашего 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 к нему и использовать его в качестве подключения к сети.


1
Что касается связи "RF", вы также можете использовать популярные модули nRF24L01 +. Для этого есть несколько хороших библиотек. Проблема с ВЧ-связью заключается в том, что вам нужно, чтобы другой Arduino или Raspberry Pi и т. Д. Работал как «приемник», который затем подключается к вашему компьютеру, где вы хотите хранить / просматривать / анализировать данные. Для Wi-Fi теперь также доступны щиты CC3000 adafruit.com/products/1534
Mike WP

Исследуя предоставленные вами варианты, я наткнулся на Юнь. Будет ли это более простой вариант? Спасибо.
jlbnjmn

Может быть. никогда не использовал это сам. Экраны не сложны для взаимодействия и могут быть дешевле.
Сахлин

4

Женитесь на 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 тоже ....


4

ESP8266 - это дешевый 5-долларовый модуль Wi-Fi с поддержкой UART, SPI. Это можно легко интегрировать с Arduino либо через стандартную прошивку с использованием AT-команд, либо путем написания специальной прошивки с использованием предоставленного SDK и доступного GIPO. Для получения дополнительной ссылки http://www.esp8266.com/


3

Я работаю с xbee над Arduino и Raspberry Pi уже несколько месяцев. Хотя у него есть свои проблемы и причуды, это отличный инструмент в цепочке коммуникаций. Он не идеален, но с точки зрения сетки, для меня он достигает большего, чем мой Wi-Fi, и даже может быть более надежным (мой Raspberry Pi с Wi-Fi иногда выпадает, однако подключенный xbee продолжает работать в фоновом режиме.

В частности, в моем случае это позволяет установить последовательное соединение между моими устройствами (состоящими из нескольких arduinos, Raspberry Pi (координатор) и моего Mac (используется в основном для мониторинга, а также иногда для ввода последовательных данных)). В этом случае это идеально. Он не разрешает доступ в Интернет или доступ за пределами платформы xbee, но это мне подходит, поскольку реализация так же проста, как Serial.print и Serial.read, без затрат Ethernet.


2

Я использую Spark Core - очень простую в использовании платформу программирования Arduino. Эта платформа была построена на том принципе, что WiFi должен быть простым в использовании и дешевым. Можно даже запрограммировать Spark Core из любого места и в любое время.


Как это соотносится с XBee с точки зрения: цены (включая соединительные элементы Arduino, такие как щит), диапазона расстояний, программирования (на Arduino)?
jfpoilpret

2

Вы можете попробовать Arduino Yun, он похож на Uno, но у него есть WiFi прямо на плате.

В «Руководстве по Arduino Yún» есть раздел «Настройка встроенного Wi-Fi» , в котором описывается, как настроить WiFi.


1
Привет, не могли бы вы отредактировать свой ответ с дополнительной информацией. ОП уже знает о Yun, поэтому ваш ответ будет более полезным, если, например, он поможет людям понять, как использовать на нем WiFi-чип.
сахлин

1

То, что вы хотите, довольно легко сделать, и код уже существует. Но, как я понимаю, вы не будете подключать датчик 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 - дорогой.



0

Проверьте модуль Wi-Fi ESP8266, это дешевый модуль, которым можно управлять с помощью любого микроконтроллера с помощью AT-команд, также это Soc, так что вы можете использовать его автономно.


0

Использование набора команд ESP8266 AT сложно и подвержено ошибкам. Предлагаем вам перепрошить ESP8266-01 как мост UART-WiFi, как описано здесь ESP8266 Wifi Add для Arduino Made Simple

Обратите внимание, что настройка также позволяет переконфигурировать настройки Wi-Fi без перепрограммирования ESP8266-01


0

Использование экрана 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.


0

После нескольких проб и ошибок в моем IoT-проекте я бы порекомендовал работать над ESP32 поверх ESP8266 (а также с Arduino Uno & Nano), за исключением случаев, когда вы хорошо знаете сферу своего проекта.

Преимущества ESP32 перед ESP8266:

  1. Большая оперативная память, ESP8266: инструкция 32 КБ и пользовательские данные 80 КБ, ESP32: 520 КБ

Я работаю над проектом IoT и пытаюсь аутентифицировать устройство на GCP с помощью сертификата. Корневой сертификат GCP уже составляет около 120 КБ, поэтому он не вписывается в ESP8266. Есть альтернативы, но это усложняет ситуацию.

  1. ESP32 имеет Bluetooth и ESP8266 нет

Ну, в какой-то момент вашего IoT-проекта вы можете захотеть, чтобы Bluetooth подключил ваше устройство к вашему телефону ...

  1. Некоторые версии ESP32 имеют встроенные порты для камеры (поиск ESP32 CAM)

С ESP8266 вы, безусловно, можете использовать камеру, но это потребует больше кодирования и проводки и потенциально худшей производительности.

И, наконец, я попытался соединить чип Wi-Fi с Arduino Uno & Nano, но столкнулся с некоторыми ошибками и проблемами с командами AT. Таким образом, теперь я вполне доволен ESP32, потому что все интегрировано.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.