Прошивка Wemos D1 mini для ebusd адаптера
Зазначені нижче кроки будуть актуальні для linux (ubuntu) та macos, вінда на "відпочинку" не мав змоги перевірити це там. Для прошивки будемо використовувати esptool.py
Вимоги: ubuntu : встановлений пайтон 3.8.10, або вище (має бути доступний за замовчанням, перевіряємо: python3 -V) macos : встановлений brew, за допомогою якого доставимо все необхідне
Установка esptool: MacOS:
- Ставимо brew (може зайняти деякий час, качає багато і довго)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- (цей крок може бути не обов'язковим, немає змоги перевірити)
brew install python3
brew install esptool
Ubuntu:
python3 -m venv ~/venv_esptool
source ~/venv_esptool/bin/activate
pip install -U pip setuptools wheel esptool
Прошивка Wemos D1 mini: (актуально для обох ОС, дрібні деталі можуть відрізнятися в залежності від багатьох ввідних, тому тут наводжу "універсальний рецепт")
- Від'єднуємо Wemos D1 mini від плати ebusd адаптера
- Підключаємо wemos usb кабелем до компухтєра, запалюється синій діод (не всякий micro-usb кабель може підійти, попереджаю одразу, бо деякі розраховані суто на зарядку і не мають живої пари контактів на передачу даних, у мене з 3ї спроби знайшовся нормальний кабель, "не нормальні" кабелі просто не показують wemos в списку девайсів)
- Шукаємо wemos в списку девайсів:
3.1.
ls -la /dev/tty*
- або
ls -la /dev/serial/by-id
3.2. В консолі має бути щось типу /dev/tty.usbserial-025NC761
- або
usb-Serial_Converter_025NC761-if00-port0 -> ../../ttyUSB1
(прямий шлях відповідно буде/dev/ttyUSB1
, він нам і потрібен) 3.3. Можете від'єднати-приєднати wemos, і переглянути список ще раз, щоб засвідчитися, що знайшли саме wemos
- Скачуємо прошивку (https://github.com/john30/ebusd-esp/blob/master/dist/ebus-v3_d1mini.bin) в хоум директорію:
~/ebus-v3_d1mini.bin
(не дивлячись на те, що наш wemos виглядає як d1 mini pro, виглядає так що пам'яті у нього рівно в 4 рази менше, відповідно прошивку беремо для звичайної, "не про", версії) - Чистимо wemos (де значенням для --port відповідно буде шлях знайдений вище)
esptool.py --port /dev/tty.usbserial-025NC761 erase_flash
- Зашиваємо скачану прошивку
esptool.py --port /dev/tty.usbserial-025NC761 --baud 921600 write_flash -fm dio 0x00000 ~/ebus-v3_d1mini.bin
- Жодних помилок не має бути
Конфігурація Wemos D1 mini:
- Не від'єднуючи wemos від usb компухтєра, його можна одразу і сконфігурувати через веб, аби не морочитися з консолью (якщо комп має wifi, якщо ж не має - можна використати телефон, якщо ж телефон кнопковий - хз нащо вам ebusd, киньте ту справу)
- Підключаємося до wifi споту "EBUS", заходимо в браузері по адресі http://192.168.4.1
- Міняємо поля: 1 - назва wifi споту вашого роутера, 2 - пароль до wifi споту, 5 - тип девайсу "Adapter 3.0 RX+TX =GPIO3+1" (скріншот додаю), решту полів можна залишити як є (чому тип девайсу саме такий - не питайте, я хз)
- Тиснемо кнопку Save & Reboot, wemos перезапуститься і під'єднається до вказаної wifi мережі
- Зайти в налаштування dhcp (сервера) роутера, знайти там IP адресу wemos та зробити її статичною, перевірити що веб-інтерфейс доступний за тією адресою відкривши його в браузері
Далі можна приєднувати Wemos D1 mini назад до ebusd адаптера (wemos пін 5v йде на позначку "+" на платі, якщо ви раптом забули зафоткати, коли знімали)
Основна проблема на яку я натрапив після: wemos не стартує від живлення з ebusd плати (не запалюється синій діод), причому рандомним чином; спочатку мені здалося що то через приєднані ebus дроти, але згодом зрозумів шо проблема не в тому. Живлення відповідно давав лише на ebusd плату, різне, від 5 до 12в, якоїсь залежності не знайшов. При підключенні ж по USB-B (оте здоровезне одоробло) напряму до сервера, зовнішнє живлення не потрібне, і сама ebusd плата працює (з від'єднаним wemos відповідно)
Малюнки до CSV конфігурації: