Светодиоды, управляемые ТЕЛЕФОНОМ на ESP32

У меня есть сомнения по поводу проекта, который я делаю. В моем проекте задействованы наборы светодиодных лент, среди которых часть управляется со смартфона, а часть автоматизирована. Светодиодные ленты подключены к Arduino, который будет получать команды с телефона. Вот схема с основными элементами, которые я отметил для своего проекта:

  • Отладочная плата с поддержкой Wi-Fi
  • фреймворк/программа, позволяющая смартфону общаться с платой
  • И приложение для Android с цветным интерфейсом для изменения цвета светодиодов

Я провел небольшое исследование:

  1. Я нашел много плат и в итоге выбрал платы ESP32 (хорошие).
  2. Я нашел систему WLED, которая соответствует моим требованиям
  3. Я знаю Домашний помощник, который предлагает больше возможностей, чем WLED
  4. Я не буду использовать локальный сервер, так как его неудобно использовать другим людям (например, членам семьи).

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

Домашний помощник более совершенен, и у него не должно быть проблем, упомянутых выше. Он также может поддерживать несколько устройств и на нем может быть зарегистрировано много плат. Позже я хотел бы расширить Home Assistant на другие проекты, поэтому запустить Home Assistant сейчас — хорошая идея. Таким образом, я думаю, что выберу Home Assistant


Сейчас я борюсь со следующими проблемами:

  1. Я не уверен, правильно ли я понял, но я читал жалобы некоторых людей на некоторые платы ESP32, которые требуют полной настройки Wi-Fi (сетевого стека) и сложны в установке. Вот почему я хотел платы Adafruit, предполагая, что их чип уже имеет загруженный код. Это верно?
  2. Я также читал в Интернете, что после компиляции сетевого стека на платах ESP8266 не осталось места для запуска программы. Учитывая, что я выбираю ESP32 с большим объемом памяти, достаточно ли у меня места для моего кода или оно все еще ограничено?
  3. С WLED все в порядке, но, как я уже сказал, я не уверен, что смогу загрузить код. Могу ли я загрузить на плату пользовательский код и систему WLED, или она полностью ориентирована на WLED?

Спасибо всем, кто может дать мне некоторые разъяснения, я буду признателен!

Дополнительная информация: мне очень не нравится голосование против, без каких-либо примечаний, объясняющих, почему. Мне пришлось провести много времени перед моим экраном и много пройти через платформу обмена, чтобы убедиться, что вопрос того стоит, поэтому, если у вас есть что-то, что вас беспокоит, пожалуйста, скажите об этом! Спасибо

, 👍-1

Обсуждение

В этом единственном посте у вас много интересного. Вероятно, вам больше повезет, если вы зададите один конкретный вопрос, на который можно будет дать четкий ответ., @timemage


1 ответ


Лучший ответ:

-1

Я не уверен, правильно ли я понял, но я читал жалобы некоторых людей на некоторые платы ESP32, которые требуют полной настройки Wi-Fi (сетевой стек) и сложны в установке. Вот почему я хотел платы Adafruit, предполагая, что их чип уже имеет загруженный код. Это верно?

Я не знаю, какие жалобы вы видели (поскольку они вам не понравились), поэтому не могу говорить о контексте. Я использовал несколько разных плат ESP. Немного сложнее программировать платы без USB-интерфейса. В основном это касается очень маленьких плат.

Да, Adafruit — авторитетный источник таких плат. Хотя у меня также никогда не было проблем с типичными платами разработки ESP из других источников, таких как компания, названная как большая река в Южной Америке. Установите ядро ESP32 в Arduino IDE, подключите плату через USB и запрограммируйте ее.

Я также читал в Интернете, что после компиляции сетевого стека на платах ESP8266 не осталось места для запуска программы. Учитывая, что я выбираю ESP32 с большим объемом памяти, достаточно ли у меня места для моего кода или оно все еще ограничено?

Да, ESP8266 меньше, но я все еще использовал его и мог писать довольно большие программы при использовании Wi-Fi. Здесь также важен один факт: Число после ESP описывает сам чип, но в большинстве плат используется микросхема внешней флэш-памяти. Таким образом, максимальный размер программы зависит от размера флэш-чипа, который производитель платы использует для платы. Вы можете найти эту информацию везде, где покупаете плату.

В любом случае, с ESP32 вы в любом случае готовы к работе, и у вас будет много ресурсов для всего, что вы хотите сделать (включая достаточное количество бесплатных контактов). Если вы хотите использовать WLED, вы можете найти совместимые платы в их wiki на github.

