IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [146]
    Безопасность IT [404]
    Блоки питания, Power Banks, зарядки... [527]
    Видеорегистраторы [189]
    Гаджеты для спорта и здоровья... [195]
    Гаджеты, аксессуары... [633]
    Измерительная техника, инструменты [457]
    Накопители данных [238]
    Нетбуки, Ноутбуки, Ультрабуки [693]
    Мультиварки, блендеры и не только... [169]
    Планшеты [766]
    Радар-детекторы [26]
    Роботы-пылесосы [41]
    Своими руками [381]
    Сети, сетевые технологии, оборудование... [274]
    Смартфоны [4967]
    Фотокамеры, объективы, искусство фотографии.. [542]
    Умный дом [56]
    Электронные книги [104]
    CB, LPD, PMR- связь... [170]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [109]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [3992]
    mini computers и не только... [413]
    News IT, Это интересно, ликбез... [1121]
    Smart TV, UltraHD, приставки, проекторы... [417]
    Smart Watch [270]
    Sound: наушники, плееры, усилители... [621]
    Windows 10... [301]
    Windows 11 [37]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1347
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2025 » Январь » 31 » Зарядная станция MaAnt DianBa No.1 и доработка модулем ESP32
    17:05
    Зарядная станция MaAnt DianBa No.1 и доработка модулем ESP32

    Зарядная станция MaAnt DianBa No.1 и доработка модулем ESP32

    1. Цена: 3 535 руб.
    2. Перейти в магазин
    Как-то замучался на работе заряжать кучу устройств через USB-порты системного блока и приобрел приглянувшийся мне MaAnt на aliexpress.
     

    Брал давно, сейчас уже новая версия появилась с отличающимся дизайном. Устройство красивое, имеет дисплей с показом потребления как по всем каналам (пользуюсь только этим режимом), так и переключается в режим отображения по каждому каналу с увеличенным размером шрифта и дополнительным отображением информации, например напряжениями на линиях D- и D+. Есть еще силовой выход на 5В для подсоединения бананов, который имеет плохую защиту по КЗ (или мне не повезло), ну собственно я его коротнул и он стал не силовым, а слаботочным, держит 5В при токе не более 100мА, а далее просаживается, до КЗ 2А выдавал смело, больше не пробовал. Также на экране не выводятся по нему никакие параметры, но это так у меня, я видел у людей есть вывод данных, у них видимо более поздние ревизии изделия. Прибор умеет еще заряжать по беспроводной технологии. Также если зажать две кнопки одновременно, то попадем в дополнительное меню, в котором ничего кроме уровня яркости подсветки изменить нельзя.

    Приведу выдержку параметров из страницы продавца:
    • Входное напряжение: 110v-220v
    • Выходное напряжение: 5 В
    • Максимальный ток: 25А
    • Мощность PD: макс. 22 Вт
    • Мощность беспроводной зарядки: 10 Вт
    • Максимальное напряжение: 5,1 V
    • Максимальный ток одного порта: 5A
    • Размеры: 102×100x88 мм

    Ниже приведу пару изображений по поддерживаемым протоколам на портах QC3.0 и PD20W, остальные порты стандартные на 5В 2А выдают.

    QC3.0:

    PD20W:

    Также приложу фоточки внутренностей, во время вскрытия присоской оторвал экран, но он уцелел и остался работоспособным:

    Основная управляющая плата с экраном и USB выводами:

    Блок питания вид сверху:

    Блок питания вид снизу:

    Гугл поиск по маркировке блока питания ничего интересного не выдал, но на вид все массивно и добротно, возможно даже на 25А тянет при 5В.
     

    Плата беспроводной зарядки:

    Ну и поскольку у устройства нет никаких тумблеров включения, а из розетки выдергивать его совсем неудобно решил его доработать на авто включению по моему присутствию и отключению по моему отсутствию. Хотелось, чтобы реагировало именно на меня и всякие датчики движения я отмел. Взор пал на ESP32-WROVER-B с Wifi и Bluetooth и захотелось его немного поковырять, ну и сказано-сделано. Очень мне полюбилась среда EspHome для домашней автоматизации, но ничто не мешает ее использовать для программирования автономных модулей. Собственно, получилась такая конфигурация в формате Yaml:
     
    Кодаманама
    esphome:
      name: maant
      on_boot:
      - priority: 800
        then:
        - delay: 300ms
        - lambda: |-
            id(relay_out).turn_off();
            wifi::global_wifi_component->disable();
            
    esp32:
      board: esp32dev
      framework:
        type: arduino
        
    web_server:
      port: 80
        
    preferences:
      #one on day
      flash_write_interval: 1440min
      
    wifi:
      ssid: "Тута имя точки"
      password: "Тута пароль"
      reboot_timeout: 3min
      enable_on_boot: false
      
    ota:
      safe_mode: true
      password: тута пароль
        
    logger:
     level: INFO
     
    globals:
        - id: out_timeout
          type: int
          restore_value: no
          initial_value: '0'
        - id: wifi_timeout
          type: int
          restore_value: no
          initial_value: '0'      
        - id: in_uuid
          type: std::string
          restore_value: no
          initial_value: '"0x88FFEE11"'
        - id: ble_id_name
          type: std::string
          restore_value: no
          initial_value: '"Amazfit Bip"'
          
      
    interval:
      - interval: 1s
        then: 
          - lambda: |-
              if(id(out_timeout) != 0) {
                  id(out_timeout)--;
                  if((id(out_timeout) < 3550) && ((id(out_timeout) % 60) == 0) ) {
                    int t = id(out_timeout) / 60;
                    ESP_LOGI("BLE_SOCKET", "relay time left = %i min", t);
                  }
                  if(id(out_timeout) == 0) {
                    id(relay_out).turn_off();
                    ESP_LOGI("BLE_SOCKET", "RELAY OFF");
                  }
              }
              
              if(id(wifi_timeout) != 0) {
                  id(wifi_timeout)--;
                  
                  if((id(wifi_timeout) % 60) == 0) {
                    int t = id(wifi_timeout) / 60;
                    ESP_LOGI("BLE_SOCKET", "wifi time left = %i min", t);
                  }
                  if(id(wifi_timeout) == 0) {
                    wifi::global_wifi_component->disable();
                    ESP_LOGI("BLE_SOCKET", "WIFI OFF");
                  }
              }
      
    esp32_ble_tracker:
      on_ble_advertise:
        then:
          - lambda: |-       
             if(x.get_service_uuids().size() != 0) {
                auto uuid = x.get_service_uuids()[0];
                if(strcmp(uuid.to_string().c_str(), id(in_uuid).c_str()) != 0) return;
                ESP_LOGI("BLE_SOCKET", "Success - mac: %s uuid: %s", x.address_str().c_str(), uuid.to_string().c_str());
                id(out_timeout) = 3600;
                id(relay_out).turn_on();
             }
             
             if(strlen(x.get_name().c_str()) > 0) {
               ESP_LOGI("BLE_SOCKET", "Name: %s", x.get_name().c_str());
               if(strcmp(x.get_name().c_str(), id(ble_id_name).c_str()) >= 0) {
                   ESP_LOGI("BLE_SOCKET", "Success - name: %s mac: %s", x.get_name().c_str(), x.address_str().c_str());
                   id(out_timeout) = 3600;
                   id(relay_out).turn_on();
               }
             }
             if(x.get_service_datas().size() != 0) {
                auto data = x.get_service_datas()[0];
                std::string s(data.data.begin(), data.data.end());
                ESP_LOGI("ble_adv", "Data - %s", s.c_str());
             }
             if(x.get_service_uuids().size() != 0) {
                 ESP_LOGI("ble_adv", "  Advertised service UUIDs:");
                 for (auto uuid : x.get_service_uuids()) {
                     ESP_LOGI("ble_adv", "    - %s", uuid.to_string().c_str());
                 }
             }
        
    switch:
      - platform: gpio
        id:  relay_out
        pin: GPIO25
        restore_mode: ALWAYS_OFF
        inverted: True
        on_turn_on:
          then:
            - lambda: |-
               return;
               ESP_LOGI("Relay", "on_turn_on");
        on_turn_off:
          then:
            - lambda: |-
               return;
               ESP_LOGI("Relay", "on_turn_off");  
        
    binary_sensor:
      - platform: gpio
        name: "Test Button"
        pin:
          number: GPIO0
          mode: INPUT_PULLUP
          inverted: True
        on_click:
            min_length: 50ms
            max_length: 2s
            then:
              - lambda: |-
                  id(wifi_timeout) = 360;
                  wifi::global_wifi_component->enable();
                  ESP_LOGI("Wifi", "Wifi on");
    
    

    Собираем и зашиваем из консоли командой: esphome run maant.yaml
     


    Большинство часов с Bluetooth соединением периодически отправляют посылки, с которых можно выдернуть их наименование. Собственно, ловлю посылки с моих часов Amazfit Bip, а также если вдруг забыл часы, то ловлю посылки с uuid данными генерируемым приложением nRF Connect на Android, поскольку политика безопасности в смартфонах не предусматривает периодической отправки каких-либо идентификаторов с включенным Bluetooth.
     

    По обнаружению присутствия устанавливается таймер на один час и включается MaAnt с помощью реле. Таймер сбрасывается пока я рядом, как только я ушел, то через час MaAnt отключится.
     


    Также на ESP32 с большим сенсорным экраном WT32-SC01, тоже купленной на aliexpress, вывожу список найденных рядом Bluetooth устройств ради интереса:

    Приложу фотки доработки по встраиванию ESP32 внутрь. Внутри есть выступы под которые распечатал на 3Д-принтере салазки и расположил все модули на них, прям над блоком питания:

    Чтобы питать ESP32 встроил для него отдельный блок питания из какого-то дешманского зарядника, который выдает 5В на выход, 5В идут на модуль реле, на котором есть понижающий стабилизатор на 3.3В которые питают ESP32, а ESP32 же с помощью модуля реле включает основной блок питания MaAnt:

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

    Вот так выглядит все это дело всунутое внутрь:

    Кнопочку включения Wifi модуля в ESP32 вывел на заднюю часть:

    Включенный Wifi автоматом подключается к точке доступа, по параметрам, которые забиты заранее в строках ssid и password, а строки ota со своими параметрами позволяют мне обновлять прошивку по wifi не подключаясь ничем физически. Но первую конфигурацию придется залить как-то физически, поэтому сделал это с помощью подключения конвертора USB-UART и EspHome по увиденному COM-порту в системе все успешно залил в модуль:

    После нажатия кнопки запускается обратный таймер отключения и через 10 минут Wifi отключится. После подачи питания Wifi не включается сам, все привязано к кнопке.

    Ну собственно сама зарядная станция меня устраивает, красивая, много портов USB и много пустого места внутри для доработки :) Засим все.

     

     

    proleyka

    https://mysku.club/blog/aliexpress/102334.html

    Категория: Блоки питания, Power Banks, зарядки... | Просмотров: 5 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    «  Январь 2025  »
    ПнВтСрЧтПтСбВс
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2025