ESP8266 — це популярний контролер, здатний організувати бездротовий зв’язок при проектуванні системи «Розумний дім». Його «будова» дозволяє йому забезпечувати обмін даними за стандартами Wifi. Це забезпечує проектам, створеним на Arduino, доступ в інтернет для дистанційного збору та обміну інформацією. На основі цього чіпа створені такі популярні плати, як WeMos і NodeMcu, а також саморобні технології. У цьому матеріалі буде розібрано, що таке Arduino Wifi ESP8266, як налаштувати ардуіно вайфай модуль і його взаємодію з іншими засобами.
ESP8266 — це контролер, який працює зі стандартом безпровідного зв’язку Wifi і здатний виконувати код програм з вбудованої флеш-пам’яті. Чіп був розроблений і випущений китайською компанією Espressif і моментально став одним з найпопулярніших для даних цілей.
Сам вай фай модуль для ардуіно Wifi досить дешевий і містить невелику кількість зовнішніх елементів, маючи наступні технічні характеристики:
Важливо! Мікроконтролер не має настроюваної енергонезалежною пам’яттю. Всі програми виконуються з зовнішніх постійних запам’ятовуючих пристроїв і завантажуються динамічним чином. Доступ до внутрішніх інтерфейсів здійснюється через API набір бібліотек, а не з допомогою документації. Кількість оперативної пам’яті дорівнює приблизно 50 Кб.
Контролер володіє наступними особливостями:
Модуль часто застосовують у різних проектах у зв’язці з іншими пристроями для:
Важливо зрозуміти, що варіацій модуля існує чимало. На малюнку в кінці попереднього підрозділу представлені лише деякі з них. Особливу популярність здобув контролер ESP-01. Виконання коду програми визначається станом портів GPIO0, GPIO2 і GPIO15: включенням і вимиканням подачі живлення на них. Існує два важливих режиму роботи:
Наводиться офіційне опис всіх контактів:
Від не менш популярного Arduino Wifi модуль ESP відрізняється наступними рисами:
Для зручності програмування на мікроконтролері в комплекті йдуть:
Важливо! Стандартна прошивка модуля дозволяє йому керувати модулем з іншого контролера і організувати роботу з Wifi і модемом. Крім заводської прошивки є також маса інших готових рішень, що настроюються за допомогою веб-интрефейса.
Програмування також можливе з середовища розробки для Arduino. Вона дозволяє не тільки легко писати програми, але і завантажувати їх в контролер, прошивати його. Найголовніше, що для цього не потрібна сама плата ардуіно.
Функції, підтримувані мікроконтролером:
За допомогою ESP можна влаштувати підключення Arduino або реле до Wifi. Важливий момент зв’язку полягає в тому, що напруга, що подається для цих мікроконтролерів, різне, і їх з’єднання повинно відбуватися через резистивні дільники. Загальна схема підключення виглядає так: сін 3.3 Вольта від ардуіно підключається до CH_PD на ESP, а заземлення з ардуіно підключається до заземлення на ЕЅР. 0 на ТХ, а 1 на RХ.
Подальше підключення виконується за інструкцією:
NodeMCU — одна з найбільш популярних платформ, заснованих на чіпі ESP. Вона найчастіше використовується, щоб управляти схемами на відстані за допомогою бездротового зв’язку Wifi. Сама плата коштує недорого, важить мало і має порт USB. З боків від нього розташовані кнопки для перезавантаження та налагодження платформи. Живлення найкраще подавати до 12, але не менше 10.
Важливо! Найбільша перевага плати — її низьке енергоспоживання. Саме тому NodeMCU часто застосовують у схемах на автономному живленні від батареї. Більш того, NodeMCU має набір API для введення і виведення в апаратному режимі, що дозволяє мінімізувати кількість дій при налаштуванні і роботі.
Друге популярне рішення на базі ESP — WeMos. Він також підтримує зв’язок по WiFi, розробку на Arduino IDE і навіть містить роз’єм для зовнішньої Wifi антени. Максимальна напруга становить 3.3 Ст. На платі розташовано 11 портів для введення і виведення, що підтримують стандартні для ESP і Arduino технології. Як і в NodeMCU, у WeMos є USB-порт. Щоб працювати з платформою, необхідно встановити драйвер CH340 і налаштувати IDE від ардуіно на роботу з ESP.
Як приклад можна навести створення програми для NodeMCU в середовищі ардуіно. Для цього на ПК встановлюється для модуля Arduino Wi fi, яке налаштовується на роботу з ESP8266.
Далі, наприклад, плата NodeMCU підключається до аналогового фоторезистору і відправляє дані на сервер по протоколу MQTT. Схема з’єднання представлена нижче.
Щоб написати і запустити код, знадобиться бібліотека pubsubclient. Скачавши її, потрібно помістити файли з архіву в папку бібліотек IDE і відкрити в середовищі скетч _2.ino. Щоб все працювало як треба, необхідно внести в код наступні зміни (SSID і пароль):
const char* ssid = «your_wifi_hotspot»
const char* password = «your_wifi_password»
Далі відбувається завантаження програми на плату, відкривається монітор послідовного порту та моніториться результат на картинці.
Після всього цього плата підключається по Wi-fi до MQTT і він буде відображати дані фоторезистора.
Wifi сервер на ардуіно на базі ESP організовується аналогічним чином. Для нього можна використовувати мову скриптів LUA. Скрипт, представлений нижче, створює найпростіший сервер, який відображає інформацію при зверненні пристроїв на платі:
Код зберігається у файлі server1.lua, після чого запускається. Щоб перевірити роботу, можна підключитися до точки доступу та набрати в браузері IP-адресу 192.168.4.1:
Детальніше про функції та склад контролера було написано вище. Узагальнено модуль містить наступні елементи:
На завершення можна сказати, що ESP, мабуть, кращий Wifi модуль для ардуіно. Підключення ардуіно до Wifi процес не найпростіший, але нічого надприродного там немає. Сучасні плати і контролери дозволяють Arduino виконувати передачу даних по Wifi без будь-яких проблем.
Ми використовуємо файли cookie для максимальної зручності користувачів. Перебуваючи на сайті, ви приймаєте правила використання файлів cookie.
Privacy policy