Подключение Ардуино к роутеру TL MR3020

Как подключить WiFi-модуль к Arduino

С помощью ESP8266 Arduino WiFi модуля можно создать полноценную сеть Wi-Fi. Микроконтроллер Arduino Uno через последовательный интерфейс, или UART, позволяет подключиться к интернету через модуль. Этот же модуль может выполнять роль обслуживающего адаптера Wi-Fi для беспроводного доступа в Сеть.

Описание модуля с его особенностями

Ардуино WiFi модуль обладает развитым интерфейсом:

  • 14 входами/выходами, 6 из которых могут работать на выход в режиме ШИМ;
  • 6 входами аналогового сигнала;
  • USB;
  • разъемом питания;
  • коннекторами для ICSP;
  • кнопкой сброса установок.

Микросхема ESP8266

Для создания беспроводной сети в пределах помещения наиболее часто используется чип ESP8266. С его помощью организуется связь по Wi-Fi, осуществляются сбор информации, дистанционное управление и выход в интернет. Платы Arduino Uno, WeMos, NodeMcu используют ESP8266. Множество самодельных проектов основано на этом чипе с использованием среды Arduino IDE.

Зачем нужен выход в сеть

Выход в сеть через Вай-Фай позволяет прошивать платы Arduino, расположенные в труднодоступных местах, ускоряя и облегчая их обслуживание. Такой способ обновления программ получил название Firmware Over The Air — «микропрограммы по воздуху».

ESP8266 применяется также:

  • в метках ID;
  • в детских игрушках;
  • в системах автоматизации;
  • в сетях Mesh;
  • в разных мобильных устройствах;
  • в системе дистанционного управления приборами «умного» дома: розетках, выключателях, терморегуляторах, сигнализации.

Схема подключения

Перед началом работ необходимо проверить контакты RX-TX — они должны соединяться перекрестием. Уровень сигналов ESP8266 — 3,3В, а Arduino — 5 В, поэтому для питания модуля используйте резистивный делитель 1:2, резисторы на 1 кОм и 2 кОм.

Схема подключения

Для подключения модуля Arduino с модулем Wi-Fi требуется выполнение следующих шагов:

  1. Подать питание к плате Arduino и дождаться скорого появления новой сети с именем «Ардуино-Uno-WiFi-xxxxxx», где xxxxxx — идентификатор платы.
  2. Подключиться к данной сети через браузер по адресу 192.168.240.1. Появится web-интерфейс настройки платы.
  3. В пункте Network SSID нажать кнопку CHANGE для получения доступа к сетевым настройкам платы.
  4. Подключиться к сети Wi-Fi.
  5. Записать (запомнить) присвоенный IP-адрес. Зайти на Arduino Uno WiFi с любого устройства, подключенного к сети.
  6. Переключить десктоп с сети Wi-Fi Arduino на домашнюю сеть Вай-Фай.
  7. Через браузер зайти по сохраненному IP-адресу. Открыть web-интерфейс настройки платы.
  8. Зайти в сетевые настройки, нажав на кнопку CHANGE.
  9. Кнопкой SWITCH TO STA MODE изменить режим сети из AP+STA в STA.
  10. В столбце WiFi Mode появится режим STA.

Проделав этот путь, можно переходить к работе с платой Arduino UNO Wi-Fi, в том числе к ее «прошивке».

Распиновка платы

Контакты под номерами от 0 до 13 требуют соединения только с цифровым сигналом, то есть они понимают только два состояния: высокий и низкий уровни сигнала. Также они работают с сигналами ШИМ и на вход, и на выход.

Цифровые пины платы Uno

Пин на плате Адрес в скетче Специальное использование ШИМ
пин 0 RX
пин 1 1 TX
пин 2 2 Вход прерываний
пин 3 3 Вход прерываний ШИМ
пин 4 4
пин 5 5 ШИМ
пин 6 6 ШИМ
пин 7 7
пин 8 8
пин 9 9 ШИМ
пин 10 10 SPI (SS) ШИМ
пин 11 11 SPI (MOSI) ШИМ
пин 12 12 SPI (MISO)
пин 13 13 SPI (SCK)

