Тег: nodemcu
ESP8266 + Firebase
Сейчас облачными хранилищами никого не удивишь. Все хранят данные в облаках. А может ли ESP8266 под NodeMCU использовать облачные хранилища? А почему бы и нет. Давайте заставим ESP8266 отправлять данные в базу данных FireBase.
Как сделать Web-интерфейс для ESP8266 под NodeMCU
WiFi модули на базе микроконтроллера ESP8266 имеют достаточно интересный функционал, включая возможность использовать WiFi. Это позволяет использовать их в различных домашних устройствах. Создание Web-интерфейса для таких устройств - наиболее привлекательная, но не всегда простая тема. В этой статье рассматриваются примеры создания web-интерфейса для ESP8266 под framework NodeMCU на языке LUA. В примерах от простого к сложному ознакомимся с преимуществами ESP8266 и научимся бороться с его недостатками. Главный недостаток ESP8266, особенно при построение web-интерфейса, это конечный объем оперативной памяти. Этого можно не заметить при создании простых приложений, но при решении более сложных задач Вы неизбежно столкнетесь с недостатком памяти. Надеюсь, эта статья поможет обойти подобные проблемы.
Во всех примерах использовался модуль ESP12E и фреймворк NodeMCU собранный с модулями: adc, bme280, cron, crypto, dht, file, gpio, http, i2c, mqtt, net, node, pwm, rtctime, sjson, sntp, spi, tmr, u8g, uart, websocket, wifi, tls.
Такое количество модулей не обязательно. Эта сборка использовалачь для примеров к другим статьям. Необходимые модули: file, net, sjson, websocket, wifi.
Скачать фреймворк NodeMCUможно здесь
Скачать примеры здесь.
ESP8266 NodeMCU. I2C. BME280
Приклад роботи ESP8266 (NodeMCU) з датчиком атмосферного тиску, температури і вологості BME280. Датчик BME280 працює по шині I2C (IIC). Шину IIC будемо використовувати для одночасної роботи з датчиком BME280 та дисплеєм SSD1306. Нагадаю, що приклад використання дисплею SSD1306 з бібліотекою UG8 був наведений у статті ESP8266 NodeMCU. SSD1306. U8G.
GPS-трекер + Дисплей SSD1306
У одній з попередніх статей розглядався GPS-трекер на базі ESP8266
Тепер підключимо до нього дисплей SSD1306. Докладніше про SSD1306 та бібліотеку U8G йшлося у статті ESP8266 NodeMCU. U8G
Треба підключити дисплей SSD1306 як показано на схемі:
ESP8266 NodeMCU. SSD1306. U8G
Для роботи з різними дисплеями NodeMCU використовує бібліотеку U8glib. Підтримуються дисплеї які працюють по шині SPI або IIC. В документації до NodeMCU можна перевірити чи підтримується саме ваша модель дисплею: https://nodemcu.readthedocs.io/en/master/en/modules/u8g/ У прикладі використовується графічний OLED дисплей SSD1306 який працює по шині IIC.
GPS-трекер на базі ESP8266
GPS-трекер на базі ESP8266 з SD-карткою та web-інтерфейсом
Цей приклад демонструє, як можна зробити простий GPS-трекер за допомогою популярних електронних модулів. У цьому прикладі використовується Wi-Fi модуль ESP-12 на базі чіпа ESP8266. Прошивка NodeMCU та LUA-скрипти з відкритим кодом.ESP8266 NodeMCU. UART
ESP8266 має один UART порт. NodeMCU дозволяє використовувати ще один UART порт, який може тільки передавати дані, але нас цікавить тільки повноцінний порт. Невеличка складність використання UART виникає через те, що цей порт використовується для програмування плати NodeMCU. Коли запускається скрипт, який використовує UART, скрипт перехоплює всі данні які йдуть по порту UART, і NodeMCU вже не виконуватиме ніяких команд, поки скрипт не «відпустить" UART. Щоб уникнути блокування NodeMCU і забезпечити можливість відправляти команди, застосовуємо прийом, описаний в статті "ESP8266 NodeMCU Прошивка. Робимо WiFi розетку". Тобто, робимо авто-запуск головного скрипта з затримкою. Це дасть нам кілька секунд контролю над NodeMCU щоб виправити ситуацію якщо щось пішло не так. Приклад скрипта init.lua:
ESP8266 NodeMCU, file, SD-Card
NodeMCU має власну файлову систему. Можна не тільки зберігати скрипти lua, а і використовувати її для роботи з власними файлами. Файлова система проста, без директорій. Тобто, всі файлі зберігаються у корні файлової системи. Проте допускається створення файлів з іменами типу: myDir/test.txt, але це буде просто файл з таким ім`ям. За роботу з файлами відповідає модуль file. Як і у звичайних файлових системах, файли можна відкрити у декількох режимах. Відкривається файл функцією file.open(filename, mode). Функції передаються ім`я файлу та потрібний режим:
ESP8266 NodeMCU timer, rtc, SNTP, cron
Розглянемо роботу таймерів, лічильників, Watchdog, годинника реального часу, синхронізацію часу з Інтернетом, та cron. Словом все, що має відношення до часу. У NodeMCU можна використовувати 7 таймерів, за допомогою яких запускати потрібні функції через певний час. Роботу таймерів забезпечує модуль tmr.
ESP8266 NodeMCU ADC
ESP8266 має лише один канал Аналого-цифрового перетворювача (ADC0). АЦП 10- бітний. Діапазон вимірюваних напруг 0..1 Вольт. Зверніть увагу, на платі NodeMCU може бути впаяний резистивний дільник напруги. У цьому випадку на вхід плати (A0) можна подавати від 0 до 3.3 В.
ESP8266 NodeMCU PWM
У попередній статті ми познайомились з NodeMCU і спробували керувати GPIO виводами. Тепер використаємо PWM для керування яскравістю світлодіода і спробуємо керувати сервомашинкою або сервоприводом. За роботу з PWM відповідає модуль PWM. Зверніть на це увагу, коли будите робити зборку NodeMCU. Як зібрати NodeMCU з потрібними модулями ми розглядали у попередній статті.
NodeMCU дозволяє використати одночасно не більше 6 PWM виходів на пінах від 1 до 12. Частота PWM може бути від 1 до 1000 Гц. Шпаруватість задається 10 бітним числом, тобто від 0 до 1023.
ESP8266 NodeMCU Прошивка. Робимо WiFi розетку
Популярність WiFi-модулів на базі ESP8266 на стільки велика, що крім прошивок для використання ESP8266 у якості WiFi-модуля під керуванням зовнішнього мікроконтролера, існує безліч прошивок для використання його і як мікроконтролера з різними цільовими призначеннями, у тому числі і в сфері Інтернет речей. У цьому циклі статей ми будемо вивчати можливості ESP8266 з прошивкою NodeMCU і познайомимось з мовою програмування LUA.
Недавні записи
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
- AS5600. Варіант встановлення на BLDC мотор
- DC-DC для IGBT драйверів ізольований 2 W +15 -8 вольт
- U-FOC - Векторне керування безколекторними моторами
- FOC - своя реалізація векторного керування. Підбиваю підсумки 2022 року
- Конструктор регуляторів моторів. Підбиваю підсумки 2022 року.
- Чому трифазні мотори стали такими популярними?
Tags
html uart pmsm hih-4000 mpu-9250 soldering dc-dc ethernet mpx4115a foc programmator ssd1306 bmp280 examples java-script raspberry-pi tim servo books eb-500 mongodb nodemcu docker wifi lcd adc max1674 dht11 python ssd1331 mpu-6050 remap rtc piezo solar displays led web css options dma gpio usart sms rfid esp8266 i2c 3d-printer usb pwm bldc atmega sensors barometer rs-232 git websocket motor meteo encoder bluetooth brushless timer watchdog eeprom battery st-link ngnix nvic smd stm32 flask gps capture avr bme280 flash bkp exti
Архіви