Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'ESP32'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Автомобильная электроника
    • Питание
    • Ремонт
    • Системы охраны и наблюдения. Личная безопасность
    • Роботы и модели на ДУ-управлении
    • Световые эффекты и LED
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Металлоискатели
    • Автоматика
    • Электрика
    • Промышленная электроника
    • Измерительная техника
    • Мастерская радиолюбителя
    • КВ и УКВ радиосвязь
    • Радиопередатчики
    • Сотовая связь
    • Спутниковое ТВ
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Схемотехника для профессионалов
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • Arduino, ESP32, ESP8266, Raspberry Pi
    • AVR
    • STM32
    • PIC
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Курилка
    • Сайт Паяльник и форум
    • FAQ (Архив)
    • Технический английский (English)
    • Личные блоги
    • Наши проекты для Android и Web
    • Корзина
    • Конкурсы сайта с призами
    • Вопросы с VK
  • Переделки ATX->ЛБП
  • Переделки разные темы
  • Киловольты юмора Юмор в youtube

Блоги

  • Твори, выдумывай, пробуй.
  • fant's блог
  • Ток покоя
  • Где купить велпатасвир, epclusa, velpanat, velasof, софосбувир в России по лучшей цене.
  • Китайские бренды видеокамер
  • Создание Маленькой Мастерской
  • Блог администрации
  • STEN50's блог
  • Изучение, наладка, исследование
  • MiSol62's блог
  • короткие записки по ходу дела
  • Программирование AVR и PIC блог
  • Стабилизированный выпрямитель тока ТЕС 12-3-НТ
  • Блог getshket
  • ТНПА
  • welder's блог
  • blog cheloveka loshadi
  • OPeX3's блог
  • Подводная робототехника
  • Сабвуфер и акустика.
  • Радиоуправляемая машина
  • Консультация психолога сексолога онлайн, психолог онлайн
  • Nokian блог
  • Оповещения Dermabellix Scam !! Не покупайте это !!!
  • Cheerful Boss' блог
  • Cheerful Boss' блог
  • VLAD1996B's блог
  • "Коллективное увеличение продаж"
  • Dudok's блог
  • "Коллективное увеличение продаж"
  • Goluboglazyi's блог
  • Прибор определяющий электролитический конденсатор на работоспособность.
  • Mosfet@'s блог
  • mazzi's блог
  • Лучшие компьютерные игры 2017
  • Marchenkokerya's блог
  • Заметки начинаущего аудиофила
  • Почти бесполезные проги
  • Светлый блог.
  • дядюшка Филин's блог
  • Дневники нуба
  • satyrn's блог
  • Люк. В погреб.
  • Фильм Дом Солнца
  • Светодиодная лента B-LED 2835-120 W белая негерметичная
  • Само-Реплицируещиеся Производственные Системы
  • Блог от Eknous
  • РВС's блог
  • Den_R's blog
  • РВС's блог
  • Чтото крутое и про криворукость
  • ekadom's блог
  • Проектирование любых чертежей
  • Lisovic's блог
  • Блог уже не юного радиогубителя
  • денди
  • eHouse
  • zaregan's блог
  • Схемотехника УНЧ с низковольтным питанием на примере приёмников фирмы Grundig
  • То, что в руки попало.
  • Блок питания водородного генератора и все что с ним связано
  • slava_va@mail.ru's блог
  • Блог alex123al97
  • slava_va@mail.ru's блог
  • параленое соединение КРЕНок или как сделать стабилизатор напряжения 24-12в
  • Свободная генерация Андрея Мельниченко
  • реобас
  • Модернизации системы впрыска на 555
  • помощь
  • Копии схем и печатных плат устройств попавшие ко мне
  • MBM75's блог
  • Буду
  • lagutai's блог
  • Мои проекты.
  • lagutai's блог
  • Трудовик
  • vOVK@'s блог
  • токарь-радиолюбитель
  • azlk3000's блог
  • Коллизия сингулярности
  • SmallAlex's блог
  • Вопрос по Цифровому усилителю мощности звука 2x12 Вт YDA138-E
  • bebulo's блог
  • Простейший макет станка термо-вакуумной формовки
  • Блог им. pryanic
  • peratronika
  • Zer's блог
  • MEDBEDb's
  • Гнездо кукушки
  • hiMiческий блог
  • luna_kamen's блог
  • Изучаем USI на основе сверхэкономичного прототипа
  • Алекс-Юстасу
  • SUBWOOFER.RU
  • kot sansher's блог
  • Поделки стареющего пионера
  • доброжелатель2's блог
  • Grig96. Полезные заметки.
  • Attiny 0-ой и 1-ой серии (Attiny817, 1614 и прочие)
  • pavlo's блог
  • MSP430FR
  • viper2's блог
  • Моя Электро Чинильня
  • Selyk's блог
  • VoltServis.ru
  • kpush's блог
  • OM3 на новых платах.
  • конни's блог
  • Электронный экстазёр "MASHKA".
  • ptimai's блог
  • noc functionalities
  • Sun kapitane's blog
  • ODEON AV-500
  • Sun kapitane's blog
  • Логика на транзисторах,диодах, счетние тригери на транзисторах
  • AleksandrBulchuck's блог
  • Качественные окна от производителя
  • KRALEX's блог
  • Javaman's projects
  • SeVeR36's блог
  • 3232
  • Пять копеек.
  • Az@t's блог
  • Индукционный нагрев
  • Схемы разных устройств
  • Кардшаринг SAT ТВ блог
  • PENTAGRID SAYS
  • Ещо раз о "Кощее 5И"
  • Игровые автоматы на официальном сайте
  • коллекционер
  • дямон's блог
  • Ламповый усилитель и акустика для озвучки семейных мероприятий
  • дямон's блог
  • tiosmutoutrup1971
  • Светомузыкальная установка для новачков
  • Лучшие игры для ПК скачать бесплатно
  • sqait's блог
  • Блокнотик
  • Gubernator's блог
  • Записки электрика
  • Полстакана
  • Vrednyuka
  • Интегральные микросхемы
  • grigorik's блог
  • Интегральные микросхемы
  • VMWare удобство и безопастность
  • Профсоюз обычных пользователей
  • rtfcnf's блог
  • Гидроэнергетика в России: отечественные гидроэлектростанции, типы и характеристики
  • VMWare удобство и безопастность
  • Лайфхаки от Кати
  • Kinh chong anh sang xanh gia re
  • ukabumaga's блог
  • АО "Диполь Технологии"
  • artos5's блог
  • блог
  • Kraftwerk's блог
  • 1
  • Kraftwerk's блог
  • Как выбрать точечный светильник?
  • мастерская ky3ne4ik'а
  • Работа с микроконтроллером Atmega8
  • Aronsky
  • Игорь Камский
  • Диммеры
  • 5В = 1,5+3
  • vitiv' блог
  • Ремонт цифровой панели прибора тойоты марк 100. Замена транзистора 36 ( SOT- 23 )PNP
  • Все СРО России
  • 300writers
  • Металлоискатель Tracker FM-1D3
  • Былое
  • Создание монстра "Blaster 8920"
  • 2Smart Cloud Blog
  • EmmGold's блог
  • 2Smart Cloud Blog
  • ivan15961596's блог
  • Кумир у-001
  • ivan15961596's блог
  • My blog
  • Интернет радио в машину
  • SamON
  • Помогите люди добрые
  • AI
  • Помогите подключить маяк 231 стерео.
  • Гаусс-пушки
  • Название
  • 7400's блог
  • Как я собирал свой первый импульсный источник питания
  • Віталік Приходько_130349's блог
  • Lithium ECAD - российская САПР печатных плат
  • Евгений Малюта's блог
  • ПИшу свои мысли
  • werekpro
  • Venera Electronica
  • afurgon's блог
  • Выбросьте это в парашу!
  • odaplus' блог
  • Zvik's блог
  • Smart overload protection power amplifier «Zita (Z) ThermalTrak™»
  • радиоэлектоника
  • BoBka777's блог
  • МиУЗР - Модернизация и Усовершенствование Звуковой Радиотехники .
  • aleksey9900's блог
  • Лабораторная блок питания
  • Нашел статью о пайке проводов к светодиодов
  • Китайский городовой
  • Костик0's блог
  • УФ лампа для маникюра SK-818
  • 8 Contrasts Between Web Servers and Application Servers
  • Конденсатор
  • Новости, обзоры и другая полезная информация от ИМ "Радиодар"
  • Цветомузыка
  • OPeX3's блог
  • Sem2012's блог
  • это не хлам – это часть моей жизни
  • Контроллер на базе ПК (OS Win LTSC)
  • OdiS' блог
  • Хитрости строителя
  • aleksfil's блог
  • Color Preamp - предусилитель на лампах 12AU7
  • Проблема с зарядкой литиевого аккумулятора для шуруповерта 21 вольт
  • EmmGold's блог; AVR
  • Микроэлектроника
  • З
  • CH32V
  • Блог Плотникова Ильи
  • Бесплатные радиодетали с Алиэкспресс
  • Повышение качества и снижение временных затрат при испытаниях электронных компонентов с помощью отечественного испытательного оборудования
  • Источники питания MEAN WELL
  • Жизнь и рыбалка
  • yureika's блог
  • Глушитель спутникогого интернета
  • Всякая всячина
  • Для начинающих
  • Ignite your senses with the grace and allure of female escorts near Laguna Niguel
  • Fumitox's блог
  • Наш-RXT6 топ-10 на январь 2023: Лучшие сайты онлайн казино в России
  • Лицензионные казино онлайн в 2024 году на реальные деньги
  • Самоделки блог
  • Домашняя автоматика
  • Интересное и полезное
  • Ремонт Амфитон 35у-101с
  • ульян's блог
  • Свет в грузовой газели
  • Блок питания 0-12В для начинающих
  • Dimko's блог
  • Иван Самец's блог
  • SolomonVR's блог
  • gendzz's блог
  • fleh138's блог
  • Электроника forever!
  • aleksejhozhenets' блог
  • aleksejhozhenets' блог
  • diserver блог
  • aleksey290476 блог
  • ВАРГ's блог
  • Люстра Чижевского
  • wanes101's блог
  • voldemar2009's блог
  • Jana's блог
  • Jana's блог
  • Рена Искужин's блог
  • abduraxman7's блог
  • Kuzumba's блог
  • Самопальник
  • заработок через интернет на запчасти!!!
  • electric.kiev's блог
  • lolo's блог
  • leravalera's блог
  • ideomatic's блог
  • приглашаем на работу инженера-радиоэлектронщика
  • FREEMAN_77's блог
  • Блог автоэлектрика
  • Блог начинающего электронщика
  • Dersu's блог
  • Электроэнергия и её экономия!
  • Электроэнергия и её экономия!
  • Семён Ковалёв's блог
  • piligrim-666's блог
  • помогите с партотивной калонкой
  • помогите с партотивной калонкой
  • Музыка в стене.
  • m-a-r-i-k-a's блог
  • cosmos44's блог
  • oyama14's блог
  • блог Виталика!
  • ciornii's блог
  • Великий и Ужастный блог
  • Denis__Ricov's блог
  • Universal12's блог
  • Sprut's блог
  • Alexeyslav's блог
  • cosmosemo's блог
  • Заметки радиолюбителя
  • Falconist. Мемуары
  • Блог MillyVolt
  • усилитель импульсов
  • Panasonic sa-ak 18
  • Простое радиоуправление из того, что было.
  • 35house
  • Блог Радиочайника
  • Блохи iiiytnik'a
  • Хороший сервис- Бяка
  • Аудиолаборатория "Философия Звука"
  • ОколоCADовое
  • Блог KVLADS
  • Короп блог
  • Автоматизация котла Protherm MTV
  • Бложиг Касянича
  • Обо всём
  • Эксперимент
  • No electronics
  • ПРИРОДА СВЕТА и ЕГО ВОЗМОЖНОСТИ
  • Генератор на xr2206
  • HTPOWLASER
  • Когда-то были очень популярны у радиолюбителей
  • AVR - микроконтроллеры
  • Микроконтроллер
  • Самодельный автосимулятор
  • Интернет-магазин керамической плитки «Боярская Плитка»
  • Разработка электронных метрических мишеней IPSC для мягкой пневматики (страйкбол)
  • ,

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Skype


