Денис
ага, этому паспорт вернуть чтоли )))
так он за паспорт работает, а темболее свой😁
Ruslan
так он за паспорт работает, а темболее свой😁
за деньги точно никто не работает )))) проверял )
Ruslan
всегда нужна сначала идея или нужда
Ruslan
а деньги уже приятный бонус по факту
Aleks
чтобы сэкономить на мобильном трафике ))) У Йоты есть бесплатный трафик, но скорость там зажата до 64кбит/сек, ну и связь там только 4G
DeepCollor
а деньги уже приятный бонус по факту
Ох согласен! Даже за деньги трудно найти толковых людей, им или люля нужны или неудобства - подругому никак!
Ruslan
мне ещё нужны идейные: - спец по ангулару, надо допилить одно веб приложение, даже два (второе только в мыслях, первое почти завершено) - спец по ретро демкам, надо экранчик на RP2040 оживить эффектами
Max
https://www.elektormagazine.com/articles/esp32-personal-ai-terminal-chatgpt
Max
Гайвера попроси)
Mikhail
Закупил штуку, пусть лежит.
Выглядит как задел под IP телефон/домофон
Ruslan
Гайвера попроси)
мне под ESP-IDF )))
Max
мне под ESP-IDF )))
На RP2040? А ты затейник)
Ruslan
На RP2040? А ты затейник)
нет, там свой фреймворк
Resident
Возможно, опасается что 2G отключат (что вряд ли), а вот 3G точно вырубят в ближайшем будущем.
у 2г огромная зона покрытия, 2г нынче 80% используется в промышленных целях, так что врятле совсем умрёт ) с yota t2 mts megafon beeline роботает
Aleks
А вот 3г уже не работает толком лет 5.
Resident
есть в Свердловской обл оператор мотив они 3г сети вообще не делали, дождались 4🙈
Aleks
задача интересная, сделать SIP клиента на ESP32, для этого в опенсорсе всё есть, нет собранного решения
Надо схему согласования с координатной домофонией ещё) у меня почти родилась
Aleks
Для одноканальной связи есть айпикамеры )
Aleks
так, ещё один в секту велком )
На операционнике наверное будет. Лень среднюю точку на транзисторе искать...
Aleks
Фото "коменданта" надо?
DeepCollor
Ну так то и intercom уже почти запилил)
Max
This ESP32 Runs a Word Processor — Complete with Screen and Keyboard Gamepads, mice, and keyboards are just a few of the different types of human interface devices (HIDs) we use on a regular basis to interact with computers of all kinds. And for embedded projects that require many buttons in order to work, substituting a complex button matrix for a keyboard could greatly reduce costs and time requirements. Which is why, in his latest video, YouTuber Volos Projects details how he was able to connect a full-size keyboard to an ESP32-S3 and turn it into a functional word processor. The screen and keyboard Drawing on his ample experience with embedded displays and data visualization, Volos selected a 7-inch TFT IPS screen module that features a built-in ESP32-S3 WROOM, MicroSD card slot, touch controls, and a variety of connectors, including two USB ports. After setting up the ESP32 as a USB host in the sketch and assigning different actions based on function key presses, Volos's next task was to get each key to appear onscreen just like a more traditional text editing GUI. Opening, modifying, and saving files The ESP32-based screen's MicroSD card is where the user's files are opened from and saved to. Pressing F1 will create a new, empty text file wherein the user can type ASCII characters as well as give the file a name with the F3 key. Once they are ready to save, hitting F4 will write the entire file's new content back to the SD card. Finally, pressing F2 will open a file explorer menu to select previously saved entries. Programming constraints Although the S3 contains a large amount of RAM relative to its size and cost, the screen's 1024 x 600 resolution ( 614,400 pixels in total) would have far exceeded this limit if the full 16-bit color palette were used. To get around this, Volos reduced the color resolution to just 4 bits across most of the screen, and for areas that only needed to be black or white, only 1 bit was required. The list of saved files https://www.hackster.io/news/this-esp32-runs-a-word-processor-complete-with-screen-and-keyboard-f8944a2157c4
Splum
Вы еще до siedel не дошли там?
Евгений
К нам мастер стучится =)
Денис
К нам мастер стучится =)
криптоспецилист 👍
Riory
-Покупаем… покупаем… докупаем…. Продаем, фиксируйте убыль😂
Max
DFRobot EDGE102-DMX512 lighting controller combines ESP32-S3 MCU and DMX512 protocol chip DFRobot’s EDGE102-DMX512 is a DMX512 lighting programming controller based on ESP32-S3 wireless MCU designed for efficient management of stage, theater, and venue lighting. With integrated WiFi and Bluetooth, the controller supports wireless programming and control, simplifying the setup of advanced lighting systems. It offers RS485 (master/slave modes) interfaces, I2C, UART, and GPIO pins for compatibility… https://www.cnx-software.com/2024/11/20/dfrobot-edge102-dmx512-lighting-controller-combines-esp32-s3-mcu-and-dmx512-protocol-chip/
Max
ESP32 Alcohol Detection and Notification System Detect alcohol with precision! ESP32, MQ3, OLED & buzzer combo sends email alerts instantly. Powered by JLCPCB's custom PCB https://www.hackster.io/ItsArduinoBoy/esp32-alcohol-detection-and-notification-system-629e2d
Vladimir
Приветствую! Подскажите как можно с помощью Preferences.h хранить map<UInt16, uint8> ? Пар всего 60 шт. макс.
ok-home
Приветствую! Подскажите как можно с помощью Preferences.h хранить map<UInt16, uint8> ? Пар всего 60 шт. макс.
стандартным образом - единственное что нужно сделать преобразовывать uint16 в строку. nvs ( preferences) берет в качестве key с-строки
Vladimir
А почему нет?
Сразу целиком записать не получится? Нужно по одной паре?
ok-home
Сразу целиком записать не получится? Нужно по одной паре?
ну вроде как for() или while() не отменили еще - там как бы 2 строки кода
Agatualpa
Кидайте в группу.
CatRovacer
криптоспецилист 👍
Если не ректальный спец то и х.ен с ним
Vladimir
ну вроде как for() или while() не отменили еще - там как бы 2 строки кода
А как сделать итерацию (перебор всех) по уже лежащим в Preferences.h ключам?
ok-home
в ардуино preference видимо никак. итераторы есть в оригинальной nvs (esp-idf), можно использовать ее. https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/storage/nvs_flash.html
Vladimir
в ардуино preference видимо никак. итераторы есть в оригинальной nvs (esp-idf), можно использовать ее. https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/storage/nvs_flash.html
unordered_map <uint16_t, uint8_t> dataStore; unordered_map <uint16_t, uint8_t> dataRetrieve; prefs.putBytes("SavedIntegers", (byte*)(&dataStore), sizeof(dataStore)); prefs.getBytes("SavedIntegers", &dataRetrieve, sizeof(dataRetrieve)); У меня заработал такой вариант. Будет ли он сильнее изнашивать память чем использование оригинальной nvs (esp-idf) с итераторами?
ok-home
unordered_map <uint16_t, uint8_t> dataStore; unordered_map <uint16_t, uint8_t> dataRetrieve; prefs.putBytes("SavedIntegers", (byte*)(&dataStore), sizeof(dataStore)); prefs.getBytes("SavedIntegers", &dataRetrieve, sizeof(dataRetrieve)); У меня заработал такой вариант. Будет ли он сильнее изнашивать память чем использование оригинальной nvs (esp-idf) с итераторами?
с точки зрения износа памяти наверное нет, но я так понимаю ты должен сохранять весь dataStore после каждой операции записи в map. + дополнительные расходы на map, и я как то не уверен что sizeof() дает тебе правильный размер контейнера
Vladimir
с точки зрения износа памяти наверное нет, но я так понимаю ты должен сохранять весь dataStore после каждой операции записи в map. + дополнительные расходы на map, и я как то не уверен что sizeof() дает тебе правильный размер контейнера
В принципе, если усреднить, то запись может происходить до 10 раз в сутки. С учетом заявленного ресурса в 100 000, получается 27 лет. sizeof() - Я пробовал записать - считать мапу с 60ю парами. Все ок прошло.
ok-home
Везде - 28
вот и я об том же - копилятор тебе в sizeof дает размер одного элемента мап
Vladimir
вот и я об том же - копилятор тебе в sizeof дает размер одного элемента мап
Это как-то угрожает нормальной работе программы?
ok-home
Это как-то угрожает нормальной работе программы?
это как то говорит что оно вообще не работает )) у тебя 60 элементов в мапе, а сохраняешь и читаешь из флэша ты только 1 элемент размер всей мапы считается примерно вот так https://stackoverflow.com/questions/11537097/any-way-to-find-size-of-memory-allocated-to-map
Vladimir
это как то говорит что оно вообще не работает )) у тебя 60 элементов в мапе, а сохраняешь и читаешь из флэша ты только 1 элемент размер всей мапы считается примерно вот так https://stackoverflow.com/questions/11537097/any-way-to-find-size-of-memory-allocated-to-map
#include <Preferences.h> #include <unordered_map> Preferences prefs; using namespace std; unordered_map <uint16_t, uint8_t> dataStore; unordered_map <uint16_t, uint8_t> dataRetrieve; void setup() { Serial.begin(115200); for (int i=0; i<100; i++) {dataStore[i]=i;} prefs.begin("IntegerArray"); prefs.putBytes("SavedIntegers", (byte*)(&dataStore), sizeof(dataStore)); prefs.getBytes("SavedIntegers", &dataRetrieve, sizeof(dataRetrieve)); for (int i=0; i<60; i++) {Serial.println(dataRetrieve[i]);} } void loop() {} Почему только один? Все 60 нормально читаются.
ok-home
ну хорошо - данные в nvs а теперь вот так //for (int i=0; i<100; i++) {dataStore[i]=i;} prefs.begin("IntegerArray"); //prefs.putBytes("SavedIntegers", (byte*)(&dataStore), sizeof(dataStore));
ok-home
а если еще и //unordered_map <uint16_t, uint8_t> dataStore; то по идее должна вообще программа упасть ты наполняешь dataStore, сохраняешь в nvs указатель на dataStore, потом присваиваешь ( из nvs ) dataRetrieve = dataStore, и естественно получаешь одинаковые данные. но собственно сами данные ты в nvs не хранишь убираем datastore - а его у тебя не будет в рабочем режиме и все должно упасть
ok-home
Также ок
ну я рассказал что вижу - ардуина конечно вещь странная и все может быть, но вроде как не должно работать
Farid
Добрый день
Farid
Можно вопрос по управлению двигателем? Есть электромотор. 12в 3,5а dc. Есть Драйвер моторов двухканальный L298N/2A. Или МОДУЛЬ MOSFET ТРАНЗИСТОРА IRF520 СИЛОВОЙ КЛЮЧ. 5ампер. Мотор будет менять направление вращения релюшкой перекидной. Т.е. модуль управления будет работать постоянно, но будет резко меняться полярность на мотор через реле. Чтобы обезопаситься от обратных токов(генерации мотором) 1. Как правильно поступить? Другой модуль поискать? 2. Драйвер моторов двухканальный L298N/2A. У него 2 Ампера на канал. Могу запараллелить оба канала?
Vladimir
ну я рассказал что вижу - ардуина конечно вещь странная и все может быть, но вроде как не должно работать
Вот так работает: std::map <uint16_t, uint8_t> dataStore; std::map <uint16_t, uint8_t> dataRetrieve; uint8_t bytesStore[180]; uint8_t bytesRetrieve[180]; void setup() { Serial.begin(115200); for (int i=0; i<60; i++) {dataStore[i]=i;} int i = 0; for (const auto& [key, value] : dataStore){ bytesStore[i] = (key >> 8) & 0xFF; bytesStore[i+1] = key & 0xFF; bytesStore[i+2] = value; i += 3; } prefs.begin("Map"); prefs.remove("bytes"); prefs.putBytes("bytes", bytesStore, sizeof(bytesStore)); prefs.getBytes("bytes", bytesRetrieve, sizeof(bytesRetrieve)); for (i = 0; i<180; i +=3){ uint16_t key = bytesRetrieve[i+1] + (bytesRetrieve[i] << 8); dataRetrieve[key] = bytesRetrieve[i+2]; } for (i = 0; i<60; i++){ Serial.println(dataRetrieve[i]);} }
DeFensy 🛡⚔️ AntiSpamBot
ok-home, вам повышена репутация!🌟 Сейчас она составляет 11. Продолжайте в том же духе 😉 🔖ads: Бот создан в @botsbaseru
ok-home
Могут меняться
а как тогда поддерживается общее количество = 60 ? мапа резиновая, нет понятия поменять key - она просто добавит новый элемент ? ну и глядя на двойную буферизацию ( map, массив ) плюс аллокацию памяти под мапу,,, я бы взял оригинальное апи от nvs и использовал его, тем более что под капотом преференсес тупо обертки от nvs. а в оригинале nvs апи итераторов завезли
homekit
Подскажите, от ворот и калитки прокинута utp в дом, длинна провода 60-70 метров, хочу на ворота и калитку поставить герконы и подключить к gpio esp8266 подтянув резисторами к 3.3, будет ли на таком расстоянии приходить информация от датчиков и надёжна ли такая конструкция?
Andrey
как сделать по уму?
изолировать оптопарами. таковые поставить максимально близко к ESP
Andrey
ну, и по хорошему бы, питание контура датчиков тоже изолировать. есть компактные DC/DC.
Max
Мои безумные часы: или как создать точку фокуса в рабочем интерьере Привет, Хабр! В этой статье я хочу поделиться своим давним проектом, который до сих пор не утратил актуальности. Я расскажу об его реализации в далеком 2017 году, обновлю прошивку устройства в соответствии с моими современными стандартами умных устройств и покажу реализацию нового дизайна цифрового модуля. Присоединяйтесь, будет интересно! Читать далее https://habr.com/ru/articles/856660/?utm_campaign=856660&utm_source=habrahabr&utm_medium=rss
Farid
Подскажите плиз какой
ㅤ
Подскажите плиз какой
Китайский какой-то был на 6 ампер
ㅤ
Если мотор будет релюшкой менять, то нахрена тебе драйвер?
Farid
Запускать его и 5 уровней скорости
ㅤ
TA6586 H мост на 7 ампер кажись