С WLED все в порядке, но, как я уже сказал, я не уверен, что смогу загрузить код. Могу ли я загрузить пользовательский код и систему WLED на плату, или она полностью ориентирована на WLED?

В ESP одновременно может работать только одна программа (технически ESP имеет 2 ядра, поэтому выполняет 2 вещи одновременно, но одно ядро используется для работы с Wi-Fi, поэтому для пользовательского кода остается только одно ядро). WLED подразумевается как готовая к использованию прошивка, поэтому нет необходимости писать собственный код.

Сначала вам следует подумать о том, что вы хотите делать со своим кодом. Вы не указали, что именно должен делать ваш пользовательский код, пока WLED обрабатывает светодиодные ленты. Возможно, вам достаточно функциональности WLED.

В противном случае вы можете зациклить 2 вещи с помощью WLED:

  • Поищите в коде/документации WLED место, где можно вставить собственный код в функцию. WLED может дать вам такую возможность (сейчас я не могу искать это сам, так как официальный сайт документации не работает из-за проблемы с сертификатом для меня, и я не могу открыть его, даже если приму риск в своем браузере).
  • Если это невозможно, вы можете попробовать изменить исходный код WLED, чтобы он также обрабатывал ваш собственный код. Это может быть довольно сложно, особенно для новичка. Копаться в чужом коде, будучи новичком, — очень крутая кривая обучения.

Если вам не подходит ни то, ни другое, но вы все равно хотите выполнять свой собственный код, вам придется полностью писать код самостоятельно.


Помимо моих ответов выше, я бы посоветовал вам подумать о том, какие функции вам нужны, а какие — нет. Варианты, которые вы перечислили, сильно различаются.

Home Assistent — это очень большой проект, мощный, но сложный и сложный в настройке. Также имейте в виду, что Home Assistent — это программа, которую нужно где-то запускать, и она не будет работать на ESP. Поэтому вам нужно что-то вроде Raspberry Pi (или любого другого небольшого домашнего сервера, который работает круглосуточно и без выходных), на котором вы устанавливаете и настраиваете Home Assistent еще до того, как сможете начать работу с ESP.

Если все, что вы хотите сделать, это управлять несколькими светодиодными лентами, Home Assistent — это излишество. Если вы планируете дополнительно автоматизировать свой дом, Home Assistent может стать хорошим выбором. Хотя тогда ваш проект не только о светодиодных лентах.

,

Привет, спасибо за пояснения. Для ESP32 в Интернете есть несколько видео о том, как скомпилировать прошивку esp32, например это: [Компиляция esp32 lua] (https://www.youtube.com/watch?v=x6CGECsioYg). Может быть, это нужно только для рабочего пространства ChiliPeppr?, @BruceWawe

Что мне нужно сделать с моей платой, так это иметь набор светодиодов с определенным поведением, запрограммированным в коде, а затем еще один набор светодиодов, которым управляет смартфон. Вот почему плата, работающая только с WLED, не будет работать, верно?, @BruceWawe

Lua — это другой язык программирования. Либо вам нужно обратиться к документации WLED о том, как его скомпилировать (если вы хотите его использовать) (или, может быть, просто загрузить предварительно скомпилированный двоичный файл WLED через Arduino IDE), либо вы узнаете, как программировать ESP с помощью Arduino IDE. в C++ (для которого вы можете найти множество руководств в Интернете)., @chrisl

Я не знаю, какие особенности у WLED. Пожалуйста, обратитесь к документации для этого. Если это не подходит для вашего проекта, то начните писать свой код в Arduino IDE (или любой другой IDE, которая поддерживает программирование ESP), @chrisl

Я планирую использовать Home Assistant для большего количества проектов (температура, звук, связь, мониторинг). Начав сейчас, я бы понял Home Assistant и немного попрактиковался. Я знаю, что Home Assistant работает на сервере, но я полагал, что может быть прямое соединение с одной платой, если никакие другие устройства не используются., @BruceWawe

В документации нет ссылок на выполнение нескольких кодов, поэтому я выберу домашнего помощника. С Home Assistant доступна интеграция WLED, я буду использовать ее. Сейчас я пытаюсь найти альтернативу Raspberry Pi, так как эти платы уже недешевы…, @BruceWawe

Соединение между домашним помощником и устройствами осуществляется через коммуникационную сеть (по умолчанию это IP-сеть, такая как LAN или Wi-Fi, с дополнительным оборудованием и чем-то вроде Zigbee), поэтому не имеет значения, является ли это только одним устройством или несколькими., @chrisl