Аналоговые пины Arduino Uno

Аналоговые контакты Arduino Uno служат для подключения устройств с непрерывным сигналом. Они являются входами АЦП. В «Ардуино Уно» он имеет 10 разрядов.

Контакт Адрес в скетче Особое значение
Аналоговый A0 A0 или 14
Аналоговый A1 A1 или 15
Аналоговый A2 A2 или 16
Аналоговый A3 A3 или 17
Аналоговый A4 A4 или 18 I2C (SCA)
Аналоговый A5 A5 или 19 I2C (SCL)

На плате имеются дополнительные контакты:

  1. AREF — источник опорного напряжения для АЦП, управляемый функцией analogReference().
  2. RESET, низкий сигнал на котором перезагружает устройство.

Программирование модуля

Производятся различные модификации ESP 8266. Чтобы изменить скорость передачи данных в прилагаемом коде (скачать его можно по ссылке ниже), в 16-й строке укажите требуемое значение. Обработка этого параметра, как и других, производится в функции loop(). Для интерпретации сообщений вызываются функции find(). Для передачи команды контроллеру Arduino UNO нужно добавить свой параметр в функции. Для связи с ESP8266 можно написать полностью свою функцию в Ардуино IDE.

При соответствующей подготовке можно писать собственные функции для отправки в ESP запросов TCP. Это позволит создавать свои клиентские части веб-приложений, веб-служб, мобильных приложений с возможностью удаленного управления устройствами. Полный текст примеров кода расположен по адресу https ://arduinoplus.ru /wp-content/uploads/ 2019/03/arduino-wifi.ino.

Выводы по ESP8266

Платы на базе ESP8266 позволяют строить проекты с полным использованием возможностей интернета. В таких проектах доступны дистанционное управление, анализ информации на сервере, сбор данных, обработка звука, изображений. При этом устройство не привязано проводом к сети и остается мобильным в зоне Wi-Fi.

Источник

114 wifi projects

Windows Remote Arduino

Connect your microcontroller to the internet by adding ESP8266 WiFi module!

Add WiFi to Arduino UNO

  • 461,912 views
  • 127 comments
  • 266 respects

From BT To WiFi: Creating WiFi Controlled Arduino Robot Car

NodeMCU ESP8266 in access point mode: the simplest way to make Wi-Fi controlled Robot Car from Bluetooth Arduino Robot Car + Android App.

From BT To WiFi: Creating WiFi Controlled Arduino Robot Car

  • 81,578 views
  • 42 comments
  • 129 respects

Health Band - A Smart Assistant for the Elderly

This health band can assist old people in their daily lives, leaving the family stress free!

Health Band — A Smart Assistant for the Elderly

Project tutorial by Technovation

  • 55,543 views
  • 24 comments
  • 110 respects

Home Management System - Control your home from a website

Control your home from any place in the world using a website.

Home Management System — Control your home from a website

Project tutorial by Ahmed El-Hinidy

  • 53,919 views
  • 22 comments
  • 136 respects

How to Program ESP8266 with Arduino UNO

Learn programming ESP8266 with Arduino Boards. Installing ESP8266 board to Arduino Boards manager and uploading sample program to ESP-01.

How to Program ESP8266 with Arduino UNO

  • 102,289 views
  • 17 comments
  • 36 respects

An amazing off-road robot with 4-wheel drive.

The Badland Brawler — RC Monster Truck with Arduino

Project tutorial by Jithin Sanal

  • 19,210 views
  • 23 comments
  • 128 respects

Things You Should Know Before Using ESP8266 WiFi Module

Things you should know using ESP8266 WiFi module for its safety and easiness as it's very delicate module to use.

Things You Should Know Before Using ESP8266 WiFi Module

  • 182,369 views
  • 13 comments
  • 101 respects

WiFi Weather Station

An Arduino powered internet connected weather station sending data to weather underground for storage and viewing.

WiFi Weather Station

Project in progress by Dan Fein

  • 42,245 views
  • 17 comments
  • 70 respects

Control Home Appliance From Internet Using Arduino and WiFi

Control home appliances from anywhere in world using Internet. Make your home smart with Arduino and ESP8266 WiFi Module.

Control Home Appliance From Internet Using Arduino and WiFi

  • 67,530 views
  • 15 comments
  • 47 respects

Arduino-Based Bitcoin Candy Vending Machine

Implement your own Bitcoin candy vending machine that accepts testnet Bitcoins and dispenses goods.

Arduino-Based Bitcoin Candy Vending Machine

Project tutorial by Elkrem

  • 13,425 views
  • 20 comments
  • 72 respects

AR DRONE and 1SHEELD - Discover the world around your drone

Detect flight data of a drone, like altitude, speed, GPS position and many other. Besides, we can take incredible aerial pictures!

AR DRONE and 1SHEELD — Discover the world around your drone

Project tutorial by OMEGA D2

  • 43,996 views
  • 15 comments
  • 198 respects

Connect to Blynk using ESP8266 as Arduino Uno wifi shield

This is a tutorial to show you how to connect to Blynk using an ESP8266 — 01 as an Arduino Uno wifi shield.

Connect to Blynk using ESP8266 as Arduino Uno wifi shield

Project tutorial by Nolan Mathews

  • 104,695 views
  • 12 comments
  • 70 respects

This project does two functions one it's a live updator and trigger the buzzer if the no of cases increases 500 people for like 10min.

Coronavirus Live Updator

Project tutorial by Sai Chakradhar

  • 12,688 views
  • 17 comments
  • 47 respects

MKR1000 WiFi Robot

This project consists of a small robot controlled via WiFi using an Arduino MKR1000, MKR2UNO Shield Adapter and Arduino Motor Shield!

MKR1000 WiFi Robot

  • 42,044 views
  • 12 comments
  • 65 respects

Water Quality Monitoring Using MKR1000 and ARTIK Cloud

Water quality data monitoring for swimming pools, fish aquarium and more!

Water Quality Monitoring Using MKR1000 and ARTIK Cloud

Project tutorial by Animo!

  • 16,856 views
  • 14 comments
  • 41 respects

Create a smart wireless door lock that can be unlocked by your smartphone. Only Arduino & ESP8266 is needed!

Smart Door Lock Using WiFi Login Page by Arduino & ESP8266

Project tutorial by ElectroPeak

  • 30,221 views
  • 12 comments
  • 57 respects

Magoo

An obstacle-detection and GPS-enabled navigation wearable for the visually impaired.

Magoo

Project in progress by 4 developers

  • 14,468 views
  • 14 comments
  • 41 respects

Water Level Meter

Water Level Meter using the Ultrasonic Sensor to sense the Water Level and ESP8266-01 to send the data over WiFi.

Water Level Meter

Project showcase by Fanatic Series

  • 30,169 views
  • 10 comments
  • 45 respects

Solar UPS controller/automatic transfer switch

Get your essential appliances off the grid with just one solar panel

Solar UPS controller/automatic transfer switch

Project in progress by Markus Loeffler

  • 41,956 views
  • 9 comments
  • 79 respects

Suicide Prevention Gun Safe Locking System

An IoT device that helps prevent gun suicides through safe monitoring, only allowing access to a safe through a request/approval process.

Источник

Подключение Ардуино к роутеру TL-MR3020

Arduino TL-MR3020

Предполагается, что на роутере установлена OpenWrt и система перенесена на флешку. Как это сделать я подробно описал здесь.

Если OpenWrt установлена, тогда переходим к основной задаче.

Существуют два способа подключения, первый — к UART роутера, второй — через USB.

