Оглавление:

Миниатюрная Dash-кнопка ESP8266 (перенастраиваемая): 15 шагов
Миниатюрная Dash-кнопка ESP8266 (перенастраиваемая): 15 шагов

Видео: Миниатюрная Dash-кнопка ESP8266 (перенастраиваемая): 15 шагов

Видео: Миниатюрная Dash-кнопка ESP8266 (перенастраиваемая): 15 шагов
Видео: ESP8266 NodeMCU - Buttons 2024, Ноябрь
Anonim
Миниатюрная Dash-кнопка ESP8266 (перенастраиваемая)
Миниатюрная Dash-кнопка ESP8266 (перенастраиваемая)
Миниатюрная Dash-кнопка ESP8266 (перенастраиваемая)
Миниатюрная Dash-кнопка ESP8266 (перенастраиваемая)
Миниатюрная Dash-кнопка ESP8266 (перенастраиваемая)
Миниатюрная Dash-кнопка ESP8266 (перенастраиваемая)

Это крошечная кнопка тире на основе ESP8266. Он остается в режиме глубокого сна, когда вы нажимаете кнопку, он выполняет запрос GET к указанному URL-адресу и, если он настроен, также передает напряжение питания как переменную. Самое приятное то, что просто замкнув два контакта, вы можете перевести его в режим конфигурации. Позволяет изменять все настройки без перепрограммирования.

Для того, чтобы следовать этому инструкциям, я предполагаю, что вы знаете некоторые вещи, например: как паять, как следовать схеме и как загружать программу и данные SPIFFS в ESP.

Шаг 1. Необходимые материалы и инструменты

Необходимые материалы и инструменты
Необходимые материалы и инструменты
Необходимые материалы и инструменты
Необходимые материалы и инструменты
Необходимые материалы и инструменты
Необходимые материалы и инструменты

Для этого проекта вам понадобятся:

  • ESP-01 (очевидно)
  • Литий-полимерный аккумулятор емкостью 50 мАч или аналогичный
  • 2x1 гнездовой контактный разъем
  • LDO 3,3 В (настоятельно рекомендую HT-7333A, он имеет отличный резервный ток 4 мкА и выпадение 170 мВ)
  • Крошечная кнопка
  • Немного тонкой проволоки (проволока для обертывания отлично работает)

Также вам понадобятся:

  • Плата для программирования ESP
  • Паяльник / припой / флюс
  • Демонтажный насос
  • Пинцет и / или приспособления для зачистки проводов
  • Наждачная бумага
  • Супер клей

Шаг 2: программирование

Программирование
Программирование

Этот проект полностью с открытым исходным кодом, если вы хотите изменить код, он находится на моем GitHub. Но в этом нет необходимости. Эту кнопку можно перенастроить без перепрограммирования.

Вы можете скачать предварительно скомпилированный код здесь.

Просто подключите программатор ESP и ESP8266 (не забудьте подключить GPIO_02 к GND, чтобы войти в режим программирования) и загрузите файл.bin и данные SPIFFS.

Очень важно загрузить папку данных SPIFFS, без нее код не загрузится. И после удаления заголовков выводов необходимость вернуться к перепрограммированию будет очень утомительной.

Шаг 3. Как работает код (если вам интересно, просто пропустите)

Как работает код (если вам интересно, в противном случае просто пропустите)
Как работает код (если вам интересно, в противном случае просто пропустите)
Как работает код (если вам интересно, в противном случае просто пропустите)
Как работает код (если вам интересно, в противном случае просто пропустите)
Как работает код (если вам интересно, в противном случае просто пропустите)
Как работает код (если вам интересно, в противном случае просто пропустите)

Когда ESP загружается, он считывает и анализирует файл config.jsn из файловой системы SPIFFS с помощью библиотеки ArduinoJSON. Это загружает все настраиваемые параметры в переменные.

Затем он проверяет, подключен ли GPIO_03 [RX] к земле, если это так, он войдет в режим конфигурации.

Если это не так, он попытается подключиться к WiFi, а затем к серверу. Он завершает запрос GET и переходит в режим глубокого сна для экономии энергии.

В режиме конфигурации вы можете установить все настройки. (подробнее на шаге 13)

Поскольку здесь важна экономия энергии, если что-то займет слишком много времени или если подключение к Wi-Fi / серверу не удастся, он просто мигнет пять раз быстро, а затем длинный мигнет, чтобы указать на ошибку и вернуться в режим глубокого сна.

Если все пойдет правильно, он мигнет сначала коротко, а потом долго. Показать это удалось. Затем войдите в глубокий сон.

Все еще любопытно? взгляните на мой GitHub.

Шаг 4: Схема

Схема
Схема

Это должно помочь вам построить его на следующих нескольких шагах.

Шаг 5: извлеките заголовок булавки

Удаление заголовка булавки
Удаление заголовка булавки

Во-первых, будьте на 100% уверены, что вы правильно запрограммировали ESP8266, и на 100% уверены, что загрузили данные SPIFFS.

Затем первым делом нужно отсоединить контактный разъем 2x4, это позволит нам уменьшить размер кнопки. Но это также означает, что вы не можете перепрограммировать, не перепаяв его. Убедитесь, что программа и SPIFFS прошиты.

Вы по-прежнему сможете изменить настройки.

