Esp8266 проекты для автомобиля
Архив рубрики: Проекты на ESP8266
Электронные проекты на основе модулей (микроконтроллеров) ESP8266, отличающихся широким набором функциональных возможностей при относительно невысокой цене. Отличительной особенностью данных модулей является их возможность использования технологии Wi-Fi, благодаря чему они находят широкое применение в сфере интернета вещей (Internet of Things, IoT). В данной рубрике представлены проекты, в которых модули ESP8266 являются главным элементом схемы, если же вы хотите посмотреть все проекты с использованием данных модулей на нашем сайте, то используйте тег «проекты ESP8266«.
Программирование NodeMCU ESP8266 «по воздуху» (Over-the-Air, OTA)
Беспроводное программирование по технологии OTA (Over the Air – «по воздуху») – это процесс, позволяющий устройствам обновить свою прошивку или программное обеспечение беспроводным способом, без физического подключения к чему-либо. Для этого можно использовать такие технологии как Wi-Fi, Bluetooth, GPRS или … Читать далее →
Подключение Bluetooth модуля HC-05 к NodeMCU ESP8266
В настоящее время технология Bluetooth неотъемлемой частью большинства цифровых устройств в современном мире: смартфонов, ноутбуков, часов, финтес-браслетов и т.д. Она стала доминирующей технологией для радиосвязи на короткие расстояния практически сразу после своего изобретения. Хотя в большинстве случаев технология Bluetooth используется … Читать далее →
Как использовать спящие режимы в ESP8266 для энергосбережения
В настоящее время сфера интернета вещей (IoT) развивается семимильными шагами и количество устройств IoT увеличивается в экспоненциальной прогрессии. Единственной проблемой, которая немного замедляет быстрый рост количества подобных устройств, является их энергопотребление. Поскольку чем больше устройств мы используем, тем больше их … Читать далее →
Передача с помощью NodeMCU ESP8266 данных температуры и влажности на Google Firebase
В последние годы наблюдается тенденция ко все большему увеличению объемов памяти современных микроконтроллеров, однако ее все равно недостаточно, к примеру, для таких задач как хранение в режиме реального времени данных, считываемых с датчиков. В этом случае приходят на помощью облачные … Читать далее →
Управление светодиодом с помощью ESP8266 NodeMCU и консоли Google Firebase
Стремительно развивающаяся в настоящее время сфера интернета вещей (Internet of things, IoT) позволяет управлять периферийными устройствами и считывать информацию с датчиков в любом месте земного шара. И на нашем сайте мы уже рассматривали достаточно много проектов из сферы интернета вещей, … Читать далее →
Топ аппаратных платформ для проектов интернета вещей (IoT)
В настоящее время интернет вещей (Internet of Things, IoT) уже не является модным словом и не представляется чем то экзотическим. С каждым годом эта сфера все больше и больше расширяется и все большее количество компаний представляет свои разработки в этой … Читать далее →
Создание веб-сервера на основе ESP8266 и платы STM32F103C8
Сфера интернета вещей (Internet of Things, IoT) является одной из активно развивающихся в современном мире. В этой сфере важную роль играют модули ESP8266, которые отличаются широким набором функциональных возможностей при относительно низкой цене. Ранее на нашем сайте мы уже рассматривали … Читать далее →
Передача Email с помощью ESP8266 и макетной платы MSP430
Технологии интернета вещей (Internet of Things, IoT) становятся все более популярными в современном мире, стимулируя развитие и других, смежных технологий. Одной из базовых задач, которые должны уметь делать устройства, функционирующие в сфере интернета вещей, является передача Email на заданный адрес … Читать далее →
Передача SMS с помощью модуля ESP8266
В данной статье мы рассмотрим передачу коротких текстовых сообщений (SMS) с помощью модуля ESP8266. Модуль ESP8266 является достаточно мощным WiFi модулем и, можно сказать, что в настоящее время он доминирует в сфере интернета вещей (Internet of Things, IoT). К тому … Читать далее →
Автоматизация дома на ESP8266 и приложении Android с голосовым управлением
В данной статье мы рассмотрим создание системы автоматизации дома (системы «умного» дома) на основе модуля ESP8266 и приложения Android, управление домашними устройствами в которой можно будет осуществлять с помощью голосовых команд. Данная статья является продолжением нашего предыдущего проекта автоматизации дома … Читать далее →
WIFI датчик температуры на базе WIFI модуля ESP8266 и датчика температуры DS18B20
Предисловие: Содержание данного поста на первый взгляд может не подходить для форума «ARDUINO для автомобиля», но если внимательно посмотреть, я думаю найдется, что то полезное…
1. Введение.
По случаю попали ко мне в руки WIFI модуль ESP8266 (ESP-01) и датчик температуры DS18B20. Задача – построить автономный датчик температуры, данные с которого можно посмотреть на компьютере/планшете. В будущем эти данные должны использоваться для контроля в «умном доме»…
Чип ESP8266 очень подходит для этого, так как обладает небольшими размерами, ценой, а самое главное, что его контроллер может заменить Arduino – он может сам выполнять все необходимые действия.
Вариантов модулей на чипе ESP8266 множество — все о ESP8266 можно прочесть тут — esp8266.ru/ больше чем здесь, я думаю вы на русском языке не найдете.
У меня ESP-01 – у которого только два управляемых выхода – GPIO 0 и GPIO 2:
Что касается датчика температуры DS18B20 – тоже достаточно популярное устройство, а главное он цифровой – значит, выдает готовые значения и работает по протоколу 1-Wire – можно будет использовать библиотеку OneWire. Кроме того специально для температурных датчиков Dallas DS18B20 есть Arduino-библиотека DallasTemperature. milesburton.com/Main_Page…mperature_Control_Library
Что касается построения такого WIFI датчика температуры – устройство ни уникальное – в интернете есть описания подобных схем на тех же компонентах, но программируются на языке Lua – вариант geektimes.ru/post/255594/. Но судя по описанию – там тоже все не просто так. Да и не хотелось «учить» еще один язык…
Я к Arduino уже как то привык.
Поэтому решено искать варианты Arduino скетчей. Тем более что и тут есть наработки:
— датчик температуры для проекта «Народный мониторинг» —
arduinolab.pw/index.php/2…o-monitoringa-na-esp8266/ — его я тоже попробовал.
А вот тут от того же автора скетч который позволяет выводить параметры температуры через браузер – именно его я использовал. vk.com/doc148062645_43703…630&dl=4f5f570366aac0e93a
Но оказалось, что бы его загрузить предстоит кое-что сделать.
2. Нужно:
1. Модуль ESP8266 (ESP-01);
2. Датчик температуры DS18B20;
3. USB-UART-TTL адаптер – например CР2102 (+драйвер);
4. Резистор 4,7 кОм;
5. Провода мама – мама/папа;
6. Изолента/термоусадка;
3. Настройка ADRUINO IDE для работы с WIFI ESP8266.
Для того, что бы загружать скетчи через ADRUINO IDE непосредственно на модуль ESP8266 необходимо провести апгрейд ADRUINO IDE – загрузить в него программу «ESP8266» для поддержки модуля (см. ссылку github.com/esp8266/arduino).
Как сказано на одном из сайтов:
«Программа ESP8266 поставляется с библиотеками, которые позволяют через интерфейс WiFi с помощью протоколов IP, TCP, UDP обмениваться данными с WEB, SSDP, mDNS и DNS серверами, использовать flash память для создания файловой системы, обеспечить работу с SD картами, сервоприводами, работать с периферийными устройствами по шинам SPI и I2C.»
Для этого нужно:
1. Зайти в меню «Файл» — выбрать «Настройки».
2. В ячейку «Дополнительные ссылки для Менеджера плат» внести ссылку arduino.esp8266.com/stabl…age_esp8266com_index.json
3. Зайти в меню «Инструменты» в «Плата:…» — выбрать «Менеджер плат…».
4. В закладке «Менеджер плат» нужно найти нужную прошивку — в поле указать например esp8266 – в окне высветится нужная прошивка.
5. Установить выбранную прошивку «esp8266» – щелкнуть на поле с прошивкой – появится кнопка «Установить» — нажать. Установка займет некоторое время – будет скачивать около 153 Мб.
6. После завершения установки в меню «Инструменты» в закладке «Плата:…» ниже перечня плат Arduino появится новые платы – «ESP8266 Modules».
7. Выбрать нужный модуль – в общем случае это «Generic ESP8266 Module».
4. Подключение ESP8266 к компьютеру для перепрошивки.
Как правильно подключить модуль много и хорошо написано – например тут:
esp8266.ru/esp8266-podklu…bnovlenie-proshivki/#full
Я для подключения ESP8266 к компьютеру для перепрошивки использовал USB-UART-TTL адаптер CР2102.
Схема подключения обычная да UART, за исключением двух особенностей:
1. Для включения модуля нужно подать +3,3В на вывод модуля CH_PD. Я припаял перемычку с VCC.
2. На время загрузки скетча необходимо подать «минус» на вывод модуля GPIO 0.
Если речь идет о настройке/отладки нескольких модулей имеет смысл сделать специальный комплект проводов для подключения.
Так же есть особенность с питанием модуля.
Во первых, он должен питаться от 3,3 В.
Во вторых, он очень прожорливый – мощности питания от USB-UART-TTL адаптера ему не хватало – компьютер постоянно сообщал, что к нему «подключено неизвестное устройство, при установке которого возникли проблемы».
Поэтому для питания модуля нужно организовать отдельное питание.
Если предполагается использовать более высокое напряжение — нужно использовать понижающий стабилизатор.
В моем случае я использовал две батареи АА 1,5В соединенные последовательно – но испытания показали хватает не на долго (возможно батареи были севшие).
ВНИМАНИЕ! При подключении внешнего источника питания при прошивке нужно соединить его с минусом USB-UART-TTL адаптера.
5. Загрузка скетча.
Если все сделали – можно начинать загрузку скетча:
vk.com/doc148062645_43703…630&dl=4f5f570366aac0e93a
Но для начала нужно в строчках с именем сети и пароля указать имя и пароль вашей сети:
const char *ssid = «…»;
const char *password = «…»;
Процесс загрузки визуально отличается от привычной загрузки – он будет сопровождаться рядом точек в окне статуса загрузки (см. фото).
Если этого не происходит и появилось сообщение об ошибке – включите и выключите питание модуля WIFI.
Если загрузка прошла успешно, уберите перемычку с GPIO 0 и «массы».
Откройте Serial порт в Arduino IDE и убедитесь, что модуль начал работать и самое важно – запишите IP адрес вашего модуля:
Connected to «Название вашей сети»
IP address: 192.168.ХХ.ХХ
MDNS responder started
HTTP server started Теперь можно отключать USB-UART-TTL адаптер и подключать датчик температуры.
6. Подключение датчика температуры.
Схема подключения датчика температуры типовая (см. рисунок).
Потребуется правда поработать паяльником – припаять сопротивление 4,7 кОм и датчик температуры, а так же перемычку включения питания (см. ранее).
Есть еще один вывод который может пригодится — вывод RST – «Сброс» — для этого нужно подать на него «минус». Пару раз пригодилась эта «кнопка» — возможно потому, что схема собрана на весу…
7. Работа датчика.
Если все прошло правильно датчик начнет помаргивать синим светодиодом и излучать в WIFI эфир температуру. А вот что бы эта температура стала «видима» нужно в браузере указать IP адрес вашего модуля (мы его знаем из пункта 5) и на экране появится вот такая картинка:
Обсуждение Питание ESP8266 в автомобиле
MikeK
Member
планируется некое устройство в автомобиле (адаптер для диагностики ЭБУ).
состоит из контроллера и ESP8266.
есть так же популярная плата mini-360 с регулировкой выходного напряжения, она вроде как построена на MP2307 10pcs Mini-360 DC-DC 4.75V-23V to 1V-17V Buck Converter Step Down Power supply | eBay
в общем хочу услышать мнение тех кто в теме по обоим вопросам.
Заранее благодарен, Михаил.
Victor
Administrator
Как бы не совсем в тему: для прототипов удобно использовать не модуль, а сразу NodeMCU LoLin или Wemos D1 mini или еще какую-то плату (все уже подтянуто куда надо, есть стабилизатор питания, USB и есть разъемы для быстрого подключения GPIO), а к этой плате подавать питание на 5в от модуля на базе MP1584EN (когда нет USB и 220в)
и можно даже потом его отрегулировать и на 3,3в
кому что нравится
Так что не стесняемся, предлагаем варианты.
Кстати, допустимое питание ESP8266 от 3,0 до 3,6в
MikeK
Member
плата Луа у меня есть, и есть еще другие платы типа еспдуино или как-то так. но в моем проекте роль есп это только UART-WIFI и в этом качестве я уже все испытал, залив прошивку от pvvx и убедился что все очень красиво работает. но это было именно на проводочках в отдалении 15 см от самого адаптара. теперь нужно плату разработать и посмотреть как все будет жить рядом, ну и возник вопрос с питанием.
RC-лодка на ESP8266 NodeMCU
Примерно полгода мне понадобилось, чтобы собрать такую лодку на дистанционном управлении.
Я расскажу про процесс разработки с самого начала: от лодки из потолочной плитки, гелевой ручки и консервной банки до модели из пластика, которую не стыдно подарить.
Если интересно, какие шишки мне пришлось набить, прошу под кат!
Оглавление
Зачем?
Ещё с детства у меня было особое желание собрать модель на дистанционном управлении.
Неважно, какую. Главное — собрать самому.
После знакомства с Arduino я начал смотреть другие контроллеры и наткнулся на ESP8266 NodeMCU. Прочитал про него и понял, что на его основе смогу осуществить задуманное.
Дело было в марте. У моего друга день рождения летом, и я решил, что за такой большой срок точно успею собрать лодку и подарить ему (спойлер: я опоздал на месяц).
Он любитель рек и озёр, так что выбор водного транспортного средства в качестве модели был очевиден.
Какой должна быть лодка?
Итак, я решил сделать лодку на дистанционном управлении.
Как я представлял себе готовую модель
Управлять лодкой я хотел со смартфона: удобно, ведь он всегда заряжен и под рукой.
Прототип дистанционного управления 1.0
Для начала собрал простой прототип машинки из LEGO, деталей от других поделок с Arduino и powerbank’а.
На ESP8266 NodeMCU я поднял:
Схема подключения
Первый прототип
Отлично, оно работает!
Прототип дистанционного управления 2.0
Управлять кнопками не очень-то удобно, поэтому я переделал интерфейс и стал управлять прикосновениями к определёнными частям экрана.
При таком интерфейсе приходилось часто слать запросы серверу, поэтому я добавил WebSocket сервер на ESP8266 NodeMCU и передавал команды уже по установленному с сервером соединению.
Схема подключения
Второй прототип
Пример управления
Подробно про то, как собрать такую машинку, я писал тут.
Немного теории и материалов
Прежде чем перейти непосредственно к тексту про создание лодки, я должен вкратце рассказать, из чего она состоит.
Картинка взята тут
Основные части, про которые я буду говорить, выделены синим цветом:
1 — перо руля/руль,
2 — винт,
3 — дейдвуд,
4 — тут должна быть муфта,
5 — мотор.
Основные материалы, которыми я вдохновлялся и пользовался
Больше всего нужного мне материла я нашёл в книге John Finch. «Advanced R/C boat modeling». Смотрел и другие, но зашла именно эта.
Тестирование дальности приёма
Чтобы проверить, на какую дальность можно рассчитывать в управлении, собрал вот такую штуку:
На клиенте можно запустить ping/pong тест к WebSocket серверу с замером времени ответа.
В таблицу выводится количество запросов/ответов и перцентиль времени ответа.
Походив по парку при прямой видимости, понял, что приемлемая для меня связь между такой поделкой и моим смартфоном держится на расстоянии не более 27 метров (расстояние потом проверял по картам).
27 метров: 95 перцентиль
48 миллисекунд, 99 перцентиль
Интерфейс клиента для тестирования дальности приёма
Вот тут можно взять код и провести эксперимент самому.
Версия 1.0
Электронные компоненты:
У меня была рабочая схема дистанционного управления, так что можно было заняться корпусом.
Чтобы собрать корпус лодки, я использовал чертежи из статьи Francisco Moliner
Распечатал их, склеил и вырезал из потолочной плитки.
Пока я собирал корпус и думал о том, из чего же делать дейдвуд, ко мне приехал бесщёточный двигатель A2212 1000KV.
По неопытности я заказал двигатель для коптеров:
Я неделю промучился с этим двигателем.
У меня получилось запустить мотор, но при резком изменении напряжения (быстро повысил или понизил скорость) двигатель отключался и контроллер перезагружался.
Думаю, что это из-за небольшой мощности питательного элемента (powerbank).
В конце концов я решил отказаться от него в пользу более мощного щёточного двигателя.
Тщетно пытаюсь настроить стабильную работу мотора
Сборка идёт полным ходом
Первый тестовый спуск на воду
Я понял, что у меня получится сделать хороший прототип, но он будет непрезентабельный.
Решил, что настала пора заказать 3D-принтер, который уже давно хотелось опробовать.
Версия 1.1
Особенности версии:
Для управления скоростью мотора я использовал L298N, но при этом терял почти половину мощности.
Это особенность использования ШИМ или сама схема так сделана — точно не знаю.
Я решил отказаться от управления скоростью. В итоге использовал L298N, но без управления ШИМ, что дало большой прирост мощности мотора.
Первый спуск на воду
К сожалению, я выбрал самый близкий, но очень заросший пруд.
Проплыв всего полтора метра, лодка намотала водоросли на вал винта и перестала слушаться управления.
Спустя десять минут, используя несколько веток, склеенных скотчем в одну большую, мы смогли достать пострадавшую из воды.
Вот первые фото лодки, но уже после того заплыва:
Не самый чистый пруд Питера
Хорошо видно, как расположены руль и винт
Видно, как водоросли намотались на вал
Лодка всё ещё немного протекала, поэтому пришлось искать место течи.
Cинюю жижицу отлично видно на белом фоне
Версия 1.2
Особенности версии:
Очищенная от грязи лодка выглядит намного лучше
Увеличена площадь руля
Добавлена защита от водорослей
Первый удачный спуск на воду:
Версия 1.3
Особенности версии:
Внезапно я понял, что на лодку уйдет много пластика, поэтому решил сделать её немного короче.
Чтобы посмотреть, как будет выглядеть укороченная версия, переделал уже имеющийся корпус.
Версия 2.0
Электронные компоненты:
Посылка из Китая пришла в отличном состоянии
Процесс сборки затянулся примерно на 6 часов
Пробная печать
Печать дейдвуда и муфты
Новый корпус выглядел аккуратно
Но было непонятно, что делать с отверстием, в которое попадает вода:
Версия 3.0
Электронные компоненты:
До этого работал только в Компас 3D для моделирования несложных моделей, но принципы во Fusion360 примерно те же.
Пришлось несколько выходных позаниматься, чтобы понять, как оптимально строить такие модели.
Спустя пару недель первая пригодная версия модели корпуса лодки была готова!
Разделил корпус на несколько частей и начал печатать.
Не особо разбирался с настройками печати, поэтому качество не очень.
Нос лодки
Корма лодки
Верх лодки
Процесс сборки корпуса
Готовый корпус
Также смоделировал и распечатал руль.
Решил проблему с отверстием для управления пером руля (видно на фото). В результате вода почти перестала попадать через него внутрь лодки.
Одна из финальных версий
Один трёхцветный светодиод заменил на 3 разных
Новый мотор периодически не включался с первого раза, и это ооочень раздражало и расстраивало.
Решил, что это опять связано с мощностью питательного элемента (powerbank), поэтому экспериментировал с обычными батарейками АА. С ними вроде стало получше.
Эксперимент с батарейками AA
Внезапно понял, что, скорее всего, у меня в powerbank’е стоит несколько аккумуляторов и я могу их соединить так, как нужно мне.
Разобрал powerbank иии… нет, там всего один элемент.
Всего один элемент в powerbank
Решил, что нужно заказать аккумуляторы.
Версия 3.1
Особенности версии:
Отсеки для новых аккумуляторов:
Контакты по-прежнему из консервных банок
Отсеки вклеены в лодку
Версия 3.2
Особенности версии:
Нельзя просто так взять и заменить уже вклеенный дейдвуд
Версия 3.3
Особенности версии:
Часть гибкой муфты
Полный комплект новой версии
Весь корпус и основные детали из пластика!
Первый спуск на воду версии 3.x
При реальных испытаниях стало понятно, что дистанция, на которой держится хорошая связь между смартфоном и лодкой, примерно в три раза меньше, чем при тестах (27 метров против
10 метров).
Несколько раз соединение с лодкой терялось на середине пруда, и нам приходилось ждать, пока ветерок подтолкнёт её к одному из берегов, где к ней снова можно было подключиться и начать управлять.
После таких казусов был введён параметр Emergency timeout, который можно настроить на клиенте (по умолчанию — 4 минуты). Он передаётся серверу с каждой командой. Если за этот таймаут лодке не приходили команды, то она начинала неспешно двигаться вперёд, в закат. На небольшом пруду это была отличная стратегия. В море такой таймаут лучше убрать)
Вспомнил, что отказался от бесщёточного двигателя как раз из-за слабых питательных элементов.
Попробовал подключить их к аккумуляторам 18650, и всё заработало как надо!
Из-за того, что бесщёточный двигатель предназначен для коптера, то просто так горизонтально установить его не получится (крутится весь двигатель, кроме основания).
Поэтому смоделировал и напечатал подложку для него.
Первая версия подложки
Подложка подошла идеально
Первая версия подложки для двигателя отлично подходила к нему, но плохо вписывалась в корпус лодки, так что пришлось ещё немного поэкспериментировать с её формой.
Спустя 2-3 распечатанных модели наконец-то получилось сделать подложку, которая хорошо помещалась внутри лодки и не мешала работе двигателя.
Весь вал в сборке от мотора до винта
Версия 3.4
Особенности версии:
Вклеил двигатель и тестировал его отдельно
Полный комплект новой версии
Собранная версия
Взвесил лодку в полной комплектации:
В полной комплектации лодка весит 626 грамм
Версия 3.5
Особенности версии:
Проклеил верх резинками
Финальное видео версии 3.5
UI клиента
При свёрнутом меню настроек для управления доступна почти вся область экрана
Настройки:
Все таймауты отправляются серверу в каждой команде, поэтому настроить их можно в любой момент.
Управление направлением
Управление скоростью
Итоги
Весь процесс растянулся примерно на полгода. Дорабатывать и улучшать модель можно было бы ещё очень долго. Я решил остановиться на достигнутом результате.
Другу подарок понравился, так что я доволен вдвойне)
Исходники 3D-моделей и кода лодки тут.
Исходники кода тестов дальности тут.