Модуль Wi-Fi реле на 1 канал esp8266 – обзор и подключение
В этой статье мы расскажем, как использовать модуль ESP8266 с реле для управления бытовой техникой.
Это модуль одноканального реле с интерфейсом WiFi выполнен на основе микросхемы ESP8266. Он контролирует работу реле посредством приложения. Идеальный инструмент, чтобы управлять всей бытовой техникой в вашем доме с помощью телефона, где бы вы ни находились.
- Встроенный модуль WiFi с микросхемой ESP8266, работающий в режиме точки доступа, можно подключить к 5‑и клиентам одновременно.
- У модуля реле с WiFi два режима работы:
- 1. Смартфон напрямую подключается к модулю WiFi;
- 2. Смартфон и модуль WiFi подключены к одному маршрутизатору.
- Дальность передачи: На открытом пространстве максимальная дальность передачи составляет 400 м в случае, когда смартфон напрямую подключается к модулю WiFi. Если модуль WiFi и смартфон подключены к одному маршрутизатору, дальность передачи зависит от силы сигнала маршрутизатора.
- Встроенное реле на 1 канал с входным напряжением 5 В для выходных цепей 10, А, 250 В переменного тока и 30 В постоянного тока, выдерживает до 100 000 срабатываний в непрерывном режиме, обладает малым временем срабатывания.
Блок-схема модуля представлена на чертеже ниже:
1. WiFi модуль ESP8266 имеет три режима работы:
- STA (клиент)
- AP (точка доступа)
- STA + AP (точка доступа + клиент)
Режим WiFi модуля ESP8266 выбирается исходя из выбранного режима работы модуля реле.
2. Модуль настраивается посредством отладочной программы, предназначенной для работы через последовательный порт, команды на последовательный порт отправляются через конвертер USB в TTL. Для модулей ESP-01 существует специальный программатор – USB программатор Ch440G для ESP-01. Контакты TX, RX и GND конвертера подключаются к выводам RX, TX и GND модуля реле, а выводы IN+ и IN- — к источнику питания постоянного тока 3.
3В.3. Скорость передачи данных WiFi модуля может быть 115.200 или 9600 бод. Чтобы изменить скорость, вы можете использовать АТ‑команды, например: AT+CIOBAUD=115200. В общих случаях мы рекомендуем использовать скорость 115.200, но вам будет необходимо изменить скорость на 9600, если вы используете смартфон для управления реле (так как скорость встроенного в модуль микроконтроллера STC15F104W составляет 9600 бод).
Запустите отладочную программу USR-TCP232-Test-V1.3 на ПК и отправьте следующие AT команды, одну за другой:
- AT+CWMODE=2 — выбираем режим точки доступа AP;
- AT+RST — перезапускаем модуль;
- AT+CIPMUX=1 — устанавливаем несколько соединений;
- AT+CIFSR — смотрим адрес IP для режима AP, примерно такой: APIP, “192.168.4.1”;
- AT+CIOBAUD=9600 — устанавливаем скорость передачи последовательного порта на 9600 бод.
Теперь подключаемся к точке доступа, созданной WiFi модулем, посредством смартфона с ОС Android.
Установите приложение EasyTCP_20 (ссылка на Play Market) на смартфон с ОС Android и запустите его; нажмите кнопку «CONNECT» и введите адрес устройства (IP Address) и номер порта (Port).
Нажимайте на блоки функций и вводите имена и содержимое команд, отправляемых через последовательный порт. Например, командой “A00101A2” — можно задать открытие реле, а командой “A00100A1” — закрытие реле.
Все команды должны задаваться в шестнадцатеричном виде.
Теперь, нажимая на блоки функций, вы можете отправлять команды на последовательный порт и таким образом управлять расположенным на плате реле.
Запустите отладочную программу USR-TCP232-Test-V1. 3 на ПК, отправьте следующие команды одну за другой:
- AT+CWMODE=1 — выбираем режим клиента STA;
- AT+RST — перезапускаем модуль;
- AT+CWJAP=<ssid>,<password> — позволяем модулю WiFi подключиться к маршрутизатору, например: AT+CWJAP=«LCTECH»,«12345678»;
- AT+CIPMUX=1 — устанавливаем несколько соединений; Например:
AT+CIPSERVER=1,8080 – настраиваем сервер TCP, устанавливаем номер порта; - AT+CIFSR — смотрим адрес IP для режима STA, примерно такой: STAIP, “192.168.1.103”;
- AT+CIOBAUD=9600 — устанавливаем скорость передачи последовательного порта на 9600 бод.
Теперь подключитесь со смартфона к вашему маршрутизатору.
Установите приложение EasyTCP_20 на смартфон с ОС Android (ссылка на Play Market) и запустите его; нажмите кнопку «CONNECT», введите в поля адрес IP (Address) модуля и номер порта (Port).
Нажимайте на блоки функций и вводите имена и содержимое команд, отправляемых через последовательный порт . Например: A00101A2 — открытое реле, A00100A1 — закрытое реле. Команды должны быть написаны в шестнадцатеричном виде.
Теперь, нажимая на блоки функций, вы можете отправлять команды на последовательный порт, чтобы управлять реле.
- После перезапуска, модуль реле с WiFi необходимо настроить заново. Если ваша прошивка написана на Arduino IDE, то минимальный набор необходимых при запуске команд можно поместить в функцию setup()
- У модуля ESP8266 есть функция простоя; если смартфон не посылает команды на модуль WiFi в течение некоторого периода времени (по умолчанию — 180 с), то он переходит в режим ожидания и отключается от вашего смартфона. Для изменения этого периода вы можете отправить с ПК команду «AT + CIPSTO = ” («время» может быть от 0 до 7200 сек), например: AT + CIPSTO = 3600.
- Если модуль в ответ вместо «OK» отправляет команду, которую вы послали посредством программы USR-TCP232-Test-V1.3, то модуль необходимо настроить заново. Перед отправкой команд вы можете нажать кнопку «ВВОД» (ENTER).
- Если нет никакого ответа при работе через программу USR-TCP232-Test-V1.3, то посмотрите на скорость при обмене с модулем — возможно, она настроена неверно. Вы можете попробовать 115200 или 9600, однако если для управления реле вы используете смартфон, то скорость обязательно должна быть 9600 бод (скорость можно изменить, отправив команду
AT+CIOBAUD=9600), поскольку скорость передачи встроенного микроконтроллера STC15F104W составляет 9600 бод. - Если вы хотите использовать компьютер для управления реле напрямую (скорость передачи — 9600 бод), то можно сделать следующее: отсоедините модуль WiFi с микросхемой ESP8266; выводы TX, RX и GN от USB – TTL конвертера подключите к выводам TX, RX и GND модуля реле; выводы IN+ и IN- подключите к источнику питания постоянного тока 5В. Отправьте команды на последовательный порт (A00101A2 — открытое реле, A00100A1 — закрытое реле, команды должны быть в шестнадцатеричном виде) посредством отладочной программы, установленной на ПК, чтобы управлять реле.
- Ели реле не открывается или не закрывается, возможно, вам необходимо убрать резистор R4 и подключить вывод питания VCC от USB – TTL конвертера к 5V выводу модуля реле.
Статья подготовлена по материалам www.hackster.io
ESP8266. Часть 1. Последовательный WIFIмодуль для Arduino
ЧАСТЬ 1ПОСЛЕДОВАТЕЛЬНЫЙ WIFI МОДУЛЬ ДЛЯ ARDUINOЭто первая из трех инструкций, которая поможет вам использовать ESP8266 с Arduino. В этом первом руководстве вы узнаете, как установить и протестировать работу модуля, подсоединенного к Arduino.
ESP8266 – это, наверное, самый универсальный модуль с последовательным интерфейсом для соединения различных физических предметов («вещей») с интернетом, поэтому он так популярен в сфере «Интернета вещей». Это законченный модуль, который состоит из микропроцессора, доступного для программирования напрямую через ArduinoIDE (C++), или в любой другой среде программирования (обычно используется язык высокого уровня “LUA”).
Для управления «вещами» не нужна сама плата Arduino в качестве интерфейса, потому что ESP8266 уже имеет 2 GPIO (Интерфейс ввода/вывода общего назначения). Множество дополнительной важной информации вы сможете найти на форуме, посвященном ESP8266.
Ссылка на форум по ESP8266:
Характеристики:
- 802.11 b / g / n
- Wi-FiDirect (P2P), программная точка доступа soft-AP
- Интегрированный стек протоколов TCP / IP
- Интегрированный TR свитч, балун, LNA, усилитель мощности и согласующая сеть (matchingnetwork)
- Интегрированные PLL, регуляторы, DCXO и системы управления мощностью
- + 19.5 дБ выходная мощность в режиме 802.11b
- Отключение при превышении утечки тока <10uA
- 1MB флэш память
- Интегрированный 32-битный центральный процессор с низким энергопотреблением, может быть использован как процессор приложений
- SDIO 1.1 / 2.0, SPI, UART STBC, 1 × 1 MIMO, MIMO 2 × 1
- A-MPDU и A-MSDU агрегирование, 0.4 мс пустой промежуток
- Wakeup пакеты и передача <2мс
- Потребление энергии в режиме ожидания <1.0мВт (DTIM3)
Вышеуказанные данные включают в себя много технической информации, которая вам не понадобится в большинстве ваших проектов, однако лучше, чтобы она была под рукой, на всякий случай.
До сих пор я изучал только ESP8266 в соединении с Arduino, заменяя необходимость в более дорогих WiFi шилдах. (Шилд – это печатная плата, которую вы устанавливаете на Arduino для увеличения его функциональности).
Шаг 1: ESP 8266 характеристики и пиныИтак, сначала необходимо протестировать модуль AT командами, которые являются стандартными. Как правило, модуль поставляется от производителя с установленными настройками скорости передачи данных в 115200 бодов. Иногда это создает неудобства, например, в случае с ArduinoUNO, только однажды HWSerial “0” (пины 0 и 1) мог работать на такой скорости. Проблема в том, что программа SerialMonitor для PC также использует этот последовательный порт. («PC» используется здесь как усредненный термин, надеюсь, мой Macне слышит меня 😉 Решение для ArduinoUNO нашлось в виде использования библиотеки “SoftwareSerial”, чтобы заставить два других универсальных пина (GPIO) работать в режиме последовательного порта (SW). Это хорошо работает тогда, когда скорость передачи данных не превышает 19200 бодов. Отлично! Но что делать, если ESP8266 изначально запрограммирован на работу с более высокой скоростью? Решением может быть перепрограммирование. Но не все прошивки, которые загружены в устройство на заводе, поддерживают перепрограммирование модуля. Таким образом, сначала нужно обновить прошивку. В некоторых постах в интернете описывается, как это сделать. Я не буду загружать вас перепрошивкой, скоростью и т.д., для упрощения процесса будет использована плата ArduinoMEGA, на которой есть 4 аппаратных последовательных порта (4 HWserialports) .
Порты на плате MEGA:
- TX0 / RX0 ==> Pin 1, 0 (то же, что UNO) ==> “Serial 0”
- TX1 / RX1 ==> Pin 18, 19 ==> “Serial1”
- TX2 / RX2 ==> Pin 16, 17 ==> “Serial2”
- TX3 / RX3 ==> Pin 14, 15 ==> “Serial3”
Для моих тестов я буду использовать последовательный порт 2 (Serial 2) (пины 16 и 17).
Давайте подробнее рассмотрим модуль:
- Питание: 3.3 В. Это важно, т.к. модуль не работает с напряжением в 5 В, и может сгореть. Входные пины также не поддерживают напряжение 5 В, поэтому при получении сигнала Arduino важно использовать конвертер уровня напряжения (как раньше их называли «делитель напряжения»). Другая важная вещь – это иметь независимый источник питания на 3.3 В, т.к. не всегда Arduino выдает требуемый ток для корректной работы модуля.
- Модуль имеет 6 пинов:
- TX: он будет подсоединен к RX2 на плате MEGA (может быть соединен напрямую, т.к. MEGA интерпретирует 3.3 В как HIGH)
- RX : TX2 подсоединен к MEGA через конвертер уровня напряжения
- VCC : 3.3В
- GND : Земля. Важно помнить, что необходимо подсоединять GND платы ESP8266 к GND на плате MEGA.
- CH_PD (*) : подсоединен к пину 4 последовательного порта на плате MEGA, сброс для начала обмена данными
- RST : Сброс, обычно подсоединяется к VCC
- GPIO0 : свободно (Интерфейс ввода/вывода общего назначения)
- GPIO2 : свободно (Интерфейс ввода/вывода общего назначения)
(*)На некоторых сайтах в интернете показано, что этот пин напрямую подсоединен к VCC. В моем случае без «сброса» по последовательному порту SW (устанавливает пин в значение LOW) ESP8266 не работает.
Продаются адаптеры для включения модуля в макетную плату, т.к. физически расстояние между пинами ESP8266 не совпадает с отверстиями на макетной плате. Для соединения я использовал обычный кабель «мама/папа» типа FTDI (см. ниже). Цвета совпадают с диаграммой соединений.
Шаг 2: Цепь, которая будет использована в тестахНичего особенного в диаграмме аппаратных последовательных соединений (HW). Красная пластина – это независимый источник питания 3.3 В, смонтированный на макетной плате. Обратите внимание, что желтый провод соединен с TX2 на Arduino, проходит через делитель напряжения (1K и 2.2K резисторы), таким образом TX2 – это HIGH (5В), ESP8266 получает примерно 3. 3В (для него это HIGH).
ШАГ 3: ТЕСТИРОВАНИЕ ESP8266 С ПОМОЩЬЮ AT-КОМАНД
Идея этого скетча состоит в тестировании и настройке модуля, который позволяет вводить AT-команды и видеть вывод в программе SerialMonitor.
В части «комментарии» перечислены основные AT-команды. В начале загрузки программы после имени модуля вы увидите много ненужного для нас текста в окне SerialMonitor, затем слово «ready». С этого момента вы можете вводить AT-команды.
Начните с простого «АТ», модуль должен ответить «ОК», протестируйте другие команды.
Картинка показывает, что должно появляться в окне SerialMonitor после того, как вы ввели различные команды.
- AT для тестовых примеров:
- AT =====> ESP8266 возвращает OK
- AT + RST =====> ESP8266 рестарт и возврат OK
- AT + GMR =====> ESP8266 возвращает версию AT; SDK version; id; OK
- AT + CWMODE? => ESP8266 возвращает режим работы
- AT + CWLAP ===> ESP8266 возвращает обнаруженные точки доступа
- AT + CIFSR ===> ESP8266 возвращает установленный IP
- AT + CIPMUX = 1 ==> Устанавливает плате ESP8266 режим работы с несколькими соединениями
- AT + CIOBAUD = 9600 ==> Изменить скорость обмена данными ==> ESP8266 возвращает OK
- AT + CIPSERVER = 1.80 ==> Устанавливает режим SERVER порт: 4040
- AT + CWMODE = 3 ==> Работа ESP8266 в комбинированном режиме (точка доступа (2) и сервер (1))
- AT + CWSAP = “Acc_Point_name”, “password”, wifi_Channel, cript # ==> j.
- AT + CWSAP = “ESP_8266_AP,” 1234 “, 3.0
- AT + CWJAP = “SSID”, “password” ==> Подключается к сети WiFi
- * = AT + CWJAP “ROVAI TIMECAP”, “-1 mjr747”
****************************************************************** /
Ниже представлены файлы с инструкциями для проведения тестов: скетч Arduino, и два PDF документа (один с полным списком команд и другой с более полным руководством по настройке модуля для разных режимов работы: в качестве веб сервера, точки доступа и т. д.)
Download
Download
Download
Шаг 4: Заключение
В следующих двух инструкциях я расскажу, как использовать Arduino/ESP8266 в качестве веб-сервера и как включать/отключать светодиоды (или любое другое устройство) удаленно, используя интернет.
Всего доброго!
Для дополнительной информации посетите мой блог:
MJRoBot.org
Автомобиль с видеокамерой. Управление через WiFi
Это небольшой рассказ о том, как построить робота в виде игрушечного автомобильчика с видео камерой, которым можно управлять с помощью компьютера или смартфона на ОС Android через WiFi. Устройство не имеет никакой автономности в смысле своего поведения (типа распознавания чего-либо), управление – только от человека, поэтому «робот» – это не совсем подходящее слово в названии.
Началось все с того, что идея управления игрушечными устройствами от первого лица (т.н. FPV) мне показалась чрезвычайно интересной с точки зрения собственно процесса. Ведь мы можем таким образом реализовать свое присутствие, не в виртуальном мире, а в реальном.
Проще и быстрее всего применить эту идею на игрушечных или модельных автомобилях. Текущие технологии должны давать такую возможность промышленности и предложить массу подобных вещей. Однако это предложение оказалось достаточно дорогим по сравнению тем что можно сделать самому.
Так как это мой первый проект, я ни программировать, ни даже паять нормально не умел, и я решил сначала поискать в интернете единомышленников и их варианты решения данной задачи.
Начав изучение вариантов, как можно осуществить эту идею, я нашел очень подробное описание подобного проекта здесь. A его автор с радостью помог мне разобраться в проблемах, возникших при создании робота.
Так я впервые и узнал что такое …duino. Так как это был уже готовый вариант микроконтроллера, где не нужно было паять обвязку к нему, я выбрал именно его. Также очень понравилось присутствие бутлоадера, позволяющего прошивать микроконтроллер без программаторов.
Для реализации данного проекта понадобится:
- Микроконтроллер Arduino (любой: nano, uno, mega)
- Аккумулятор 9,6вольт
- Китайская машинка на радиоуправлении
- Роутер dir320 (или любой другой поддерживающий OPEN-WRT прошивку)
- Вебкамера Logitech c310 или любая другая с UVC потоком
Крупноблочная схема реализации проекта на базе WiFi роутера
Программ пять: на PC, на Android, на роутере (сервер управления и видеопоток), и в микропроцессоре.
Схема работы: соединяем настольный компьютер (ноутбук, далее – PC) с роутером по WiFi. На роутере при его включении автоматически загружаются 2е программы:
1) сервер. Эта программа открывает сокет (соединение) на определенном порту и ждет, когда по этому порту с ней соединится клиент (любая программа, которая обратится в этот порт и также, особым образом скажет серверу, что она готова работать через открытый сокет). Далее, после установки соединения, все что придет от клиента, будет перенаправлено по определенному пути, для нас это COM-порт, на этом порту подключен микропроцессор. И наоборот, все что придет со стороны COM-порта, будет переслано клиенту.
2) программа обработки видео, захватывает его с usb камеры и шлет на определенный порт. Для его просмотра нужно всего лишь иметь соединение с роутером на этом порту.
После того, как между компьютером и роутером установлено WiFi-соединение, запускаем на PC программу для управления роботом (тот самый клиент), эта программа соединяется с программой-сервером на роутере. Эта же или другая программа транслирует видео с WiFi роутера.
Далее, пользователь может управлять автомобильчиком и нажимает, например, кнопку «вперед». Программа на PC, отсылает команду «вперед» прямо на роутер, на его IP, но на определенный порт. На роутере, эта команда поступает в программу-сервер, т.к. выслана она на его порт, и в рамках открытого для этого сокета. Программа-сервер, ничего не делая с этой командой, просто отправляет её в COM-порт. Таким образом, команда «вперед» оказывается в микропроцессоре, который в ответ на нее, дает сигнал «вперед» на один из своих выводов. К таким выводам процессора подсоединена схема управления двигателями, т.к. сам микропроцессор управлять ими не может в силу своей маломощности.
Управлять исполнительным устройством через роутер, без микропроцессора не получится, т.к. микропроцессор может формировать сигналы «1» (напряжение >2,5v) или «0» (меньше обозначенного) на любом из десятка-другого своих выводов. У роутера же выводов нет, есть только порты ввода/вывода, типа USB или COM (serial), в которых по 2-3 провода.
Теперь часть практическая. Заранее скажу, что несмотря на кажущиеся сложности, все на самом деле просто, если речь идет о простом копировании этого проекта – ведь все уже сделано и работает. Нужно просто выполнить в точности эту инструкцию.
Изначально микроконтроллером был freeduino maxserial у которого был com port, который был одним из немногих(как я тогда считал) для подключения к uart роутеру, для этого нужно было паять переходник с uarta на com чтобы соединить его с роутером. Его брать я не очень хотел, так как оригиналом есть все-таки Arduino, да и Freeduino в Украине нет.
Как я выяснил потом, все было это просто излишнее нагромождение схемы. Обойтись можно всего 1 проводком который будет идти от TX роутера(на рисунке) к RX (0 пин) микроконтроллера.
Непонятно почему но на фридуине оказалось для нормального подключения нужно tx на tx. Скорее всего просто неверно нанесено обозначение. (тут 0 пин tx) По этому лучше брать оригинальный Arduino.
Машинку я купил хорошую, хоть и китайскую
Машинка оказалась очень мощная, 5 кг на ровной поверхности тянула очень уверено. Также у нее в комплекте шел аккумулятор на 6 вольт. Что касается электроники, то в машинке уже есть готовый драйвер двигателей, на который можно подать управляющие слаботочные выходы с микроконтроллера (если бы с машинкой не повезло – драйвер моторов можно было взять тоже от arduino )
Роутер требует прошивку openwrt и список пакетов указанных на рисунке.
Роутер можно настроить как точку доступа, которой могут подключится любые устройства, имеющие WiFi. И, даже если не будет программного обеспечения для управлении машинкой – использовать ее как беспроводную камеру видеонаблюдения.
Камера с310 просто подключается к порту usb на роутер и не требует пайки, требует небольших настроек в роутере. Проект имеет 2 цепи питания, 1 цепь питается от 9,6 вольт – роутер и микроконтроллер, 2 цепь питается от 6 вольт – привод и рулевое машинки. Можно обойтись всего 1 источником питания в 9,6 вольт, но более емкостным. Роутер потребляет 2А, микроконтроллер потребляет почти незаметно, машинка 4А.
Программа микроконтроллера обрабатывает сообщения, которые приходят с последовательного порта роутера, обработка происходит побайтово через portb arduino, например если пришло в роутер 2, то, переведя в двоичную систему получаем 00000010 – что соответствует 2 пину на portb. Такое решение позволяет управлять одновременно несколькими пинами. Вот что получилось в итоге:
Приложение для андроид:
Приложение для пк:
Данный проект еще не закончен и продолжает совершенствоваться.
В планах использовать arduino mega, роутер mr3020, вебакамеру оставить как есть(возможно добавить сферическую линзу для большего обзора), задействовать шим для плавного и точного управления, использовать сервопривод для поворотов, добавить дальномер. Добавить видео на Android.
Собирайте arduino своими руками – полный каталог плат
Wi-Fi модуль ESP-07: описание, подключение, схема, характеристики
Содержание
Обзор беспроводного модуля ESP-07
ESP-07 (рисунок 1) – еще одна модификация платы на базе Wi-Fi модуля ESP8266EX. На модуле ESP-07 имеется микросхема памяти 25Q04 емкостью 512Кб. Оперативная память встроена в микросхему и предоставляет 80Кб статической памяти программ и 32Кб оперативной памяти инструкций.
Рисунок 1.
Для взаимодействия модуля с внешними устройствами используется 16 выводов с шагом 2 мм. Так как контакты расположены с шагом 2 мм, а не 2,54 как у штырьковых разъемов, применяемых в Arduino и макетных платах, поэтому удобно использовать адаптеры-переходники (рис. 2).
Рисунок 2.
Назначение контактов
RX и TX –последовательный порт;
GND – общий;
VCC – питание модуля 1.8 -3.6 В;
CH_PD –для управления питанием модуля;
Reset –перезагрузка;
GPIO – цифровые контакты ввода/вывода;
ADC0 – вывод аналого-цифрового преобразователя.
Рисунок 3.
Модуль оснащен встроенной керамической антенной, но по запросу может комплектоваться антенным разъемом для внешней антенны, что позволяет увеличить дальность Wi-Fi связи до нескольких сотен метров.
Общение с компьютером или микроконтроллером осуществляется через последовательный порт с помощью набора AT-команд. Кроме того, модуль можно использовать как самостоятельное устройство, загрузив свою прошивку.
Характеристики модуля ESP-07
WI-FI 802.11 b/g/n.
Режимы работы – STA (клиент), AP (точка доступа), STA+AP.
Напряжение питания 1,7-3,6 В.
Ток потребления макс. 200 мА;
Количество GPIO: 16.
Flash память 512 кБайт.
RAM : 80 кБайт данных + 32 кБайт инструкций
Области применения
Домашняя техника
Домашняя автоматика
Устройства Интернет вещей
Подключение модуля ESP-07 к плате Arduino
Для подключения модуля к компьютеру используется USB-UART переходник. Подключение согласно схеме на рис. 4.
Рисунок 4.
Arduino IDE для ESP8266
Если у Вас установлена версия Arduino IDE версии не ниже 1.6.5, вы можете программировать и загружать скетчи для плат ESP8266. Сначала необходимо доустановить программное обеспечение для ESP8266. В среде Arduino IDE выбираем пункт Файл → Настройки и вводим http://arduino.esp8266.com/stable/package_esp8266com_index.json в поле Additional Boards Manager URLs. Нажимаем OK (см. рис. 5).
Риcунок 5.
Далее в пункте меню Инструменты →Плата → BoardsManager, в списке находим ESP8266 и кликаем по кнопке Install (см. рис. 6, 7, 8).
Риcунок 6,7,8.
После загрузки и автоматической установки программного обеспечения, в пункте Инструменты → Плата появятся платы ESP8266 (см. рис. 9).
Риcунок 9.
Пример использования ESP-07
Рассмотрим пример подключения к модулю ESP-07 цифрового датчика влажности и температуры DHT11. Данные будем отправлять с сервис ThingSpeak и выводить на экран дисплея Nokia 5110.
Список деталей:
модуль ESP-07;
плата прототипирования;
датчик DHT11;
модуль дисплея Nokia 5110;
соединительные провода;
блок питания 3 – 3.6В.
Подключим датчик DHT11 и дисплей Nokia 5110 к модулю ESP-07. DHT11 – датчик относительной влажности и температуры, работающий по однопроводному интерфейсу. Схема подключения показана на рис. 10.
Рисунок 10.
Для отправки данных в сервис ThingSpeak, необходимо зарегистрироваться и получить ключ (privateKey).
При написании скетча будем использовать библиотеки:
Загрузим на плату Arduino скетч из листинга 1, подставив свои данные для WiFi точки доступа и ключа для вашего приложения в сервисе ThingSpeak.
Листинг 1
Заходим в сервисе ThingSpeak, где можем посмотреть графики показаний нашего датчика DHT11 (рисунок 11).
Рисунок 11.
Рисунок 12, 13, 14.
Часто задаваемые вопросы
1. Не загружается скетч на модуль ESP-07 из Arduino IDE- Проверьте правильность подключения модуля к переходнику USB-UART;
- Перед загрузкой скетча перегрузите питание модуля ESP-07.
- Проверьте правильность подключения дисплея Nokia 5110.
- Проверьте правильность подключения датчика DHT11 к модулю ESP-07.
- Проверьте подключение модуля ESP-07 к точке доступа WiFi;
- Проверьте подключение точки доступа к сети интернет;
- Проверьте правильность запроса к сервису ThingSpeak.
Arduino-совместимая плата WeMos D1 WiFi
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
int val = 1; // По умолчанию диод не горит
const char *ssid = “AmperMarket”; // Название сети WiFi
const char *password = “1234567890”; // Пароль для подключения
ESP8266WebServer server(80); // Создаем веб сервер на 80 порту
// Метод формирует стартовую страницу http://192.168.4.1
// Выводит в браузер текущее состояние диода и две кнопки
void handleRoot() {
String s = (val) ? “<h2>LED On</h2>” : “<h2>LED Off</h2>”;
s += “<h3><a href=”/led/on”>LED On</a> “;
s += “<a href=”/led/off”>LED Off</a></h3>”;
server.send(200, “text/html”, s);
}
// Метод включения диода
void ledOn() {
val = 1; // Включаем диод
digitalWrite(BUILTIN_LED, val);
// Перенаправление обратно на стартовую страницу
server.sendHeader(“Location”, String(“/”), true);
server.send ( 302, “text/plain”, “”);
}
// Метод выключения диода
void ledOff() {
val = 0; // Выключаем диод
digitalWrite(BUILTIN_LED, val);
// Перенаправление обратно на стартовую страницу
server.sendHeader(“Location”, String(“/”), true);
server.send ( 302, “text/plain”, “”);
}
// Функция настройки. Выполняется один раз при запуске
void setup() {
delay(1000); // Ждём секунду
WiFi.softAP(ssid, password); // Создаём точку WiFi
// Указываем по каким роутам какие методы запускать
server.on(“/”, handleRoot);
server.on(“/led/on”, ledOn);
server.on(“/led/off”, ledOff);
server.begin();
// Диод по умолчанию выключен
pinMode(BUILTIN_LED, OUTPUT);
digitalWrite(BUILTIN_LED, val);
}
// Основной цикл программы
void loop() {
// Ждём подключения
server.handleClient();
}
Программируем Ардуино “по воздуху” через ESP-link
У меня дома трудится масса устройств умного дома. Большая часть из них использует недорогие платы Arduino Pro Mini или микроконтроллеры Atmega328 с прошитым ардуиновским бутлоадером. Иногда, с приходом новых идей, требуется перепрограммирования всех этих устройств. Монтаж-демонтаж контроллера, встроенного в какую нибудь люстру то еще удовольствие. Скакать под потолком с ноутбуком тоже удовольствие ниже среднего. В последних сборках я устанавливаю микроконтроллеры на съемных панельках, что позволяет вынуть его, запрограммировать и вставить обратно.
Но как хотелось бы вдумчиво поотлаживать свои устройства прямо на месте. Думал для этих целей применить Serial Bluetooth адаптеры. Но недавно один хороший человек на форуме esp8266.ru с ником dao89 надоумил воспользоваться «народным! WiFi модулем ESP8266 и прошивкой ESP-link.
Возможности проекта ESP-link
- Прозрачный шлюз между Wi-Fi и последовательным портом для отладки и обмена данными
- Программирования микроконтроллеров AVR/Arduino модулей ESP8266, LPC800 и других с последовательным интерфейсом по «воздуху» через WiFi.
- Встроенные протокол STK500V1 для загрузки файла с прошивкой AVR через встроенный WEB-сервер.
- Отправка HTTP REST запросов через интернет
- MQTT клиент для связи микроконтроллера с сервисами
Установка ESP-link
По ссылке качаем последнюю версию ESP-link. Я выбрал стабильную версию 2.1.7. Архив прошивки содержит четыре бинарных файла boot_v1.4(b1).bin, blank.bin. user1.bin и user2.bin и два скрипта на языке Shell для прошивки через порт и через WiFi. Я программирую ESP8266 под Windows с использованием утилиты XTCOM (подробнее описано мной в этой статье).
Для модулей с объемом памяти 512Кбайт
- boot_v1.4\(b1\).bin загружаем по адресу 0x0000
- user1.bin — 0x1000
- blank.bin 0x7E000
Для модулей с объемом памяти 4Мбайт
- boot_v1.4\(b1\).bin загружаем по адресу 0x0000
- user1.bin — 0x1000
- blank.bin 0x3FE000
Файл user2.bin служит для прошивки ESP «по воздуху» и в данный момент не используется
Теперь можно перейти к настройке модуля. Подключение к нему стандартное. Пока модуль «не прописан» в WiFi сети он работает как открытая точка доступа с именем типа ESP_012ABC (на некоторых модулях ai-thinker-012ABC) . После подключения нужно зайти через браузер на http://192.168.4.1 на WEB-страницу модуля.
На этой странице можно настроить GPIO модуля для подключения к RESET микроконтроллера, а также подключения дополнительных светодиодов индикации. Есть выбор «предустановленных» конфигураций портов в зависимости от типа модуля и назначения.
На странице WiFi можно настроить подключение к беспроводной сети, а также настроить статический IP-шник модуля, что я и делаю, так как постоянно подключаться к ESP как к точке доступа мне не удобно.
Следующая в меню страничка — это консоль микроконтроллера, вернее его последовательного порта. Среди настроек, очистка окна и настройка скорости. Подключив RX/TX порта микроконтроллера к TX/RX ESP-шки и установив правильную скорость, сразу видим в реальном времени отладочную информацию, выдаваемую контроллером в этот порт. Настройка скорости — это очень важная функция, о которой расскажу позже.
Настройку MQTT и REST я пока пропускаю, так как моя цель не сбор информации, а удаленная отладка и прошивка микроконтроллера. Возможно об этом будет одна из моих следующих статей
Последняя страничка посвящается любителям копаться в системных журналах. Туда выводится отладочная информация по работе ESP-link
Ну вот, теперь у меня есть настроенный ESP-link. Я к нему подключил Arduino Pro Mini. Ножку DTR посадил на GPIO13 ESP-шки (настраивается на первом экране)
Настройка виртуального COM-порта в Windows
Теперь можно настраивать виртуальные COM-порт на компьютере. Для начала проверяю, что наш порт доступен по сети. Для этого захожу по TELNET-ом на 23-й или 2323 порт нашего ESP-link. (Так как TELNETа в Windows 7 нет, то использую для этого установленную у меня программу PUTTY. Данные, которые я видел в консоли через WEB-интерфейс вижу и в TELNET-клиенте.
Осталось настроить виртуальный COM-порт на моем компьютере и связать его с ESP-link. Для этого устанавливаю Tibbo Device Server Toolkit под Widows. Запускаю VSP-manager и настраиваю виртуальный порт
Все. Виртуальный COM10 связанный с моим ESP-link по 23 порту настроен.
Теперь, открывая его в среде Arduino IDE я могу работать с удаленным микроконтроллером через ESP-link. Контроль состояния виртуального порта можно посмотреть в мониторе, который TIBBO вывешивает в трее
Нюанс по скорости прошивки
Небольшой нюанс по скорости. Для прошивки нужно выставлять скорость в консоли ESP-link, прописанную в c:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt для конкретного типа контроллера. В моем файле Arduino Pro Mini это 115200, для того же контроллера на Atmega168 — 19200. Мой перешитый на OPTIBOOT контроллер — 57600. Для программирования мне потребовалось установить эту скорость в настройках «по умолчанию» виртуального COM-порта
Эту же скорость нужно установить в консоли микроконтроллера ESP-link
После этих манипуляций удаленный AVR контроллер программируется так же как и подключенный к локальному порту USB-TTL конвертера. Разве что немного медленнее и не каждый раз, если связь WiFi неустойчивая.
При переходе в режим отладки требуется переключить скорость консоли в нужную (какая установлена в Serial.begin()
Подводя итоги
Повозившись с настройками я получил метод удаленной отладки и программирования любых Ардуино-контроллеров и AVR-с загрузчиком по последовательному порту (и наверняка многих других МК). Более того, я получил удаленную консоль для любых последовательных интерфейсов, например, от различных GPS и GSM модулей. Теперь осталось собрать ESP-шку в какой нибудь корпус, запитать от аккумулятора (мало ли у меня где-то под потолком будут проблемы с питанием) и наделать разъемов для быстрого подключения к различным контроллерам.
К недостаткам данного метода можно отнести его достаточно сложную настройку, некоторую тормознутость при прошивке и при работе консоли, а так же необходимость установки скорости прошивки/отладки (что не требуется при работе в том же Arduino IDE по локальным портам).
В ближайшее время я планирую освоить прошивку ESP8266 через другую ESP8266 (для модулей с 512Кбайт флэша это вполне актуально) и подключение Ардуино к MQTT
со своего сайта.
Как у меня заработал WIFI для Arduino ESP8266 ESP-12E
Плата ESP8266 ESP-12 ESP-12E UART Wi-Fi устанавливается сверху на плату Arduino UNO R3 и позволяет получать доступ к управлению и состоянием Arduino из интернет. И я заставил этот слоеный пирог заработать.
Компоненты Arduino для работы покупал в магазине All Electronics Trading Company.
Все быстро пришло. Почти все из того что заказал в этом магазине было отличного качества.
Исключение составляла комбинированная плата с разными датчиками, светодиодами и кнопками s.click.aliexpress.com/e/ct9JuGza. Эта плата была какой-то ручной пайки, но полностью работала.
Платы, которые использовались при написании статьи:
ESP8266 ESP-12 ESP-12E UART Wifi Wireless Shield Development Board For Arduino Mega UNO R3 Module Mega 3. 3V 5V TTL Interface one
и
Arduino UNO R3 из состава набора Upgraded Advanced Version Starter Kit the RFID learn Suite Kit LCD 1602 for Arduino UNO R3.
Несмотря на то что нашел исчерпывающую инструкцию по запуску платы ESP8266 ESP-12E (назовем ее Инструкция №1), получилось не сразу.
Скачал по ссылке со страницы инструкции 1 FLASH_DOWNLOAD_TOOLS_v2.4_150924 и прошивку Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.
Закачал пустой скетч в Arduino U3.
void setup () {
// поместите здесь свой установочный код, чтобы запустить его один раз:
}
void loop () {
// поместите ваш основной код здесь для повторного запуска:
}
Действуя по инструкции 1 я ничего не достиг. Все комбинации перепробовал.
Раньше где-то слышал, что процедура прошивки требует намного большей мощности, чем штатная работа, и мощности питания от Arduino не всегда хватает.
На момент прошивки нужен отдельный источник питания. Заподозрил что у меня именно эта ситуация.
Помогла Инструкция №2 по подключению ESP8266 ESP-12E к UNO.
Esp8266 питается от 3.3V, а Uno использует 5V. В инструкции 1 написано, что 5V не трогаем. Автор инструкции 2 подключает на свой страх и риск (о чем говорит) плату Esp8266 к 5V выходу UNO R3. Я тоже так решил сделать, подключив все вот так.
Тут дело сдвинулось с мертвой точки, почти сразу же опять застопорившись.
Плата синхронизировалась, но как-то не до конца.
Содержимое окна FLASH_DOWNLOAD_TOOLS_v2.4_150924 было почти такое же, как в инструкции 1:
но у меня поле MAC adress заполнилось, а вот DETECTED IINFO оставалось пустым.
В логе содержалась фраза “error read crystal“. Подумал было что все-таки сжег плату, подав напряжение 5V на свой страх и риск.
Но нашел подобную проблему в ветке форума ERROR FLASHING FIRMWARE. Проблему решили, записав в Arduino U3 пустой скетч.
Да я же делал это в самом начале!
Снова записал пустой скетч и на этом этапе все заработало. А именно – содержимое окна FLASH_DOWNLOAD_TOOLS_v2.4_150924 стало таким же, как в инструкции 1.
И прошивка залилась в плату ESP8266 ESP-12 ESP-12E UART Wi-Fi.
Может, когда на первом этапе ничего не получалось, что-то залил в Arduino R3?
Начал дальше следовать инструкции 1, поместив плату ESP8266 на Arduino UNO R3 – и опять ничего не ладилось. Что бы не делал с переключателями Р1, Р2 – не проходили команды.
Снова обратился к инструкции 2.
Вернул подключение ESP8266 к UNO через Debug Port, но уже с использованием 3.3V – flash загрузчик уже не надо было использовать и решил не испытывать плату на прочность.
И отправил при таком подключении команду «AT+UART_DEF=9600,8,1,0,0». Вернуло ERROR.
Тут оказалось, что внимательно надо следить за регистрами и за отсутствием пробелов. Команды копировал с сайтов, а там были пробелы и поэтому возвращало ERROR.
Также нужно следить за регистрами. Команда “AT” принимается как в верхнем, так и в нижнем регистре. Остальные команды только в верхнем.
Решить эти проблемы помогла ветка https://esp8266.ru/forum/threads/error-oshibka-at-komand.126/.
Дальше действовал по инструкции 1.
Использовал немного модифицированную библиотеку WiFIESP и код Web-сервера со страницы инструкции 1.
Можно использовать и оригинальную библиотеку WiFIESP.
Небольшой трудностью на этом этапе было привязать статичный IP адрес – пришлось выяснять пароль от модема ZyXel Keenetic 4G II.
И все заработало.
Теперь можно было с Web-страницы при помощи кнопки управлять светодиодом, подключенным к Arduino UNO R3, и видеть его состояние.
Материалы со страницы “Инструкция 1”.
Почему бы не использовать совмещенную плату UNO+ESP8266?
Есть в природе плата, аналогичная вроде-бы двум описываемым выше.
UNO + WiFi R3 ATmega328P + ESP8266 (32 Мб памяти), USB-TTL Ch440G. Совместимость Uno, NodeMCU, WeMos ESP8266.
Продается по цене 360р:
http://s.click.aliexpress.com/e/bCHsJmh6
http://s.click.aliexpress.com/e/pq9qvHm
Получается дешевле на 100р, чем описываемые выше в паре.
UPD
Заказал и протестировал совмещенную плату UNO+WiFi.
С ней оказалось все немного по другому.
Еще записи по теме
Control Arduino с WiFi – Arduino Project Hub
Подпишитесь на наших друзей channsubel
Шаг 1: Загрузите приложение Blynk из iOS или Google play После входа в приложение через новую учетную запись или через свою учетную запись Facebook вы увидите
3. Нажмите New project to Create a New Project и выберите свое устройство, тип подключения и нажмите Create .
Это отправит Auth Token на ваш зарегистрированный адрес электронной почты.Это понадобится вам для подключения приложения к устройству.
Это отправит Auth Token на ваш зарегистрированный адрес электронной почты. Это понадобится вам для подключения приложения к устройству.
Код авторизации для созданного проекта 4. Когда все будет готово, добавьте виджеты из окна виджетов, чтобы начать создание своего проекта. По мнению команды, Blynk работает на энергии, обозначенной батареей. Для новых учетных записей вы получаете 2000 очков энергии, а когда у вас заканчивается энергия, вы можете купить больше.
Код авторизации для созданного проекта
4.Когда все будет готово, добавьте виджетов из окна виджетов, чтобы начать создание своего проекта.
подключается аккумулятором. Для новых учетных записей вы получаете 2000 очков энергии , а когда у вас заканчивается энергия, вы можете купить больше.
. Теперь перейдите на сайт примеров Blynk и сделайте свой выбор в соответствии с тем, что вы выбрали в приложении, для генерации кода и загрузки на свое устройство. Добавьте свой токен аутентификации, чтобы завершить код. Step 2
- Библиотеки Blynk должны быть установлены вручную.Загрузите последний файл release.zip с Github.
- Распакуйте этот файл и скопируйте все содержимое в папку Libraries в Arduino IDE.
- Устройствам необходимо связаться с Blynk Cloud для выполнения инструкций.
- Создайте новый эскиз и вставьте пример кода для записи в устройство. Убедитесь, что устройство и его тип подключения выбран правильно.
Проверьте вашу плату, соединение и COM-порт.
4. В нашем примере с использованием USB в качестве типа подключения вам необходимо убедиться, что устройство может подключиться к Blynk Cloud, запустив серверный скрипт.
5. Для пользователей Windows вы можете запустить blynk-ser.bat с правильным COM-портом в соответствии с приведенной здесь инструкцией.
blynk-ser running
6. Когда сценарий готов, вы можете запустить проект, щелкнув значок воспроизведения.
7. Теперь вы увидите сообщение о том, что проект подключен и ваше устройство готово. Когда проект запущен, метка переключателя меняется на OFF. Нажмите кнопку, чтобы увидеть, как светодиодный индикатор загорается и выключается каждый раз, когда вы меняете свое состояние.
Поздравляем с завершением вашего первого проекта. Это самый простой проект, который я мог придумать, чтобы побудить новичков начать использовать с тем минимумом, который у них есть – Arduino + Blynk. Желаю получить ваши комментарии, чтобы писать больше на такие темы.
Светодиодный индикатор, управляемый WiFi с использованием ESP8266 и Arduino
В этом проекте модуля Wi-Fi ESP8266 мы узнаем о светодиодном индикаторе, управляемом Wi-Fi, с использованием ESP8266 и Arduino. Я покажу вам, как управлять светодиодом, подключенным к выводу цифрового ввода-вывода Arduino по сети Wi-Fi, с помощью модуля Wi-Fi ESP8266.
Обзор
Модуль Wi-Fi ESP8266 – интересное дополнение для сообщества производителей и любителей, поскольку он позволяет нам интегрировать Wi-Fi и Интернет в наши проекты DIY.
IoT или Интернет вещей – одна из таких областей, которая может быть реализована с использованием различных датчиков, подключенных к микроконтроллеру, таких как Arduino и WiFi-модуль ESP8266, для доступа к данным датчиков из любой точки мира.
Прежде чем думать о крупных проектах IoT, давайте начнем с изучения WiFi-модуля ESP8266 и реализуем небольшой, но полезный проект под названием WiFi Controlled LED с использованием ESP8266 и Arduino.
Я уже рассказывал вам о модуле WiFi ESP8266 в моем НАЧАЛО РАБОТЫ С ESP8266 И ARDUINO Project. Сначала обратитесь к этому проекту, чтобы узнать об основной информации о модуле ESP8266 WiFi, его схеме контактов, конфигурации контактов и о том, как взаимодействовать ESP8266 с Arduino.
ВАЖНОЕ ПРИМЕЧАНИЕ:
- В моем втором проекте по WiFi-модулю ESP8266 я показал вам , как прошить микропрограмму AT-команды на ПЗУ WiFi-модуля ESP8266.
- Очень важно, чтобы вы сначала реализовали этот проект, то есть убедитесь, что на вашем WiFi-модуле ESP8266 установлена микропрограмма AT.
- Если вы запрограммировали свой WiFi-модуль ESP8266 с помощью другой программы (например, Blink), вам необходимо перепрограммировать прошивку. Если в вашем модуле ESP уже установлена прошивка AT-команд, оставьте все как есть.
Концепция WiFi Controlled LED с использованием ESP8266 и Arduino
Прежде чем вдаваться в подробности проекта, такие как принципиальная схема, компоненты, соединения и код, позвольте мне познакомить вас с концепцией светодиода с контролем Wi-Fi с использованием ESP8266 и Arduino.
Идея проекта очень проста. Подключите светодиод к плате Arduino. Этот светодиод должен быть подключен через Wi-Fi, то есть в локальной сети через смартфон или ноутбук.
Для этого используйте модуль Wi-Fi ESP8266 и подключите его к Arduino через последовательную связь. Arduino даст команду модулю ESP8266 подключиться к сети Wi-Fi и получить данные от клиента (HTML-страница).
На основе информации, отправленной клиентом (с помощью веб-браузера), Arduino либо включит, либо выключит светодиод.Вот и все.
Принципиальная схемаПринципиальная схема светодиода, управляемого WiFi, использующего ESP8266 и проект Arduino, показана I на изображении ниже.
Необходимые компоненты
- Arduino UNO [Купить]
- ESP8266 WiFi-модуль
- светодиод
- Резистор 330 Ом (1/4 Вт)
- Резистор 1 кОм (1/4 Вт)
- Резистор 2,2 кОм (1/4 Вт)
- Кнопка
- Соединительные провода
- Макетная мини-плата
Схемотехника
Я использовал программную последовательную функцию Arduino и сделал его цифровые контакты 2 и 3 как RX и TX.Эти контакты должны быть подключены к контактам TX и RX WiFi-модуля ESP8266.
ПРИМЕЧАНИЕ: Я использовал преобразователь уровня, состоящий из резистора 1 кОм и резистора 2,2 кОм перед подключением вывода TX Arduino (вывод 3) к выводу RX ESP8266.
Светодиод подключен к выводу 11 цифрового ввода / вывода Arduino. (Это светодиод, которым мы будем управлять через Wi-Fi).
Что касается остальных соединений, относящихся к ESP8266, то выводы VCC и CH_PD подключены к 3.3V Arduino и GND подключены к контакту GND Arduino. Кнопка подключена между RESET ESP8266 и GND.
Оба вывода GPIO ESP8266, то есть GPIO0 и GPIO2, оставлены открытыми, поскольку мы не будем использовать эти выводы в этом проекте.
Код
Ниже приведен код, который необходимо загрузить в Arduino. Он настроит WiFi в модуле ESP8266, а также проверит данные со страницы HTML (будет обсуждено позже).
HTML-код для отправки данных на ESP8266
Чтобы создать интерфейс для проекта, я создал простую веб-страницу на основе HTML.HTML-код этой веб-страницы приведен ниже.
Загрузите этот HTML-код (сохраните его как файл .html).
Эта веб-страница HTML использует библиотеку JavaScript «jQuery.js». Загрузите эту библиотеку с здесь и поместите ее в ту же папку, что и файл .html.
Итак, папка вашей веб-страницы состоит из двух файлов: одного файла «webpage.html» и файла «jQuery.js». Откройте HTML-файл с помощью любого веб-браузера. Интерфейс выглядит так.
Работа светодиода, управляемого WiFi, с использованием ESP8266 и Arduino Project
Загрузите указанный выше код Arduino на плату Arduino после выполнения всех необходимых подключений.После загрузки кода откройте Serial Monitor Arduino. Вы можете видеть, как выполняется настройка WiFi-модуля ESP8266.
Некоторая информация на изображении выше выглядит мусором, но я уверяю, что передаются правильные данные. Если вы получили чистый ответ, вы можете найти IP-адрес модуля ESP8266 в выделенном месте на изображении выше.
Поскольку я не смог найти IP-адрес в Serial Monitor, мне пришлось искать его с помощью другого инструмента под названием «Advanced IP Scanner».
Теперь откройте сохраненную ранее веб-страницу и введите этот IP-адрес в соответствующее поле IP-адреса. После ввода IP-адреса вы можете нажать кнопку на странице, чтобы включить и выключить светодиод.
Заключение
Здесь разработан простой проект под названием WiFi Controlled LED с использованием ESP8266 и Arduino, в котором светодиод, подключенный к Arduino, управляется через WiFi (в той же сети).
Любое устройство, подключенное к той же сети Wi-Fi, может управлять светодиодом с помощью простой веб-страницы в формате HTML.
Следующим шагом или расширенной версией этого проекта будет управление светодиодом через Интернет, то есть из любой точки мира (включая перенаправление портов).
Беспроводные проекты и экраны Arduino
Вам поможет следующий справочник каналов:
- Определите наилучшие экраны для вашего беспроводного проекта Arduino (WiFi, Bluetooth, NFC или GSM Cellular).
- Сравните совместимость вашего адаптера и его диапазона с конкурентами.
- Сравните цены и ищите самые дешевые и популярные варианты на рынке.
Внизу страницы также находится список руководств и проектов для справки.
Arduino Yún : 69 $
Описание : «Arduino Yún – это комбинация классического Arduino Leonardo (на базе процессора Atmega32U4) с системой Wifi-на-чипе под управлением Linino (MIPS GNU / Linux на базе OpenWRT). Он основан на микроконтроллере ATMega32u4 и Atheros AR9331, системе на микросхеме, работающей под управлением Linino, специализированной версии OpenWRT, наиболее часто используемого дистрибутива Linux для встраиваемых устройств ».
Щиты WiFi:
Официальный Wi-Fi Shield: 84,95 долларов США Описание : «Arduino WiFi Shield позволяет плате Arduino подключаться к Интернету с использованием спецификации беспроводной связи 802.11 (WiFi). Он основан на беспроводной локальной сети HDG104 802.11b / g Система в комплекте. Atmega 32UC3 предоставляет сетевой (IP) стек, поддерживающий как TCP, так и UDP. Используйте библиотеку WiFI для написания эскизов, которые подключаются к Интернету с помощью экрана.Экран WiFI подключается к плате Arduino с помощью длинных проводов, которые проходят через экран. Это сохраняет расположение штифтов в неизменном виде и позволяет ставить еще один экран сверху ». | |
Adafruit CC3000 WiFi Shield $ 39,95 Описание: “CC3000 поражает оптимальным выбором удобства использования, цены и возможностей. Он использует SPI для связи (не UART!), Поэтому вы можете передавать данные так быстро, как хотите, или так медленно, как вы хотите.Он имеет надлежащую систему прерываний с выводом IRQ, поэтому вы можете иметь асинхронные соединения.Он поддерживает 802.11b / g, безопасность open / WEP / WPA / WPA2, TKIP и AES. Встроенный стек TCP / IP с интерфейсом «сокет BSD». | |
WizFi Shield для Arduino: $ 55 Описание : «Arduino Wi-Fi Shield WizFi Shield использует модуль Wiz820io, WizFi210 и одновременно поддерживает подключение к Ethernet и Wi-Fi». Исходный код и схемы можно загрузить с Wiznet Github https://github.com/Wiznet/Arduino_WiFi_Shield | |
Sparkfun’s WiFly Shield : 89 долларов Описание : «WiFly Shield дает вашему Arduino возможность подключаться к 802.Беспроводные сети 11b / g. Компоненты экрана – это беспроводной модуль Roving Network RN-131G и микросхема SC16IS750 SPI-to-UART. Мост SPI-UART используется для увеличения скорости передачи и освобождения UART Arduino ». | |
RedFly-Shield для Arduino : 65 евро Описание : «RedFly-Shield – это подключаемый модуль с WiFi / WLAN для плат Arduino Uno, Duemilanove, Diecimila и Mega. Интегрированный стек WiFi и IPv4 (TCP, UDP, DHCP, DNS)» | |
Weburban wifi : 69 долларов.99 Описание : «Может подключаться к плате Oak Arduino через разъем (размещенный так, чтобы он не мешал переходной плате дочерней платы) или к вашему собственному проекту, используя наши четко размещенные маркеры на каждом контакте. На плате используются стандартные разъемы через SPI на Arduino-совместимый Microchip 802.11b / g / n MRF24WB0MA. Совместим с WiShield и другими Wi-Fi-библиотеками Arduino ». | |
LinkSprite Anaconda WiFi Shield : 55 долларов США. Описание : «LinkSprite WiFi Shield имеет встроенный стек TCP / IP и весь код, связанный с WiFi.Arduino просто настраивает параметры WiFi с помощью AT-команды через UART, или пользователь может просто рассматривать WiFi как прозрачный последовательный порт после некоторой автономной настройки ». | |
LinkSprite CuHead WiFi Shield: $ 55 Описание : «Этот экран обеспечивает подключение по стандарту 802.11b и является прямым подключением plug-and-play решения для вашей Arduino Diecimila / Duemilanove. Включает последовательную флеш-память 16 Мбит.Использует SPI для связи с хостом (максимальная скорость 25 МГц), низкое энергопотребление (спящий режим: 250 мкА Передача: 230 мА Прием: 85 мА) “ | |
Littlebird Electronics-WIFI SHIELD ДЛЯ ARDUINO (802.11 B / G): 115 долларов США. Описание : «Единственный в мире экран Wi-Fi 802.11 b / g. Эта плата использует только Tx / RX, который передает сигнал UART на TCP / IP. И это здорово, что проект Arduino работает в беспроводном режиме. 802.11g, максимальная дальность действия составляет около 100 м в помещении и 300 м на открытом воздухе.” | |
WiFi Arduino Shield (WIZ610) : 44 доллара США * Сайт на испанском языке, но они доставляются по всему миру Описание: «Плата адаптера Wi-Fi Shield Arduino – это модуль Wi-Fi WIZ610wi от WIZnet. Этот экран обеспечивает беспроводное соединение для 802.11b / g и совместим с платформами Duemilanove, Mega и One». | |
Wixel Shield для Arduino + пара Wixel + USB-кабель: $ 49.95 Описание : «Эта комбинированная сделка содержит основные компоненты, необходимые для беспроводной связи с вашим Arduino.Он состоит из одного экрана Wixel для Arduino, двух модулей Wixel и одного 6-дюймового кабеля USB A – mini-B для подключения Wixel к компьютеру ». | |
DFRobot WiFi Shield V2.1 : 85 долларов США Описание: “Беспроводной модуль WIFI основан на WizFi210. Он обеспечивает мост от связи последовательного порта TTL к беспроводной связи IEEE802.11b / g / n. Таким образом, любое устройство с последовательными портами TTL может быть легко подключено к этому модулю WIFI. и контролируется и управляется удаленно через беспроводную сеть.” | |
Водород из песочницы DIY: 75 $ Описание: “Инновационный Arduino WiFi Shield, который вы можете использовать для добавления возможности Wi-Fi 802.11b к существующим Arduino Duemilanove или Uno. 3 светодиоды с широтно-импульсной модуляцией (PWM) для настраиваемых уведомлений. Совместимость с существующей библиотекой Arduino Ethernet с использованием нашей библиотеки Wirefree и примеры эскизов Держатель карты MicroSD с выбираемым контактом выбора микросхемы (CS) для расширенных возможностей хранения.” |
XBee
XBee® Wi-Fi – встроенный модуль Wi-Fi для OEM-производителей
Популярный выбор модулей Xbee: «Идеально подходят для управления энергопотреблением, беспроводных сенсорных сетей и интеллектуального управления активами, XBee Wi-Fi предлагает сети 802.11 b / g / n и гибкие последовательные интерфейсы SPI и UART. Поскольку модуль включает 802.11 b. На физическом уровне / g / n, MAC-адресе основной полосы частот и стеке TCP / IP разработчики могут добавлять Wi-Fi в свои продукты, просто подключившись к последовательному порту XBee Wi-Fi.”
Описание: Модули XBee ZigBee от Digi International доступны в двух основных классификациях: модули XBee Series 1 и XBee Series 2. Модули Series 1 и Series 2 очень похожи, но выбор модуля должен основываться на специфические потребности приложения
– см. различия в спецификациях здесь
Плата Arduino BT: 79 евро
Описание: он поддерживает беспроводную последовательную связь через Bluetooth (но несовместим с Bluetooth-гарнитурами или другими аудиоустройствами).Он имеет 14 цифровых входов / выходов (из которых 6 могут использоваться как выходы ШИМ, а один может использоваться для сброса модуля WT11), 6 аналоговых входов, кварцевый генератор 16 МГц, винтовые клеммы для питания, заголовок ICSP и кнопка сброса.
Web Urban Blue Olive: $ 63,99
Описание: Blue Olive подключается через обычные распиновки Olive на платах Magnolia и Oak и обеспечивает подключение BlueTooth Class 1 (диапазон 300 футов, 100 метров) к вашим проектам. Поскольку он использует стандартную конфигурацию контактов USB, заменить нашу Olive на Blue Olive легко и удобно.Четко обозначенные контакты и совместимость с Arduino означают, что он будет работать и для ваших пользовательских проектов.
JY-MCU Модуль беспроводного последовательного порта Arduino Bluetooth: $ 8,60
– Инструкции: Androino! Управляйте Arduino со своего Android-устройства с помощью дешевого модуля Bluetooth.
Bluetooth Low Energy (BLE) Shield для Arduino
RFDuino
BLEDuino
Уголь и факел
РФ Ciseco: Беспроводная радиосвязь XRF, модуль последовательной передачи данных UART RS232 : 11 фунтов стерлингов.88 (с НДС) Описание : «Искали простой в использовании беспроводной модуль для своих прототипов? Один с превосходным радиусом действия (до 1 км), большим проникновением в здание, меньшим потреблением тока и более низкой стоимостью? Мы думаем, что XRF может быть тем, что у вас есть искал. ” Связь устройства является нормальной последовательной, она прозрачно передает символы к и от XRF. Вам не нужно делать CRC, проверять ошибки и т. Д., Все делается за вас. Совместимый с разъемом XBee ВЧ-модуль 2 x 10 контактов с шагом 2 мм, во многих проектах он будет заменой для XBee серии 1. | |
Ciseco: радиомодуль ERF с разнесением контактов 0,1 “: 16,00 фунтов стерлингов (включая НДС) Описание : «По сути, XRF, который подключается так же, как кабель FTDI. Самый простой и удобный способ связи с вашими модулями XRF / URF / ERF / SRF и DRF через стандартные 0,1-дюймовые заголовки. Этот модуль, в отличие от большинства конкурирующих радиостанций, также может работать при 5 В (2,1-5 В). ERF прозрачно проходит символы к и от одного или нескольких радиоустройств.” | |
Ciseco: радиомодуль URF и последовательный интерфейс через USB : 18 фунтов стерлингов (включая НДС) Описание : «По сути, XRF, который подключается к USB-порту! Самый простой и удобный способ связи с модулями XRF / URF / ERF / SRF и DRF через порт USB на вашем ПК. Устройство представляет собой всего лишь один файл драйвера и отображается как стандартный COM-порт, поэтому любое программное обеспечение для эмуляции последовательного порта / терминала может напрямую взаимодействовать с вашими устройствами XRF / URF / ERF / SRF и DRF.” | |
panStamp: Беспроводной arduino на диапазонах ISM – 18 долларов Описание : «panStamp – это небольшие беспроводные модули, программируемые с помощью Arduino IDE. Каждый модуль содержит микроконтроллер Atmega328p и RF-интерфейс Texas Instruments CC1101, обеспечивающий необходимые возможности подключения и вычислительную мощность для создания автономных маломощных беспроводных пылинок. Все, что содержится в компактный модуль ДИП-24 ». | |
Jeenode : 18.50 евро Описание : «JeeNode – это небольшая беспроводная плата с 8-битным микропроцессором Atmel RISC. JeeNodes совместимы с платформой Arduino и могут быть запрограммированы под Windows, Mac OS X или Linux с использованием эскизов, созданных с помощью Arduino IDE. | |
RFM12B 868 МГц : 5.50 евро Описание : «Радиомодуль RFM12B от HopeRF – это небольшой беспроводной радиомодуль для отправки и приема пакетов в диапазоне ISM 868 МГц с использованием FSK. – Библиотека Arduino » |
Ethernet:
Arduino Ethernet Shield:
Описание: Arduino Ethernet Shield позволяет плате Arduino подключаться к Интернету. Он основан на микросхеме Ethernet Wiznet W5100, обеспечивающей сетевой (IP) стек, поддерживающий как TCP, так и UDP.
– Атлас щитов Ethernet для Arduino от Роба Смоллшира для получения более подробной информации о каждой версии
Другие варианты на основе Ethernet можно найти здесь.
Сотовая связь:
Использование маршрутизатора:
Использование OpenWRT (описывается как дистрибутив Linux для встроенных устройств) – еще одна альтернатива типичному шилду, которая может быть довольно рентабельной (например, GL.iNET GL-MT300N-V2 Mini Travel Router за 21 доллар, на нем можно найти вики-страницу OpenWRT здесь.).
Учебники и проекты:
Sparkfun сделал хорошую запись, в которой эти технологии (Wi-Fi, Bluetooth, RF и т. Д.) Разбиваются по стоимости, скорости передачи данных, кривой обучения и размеру.
- Teleduino «превращает вашу Arduino с поддержкой Ethernet в мощный и универсальный инструмент для взаимодействия с устройствами через Интернет».
Альтернативы:
Связано: Параметры беспроводной связи Raspberry Pi
(PDF) Недорогой интегрированный путь Arduino Wi-Fi Bluetooth, следующий за роботизированным транспортным средством с беспроводным дистанционным управлением с графическим интерфейсом пользователя
Международная конференция по информационным коммуникациям и встроенным системам (ICICES 2016)
978-1-5090-2552-7
Путь, который сохраняет ориентация транспортного средства в рассмотрение
. Существует граница производной кривизны пути
, которая необходима для сохранения уникальности проекции
. Кроме того, проекция рассчитывается с шагом
шагов с использованием поиска точки на пути, которая отвечает, и
коррелируют с локальным минимумом передаточной функции расстояния,
, таким образом увеличивая вычислительную сложность. Решение существует
для задачи проекции с неединственностью
показано в [3].Следование по пути получается путем управления
и проверки скорости движения движущейся виртуальной цели для отслеживания
вдоль пути, таким образом обходя проблемы, которые возникают в сценарии
, когда необходимо вычислить реальную проекцию транспортного средства на путь
. Подход имеет важное значение, потому что
предлагает единое решение как для плавной обратной связи по состоянию, так и для стабилизации
и следования по траектории, то есть задача
состоит в том, чтобы обеспечить достижение роботом целевого положения
и начало ориентации
с любого начальное состояние.В качестве результата и следствия теоремы Брокетта
[4] можно доказать, что
одноколесных велосипедных представления транспортных средств в декартовом пространстве не могут быть стабилизированы и управляемы посредством обратной связи с плавным состоянием.
Однако в [2] показано, что при выборе
переменных состояния системы и целевой глобальной асимптотической устойчивости можно достичь
. Показано, что, когда робот содержится
внутри эллипсоида произвольных размеров, центрированного
на цели, возможно вычислить скорость продвижения цели
в замкнутом контуре вдоль пути, чтобы гарантировать что робот
«захвачен» эллипсоидом, отслеживая кривую.С точки зрения теории
, работа, упомянутая в
[2], имеет главное ограничение, заключающееся в том, что она не обеспечивает асимптотическую сходимость
к траектории. Асимптотическая стабильность сохраняется для
проблемы парковки, но пока цель начинает движение
, подход может гарантировать только то, что транспортное средство
ограничено эллипсоидом. В зависимости от параметров настройки
, которые измеряют размеры эллипсоида,
может создать неточный путь с уменьшением скорости движения,
, особенно с большими угловыми ошибками из-за большой кривизны
путей.Предлагаемые варианты, например, в [5]. Следование по пути
рассматривается как задача стабилизации из [6] [7] [8].
III. P
ROPOSED
M
ODEL
D
ESIGN
Наша предлагаемая модель – очень высокоэффективная, недорогая, с низким энергопотреблением
(девять вольт), потребляемая под управлением Wi-Fi и
Bluetooth, которая включает обработку от сигналы обратной связи
со стороны пользователя и ИК-модуля для управления роботизированным транспортным средством
и его выравнивания в любом нужном нам направлении.Наша модель
может управляться вручную с удаленного мобильного устройства по беспроводной сети
, носитель Bluetooth, Wi-Fi, который также включает в себя управление
, наклоняя мобильный телефон в любой степени. Графический пользовательский интерфейс
, разработанный порталом Java, чрезвычайно привлекателен благодаря улучшенной визуальной платформе
, показывающей все направления управления роботом
, что обеспечивает высокую степень контроля и точности. Наша конструкция
очень уникальна из-за интеграции Arduino nano с очень легкими
компонентами и датчиками, которые выдают управляющие сигналы
.Каждый модуль и периферийный интерфейс
хорошо синхронизирован в своем режиме работы.
обеспечивает высокую степень управления скоростью двигателей, прикрепленных к оси робота, которая, таким образом, управляет динамикой траектории, обеспечивая плавное движение без препятствий
. Наша конструкция включает модуль инфракрасного преобразователя
, работающий с меньшим напряжением, и значительно развернут
для обнаружения препятствий. Предусмотрено предоставление
сигналов обратной связи для управляющего устройства, такого как мобильный телефон / КПК в
, на котором установлен графический интерфейс управления, таким образом избежать столкновения
и изменить путь в нашей конструкции очень просто.Мы
использовали недорогой модуль Bluetooth, который обеспечивает двойной режим
передачи управляющих данных между управляющей станцией
и роботизированным транспортным средством. Мы использовали нано-плату
, которая легко программируется в системе
Программированиев интегрированной среде разработки
, что является наиболее усовершенствованной функцией программирования на простом языке C
, предотвращающим сложность кодирования на машинном уровне.
Arduino nano чрезвычайно портативен, он имеет очень мощный микроконтроллер
ATmega328, который позволяет очень легко кодировать и выполнять команды. Arduino nano
сопряжен с модулем ИК-датчика, Bluetooth, WiFi-модулем
с двигателями постоянного тока. Модуль Bluetooth и модуль Wi-Fi
соединены с управляющей удаленной станцией
мобильного или КПК, которая управляет оценкой пути и позволяет
движение по пути следуя за роботизированным транспортным средством, в результате чего
имеет высокоэффективную конструкцию с заманчивыми функциями.
IV. КОМПОНЕНТЫ
A. Модуль Bluetooth
Enhanced v2.0 + скорость передачи данных Схема Bluetooth для 3 Мбит / с и 2 режимов модуляции
Мбит / с использовалась в нашей конструкции для беспроводного управления
. Высокая скорость работы и высокая точность
с полной , Поддержка Pico net, поддержка scatter net обеспечивается
этим модулем. Простота дизайна, интерфейс с Arduino nano
– наше самое большое преимущество, полученное с меньшим количеством внешних компонентов
с добавленной функцией очень низкого энергопотребления
и миниатюрным дизайном, что делает модуль Bluetooth
полностью надежной и совместимой системой для передачи голоса и данных. данные
связь.
Низкая задержка и низкая мощность для обмена данными
на короткие расстояния – привлекательная особенность модуля.
Метод модуляции гауссовского сдвига частоты позволяет
передавать данные на короткие расстояния в нашем роботизированном автомобиле
.
Рис. 1. Модуль Bluetooth
B. Arduino Nano
В нашем роботизированном транспортном средстве для планирования пути мы развернули arduino
nano, который представляет собой небольшую, компактную и прочную плату, которая может быть легко соединена с другими сенсорными модулями
. роботизированный автомобиль
.Он работает с очень маленьким напряжением 5 В. Он имеет 14
цифровых входных выходных контактов, 6 из которых генерируют выход ШИМ
Начало работы с WiFi на оборудовании Arduino – Пример MATLAB и Simulink
В этом примере показано, как использовать пакет поддержки Simulink для оборудования Arduino для приема и отправки сообщений TCP / IP или UDP через WiFi с использованием плат Arduino.
Предоставленная модель предварительно настроена для Arduino Mega 2560 с WiFi Shield. Его можно запустить на любой плате, указанной в разделе «Поддерживаемое оборудование», изменив параметр «Аппаратная плата» в диалоговом окне параметров конфигурации модели, как описано в Задаче 1 этого примера.
Введение
Пакет поддержки Simulink для оборудования Arduino позволяет создавать и запускать модели Simulink® на плате Arduino. Цель включает в себя библиотеку блоков Simulink для настройки датчиков, исполнительных механизмов и интерфейсов связи Arduino и доступа к ним.
В этом примере вы узнаете, как создавать модели Simulink, получающие сообщения TCP / IP или UDP от удаленного хоста и отправляющие сообщения TCP / IP или UDP на удаленный хост, идентифицированный с помощью уникального IP-адреса и номера порта.
Модель хоста использует блоки из Instrument Control Toolbox для отправки и получения сообщений TCP / IP или UDP на целевое оборудование.
Предварительные требования
Перед тем, как вы начнете с этого примера, мы рекомендуем вам выполнить пример «Начало работы с оборудованием Arduino®».
Требуемое оборудование
Для запуска этого примера вам понадобится следующее оборудование:
Поддерживаемая плата Arduino
WiFi Shield / ESP8266
USB-кабель
Обратите внимание, что Arduino MKR1000 имеет плата WiFi, поэтому нет необходимости подключать WiFi Shield или ESP8266.
Настройка оборудования WiFi
В этой задаче вы настроите оборудование WiFi. Функциональность WiFi может использоваться с пакетом поддержки Simulink для оборудования Arduino одним из следующих способов:
Плата Arduino с WiFi Shield
1. Подключите WiFi Shield к плате Arduino.
2. Подключите USB-кабель от ПК к плате Arduino.
Для получения дополнительных сведений о подключении Arduino к WiFi Shield см. Подключение Arduino WiFi Shield к оборудованию Arduino.
Плата Arduino с ESP8266
1. Подключите ESP8266 к плате Arduino.
2. Подключите USB-кабель от ПК к плате Arduino.
Для получения дополнительных сведений о подключении Arduino к ESP8266 см. Подключение ESP8266 к оборудованию Arduino.
Плата Arduino MKR1000
1. Подключите кабель USB от ПК к плате Arduino MKR1000.
Arduino MKR1000 имеет встроенный чип WiFi.Его можно использовать напрямую, без какого-либо дополнительного оборудования Wi-Fi.
Настройка свойств сети для хост-машины и оборудования WiFi
Для настройки IP-адреса хост-машины и оборудования WiFi см. «Настройка параметров сети для WiFi».
Задача 1 – Настройка модели для поддерживаемого оборудования Arduino
Вы выполните эту задачу, если ваша плата Arduino не является оборудованием Arduino Mega 2560.
В этой задаче вы настроите модель для поддерживаемой платы Arduino.
1. В вашей модели Simulink щелкните Simulation> Model Configuration Parameters , чтобы открыть диалоговое окно Configuration Parameters .
2. Выберите панель Hardware Implementation и выберите необходимое оборудование Arduino из списка параметров Hardware board . Не меняйте никаких других настроек.
3. Щелкните OK .
Задача 2 – Отправка данных TCP / IP через WiFi с использованием оборудования Arduino
В этом примере показано, как использовать пакет поддержки Simulink для оборудования Arduino для отправки сообщений TCP / IP через WiFi с помощью платы Arduino.
Модели, участвующие в демонстрации
1. Целевая модель, работающая на оборудовании Arduino: Arduino TCP / IP Send.
2. Модель хоста Simulink: получение хоста TCP / IP.
Запустите модель, настроенную для цели на оборудовании.
1. Откройте модель Arduino TCP / IP Send.
2. Выполните задачу 1, если ваша плата Arduino не является оборудованием Arduino Mega 2560.
3. В вашей модели Simulink нажмите кнопку Deploy to Hardware на панели инструментов.
Запустите модель хоста для получения данных от целевой модели.
1. Откройте модель приема хоста TCP / IP. Дважды щелкните блок получения TCP / IP. Убедитесь, что IP-адрес и номер порта соответствуют настройкам WiFi, указанным ранее, чтобы данные были получены от правильного целевого оборудования.
2. В модели хоста Simulink нажмите кнопку Run. Осциллограф должен отображать данные (линейный сигнал и импульс), отправляемые с целевого оборудования.
Задача 3 – Получение данных TCP / IP через WiFi с помощью оборудования Arduino
В этой задаче показано, как использовать пакет поддержки Simulink для оборудования Arduino для получения сообщений TCP / IP через WiFi с помощью платы Arduino.
Модели, участвующие в демонстрации
1. Целевая модель, работающая на оборудовании Arduino: Arduino TCP / IP Receive.
2. Модель хоста Simulink: TCP / IP Host Send.
Запустите модель, настроенную для цели на оборудовании
1. Откройте модель приема Arduino TCP / IP.
2. Выполните задачу 1, если ваша плата Arduino не является оборудованием Arduino Mega 2560.
3. В вашей модели Simulink нажмите кнопку Deploy to Hardware на панели инструментов.
Запустите модель хоста для отправки данных в целевую модель.
1. Откройте модель отправки хоста TCP / IP. Дважды щелкните блок TCP / IP Send. Убедитесь, что IP-адрес и номер порта соответствуют ранее указанным параметрам WiFi, чтобы данные были отправлены на правильное целевое оборудование.
2. Целевая модель, работающая на плате Arduino, будет получать данные от TCP / IP и отправлять их обратно в последовательный порт для мониторинга и отладки. Вы можете использовать последовательный монитор или гипертерминал на хост-машине, чтобы наблюдать за последовательными данными, возвращаемыми от цели.
3. Обратите внимание, что блок приема WiFi TCP / IP работает в режиме блокировки, если установлен флажок «Дополнительно»> «Ждать, пока не будут получены данные». Поэтому, когда нет входящих данных, вы можете видеть, что операторы печати в последовательном мониторе или гипертерминале работают медленнее.
4. В модели хоста Simulink нажмите кнопку Run, чтобы запустить модель хоста.
5. На этом этапе данные TCP / IP отправляются от хоста к цели, а последовательные данные отправляются обратно от цели к хосту. Вы должны иметь возможность видеть операторы печати в последовательном мониторе или гипертерминале, как только цель получит данные, то есть без блокировки.
Задача 4 – Отправка данных UDP через WiFi с использованием оборудования Arduino
В этом примере показано, как использовать пакет поддержки Simulink для оборудования Arduino для отправки сообщений UDP через WiFi с помощью платы Arduino.
Модели, участвующие в демонстрации
1. Целевая модель, работающая на оборудовании Arduino: Arduino UDP Send.
2. Модель хоста Simulink: получение хоста UDP.
Запустите модель, настроенную для цели на оборудовании.
1. Откройте модель Arduino UDP Send.
2. Выполните задачу 1, если ваша плата Arduino не является оборудованием Arduino Mega 2560.
3. В вашей модели Simulink нажмите кнопку Deploy to Hardware на панели инструментов.
Запустите модель хоста для получения данных от целевой модели.
1. Откройте модель приема хоста UDP. Дважды щелкните блок приема UDP. Убедитесь, что номер порта соответствует настройкам WiFi Shield, указанным ранее, чтобы данные были получены от правильного целевого оборудования.
2. В модели хоста Simulink нажмите кнопку Run. Осциллограф должен отображать данные (линейный сигнал и импульс), отправляемые с целевого оборудования.
Задача 5 – Получение данных UDP через WiFi с использованием оборудования Arduino
В этой задаче показано, как использовать пакет поддержки Simulink для оборудования Arduino для получения сообщений UDP через WiFi с помощью платы Arduino.
Модели, участвующие в демонстрации
1. Целевая модель, работающая на Arduino Mega 2560: Arduino Mega 2560 UDP Receive.
2. Модель хоста Simulink: передача хоста UDP.
Запустите модель, настроенную для цели на оборудовании
1. Откройте модель приема Arduino Mega 2560 UDP.
2. Выполните задачу 1, если ваша плата Arduino не является оборудованием Arduino Mega 2560.
3. В вашей модели Simulink нажмите кнопку Run на панели инструментов, чтобы запустить модель во внешнем режиме.
Запустите модель хоста для отправки данных в целевую модель.
1. Откройте модель отправки хоста UDP. Дважды щелкните блок UDP Send. Убедитесь, что IP-адрес и номер порта соответствуют настройкам WiFi, указанным ранее, чтобы данные были отправлены на правильное целевое оборудование.
2. Целевая модель, работающая на оборудовании Arduino, будет получать данные от UDP. Во внешнем режиме вы можете видеть данные и размер, отображаемые на блоках дисплея. Первоначально, когда никакие данные не получены, данные и размер равны 0.
3. В модели хоста Simulink нажмите кнопку Run, чтобы начать выполнение модели хоста. Обратите внимание, что эта модель отправляет массив значений int16.
4. На этом этапе данные UDP отправляются с хоста на цель.Вы можете видеть, что выходные значения Data и Size меняются в соответствии с полученными данными.
Сводка
В этом примере показано, как использовать пакет поддержки Simulink для оборудования Arduino для отправки сообщений TCP / IP или UDP через WiFi на удаленный хост и для получения сообщений TCP / IP или UDP через WiFi от удаленного хоста с помощью Arduino. доска.
Wi-Fi-модулей Arduino: какой из них использовать?
Введение в модули Wi-Fi
Когда дело доходит до модулей WiFi, каждый должен слышать о ESP8266; автономный SOC со встроенным стеком протоколов TCP / IP, который позволяет любому микроконтроллеру получить доступ к вашей сети WiFi.
Сегодня в этом блоге я расскажу вам о трех модулях WiFi, а именно ESP8266, ESP32 и Grove UART WiFi v2. Все они также совместимы с Arduino.
ESP8266
ESP8266, несомненно, является самым известным модулем WiFi на рынке. Предлагая полное и автономное сетевое решение WiFi, оно позволяет пользователям либо размещать приложение, либо переносить все сетевые функции WiFi с другого процессора приложений.
Встроенные возможности обработки и хранения данных позволяют легко интегрировать его с датчиками и другими специализированными устройствами через GPIO.
Характеристики продукта:
- 802.11 b / g / n
- Wi-Fi Direct (P2P), soft-AP
- Встроенный стек протоколов TCP / IP
- Встроенный коммутатор TR, балун, LNA, усилитель мощности и согласующая сеть
- Встроенная ФАПЧ, регулятор напряжения и компоненты управления питанием
- Режим 802.11b + выходная мощность 19,5 дБм
- Встроенный датчик температуры
- Поддержка разнесения антенн
- Отключенный ток утечки менее 10 мкА
- Встроенный низко- мощность 32-битного процессора: может использоваться как процессор приложений
- SDIO 2.0, SPI, UART
- STBC, 1 × 1 MIMO, 2 × 1 MIMO
- A-MPDU, агрегация A-MSDU и 0,4 В режиме пробуждения
- 2 мс, подключение и передача пакетов данных
- Энергопотребление в режиме ожидания меньше чем 1,0 мВт (DTIM3)
Поддерживает:
- APSD для приложений VoIP
- Интерфейсы сосуществования Bluetooth
Приложения продукта:
- Smart Power Plug
- Домашняя автоматизация
- Ячеистая сеть
- Промышленное беспроводное управление
- Радионяня
- Сетевая камера
- Сенсорные сети
- Носимая электроника
- Беспроводные устройства с привязкой к местоположению
- Идентификационный ярлык безопасности
- Беспроводное позиционирование системные сигналы
Плюсы:
- Низкое энергопотребление с использованием высокопроизводительной запатентованной технологии управления питанием
- Из-за его популярности доступно множество информации / руководств
- Относительно низкий диапазон цен
- Может быть запрограммирован с использованием среды программирования Arduino IDE
Минусы:
- Ограниченные контакты GPIO могут вызвать ограничения, когда дело доходит до сопоставления GPIO
Для полного обзора ESP8266 вы можете перейти сюда
Совет по развитию GeekNet ESP32
Это не отдельный модуль Wi-Fi Wroom32, но он интегрирован в эту плату разработки.
ESP32 – это отдельный модуль Wi-Fi и Bluetooth с частотой 2,4 ГГц, в котором реализована технология сверхнизкого энергопотребления TSMC. Он разработан для обеспечения производительности, универсальности и надежности в широком спектре приложений.
Подробнее о продукте:
- Напряжение: 5 В
- Ток: 80 мА
- Батарея: 3,7 В
- Размеры: 59,76 мм x 28,05 мм x 12,60 мм
Основные характеристики WiFi:
- 802,11 б / г / н / э / я
- 802.11 n (2,4 ГГц), до 150 Мбит / с
- 802.11 e: QoS для беспроводной мультимедийной технологии
- WMM-PS, UAPSD
- Агрегация A-MPDU и A-MSDU
- Блок ACK
- Фрагментация и дефрагментация
- Автоматически Мониторинг / сканирование маяков
- Функции безопасности 802.11: предварительная аутентификация и TSN
- Защищенный доступ Wi-Fi (WPA)
/ WPA2 / WPA2-Enterprise / Wi-Fi Protected Setup (WPS) - Инфраструктура Режим станции BSS / режим мягкой точки доступа
- WiFi Direct (P2P), P2P Discovery, режим P2P Group Owner и P2P Power Management
- Совместимость с UMA и сертификация
- Разнесение и выбор антенн
Приложения продукта:
- Концентратор датчиков IoT с низким энергопотреблением
- Регистраторы данных IoT с низким энергопотреблением
- Домашняя автоматизация
- Умное здание
- Аудио приложения
- Приложения для здравоохранения
- Носимая электроника
- Приложения для розничной торговли и общественного питания
Плюсы:
- с низким энергопотреблением
- Bluetooth v4.2 Соответствие BR / EDR
Минусы:
- Ошибки все еще обнаруживаются и исправляются, поскольку не все периферийные устройства полностью задокументированы с помощью примера кода
- Не нацелены на всех, больше подходят для разработчиков
Grove: UART WiFi V2 (ESP8285)
Этот модуль Seeed WiFi представляет собой модуль последовательного приемопередатчика с IoT SOC ESP8285. Благодаря интеграции стека протоколов TCP / IP этому модулю требуется всего несколько строк кода, чтобы ваш микроконтроллер мог взаимодействовать с Wi-Fi.
ESP8285?
ESP8285 – это обновленная версия ESP8266, в которую добавлена встроенная флэш-память объемом 1 МБ. В остальном они почти идентичны.
Характеристики продукта:
- Входное напряжение 3 В / 5 В
- 115200 Скорость передачи
- Grove 4-контактный разъем (RX, TX, VCC, GND)
- Протокол 802.11 b / g / n (2,4 ГГц)
- WiFi Direct (P2P), программный -AP
- Поддерживает три режима: AP, STA и AP + STA режим сосуществования
- Интегрированный стек протоколов TCP / IP
- LwIP (облегченный IP)
- Интегрированный 32-битный ЦП с низким энергопотреблением может быть перепрограммирован как процессор приложений
- Встроенный датчик температуры
- Последовательный интерфейс UART
- Управление QoS с несколькими очередями
- Пробуждение и передача пакетов менее 2 мс
- Металлический экран
- Встроенная керамическая антенна
- Переключатель сброса
Применение продукта:
- Домашняя автоматизация
- Сенсорные сети
- Ячеистые сети
- Носимая электроника
- Радионяня
- Сетевая камера
- Промышленное беспроводное управление
- WiFi-маяки
- Интеллектуальная розетка питания
- Приложения с привязкой к местоположению
Плюсы:
- Низкое энергопотребление при использовании ESP8285
Минусы:
- Ограниченные контакты GPIO, ESP8285 имеют тот же номер, что и ESP8266
Контакты GPIO:
ESP32 имеет наибольшее количество контактов GPIO, и вы можете решить, какие контакты являются UART, I2C, SPI, поскольку функция мультиплексирования микросхем позволяет назначать несколько функций одному и тому же контакту.
ESP8285, обнаруженный в Grove UART WiFi V2, имеет то же количество контактов GPIO, что и ESP8266.
Возможность программирования Arduino IDE:
Все три могут быть запрограммированы с помощью среды программирования Arduino IDE.
Цена:
Самый дешевый вариант – ESP8266.
Функциональность:
ESP32 содержит большинство функций, а также поддерживает Bluetooth. ESP8285 в Grove UART wifi V2 теперь содержит флэш-память и SRAM по сравнению со старым ESP8266.
Что выбрать?
Если вы планируете работать над IoT / крупномасштабными проектами:
ESP32 благодаря своей универсальности и дополнительным функциям. Он также больше подходит для разработчиков.
Простые проекты IOT / обновленная версия ESP8266:
Grove UART Wi-Fi v2
Подходящие парыЕсли вы планируете получить Grove UART Wi-Fi V2, вы можете подключить его к следующему:
Seeduino Lite – это Seeed версия Arduino Leonardo, которую также можно использовать для сопряжения с ESP8266 и ESP32.
Конфигурация оборудования:
- Шаг 1. Подключите Grove-UART Wifi к порту SERIAL Seeeduino Lite.
- Шаг 2. Подключите Grove-OLED к порту I2C Seeeduino Lite.
- Шаг 3. Подключите Seeeduino Lite к ПК с помощью кабеля Micro-USB.
Конфигурацию программного обеспечения и дополнительную информацию можно посмотреть здесь
Следите за нами и ставьте лайки:
Продолжить чтение
Создайте свой собственный умный переключатель управления Wi-Fi Google Home | by Shahariar Rabby
Подключение Google Assistant (с использованием IFTTT), чтобы NodeMCU работал с голосовыми командами.
Мы не можем напрямую подключить Google Assistant к NodeMCU, и это единственная причина, по которой мы используем приложение Blynk. Приложение Blynk может напрямую подключаться к NodeMCU и отправлять на него данные. Итак, если мы можем отправлять голосовые команды, интерпретируемые помощником Google, непосредственно в приложение Blynk, приложение Blynk может затем пересылать эти команды в NodeMCU. Но проблема в том, что Google Assistant не может напрямую понимать чужие команды, такие как «включить вентилятор» или «включить реле» и т. Д., Самостоятельно.Итак, чтобы решить эту проблему, мы используем другое промежуточное приложение / веб-сайт под названием « IFTTT ».
Просто, чтобы управлять нашей бытовой техникой через Интернет, мы используем NodeMCU, а для соединения NodeMCU с бытовой техникой мы используем релейную плату. Теперь для отправки сигналов на NodeMCU мы используем наш смартфон, и мы делаем это с помощью приложения Blynk. Но мы хотим посылать сигналы включения или выключения с помощью голосовых команд. Для этого мы используем помощников Google в нашем смартфоне и приложение под названием IFTTT.
Итак, в конце концов, что произойдет, когда мы скажем голосовую команду типа «окей, Google, включи свет» в Google Assistant, Google Assistant отправит эту внешнюю команду в IFTTT.IFTTT интерпретирует эту команду и отправляет сигнал включения или выключения в приложение Blynk через сервер Blynk. Затем Blynk отправит этот сигнал в NodeMCU, а затем в наши электрические устройства.
- Достаточно сказано, давайте настроим IFTTT. Перейдите на сайт IFTTT и зарегистрируйтесь на нем, используя свою учетную запись Google.
2. После входа в систему щелкните значок своего профиля в правом верхнем углу и выберите «Создать».
Создать аплеты3. Щелкните «+ Это» .
+ Это4. Найдите Google Assistant и выберите его.Затем нажмите Connect .
Google Assistant5. На этом этапе IFTTT запросит у вас разрешение на использование вашей учетной записи Google для добавления в нее голосовых команд. Что вы просто разрешаете, нажав «Разрешить».
6. Выберите карточку с надписью « Скажи простую фразу ».
Произнесите простую фразу7. Затем в первом текстовом поле введите фразу, которую вы хотите сказать Google Assistant. Это может быть что угодно, например «Включите телевизор», «Включите вентилятор» или что угодно.
8. В следующих двух текстовых полях вы указываете другие способы произнести первую команду. Например, если в первом текстовом поле вы написали «Включить вентилятор», то во втором и третьем текстовых полях вы можете написать что-то вроде «Вентилятор включен», «На вентилятор» или «В фанате».
9. В четвертом текстовом поле введите ответ, которым должен ответить Google Assistant. Например, «Включение вентилятора…».
10. Наконец, нажмите « Create Trigger».
11. Теперь нажмите « + That »
+ That12.Введите «Webhooks» , выберите его и нажмите «Подключиться». Webhooks позволит нам отправлять команды на сервер Blynk.
13. Нажмите «Сделать веб-запрос»:
Сделать веб-запрос14. Теперь в поле URL введите этот URL: http://188.166.206.43/ YourAuthTokenHere / update / virtualPinNumber? Value = <1 или 0>
15. Это URL-адрес сервера Blynk. Замените часть «YourAuthTokenHere» на свой токен аутентификации Blynk, который вы получили по почте. И часть «virtualPinNumber» с виртуальным контактом из App , который должен быть обновлен.Мы назначили цифровой контакт D0 NodeMCU на реле 1 и D5 с кнопкой и сопоставили эти две кнопки с виртуальным контактом V13 в нашем коде.
16. Итак, мы напишем v13 в конце нашего кода, чтобы обновить его.
http://188.166.206.43/ YourAuthTokenHere / update / v15
17.