Оба варианта работают одинаково, однако первый требует разбора роутера и подпаивания контактов:

Второй вариант проще, но придётся ипользовать usb-хаб.

Я опишу оба способа подключения и покажу как сделать простой веб-интерфейс для управления.

Кто будет подключать по usb, может сразу перейти сюда.

Вариант с UART

Вскрываем роутер. Крышка у него приклеена, поэтому берём что-то типа ножа и ковыряем по всему периметру. Пластик достаточно прочный, так что можно не боятся повредить.

Достаём плату и припаиваем три контакта RX, TX и GND, четвёртый контакт — это плюс (3,3V), он нам не нужен.

Теперь зальём в ардуину простенький скетч для проверки.

Будем посылать в ардуину символы a и b, в ответ на которые будет зажигаться и гаснуть D13.

Подключаем ардуину как на рисунке:

Ардуина TXRX Роутера (синий)
Роутер TXRX Ардуина (зелёный)
CNDCND

Не смотря на то, что чип роутера питается от 3,3V, а ардуина от 5V, никаких проблем не возникает, посему нет необходимости согласовывать уровни.

Подключаем сетевой кабель (или не подключаем если Вы соединяетесь по WIFI) и подаём питание на роутер и ардуину.

Заходим на роутер по ssh (на всякий случай)

Ради интереса смотрим существующие устройства:

В списке будет присутствовать ttyATH0, это и есть UART.

Установим утилиту для настройки порта:

Настроим порт командой…

Должно работать, если нет, то возвращаемся и проверяем что не так.

Если у Вас не установлен редактор nano, то исправим ситуацию.

Добавим в автозагрузку настройку порта:

В конец файла (перед exit 0) добавим строчку:


Сохранить______Выйти

Перегружаем роутер и проверяем…

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

Залейте в ардуину этот скетч: Не забывайте отсоединять провода RX,TX во время прошивки.

Перед управляющим символом (a,b) будем отправлять четыре символа служащие дескриптором Y+=Z, благодоря этому всё что не нужно отфильтруется и не будет случайных срабатываний.

Открываем параллельно ещё одну ssh-сессию и вводим там команду:

Здесь будет ответ ардуины.

И последнее, надо отвязать UART от отладочной консоли. Для этого надо в файле /etc/inittab закомментировать последнюю строчку:

Если что-то не работает, то возвращаемся к началу и проверяем что сделали не так.

С первым вариантом покончено, если подключение по usb не интересно, то переходите ниже.

Вариант с USB

Зальём в ардуину проверочный скетч:

Будем посылать в ардуину символы a и b в ответ на которые будет зажигаться и гаснуть D13.

Подключаем к роутеру хаб и втыкаем в него флешку и ардуину. Включаем.

Желательно чтобы хаб был с отдельным питанием. Некоторые хабы работают некорректно.

Заходим на роутер по ssh (на всякий случай)

Установим драйвера для всех существующих ардуин и утилиту для настройки порта stty:

Можно не перегружать, по идее устройство должно появиться сразу.

Проверим… если нет, тогда перегрузите.

У Вас может быть /dev/ttyACM0, тогда его и используйте в дальнейших командах и настройках.

Настроим порт командой…

Если при посылке пакета ардуина перегружается (диоды моргают, но D13 не горит), тогда нужно поставить электролитический косденсатор 5-10мкФ между Reset и GND.
Не забудьте отключать его когда заливаете скетч.

Далее сделаем защиту от случайных срабатываний и обратную связь, чтоб в ответ на команду ардуина сообщала о выполнении.

Если редактор nano отсутствует, то установим.

Добавим в автозагрузку настройку порта:

В конец файла (перед exit 0) добавим строчку:


Сохранить______Выйти

Теперь выключаем роутер и прошиваем в ардуину этот скетч:

Перед управляющим символом (a,b) будем отправлять четыре символа служащие дескриптором Y+=Z, таким образом отфильтруется случайный мусор и не будет случайных срабатываний.
После обработки команды, ардуина будет отправлять ответ.

Возвращаем ардуину в хаб и включаем роутер.

Открываем две параллельные ssh-сессии, в первой водим команду:

Здесь будет ответ ардуины.

Во второй пробуем…

Всё должно работать, если нет, то возвращаемся и внимательно проверяем.

Если всё получилось, то можно переходить к следующей части.

Интерфейс

Сделаем простой веб-интерфейс для управления двумя лампочками.

Выглядеть будет вот так… Можно понажимать.

Скачайте архив и распакуйте его в рабочую папку сервера, чтоб было так сервер/primer/.

Здесь подробная инструкция по установке сервера Lighttpd на OpenWrt.

Проверьте, чтоб в файле /etc/php.ini всё было так, как написано здесь!

Если Вы пользуете Win, то отключите всякие файрволы/антивирусы!

Установим и настроим небольшой прокси-сервер ser2net, он создаёт соединение между сокетом и устройством (/dev/ttyUSB0).
Как показала практика, через ser2net, php-файл работает лучше, нежели обращаясь к устройству напрямую.

Редактируем файл конфигурации:

Закомментируйте всё строчки в конце и сохраните.

Добавим ser2net в автозагрузку:

Добавьте в конец файла вот эту строку:

Должно получится так:

В примере используется устройство /dev/ttyUSB0, у Вас может быть другое! (ttyATH0 — консоль, ttyACM0 — мега)

Внимание! Строки инициализации должны быть записаны одной строкой (без переноса).

Прошейте в ардуину этот скетч:

Добавлены функции для второй лампочки и обновления. (к D12 подключите светодиод через резистор 200-1000 Ом)

Включаем/перегружаем роутер и в браузере заходим по аресу ваш_роутер/primer/

Если надпись stD серая, это значит что связь с ардуиной установлена, если красная, то связи нет.

Работа заключается в следующем:

index.html раз в три секунды (интервал можно изменить) запрашивает данные у ардуины (отправляя ей символ о) с помощью функции ajax (ajax позволяет не перегружать страницу).

Запрос передаётся php-файлу (box2.php) находящемуся на сервере, который в свою очередь обращается к ардуине через сокет ser2net.

Ардуина получает команду, обрабатывает её и отправляет ответ, который по той же цепочке возвращается html-страничке (index.html).

Html-страничка разбирает ответ и выводит значения на экран.

Если открыть ещё одну страничку (или зайти с другого устройства) и включить лампочку, то на первой страничке (в течении 3 сек.) тоже включится лампочка.

Для этого и нужно обновление.

Нажатие на лампочку работает так же как и «обновление», в ардуину отсылается символ включения или отключения (в зависимости от состояния лампочки), ардуина выполняет действие и посылает в ответ строку с флагами состояния (единица или ноль). Ответ разбирается в html-странице и в зависимости от флагов выводит картинку включённой или отключённой лампочки.

Для лучшего понимания откройте файл index.html из архива, и посмотрите комментарии.

Внимание! Если Вы редактируете файл на роутере, то удалите все комментарии, в противном случае могут возникнуть проблемы с русской кодировкой.

Если редактируете файлы на виндовс-машине, то пользуйтесь редактором Notepad++.

Если что-то не так, то возвращаемся и проверяем всё с удвоенным вниманием. Проверяем права на файлы, правильность путей и устройств.

Источник



ESP8266 — недорогая альтернатива Arduino с Wi-Fi

Всем привет!
Может кому будет интересно из новичков и кто еще не слышал. Китайская компания Expressif еще в 2014 году выпустила модули на своем чипе ESP8266. Платы (модули) на базе этого чипа стоят недорого — от $1.7 на AliExpress и eBay.