ICQ


Интересы


Город


Сфера радиоэлектроники


Оборудование

Найдено: 18 результатов

  1. Всем привет! Я хочу собрать автоматику для теплицы на данном МК, по моей задумке она будет выполнять сразу множество функций, а именно: управление электро клапоном воды, сервоприводом для изменения потока воды, автоматическое выключение через время, управление электро клапоном подачи газа на запальник, сервоприводом на регулировку подачи газа, а так же реле на магнитный пускатель для включения розеток. Буду юзать ESP32 S3 Ethernet, так как хочу ещё запилить управление через home assistant. Ещё сделаю вывод на дисплей 20 символов * 4, а так же физические кнопки и потенциометры. Кто что может посоветовать в реализации проекта?
  2. Заранее извиняюсь, если это не та тема База проекта - ESP32 WROOM32 DEVKITV1 Компоненты: LCD2004 DHT22 DC-DC Понижающий Кнопки 4 штуки Переключатель ВКЛ/ВЫКЛ кейс для батарейки кроны 9v Сама батарейка 9v Добрый день, я новичок в электронике(первый раз в жизни делаю что-то подобное) и мне нужна помощь. У меня есть рабочая версия проекта на breadboard'е (без батарейки, DC-DC и переключателя вкл/выкл). Мне нужно понять правильно ли я подбираю компоненты, и ,соответственно, правильно ли предполагаю как их нужно будет припаять к PCB. И так же правильно ли сконструирована PCB. Если есть ошибки хотелось бы понять как их можно исправить и из-за чего они возникли. Я точно не знаю, нужно ли Вам описание проекта, но на всякий случай напишу Сам проект это простая метеостанция - Получение погоды в городе - ESP получает погоду для нужного города с сайта OpenWeather и выводит ее на LCD2004 Получение температуры и влажности в квартире - ESP получает температуру и влажность из DHT22 и выводит на LCD2004 Кнопка1 = Выход из Сна Кнопка2 = Режим Сна Кнопка3 = Показать температуру в городе Кнопка4 = Показать температуру и влажность в квартире Лист: PCB Схема: 3DPcb Front: 3DPcb Back: Как это должно выглядеть, все компоненты именно такие: Вопросы более конкретно: Можно ли использовать такую батарейку как у меня? Правильно ли я понимаю как мне надо запаять DC-DC? (Скриншот "Подключение DC-DC") Подходит ли переключатель и правильно ли я думаю как его подключить?(Скриншот "Переключатель") Если Вам не сложно, пожалуйста, объясните подробно что тут не так.
  3. Имеется: Платка ESP32 + обвес (оптопары PC817, питание, RF-модули и т.п.) Трехфазный асинхронный двигатель, с установленной на шкиве пластиной и вырезами Два индуктивных датчика Autonics PR12-4DN2, установленных со смещением относительно друг-друга Двигатель управляется частотником, команды на частотник идут с платы ESP32. Датчиками определяется дистанция, направление вращения и скорость. Фрагмент схемы: Фрагменты программы: #define PIN_SENSOR1 GPIO_NUM_34 // Вход датчика двигателя 1 #define PIN_SENSOR2 GPIO_NUM_35 // Вход датчика двигателя 2 unsigned long sens1, sens2; // Для отладки (счетчик кол-ва срабатывания прерываний от датчика) uint8_t debounce = 10; // Дребезг датчиков, для примера. В основной программе достается с EEPROM/Wi-Fi void setup(void) { attachInterrupt(PIN_SENSOR1, sens1_signal, FALLING); attachInterrupt(PIN_SENSOR2, sens2_signal, FALLING); } void loop(void){ #ifdef DEBUG_ENABLE if (millis() - timing > 1000) { Serial.print("s1: "); Serial.print(String(sens1)); Serial.print(", s2: "); Serial.print(String(sens2)); } } } void sens1_signal() { if (millis() - ms_debounce1 >= debounce && gpio_get_level(PIN_SENSOR2)) { sens1++; cnt_motor++; // Дистанция + cur_rot = ROT_FORW; // Направление вращения - вперед } ms_debounce1 = millis(); } void sens2_signal() { if (millis() - ms_debounce2 >= debounce && gpio_get_level(PIN_SENSOR1)) { sens2++; cnt_motor--; // Дистанция - cur_rot = ROT_BACK; // Направление вращения - назад } ms_debounce2 = millis(); } Проблема в том, что при вращении в одну сторону (например - вперед когда у нас увеличиваются sens1 и cnt_motor) происходит иногда срабатывание второго условия: т.е. увеличивается sens2 и соотв-но уменьшается cnt_motor. Примерно 5-10%. Т.е. если кол-во sens1 будет 500, то кол-вл sens2 будет 30-50. А должно быть 0. Думал дело в наводках или датчиках. Снял всю систему. На Arduino собрал и запрограммировал генератор с частотой 20 Гц и примерно таким же сдвигом как с реальных датчиков. Через резистивный делитель подключил в ESP32. Осциллограмма с Arduino выглядит так: И все равно то же самое. В программе видно, что счетчик увеличивается только когда условия gpio_get_level(PIN_SENSOR1) истинно. Фильтр дребезга там в принципе не работает, можно его убрать, результат такой же. Есть какие-то мысли куда копать?
  4. Мы занимаемся разработкой (а на данном этапе – скорее развитием уже готовой) облачной IoT платформы. Для того чтобы тестировать ее механики и вообще смотреть на свой продукт глазами клиента, мы с самого начала параллельно занимались простыми проектами “умных” устройств, которые подключали к своей же платформе. Тренировались мы на таких кошках, как розетки с Wi-Fi реле или контроллеры для гирлянд. Поначалу ничего особенного. Но в процессе работы появлялись и такие проекты, которые быстро начали перерастать в нечто более интересное. Об одном из таких кейсов мы и расскажем ниже. Как был придуман огненный светильник – с чего все началось “Прадедушкой” светильника стал “умный” контроллер светодиодных лент от нашей команды. Его функционал – вполне обычный: переключение предустановленных режимов, регулировка яркости, установка нужного цвета свечения светодиодов. На основе такого контроллера можно сделать гирлянду, привязать ее к приложению на смартфоне и переключать режимы хоть лежа на диване, хоть находясь на другом конце планеты. Однажды мы подумали – а что если подключить к этому контроллеру не ленту, а светодиодную матрицу. Купили самую простую матрицу 16х16, подключили – все сразу же завелось. Конечно, не все режимы для ленты выглядели на матрице безупречно, но базовые вещи работали. Оценили матрицу как перспективное поле для продолжения экспериментов. Начали думать, что по-настоящему интересное можно создать на ее основе. Сделать лучше можно даже гениальную идею Разумеется, в первую очередь мы просто открыли Google, чтобы посмотреть, как используют светодиодные матрицы другие разработчики. Из первых строчек выдачи мы узнали о лампе Гайвера и ее многочисленных вариациях от последователей этого гуру самодельных устройств. Лампа Гайвера – проект с действительно классной и перспективной идеей. Можно постоянно придумывать и добавлять новые режимы работы, бесконечно совершенствовать дизайн корпуса, подключать новые способы удаленного управления. И самое главное – результат смотрится по-настоящему круто! Много раздумывать не стали – перешли к работе над своим вариантом лампы. Сразу отметили, что оригинальный проект построен на базе микроконтроллера ESP8266. Решили, что уже в первой итерации оснастим светильник более современным ESP32, на основе которого делали все свои предыдущие устройства. Собирать корпус из элементов сантехники и готовых плафонов тоже не стали. В офисе стоит собственный 3D принтер, для начала достаточно было взять готовый проект корпуса на Thingiverse, благо там даже можно выбрать из кучи вариантов дизайна. Собственно, первая версия прототипа лампы в нашем исполнении была просто репликой готовых решений. Единственное изменение схемотехники – переход на ESP32. Корпус лампы напечатали по скачанному проекту как есть, матрицу и вовсе прикрепили пластиковыми хомутами – кажется, нет в нашем офисе более универсального инструмента. Разве что изолента. Даже на этом этапе результат привел в восторг всю команду. Было очевидно, что продукт стоящий – однозначно нужно заниматься его развитием. Начали эксперименты с режимами работы, изучать готовые решения от участников комьюнити оригинального проекта. Пока наконец не случился качественный переход, после которого восторг от использования продукта вышел на новый уровень. Режим огня – “фишка”, которая сразила всех наповал Работая над светильником, один из наших разработчиков – Сережа – подключил огненный режим, найденный вот в этом наборе эффектов в комьюнити Алекса Гайвера. Серега решил упростить логику работы режима, отказавшись от вариативности – размеры матрицы и угол ее размещения в нашей прошивке в расчет не берутся. Все настроено под матрицу 16х16. После появления огненного режима и установки прозрачного плафона на лампу мы получили колоссальный вау-эффект от своего же продукта. Когда показали прототип лампы руководителю соседнего направления в компании, он загорелся до такой степени, что оплатил изготовление первой небольшой партии из 50 устройств. Дело было осенью, и лампы решено было раздать партнерам в качестве новогодних подарков. Стало очевидно, что результат наших внутренних экспериментов обладает вполне неплохим коммерческим потенциалом. Тем более, что мы можем улучшить готовую идею за счет преимуществ своей IoT платформы, ради тестирования которой все и начиналось. Например, мы можем предложить современное приложение для смартфона, управление с помощью дополнительных способов (голосом в Siri и Google Assistant, звонком с телефона, из бота в телеге), шеринг другим пользователям. Короче говоря, есть что предложить в качестве готового устройства, с которым не стыдно выйти на рынок. Что решили доработать После того как перед нами неожиданно встала задача собрать партию устройств, мы определились со списком доработок: проектирование компактной печатной платы и доработка корпуса лампы для возможности ее скрыто разместить; включение в схему устройства сенсорной кнопки для включения/выключения лампы и переключения режимов – в качестве альтернативы приложению и просто ради удобства; размещение кнопки Reset на плате с доступом через д̶ы̶р̶к̶у технологическое отверстие в корпусе; стилизация корпуса лого 2Smart; подбор подходящего по характеристикам блока питания; выбор красивого варианта упаковки; печать вкладышей с инструкцией. С точки зрения железа и упаковки, кажется, ничего не забыли, а вот софтовая часть точно будет дорабатываться. Однозначно будем дописывать новые режимы, вполне могут обнаружиться какие-то баги прошивки… Здесь будет полезен встроенный функционал 2Smart Cloud по обновлению прошивки по воздуху. Новые версии прошивки будут заливаться на сервер, а подключенные устройства сами подхватят обновление по Wi-Fi. Производство Времени до новогодних праздников оставалось немного, поэтому в конце прошлого года мы параллельно занимались сразу несколькими процессами: Покупали комплектующие в местных онлайн-магазинах (доставка с AliExpress заняла бы слишком много времени, хотя покупать детали там выгоднее). Искали подрядчиков, которые могли бы быстро изготовить печатные платы. Опять же, есть отличные сервисы вроде JTCPCB, но времени ждать доставку плат оттуда у нас не было. При поиске подрядчиков на месте все просто – ищем их в интернете, обзваниваем, сравниваем цены и сроки. По максимуму загрузили 3D принтер печатью корпусов. Заказали партию крафтовых деревянных коробок со своим лого. Написали инструкцию, нарисовали вкладыши и заказали в типографии их печать. В итоге каждая лампа обошлась нам примерно в $39 (1 050 грн). При расчете себестоимости стоит помнить о нескольких нюансах: за комплектующими обращались в обычные украинские онлайн-магазины – на алишечке они были бы дешевле; корпусы распечатывали на своем 3D принтере, в расходах учитывается лишь стоимость материалов и минимальная амортизация устройства – в случае заказа печати у сторонних исполнителей этот элемент лампы обошелся бы дороже; в сумму входит изготовление коробки и печать инструкции – примерно $6 в цене каждого устройства. Вот таблица с полным раскладом в долларах: Если смотреть на стоимость аналогичных готовых ламп на рынке, то минимум – $65, и это цена без подарочной крафтовой коробки. Даже если продавать лампу по этой цене, получается неплохая доходность. При том, что наш вариант отличается более продвинутым микроконтроллером, обновляемой по воздуху прошивкой, современным мобильным приложением. Как собрать такой же светильник самостоятельно Если вы на этом моменте подумали, что мы пытаемся продать вам свои светильники – вовсе нет. Нам интересно было поделиться своим опытом, а продажа подобных устройств – это скорее эксперименты, которые позволяют нам понять на своем опыте полный путь, который проходят вендоры платформы. Экспериментами мы будем заниматься за пределами этого форума, а читателям поста готовы предоставить все, что нужно, чтобы собрать такую же лампу самостоятельно. Скажем по секрету – мы даже не против, если вы начнете продавать собранные лампы. В нашем репозитории на гитхабе есть все необходимое: перечень комплектующих, Gerber проект платы, прошивка. Для тех, кто решит добавить свой эффект, небольшая инструкция. Вот что нужно сделать: 1. Создать свое ответвление (fork) проекта. 2. Клонировать проект уже из своего аккаунта на гитхабе. Используйте команду git clone, вставив скопированную ссылку. 3. После того, как проект был клонирован, создать ветку и внести в нее изменения: в lib/lenta/lenta.h добавить метод эффекта: в LedStripStates добавить его название: в modes_ к названию эффекта привязать название для отображения в мобильном приложении: в lib/lenta/lenta.cpp добавить тело метода, где описать всю логику эффекта. Если нужно, добавить вспомогательные методы. Важно! Не забудьте, что свечение диодов – также задача режима, для которой нужно использовать команду LEDS.show();. в HandleCurrentState добавить режим в switch: 4. Собрать прошивку с помощью команды pio run (при этом нужно находиться в папке Firmware). Файл с готовой прошивкой будет находиться в папке проекта -> Firmware/.pio/build/esp32dev/firmware.bin (если, конечно, при сборке не было ошибок ) Для прошивки лампы своим кодом нужно: Подключиться к точке доступа Wi-Fi лампы с названием “2Smart Lamp”. Ввести в адресную строку браузера 192.168.4.1 – для перехода к веб-интерфейсу устройства. Логин и пароль – “admin/admin” (можете не благодарить, что не “qwerty”). Перейти на вкладку System в веб-интерфейсе: Загрузить файл прошивки, дождаться обновления (занимает примерно минуту) и убедиться, что процесс успешно завершен. Надеемся, эта инструкция будет полезна разработчикам-энтузиастам. Если прикрутите к лампе какой-то новый интересный режим – не забудьте поделиться фото/видео результата в комментариях. Также пишите, если вам интересно, как идут наши дела с продажей готовых светильников. Если будет достаточный интерес, напишем отдельный пост на эту тему. А еще мы рассчитываем, что от нашего поста будет реальная польза, и кто-то из участников форума задумается о своем небольшом бизнесе по созданию и реализации умных устройств. Если при этом вы решите воспользоваться нашей платформой – ждем вас в гости!
  5. Помогите пожалуйста разобраться с питанием 1) надо ли тут понижайка/ повышайка DC-DC? 2) как предохранить плату от помех при нагрузке. Скетч прошивки тоже могу выложит, он максимально простой. Также печатную плату тоже выложу как доделаю схему.
  6. Необходимые материалы ESP32 Электронный замок KOB Реле Сенсорный дисплей STONE STWI070WT-01 Модуль MFRC522 Реализованная функция 1. регистрация карты. 2. регистрация имени пользователя и пароля. 3. проведение картой для разблокировки электронного замка. 4. Имя пользователя и пароль для разблокировки электронного замка. Схема подключения Разработка графического интерфейса пользователя видеодемонстрация
  7. Недавно купил свои первые три ESP32 устройства - Wemos Lolin32 . Попробовал загрузить первый тестовый скетч - сканирование доступных wi-fi соединений, включенный в состав прмеров Arduino IDE. Вначале были проблемы с прошивкой, пока не поставил резистор между GPIO 0 и общим проводом. После этого прошивка проходит практический без проблем. Но не совсем понятно, нужно ли отключать резистор после прошивки, и если да, то когда. Результаты тестирования различаются при выводе на монитор порта (serial). Только один из контроллеров после загрузки скетча показывает все сообщения из функции инициализации на мониторе, а затем повторяющиеся сообщения из основного цикла, который и производит сканирования wi-fi соединений. Со вторым устройством проблема такая, что он он выводит только часть сообщений функции инициализации, а после вызова функции инициализации вай-фая последующие сообщения не выводятся. Не выводятся также сообщения из цикла, но если перезапустить устройство кнопкой сброса, то сообщения из цикла выводятся нормально, хотя сообщений инициализации нет. Аналогичная ситуация и с третьим устройством, причем это повторяется стабильно при каждой перепрошивке и перезапуске. В целях тестирования я переписал скетч так, чтобы в нём не было команд вывода на монитор. После сканирования wi-fi соединений скетч просто моргает столько раз, сколько соединений было обнаружено. Такой скетч работает стабильно и одинаково, без проблем, на всех трех устройствах. Кроме проблемы вывода на монитор, второе и третье устройство после прошивки не получается просто прошить ещё раз, выдаются сообщения: could not open port A device attached to the system is not functioning Failed to execute script esptool does not exist or your board is not connected Чтобы прописать ещё раз, приходится каждый раз переинсталлировать USB драйвер. Вообще, сразу после загрузки скетча раздается звук Windows, сообщающий об отключении USB устройства. Устройство №1 перепрошивается без проблем. Напрашивается вывод, что проблема во втором и третьем устройстве не в самой микросхеме esp32 а в микросхеме контроллера UART/USB CP2104. Скорость обмена с монитором выставлена одинаково в программе и в окне монитора: 115200 бодов. Есть ли еще какие настройки или варианты проверки? #include "WiFi.h" void setup() { Serial.begin(115200); delay(1000); Serial.println("Start setup"); // Set WiFi to station mode and disconnect from an AP if it was previously connected WiFi.mode(WIFI_STA); WiFi.disconnect(); Serial.println("Setup done"); } void loop() { Serial.println("scan start"); // WiFi.scanNetworks will return the number of networks found int n = WiFi.scanNetworks(); Serial.println("scan done"); if (n == 0) { Serial.println("no networks found"); } else { Serial.print(n); Serial.println(" networks found"); for (int i = 0; i < n; ++i) { // Print SSID and RSSI for each network found Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*"); delay(10); } } Serial.println(""); // Wait a bit before scanning again delay(7000); }
  8. Этой статьёй мы открываем серию уроков по программированию ESP32 на языке microPython. Введение. Цель данного урока - рассказать о том, как загрузить в ESP32 простейшую программу "Hello World!", написанную на языке MicroPython. MicroPython - это реализация языка программирования Python 3, оптимизированная для применения в микроконтроллерах и включающая в себя небольшую часть стандартной библиотеки Python. К счастью, теперь есть реализация microPython не только под ESP8266, но и для ESP32. Подробно познакомиться с деталями реализации можно здесь. Чтобы начать программировать на нём ESP32, можно, конечно, собрать весь проект самостоятельно (по этой инструкции). Но проще всего скачать уже готовую прошивку и загрузить её на плату. Это мы и проделаем в нашем уроке. Все уроки были выполнены в Windows. Необходимый софт. Для работы надо установить Python на ваш компьютер. Мы будем использовать Python 2.7, но всё должно работать и для более поздних версий. Также потребуется софт под названием esptool, чтобы заливать в наш ESP32 бинарные файлы MicroPython. Можно скачать его через pip или другие менеджеры пакетов Python, но мы покажем, как это сделать вручную. Итак, качаем последнюю версию esptool отсюда. После загрузки esptool распакуйте его в папку. Убедитесь, что там есть файл setup.py. Если Python на Ваш компьютер уже установлен, откройте консоль, перейдите в распакованную папку и введите следующую команду: python setup.py install Она должна установить esptool. Также процесс установки описан и в репозитории esptool. Далее нам потребуется бинарный файл с MicroPython, который можно скачать отсюда. Процедура установки MicroPython. В первую очередь надо очистить память ESP32. Для этого просто введите в консоли команду, указанную ниже, только перед этим замените “COM5” на тот номер порта, к которому подключена ваша плата ESP32: esptool.py --port COM5 erase_flash После этого надо загрузить бинарный файл в ESP32, используя следующую. Снова замените COM5 на тот порт, к которому подключен ESP32 у вас. Также замените "pathToYourFile/BinaryFile" на путь, куда Вы сохранили бинарный файл microPython, и имя самого файла. В Windows есть небольшая хитрость - просто перетащите сам файл в консоль. esptool.py --port COM5 --baud 460800 write_flash --flash_size=detect 0 pathToYourFile/binaryFile После этого microPython должен быть загружен в вашу плату ESP32. Убедимся в этом через минуту. Не переключайтесь. Проверка установки. Для проверки нам потребуется дополнительный софт для взаимодействия с консолью Python. Вообще можно использовать любое приложение, позволяющее осуществлять подключение по последовательному порту. Мы будем использовать PuTTy, который можно скачать отсюда. Откройте загруженный *.exe файл из предыдущей ссылки и увидите окно PuTTy. В нём надо выбрать тип протокола “Serial”, а в строке “Serial line” ввести имя порта, к которому подключен ESP32 (у меня это COM5), и скорость 115200, как показано на Рисунке 1. Риуснок 1. Подключение ESP32 к консоли MicroPython с помощью Putty После того, как указали все параметры соединения, жмите Open. Если всё введено правильно, должно появиться окно с доступной консолью MicroPython (Рисунок 2). Рисунок 2. Консоль MicroPython в ESP32. Программа Hello World Как и было обещано в начале урока, отправим в консоль простое сообщение “Hello World”. Введите следующую команду и нажмите Enter: print ("Hello World From ESP32 MicroPython") Должно получится что-то похожее на Рисунок 3. В этом примере я отправил команду дважды. Рисунок 3. “Hello World” на ESP32 MicroPython. Ну а теперь можно начинать играть с Python на ESP32! И напоследок. Хочется отдельно поблагодарить команду, портировавшую MicroPython под ESP32, которая быстро сделала доступными бинарники после моего запроса на гитхабе. Спасибо им за то, что сделали этот замечательный инструмент доступным каждому! Важно: Этот пост - перевод статьи, написанной Nuno Santos из Лиссабона (Португалия), инженером в области электроники и компьютерной техники. Можно познакомиться с его оригинальными статьями здесь. Он написал ещё много полезных уроков и проектов про ESP32, ESP8266, и, если интересно, можно почитать его блог. У DFRobot есть много других обучающих статей по ESP32 и готовых проектов на основе ESP32.
  9. У меня есть ESP32Cam которая берет кадры (240*176пкс. QQVGA) и пересылает их серверу по UDP. С этой частью проекта проблем нет всё работает всё ОК. Но хочу прикрутить получение данных по UDP от того же сервера причем с достаточно приличной частотой. Кто пробовал работать с такими модулями, не подскажете не будет и помехой работа с камерой, работе с сервером по UDP-протоколу. У меня есть сомнения по поводу того не будет ли эспешка в момент взятия кадра зацикливаеся на этом и в этот момент не сможет принять сообщения от сервера и управлять периферией. Подскажите пожалуйста кто может т.к. работаю с этими камнями впервые. Заранее спасибо.
  10. Компания производитель вендинговых автоматов для розлива питьевой воды в поисках инженера-системотехника/инженера электронщика. График 5/2 с 9 до 18, здесь удаленный формат не рассматриваем. Место работы – г. Екатеринбург. Мы ищем специалиста, который будет делать прототипы нового для контроллера, курировать производство, проверять, дорабатывать, перепаивать, а также: Переписывать текущие программы на С++; Создавать программу для Android для конфигурации параметров контроллера через bluetooth. (т.е. предлагать новые, современные идеи и подходы для развития имеющихся контроллеров, которыми вы владеете); Предлагать новые программные продукты, среды разработки. Будет в тренде мира микроэлектроники, китайского контрактного производства. Может предложить совершенно новую реализацию наших текущих задач, чтобы это было лучше и эффективнее. В идеале, нам нужен специалист, который имеет: Опыт программирования микроконтроллеров Atmega, STM32, ESP32; Опыт работы в Altium Designer; Опыт работы в c++ (IAR, QT); Опыт работы с modbus, rs485/232, SPI. Готовы рассматривать специалистов с разным опытом, поэтому пишите, задавайте вопросы. Резюме можно отправить на почту lb@ktekt.ru (да, мы кадровое агентство), позвонить можно по следующему тел. 89068001212 - Любовь.
  11. Программирование электронного изделия на базе микропроцессора SoC ESP32-WROOM-32 Бюджет: 100000 руб. Торг. Требования к исполнителю: иметь практический/реализованный опыт/изделий на базе ESP32. ТЗ см. вложенный файл. R30 ТЗ_V2.docx
  12. Введение. Цель данного урока – объяснить, как подключить ESP32 к беспроводной сети Wi-Fi, используя MicroPython. Процедура, показанная здесь, основана на руководстве к ESP8266 и документации к MicroPython, которую рекомендуем прочесть. Мы будем отправлять в консоль MicroPython команды и по шагам наблюдать за тем, что происходит. Если же MicroPython на ESP32 у вас ещё не установлен, то сделать это можно по шагам, описанным в этом посте. Подключаться к последовательному порту будем через PuTTy, но и любая другая аналогичная программа тоже подойдёт. Код. Сначала загружаем модуль network для работы с сетью, чтобы иметь доступ ко всем функциям, необходимым для установки сетевого соединения по Wi-Fi. import network При этом в консоль будет выведена информация, как показано на Рисунке 1. Рисунок 1. Загрузка модуля network Так как мы собираемся подключаться к сети Wi-Fi, наше устройство будет работать в режиме беспроводной станции. Значит, нам надо создать объект станции с интерфейсом Wi-Fi. Для этого просто вызовем конструктор класса WLAN и передадим ему в качестве аргумента идентификатор того интерфейса, который будем использовать. В нашем случае это интерфейс network.STA_IF. station = network.WLAN(network.STA_IF) Теперь активируем сетевой интерфейс. Для этого у созданного нами объекта вызовем метод active с аргументом True, потому что аргументами могут быть только значения типа Boolean. station.active(True) После этой команды в консоль будет выведена информация о том, что мы сейчас в режиме станции и что интерфейс запущен. Рисунок 2. Активация режима базовой станции. Наконец, воспользуемся методом connect, чтобы подключиться к Wi-Fi сети. Аргументами этого метода являются SSID (имя сети) и пароль. station.connect(“YourNetworkName”, “YourNetworkPassword”) И снова в консоль будет выведена информация о подключении. Подключение может занять некоторое время, но, когда оно установится, строка “>>>>” автоматически не напечатается. Чтобы зря не ждать, когда в консоль выведется последняя строка, просто нажмите Enter. Рисунок 3. Подключение к Wi-Fi. И последнее, подтвердим, что подключение установлено. Для этого вызовем метод isconnected, который возвращает True, если устройство подключено к WiFi. Мы также можем вызвать метод ifconfig, который возвращает IP-адрес, маску подсети, шлюз и DNS. station.isconnected() station.ifconfig() На Рисунке 4 показан результат работы этих команд, из которого видно, что мы корректно подключились к сети Wi-Fi. Рисунок 4. Подтверждение подключения к сети Wi-Fi Заметим, что IP-адрес, привязанный к ESP32, – локальный, и мы не можем использовать его для получения сообщений не из нашей локальной сети без изменения дополнительных настроек роутера. Важно: Этот пост - перевод статьи, написанной Nuno Santos из Лиссабона (Португалия), инженером в области электроники и компьютерной техники. Можно познакомиться с его оригинальными статьями здесь. Он написал ещё много полезных уроков и проектов про ESP32, ESP8266, и, если интересно, можно почитать его блог. У DFRobot есть много других обучающих статей по ESP32 и готовых проектов на основе ESP32.
  13. Введение. Цель данного урока - научиться запускать на ESP32 скрипты MicroPython, написанные на компьютере, используя программу ampy. Этот урок был опробован и на ESP8266, и на ESP32. Ampy - это утилита от Adafruit, и его исходники можно скачать отсюда. На Adafruit есть подробнейшая документация по этой утилите, и рекомендуем с ней ознакомиться. Однако, самым простым способом начать использовать ampy - это загрузить его через pip. В отличие от того, как мы поступали на предыдущих уроках, отправляя в консоль по одной команде, ampy позволит запустить скрипты на microPython из файла. На этом уроке мы по умолчанию считаем, что на вашем компьютере уже установлены Python и pip, а на плате с ESP32/ESP8266 установлен MicroPython. Процедура. Первым делом устанавливаем ampy. Для этого открываем командную строку и вводим следующую pip-команду: pip install adafruit-ampy Мы используем версию Python 2.7 на операционной системе Windows, и результат выполнения команды показан на Рис. 1. У вас может выводиться что-то другое в зависимости от ОС и версии Python. Рис.1 Установка ampy. Очень детальное руководство по установке ampy есть и на Adafruit. Ну и теперь запуск кода из скриптов станет очень простым. Для этого надо всего лишь создать файл с именем script.py в папке на Вашем компьютере и ввести код ниже. Естественно, название файла может быть любым другим. Также и расширение не обязательно должно быть *.py ( я пробовал с расширением *.txt, и всё прекрасно работало), но раз уж файл содержит скрипт, написанный на языке Python, то хорошим тоном будет использование именно расширения *.py. Для примера в файле запишем строку: print("Hello from my script!") В командной строке переходим в ту папку, куда сохранили файл. Отправляем команду, изменив значения в квадратных скобках на подходящие: ampy --port [YourDevicePort] run [YourFileName] В нашем случае ESP8266 подключен к порту COM7, а ESP32 к порту COM5, и команды для проверки каждого из них показаны ниже, также с правильным именем файла: ampy --port COM5 run script.py ampy --port COM7 run script.py Если всё в порядке, вы получите примерно то же, что и на Рис. 2, где виден результат работы скрипта на ESP32 и ESP8266. Рис.2. Результат работы скрипта, запущенного на ESP8266 и на ESP32. Важно: в той версии утилиты ampy, которая установлена у меня, выполнение любого скрипта сразу после подключения контроллеров выдаёт ошибку подобную той, что показана на Рис. 3. Это случается как на ESP8266, так и на RSP32. Но после этой первой ошибки последующие запуски скриптов выполняются нормально. Я пока не нашёл причины этого, но поделюсь, если найду. Рис. 3. Пожалуйста, напишите в комментариях, наблюдается ли такая ошибка у вас. Важно: Этот пост - перевод статьи, написанной Nuno Santos из Лиссабона (Португалия), инженером в области электроники и компьютерной техники. Можно познакомиться с его оригинальными статьями здесь. Он написал ещё много полезных уроков и проектов про ESP32, ESP8266, и, если интересно, можно почитать его блог. У DFRobot есть много других обучающих статей по связке ESP32 с ардуино и готовых проектов на основе ESP32.
  14. Введение. Цель данного поста – объяснить, как сформировать сообщение в формате JSON, используя MicroPython и библиотеку ujson на ESP32. О том, как запустить MicroPython на ESP32 рассказано здесь, а как разобрать/распарсить JSON, смотрите предыдущий пост. Код. Подключаем модуль ujson при помощи следующей команды: import ujson Ниже показан пример сообщения, которое мы постараемся в итоге сформировать. В данном примере мы моделируем возможное сообщение от IoT устройства некоторого типа (например, датчика температуры), передающего какие-то измеренные значения: { "deviceType": "Temperature", "values": [23,22,25] } Нам надо сохранить структуру этого сообщения в одной переменной, потому будем использовать объект типа словарь (англ. версия здесь). Он позволяет получать значение по ключу и очень хорошо подходит для структуры JSON. Начнём с создания пустого объекта типа словарь в переменной dict. После присвоим ключу “deviceType” в качестве значения строку “Temperature”, а ключу “values” присвоим список со значениями, показанными в JSON. Обратите внимание на то, что значением в словаре Python может быть даже такой объект, как список. После присвоения выведем содержимое переменной dict, чтобы убедиться, что значения присвоены верно. dict = {} dict["deviceType"] = "Temperature" dict["values"] = [23,22,25] print(dict) На Рисунке 1 показано, что должно получиться в результате. Как видим, у нас есть структура словаря с некоторыми парами ключ-значение. Выведенное строковое представление словаря Python уже очень похоже на JSON. Рисунок 1. Содержание словаря Python. Остаётся перевести словарь в JSON-строку, используя функцию dumps из модуля ujson. Этот метод принимает в качестве аргумента словарь, а возвращает его представление в формате JSON. Выведем то, что возвращает эта функция. encoded = ujson.dumps(dict) print(encoded) Окончательный результат показан на Рис. 2. То, что получилось, очень похоже на строковое представление словаря, которое показано на Рис.1, но теперь ключи и значения заключены в двойные кавычки, а не в одинарные. То есть в полном соответствии с форматом JSON. Рисунок 2. Окончательный результат работы программы расшифровки JSON. Важно: Этот пост - перевод статьи, написанной Nuno Santos из Лиссабона (Португалия), инженером в области электроники и компьютерной техники. Можно познакомиться с его оригинальными статьями здесь. Он написал ещё много полезных уроков и проектов про ESP32, ESP8266, и, если интересно, можно почитать его блог. У DFRobot есть много других обучающих статей по связке ESP32 с ардуино и готовых проектов на основе ESP32.
  15. Введение. Цель данного урока - объяснить, как разбирать (парсить) JSON-строку с помощью MicroPython, запущенного на ESP32. В предыдущем уроке мы подробно рассказали про установку MicroPython на ESP32 и подключение к его консоли. Чтобы разобрать JSON-строку, воспользуемся библиотекой uJSON для MicroPython. Вся документация к ней лежит на гитхабе. Так как будем работать в командной строке, нужно перевести всё содержимое JSON в одну строку, например, при помощи этого сайта. Получившуюся строку можно просто скопировать и вставить в терминальное окно PuTTy. Код. Подключившись к консоли Python, можно начинать программировать. Первое, что нам надо сделать - это загрузить библиотеку uJSON. Вводим в консоль команду import ujson и нажимаем Enter. В результате мы должны получить объект типа ujson, дающий доступ к методу с именем "loads". Этот метод получает в качестве аргумента JSON-строку, а возвращает объект, соответствующий распознанному JSON. Начнём с простой структуры JSON: { "name":"John" }, После сжатия в одну линию получим JSON строку вида: {"name":"John"}, Передадим эту строку в качестве аргумента методу loads. Обратите внимание, слева и справа от строки стоят тройные кавычки “””. Это сделано для верного распознавания кавычек внутри JSON-структуры. Распознанный объект сохраним в переменной parsed. parsed = ujson.loads("""{"name":"John"}""") Проверим, что содержание JSON записано в переменную parsed правильно, для чего напечатаем его, а также имя типа, к которому принадлежит parsed, используя функцию type(). print(parsed) print(type(parsed)) Когда запустим весь код, приведённый выше, мы должны получить в результате то же, что показано на Рисунке 1. Обратите внимание, наш объект с разобранным содержимым JSON относится к типу словарь в Python (ссылка на английском здесь), который идеально подходит для доступа типа ключ-значение. Рисунок 1. Разбор строки JSON Теперь мы можем получить значение по ключу “name”, и оно должно быть “John”. Чтобы получить из словаря значение по ключу, отправим команду: print(parsed["name"]) Такое обращение очень похоже на доступ к элементу массива по индексу, но только вместо численного индекса здесь выступает ключ в формате строки. Должен получиться результат такой же, как и на Рис. 2, где значение “John”выведено в консоль. Рисунок 2. Доступ к разобранным значениям объекта типа словарь. Теперь разберём более сложную структуру. Она может представлять собой, например, сообщение, отправленное IoT устройством: { "device":"temperature", "id":543, "values":[1,2,3] } После сжатия получим следующую строку: {"device":"temperature","id":543,"values":[1,2,3]} Теперь разберём её и напечатаем все ключи, имеющиеся в нашей JSON-структуре. Также напечатаем тип значений, получаемых по ключу, чтобы понять, как они распознались. parsed = ujson.loads("""{"device":"temperature","id":543,"values":[1,2,3]}""") print(parsed["device"]) print(parsed["id"]) print(parsed["values"]) print(type(parsed["values"])) Результат работы кода показан на Рис. 3. Как видно, все значения по каждому ключу напечатаны верно. Заметьте, что ключу "values" соответствует список, а не строки. Естественно, это намного удобнее, так как нам гораздо легче обрабатывать полученные численные значения, используя все функции, доступные для списков. Рисунок 3. Результат разбора содержания JSON. Важно: Этот пост - перевод статьи, написанной Nuno Santos из Лиссабона (Португалия), инженером в области электроники и компьютерной техники. Можно познакомиться с его оригинальными статьями здесь. Он написал ещё много полезных уроков и проектов про ESP32, ESP8266, и, если интересно, можно почитать его блог. У DFRobot есть много других обучающих статей по ESP32 и готовых проектов на основе ESP32.
  16. Что может быть проще Arduino IDE! Для разработки под ESP32 (ESP-WROOM-32) есть множество различных платформ. Но, если в некоторых ситуациях использование Linux или cygwin под Windows может отпугнуть новичков, то простой и дружественный интерфейс Arduino IDE окажется как нельзя кстати. Ниже рассмотрим по шагам, как её адаптировать для программирования ESP32. 1. Добавляем URL-адрес платы в Arduino IDE . Открываем Arduino IDE (у меня версия 1.8.0). Если у вас она не установлена, то инструкцию по установке можно найти здесь. Далее выбираем Файл -> Настройки и нажимаем на кнопку “Дополнительные ссылки для менеджера плат”, как показано ниже. В появившемся окне вводим адрес: https://git.oschina.net/dfrobot/FireBeetle-ESP32/raw/master/package_esp32_index.json и видим : После завершения нажимаем ОК. 2. Обновляем список плат. Когда URL платы ESP32 (ESP-WROOM-32) добавлен, обновим список плат, чтобы через Arduino IDE загрузить необходимые библиотеки ESP32 (ESP-WROOM-32). Открываем Инструменты -> Плата: “Имя платы” -> Менеджер плат, и их список должен автоматически обновиться: 3. Установка ESP32 (ESP-WROOM-32). Как только обновление завершится, найдём свойства платы FireFly-ESP32 Mainboard. Выбираем “FireBeetle-ESP32 Mainboard” и жмём “Установить”. Менеджер автоматически скачает необходимые библиотеки. 4. Компилируем программу мигания светодиодом. Когда библиотеки установлены, можем, наконец, загрузить тестовую программу. Открываем Инструменты -> Плата, выбираем из списка Firefly-ESP32: Внимание: проверьте, что Вы выполнили все шаги, описанные выше. Если Вы не установили плату ESP32 (ESP-WROOM-32), то в списке её не окажется! Открываем Файл -> Примеры -> Basics -> Blink: И жмём , чтобы запустить компиляцию. Готово! У DFRobot есть много других обучающих статей по ESP32 и готовых проектов на основе ESP32.
  17. Дано: 1. ESP32 2. тепловентилятор SCARLETT Необходимо: регулировать частоту оборотов вентилятора в тепловентиляторе . Как проще всего и с какими компонентами сделать такую регуляцию с минимальными затратами? P.S. нагревательный элемент предполагаю регулировать неким аналогом PWM c помощью чего-нибудь вроде SSR-40, например подавать напряжение только 0.7 секунд из 1 секунды цикла. Т.к. вентилятор - это наверное асинхронный двигатель, то не уверен, можно ли его точно также регулировать, либо нужно частоту делать например 500 Гц чтобы десять циклов на каждый цикл электросети пришлось, но выдерживает ли такую частоту работы SSR-40 , опять же не уверен.
  18. Требуется программист для написания низкоуровневого ПО под ESP32, работа с встроенными АЦП, SPI, I2C, GPIO также реализация RS-485 ModBus протокола. Наличие опыта работы с данным чипом - обязательно! Удаленка, но все-же предпочтительно территориально Москва/МО/Владимирская обл. заинтересованным просьба обращаться: furia(dot)fly(гав-гав)gmail.com Финансовая сторона вопроса, а также ТЗ обсуждается индивидуально.
×
×
  • Создать...