Аналітики кажуть, що найближчі роки будуть стосуватися вибуху пристроїв, пов'язаних з Інтернетом. Також званий Інтернетом речей, я б асоціював його з маленькими крихітними одноразовими пристроями.

базікав

Для тих, хто любить складати рішення відповідно до власних потреб, платформа ESP8266 пропонує неймовірно корисний інструмент.

Таким чином, це невелика система з підтримкою Wi-Fi, яка вміщується на одному крихітному чіпі. Розробка розпочалася в Китаї компанією Espressiff, спочатку приблизно в 2014 році для використання з Arduinoes для доступу до Wi-Fi.

Його розповсюдженню довгий час заважав той факт, що вся документація була доступна китайською мовою, що також є досить неповним. Через це спільноті потрібен був час, щоб перекласти його англійською мовою та почати відкривати справжні можливості інструменту.

Перепрограмувати це виявляється легко, а його можливості у багатьох відношеннях конкурують із заслуженим популярним Arduino.

Arduino (uno/nano тощо) ESP8266
Частота процесора 16 МГц 80/60 МГц
Архітектура 8-бітний AVR 32-бітний RISC
Блок живлення 5 В 3,3 В
ОЗП 2кБайт Інструкція 64 кБайт + 96 кБайт даних
Спалах 32кБайт 1-4 Мбайт (зазвичай 4 або 2)
EEPROM 1кБайт -
Кількість цифрових виводів вводу-виводу 14 8-16
Кількість аналогових ніжок 6 1 10 укусів
Wi-Fi ні фургон

Як видно з таблиці, він має значно потужніший процесор і більше оперативної пам’яті, що також потрібно через WiFi. Для такого дешевого пристрою особливо приємною є можливість підключатися до мереж, що використовують шифрування WPA, завдяки більшим обчислювальним можливостям.

Оскільки його розвиток безперервний, він з’явився у декількох різних формах, які найбільше відрізняються за розміром за кількістю ніжок вводу-виводу. Повний список можна переглянути тут, я хотів би лише виділити найбільш популярні:

ESP-01: це найперша модель. Він має лише два безкоштовних виходи, однак це єдина версія, яка також може бути використана на макеті. Не випадково ми можемо отримати його приблизно за 800 форинтів.

ESP-07: Я б згадав цю версію окремо, оскільки вона єдина, до якої також може бути підключена зовнішня антена. Ціна також схожа.

ESP-12 (E): На даний момент це найпопулярніший: він невеликий, але має 4 Мб спалаху і має багато ніжок. Можливо, його популярність може бути причиною того, що він може бути навіть трохи дешевшим за попередні версії.

Однак через невеликий розмір растру та відсутність USB-з'єднання їх важко використовувати для домашнього майстерності, за винятком ESP-01. Тут вступають у дію модулі розробки, де одна версія розміщується на панелі іншим виробником, що компенсує ці недоліки: ніжки направляються до стандартних роз’ємів сітки 2,54 мм.

Найпоширеніший з них - нодемку та його клони. Поточна версія (друге покоління) становить близько 1800 форинтів, варто купувати більше відразу, бо тоді ми можемо отримати значні знижки. Однак майте на увазі, що існує старіша версія, яка є ширшою, що ускладнює використання на стандартних макетних панелях. Однак доступно кілька будівельних комплектів, що, в свою чергу, сумісне з цією версією.

Моїм особистим улюбленим є d1 mini не тільки тому, що він дешевший за модулі розміру нодемку, а й тому, що він поміщається в більшій кількості місць через менший розмір, і користувач також може вирішити, як його підключити. Однак у своїх здібностях він приносить майже те саме, що і нодемку. Також доступні різні дошки, схожі на Arduino, але вони значно менші.

Програмування

Я не випадково почав з NodeMCU, коли перелічував модулі. Це пов’язано з тим, що він охоплює не тільки модуль, а й створену для нього прошивку. Ми отримуємо вбудований інтерпретатор Lua з відкритим кодом, щоб ми могли починати програмування майже відразу. Мова Lua дуже проста, вона майже схожа на змішування BASIC з javascript: після кількох прикладів досі кожен міг почати працювати з нею.

Його універсальні модулі спрощують використання більшості популярних компонентів. Ми отримуємо операції з файлами та gpio, механізми керування ШІМ, мережевий клієнт та сервер, а також функції клієнта та сервера HTTP, dht11 та підтримку датчика термометра ds18s20, але ми також маємо зараз заслужено популярний стандартний клієнт MQTT. Повне посилання може бути знайдений тут.

Оскільки nodemcu - це прошивка, яка запускається під час завантаження пристрою і працює безперервно, ви навіть можете запрограмувати її, підключившись до відповідного послідовного порту за допомогою термінальної програми та ввівши команди після підключення usb.

Однак додаток Java під назвою ESPlorer забезпечує дещо складніше середовище, ніж це, що є елементарним, але це можна зробити досить добре.

Найбільшим недоліком nodemcu є те, що фреймворк інтерпретатора поглинає багато пам'яті, а виконання програми також повільне. Тому тим, хто цінує продуктивність, краще використовувати середовище Arduino, для якого слід встановити цей пакет. Тоді ми можемо використовувати для розробки мову C/++, яку ми вже знаємо з Arduino. Отримана програма працює на процесорі ESP8266 як власний додаток, який працює значно швидше, а наш додаток має майже в чотири рази більше пам'яті, ніж nodemcu.

На жаль, однак, я думаю, що документація для цього трохи слабша, а підтримка модулів дещо бідніша, натомість можна використовувати більшість бібліотек arduino.

Використовуйте

Найпоширенішою сферою використання є побудова датчиків та контролерів навколо наших будинків. Наприклад, метеорологічні станції є загальним явищем, і я думаю, що цей проект найкраще розроблений. Я все-таки рекомендую блог, там є ще кілька цікавих проектів, зараз улюбленим є цей маленький інструмент, який дає інформацію про літаки, які летять над головою.

Щоб отримати ідеї, ви можете переглянути цей форум: тут регулярно змагаються проекти на базі esp8266. з кращими, ніж кращими знаменниками.