Изначально их часто использовали как «шилд» Wi-Fi для ардуино. Оно и понятно — куда дешевле оригинального шилда, библиотека есть, работа через Serial шину и AT+ команды. Однако сам по себе чип вполне себе можно использовать и без классического Arudino:
— 160 MHz 32-bit процессор Tensilica Xtensa LX106.
— IEEE 802.11 b/g/n Wi-Fi. Поддерживается WEP и WPA/WPA2. Режим точки-доступа или клиента.
— 16 портов ввода-вывода, SPI, I²C, I²S, UART, 10-bit АЦП.

Память данных (ПЗУ) — внешняя. На готовых модулях идет от 512 Кб до 4 Мб.
Описание различных модулей тут.

Конечно же такие хар-ки чипа, по сравнению с Atmega’ми на Arduino предоставляют куда больше возможностей. Тут и веб-сервер маленький можно сделать и RTOS поставить. А интегрированный WiFi позволяет избавиться от проводов. Но что самое приятное для нашего сообщества — для всего этого есть порт Arduino IDE.
Т.е. эту штуку можно программировать в привычном IDE, используя большинство тех же библиотек, что есть для Arduino. Т.е. при желании перейти очень просто.
Инструкция по подключению ESP8266 к Arduino IDE тут.
Может кто не знал и зреет идея домашнего проекта IoT, которому зачастую желателен WiFi — чтобы не крутить громоздкие и дорогие шилды к ардуино.

985 постов • 17.6K подписчика

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной.

Источник

Используем Arduino UNO с WiFi на одной плате для POST запроса на сервер

В статье «Как у меня заработал WIFI для Arduino ESP8266 ESP-12E» рассказывал как заставить работать платы Arduino UNO с ESP8266 ESP-12E UART Wi-Fi.

Но зачем такие сложности, если есть уже совмещенная плата?

Вместо слоеного пирога из двух плат:

Заказал вот эту плату:

И она заработала безо всяких прошивок и перепрошивок.

Работает только на скорости 115200

Среда Arduino уже была настроена для работы.

Осталось только переключатели перещелкивать, чтобы заливать скетч в UNO.

Таблица положений переключателей есть здесь.

Вот только не упомянуто положение переключателей (1-4 ON), когда во время работы Mega328+ESP8266 CH340 мониторит порт и выводит в консоль передаваемые команды.

Как настроить среду Arduino объясняется здесь или здесь.

Таблица переключателей.

CH340 connect to ESP8266 (upload sketch)

CH340 connect to ESP8266 (connect)

CH340 connect to ATmega328 (upload sketch)

All modules work independent

Совместная работа и мониторинг команд

Передача информации на серверы Cayenne и RemoteXY.

Протестировал плату на решении задач, скетчи которых заливал в слоеный пирог из двух плат:

Эти сервисы предоставляют свои библиотеки для работы с ESP8266.

Все заработало сразу без изменений и мучений.

Необходимо в скетчах заменить скорость на 115200.

Передача информации на произвольный сервер.

Решение предыдущей задачи «Отправка данных из ESP8266WiFi на сервер с CMS MaxSite» с этой платой повторить не удалось.

Для отправки данных на произвольный сервис использовалась универсальная библиотека WiFiESP.

И оказалось, что эта библиотека не заработала с этой платой, выдавая

[WiFiEsp] Warning: Unsupported firmware 0.9.5

Действительно, модуль при обращении с соответствующей командой AT+GMR сообщает версию SDK 0.9.5:

В файле README.md библиотеки можно прочитать:

Попытки обновить прошивку при помощи flash_download_tools не увенчались успехом (да и не старался особо):

Ведь библиотеки Cayenne и RemoteXY для этой платы заработали без проблем!

В этих статьях описывается способ обращения к ESP8266 обычными командами без библиотек.

Будем обрабатывать POST запрос к серверу при помощи плагина my_esp8266 для MaxSiteCMS, который принимает данные.

Источник

Читайте также:  Видео обзоры Epson WorkForce WF 7620DTWF
Опубликовано в рубрике WiFi