Это намного проще с острым наконечником паяльника и насосом для удаления припоя. Моя стратегия состоит в том, чтобы сначала соединить все восемь контактов припоем, затем нагреть их все сразу и выдернуть заглушку с помощью пинцета. Затем, удалив излишки припоя, я протыкаю отверстия сверху утюгом и высасываю припой с помощью насоса через нижнюю часть.

Шаг 6: припаяйте переключатель

Припаиваем переключатель
Припаиваем переключатель

Затем вам нужно припаять нажимной переключатель между GND и RST. В моем случае булавки для кнопок были слишком толстыми, поэтому мне пришлось обрезать их немного тоньше с помощью ножниц. Убедитесь, что кнопка находится заподлицо с доской, в противном случае она может сломаться со временем из-за стресса от нажатия.

Шаг 7: Подключите CH_PD к VCC

Подключите CH_PD к VCC
Подключите CH_PD к VCC

Чтобы разрешить ESP запускать код, не забудьте подключить CH_PD к VCC.

Шаг 8: Снимите индикатор питания

Снимите индикатор питания
Снимите индикатор питания
Снимите индикатор питания
Снимите индикатор питания

Кнопка должна потреблять как можно меньше энергии. И поскольку он всегда включен, светодиод питания всегда будет потреблять ~ 4 мА. Это сократит время автономной работы до двенадцати часов. Так что снимите его или снимите.

Шаг 9: переключатель конфигурации пайки

Переключатель конфигурации пайки
Переключатель конфигурации пайки

Чтобы войти в режим конфигурации, GPIO_03 [RX] должен быть подключен к GND. Чтобы упростить это, я припаял небольшой рычажок, который можно сдвинуть в сторону, чтобы установить соединение.

Шаг 10: Добавьте блок питания, регулятор и разъем

Добавьте блок питания, регулятор и разъем
Добавьте блок питания, регулятор и разъем
Добавьте блок питания, регулятор и разъем
Добавьте блок питания, регулятор и разъем
Добавьте блок питания, регулятор и разъем
Добавьте блок питания, регулятор и разъем
Добавьте блок питания, регулятор и разъем
Добавьте блок питания, регулятор и разъем

Это самая длинная часть сборки. Вам нужно будет припаять аккумулятор, регулятор напряжения и разъем зарядки согласно схеме.

Чтобы все это поместилось в крошечном пространстве под ESP-01, мне пришлось отшлифовать корпус регулятора напряжения TO92. Обязательно спланируйте свою разводку перед пайкой, она будет очень плотной, но все еще пригодной для выполнения.

Если ваша батарея слишком большая, вы можете отказаться от регулятора напряжения. Это сработает, но есть риск повредить ESP8266. Он рассчитан только на максимальное напряжение 3,6 В, но полностью заряженный LiPo выдает 4,2 В. Действуйте на свой страх и риск.

Шаг 11: суперклей

Суперклей It Toghether
Суперклей It Toghether
Суперклей It Toghether
Суперклей It Toghether
Суперклей It Toghether
Суперклей It Toghether

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

Шаг 12: зарядка

Зарядка
Зарядка

Для зарядки вашей кнопки вам понадобится какое-то зарядное устройство LiPo, я просто использую стандартную USB-плату зарядного устройства Li-Po, подключенную к кнопке через разъем для зарядки. Будьте осторожны, чтобы не переключить полярность.

Шаг 13: настройка

Настроить
Настроить

Вы почти готовы использовать свою кнопку в первый раз.

Чтобы войти в режим конфигурации, вам необходимо подключить GPIO_03 [RX] к GND, это будет проще, если вы припаяете рычаг, как в шаге 9. Затем, нажав кнопку для сброса ESP, он должен войти в режим настройки. Теперь вы можете отсоединить рычаг.

Тогда вы можете просто:

  1. Подключитесь к точке доступа Wi-Fi ESP_Button с паролем wifibutton.
  2. Посетите https://192.168.4.1, чтобы открыть страницу конфигурации.
  3. После установки значений нажмите кнопку «Сохранить», затем «Перезагрузить».
  4. Ваша кнопка перезапустится, выполнит запрос и войдет в режим глубокого сна.

Убедитесь, что в поле хоста введено только имя хоста, а не https:// или https://, а оставшуюся часть URL отделяют в полях URI.

Шаг 14: попробуйте

Image
Image

У вас должно быть все в порядке, нажатие кнопки вызовет ваш запрос GET.

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

Настройка запроса GET выходит за рамки этого руководства, но вы легко сможете подключить его к IFTTT или любой другой службе. Если вы хотите написать какой-нибудь собственный PHP-код и разместить его на своем собственном веб-сайте, как я, вы даже сможете контролировать заряд батареи.

Если у вас есть какие-либо проблемы или вам нужна помощь в устранении неполадок, оставьте комментарий ниже.

Любой может поделиться идеями о том, как это улучшить, например, случай? xD

Оставьте комментарий, если вы поклонник Доктора Кто.

Ваше здоровье!

Шаг 15: Обновление: чехол с 3D-принтом

Обновление: чехол с 3D-принтом
Обновление: чехол с 3D-принтом
Обновление: чехол с 3D-принтом
Обновление: чехол с 3D-принтом
Обновление: чехол с 3D-принтом
Обновление: чехол с 3D-принтом

Через некоторое время, используя кнопку тире, я решил обосновать это. Прикреплены файлы STL и Fusion 360.

Рекомендуемые: