У меня после первого знакомства с контроллером MegaD 2561 остались множественные настройки на нем и раз я решил что нужно все их задокумментировать в виде пошаговых заметок, то нужно все заново от и до проделать, но перед этим нужно сбросить все настройки на контроллере, понять как поменять IP-адрес, сделать бекап и восстановление из бекапа

Чтобы сбросить все настройки на контроллере MegaD-2561 воспользуюсь официальным megad-cfg-2561.

Мой тестовый стенд:

двухполюсный автомат – узо – автомат – блок питания – контроллер MegaD-2561

Мой тестовый стенд с MegaD 2561

Предварительные действия:

Подключаю ноутбук к домашней сети и скачиваю скрипт (Кросс-платформенный консольный PHP-скрипта megad-cfg-2561.) либо с официального сайта либо я его к себе в домашний репозитарий закинул дабы в последствии не зависеть от интернета и сайта производителя.

ekzorchik@ekzmint:~$ sudo rm -Rf /var/lib/apt/lists

ekzorchik@ekzmint:~$ sudo apt-get update

На заметку: В своем дистрибутиве именование пакетов ищется как:

ekzorchik@ekzmint:~$ apt-cache search php-cli

ekzorchik@ekzmint:~$ apt-cache search php-xml

ekzorchik@ekzmint:~$ sudo apt-get install -y php7.2-cli php7.2-xml

ekzorchik@ekzmint:~$ hg clone http://srv-wiki/hg/megad

После изменяю подключение, ноутбук к контроллеру через ethernet кабель, т. е. Они оба соединены ни через какой-либо роутер, а напрямую. Открываю консоль командной строки на ноутбуке (установлена ОСЬ Ubuntu 18.04.6 Desktop) и:

Шаг №1: Через скрипт выведем список всех Ethernet-устройств, даже если они находятся в другой IP-сети. Вот только имея на ноутбуке IP адрес 192.168.1.5/24 я через скрипт не увидел IP адрес контроллера, пришлось из такой же сети явно на ноутбуке задать IP-адрес: 172.33.33.230 и тогда скрипт увидел контроллер:

ekzorchik@ekzmint:~$ php megad/megad-cfg-2561.php --local-ip 172.33.33.230 --scan

172.33.33.130 — Это адрес контроллера в моем случае

об этот кстати есть упоминание в одном из комментариев:

нужно что-бы ip устройства с которого прошиваете был в одной сети с megad

Шаг №2: Если нужно сделать бекап и восстановление из бекапа конфигурации устройства:

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

Считывание конфигурации устройства и запись в файл megad.cfg

ekzorchik@ekzmint:~$ php megad/megad-cfg-2561.php --local-ip 172.33.33.230 --ip 172.33.33.130 --read-conf megad.cfg -p sec

Reading configuration... OK

где ключ

  • -p sec -> это указание пароля на авторизацию на контроллере по умолчанию и он же пишется при обращении через Web: http://IP/sec

если при считывании конфигурации Вы получаете ошибку вида

Reading configuration... PHP Fatal error: Uncaught Error: Class 'DOMDocument' not found

значит вам нужно установить пакет:

apt-cache search php-dom -> sudo apt-get install -y php7.2-xml

и после заработает считывание конфигурации и запись конфигурации.

Считывание конфигурации из файла и запись в устройство

ekzorchik@ekzmint:~$ php megad/megad-cfg-2561.php --local-ip 172.33.33.230 --ip 172.33.33.130 --write-conf megad.cfg -p sec

Writing configuration... OK

Шаг №3: Сбрасываем всех настроек на контроллере на заводские с изменением IP-адреса на 192.168.0.14 либо остается тот что был

Не обязательно скачивать прошивку вручную. Скрипт megad-cfg-2561.php может загрузить прошивку с сайта самостоятельно! Это при наличии интернета из сети контроллера и ключа -w

ekzorchik@ekzmint:~$ php megad/megad-cfg-2561.php --local-ip 172.33.33.230 --ip 172.33.33.130 -p sec -w
  • -w - Скачать последний релиз прошивки с сайта ab-log.ru

Очень часто на сайте публикуются тестовые прошивки, так называемые “бета-прошивки”. Если с ключом “-w” скачивается релиз, то дополнительно указав ключ “-b” можно загрузить “бету”

ekzorchik@ekzmint:~$ php megad/megad-cfg-2561.php --local-ip 172.33.33.230 --ip 172.33.33.130 -p sec -w -b

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

Все прошивки тут: https://ab-log.ru/smart-house/ethernet/megad-2561-firmware

но что-то я не увидел стабильные прошивки все с пометкой бета.

Если скачать прошивку самую последнюю

wget https://ab-log.ru/files/File/megad-2561/megad-2561_454_beta4-hex.zip

распаковать ее и запустить скрипт – то результат тот же – устройство не откликается, то через выключение питания и включения к нему можно получить доступ:

ekzorchik@ekzmint:~$ php megad/megad-cfg-2561.php --local-ip 172.33.33.230 --ip 172.33.33.130 -p sec -w -b

Connecting... OK!

Downloading firmware... OK

Checking firmware... OK

Erasing firmware... OK

Writing firmware... OK

Restarting device... OK

Вывод: Запускаем скрипт, если идет надпись Connecting (и начнет постоянно слать в сеть специальные пакеты.) выключаем контроллер, запускаем контроллер и после скрипт успешно подключиться и выполнит обновление (скрипт не прерываем). У меня сработало.

Шаг №4: Изменение IP-адреса устройства

ekzorchik@ekzmint:~$ php megad/megad-cfg-2561.php --local-ip 172.33.33.230 --ip 172.33.33.130 --new-ip 172.33.33.129 -p sec

IP Address was successfully changed!

где используемые ключи:

  • --ip - Текущий IP-адрес устройства
  • --new-ip - Новый IP-адрес устройства
  • -p - Текущий пароль (по умолчанию пароль "sec")

Шаг №5: Перепрошивка устройства

На заметку: Обновлять устройство по сети не рекомендую

я скачал прошивку с сайта (с 454 у меня контроллер не поднимается)

ekzorchik@ekzmint:~$ wget https://ab-log.ru/files/File/megad-2561/megad-2561_449_beta4-hex.zip

ekzorchik@ekzmint:~$ unzip megad-2561_449_beta4-hex.zip

Archive: megad-2561_449_beta4-hex.zip

inflating: megad-2561.hex

ekzorchik@ekzmint:~$

подключил ноутбук (выставляю статический IP адрес из сети где контроллер) на прямую к контроллеру (по сети также успешно можно обновить)

выключил контроллер

включаю контроллер и сразу же запускаю команду, предварительно команда уже набрана и остается только нажать клавишу Enter

ekzorchik@ekzmint:~$ php megad/megad-cfg-2561.php --local-ip 172.33.33.230 --ip 172.33.33.130 --fw megad-2561.hex -p sec -e -ee

Connecting... OK

Checking firmware... OK

Erasing firmware... OK

Writing firmware... OK

Restarting device... OK

ekzorchik@ekzmint:~$
  • --ip - Текущий IP-адрес устройства
  • --fw - Путь к скомпилированной прошивке в формате HEX
  • -p - Текущий пароль

и прошивка успешно заливается

обращаюсь на Web-интерфейс 172.33.33.130/sec и страница успешно открывается

включаю контроллер в общую сеть

включаю ноутбук в общую сеть

проверяю что из общей сети вижу контроллер

ekzorchik@ekzmint:~$ ping 172.33.33.130

PING 172.33.33.130 (172.33.33.130) 56(84) bytes of data.

64 bytes from 172.33.33.130: icmp_seq=1 ttl=64 time=1.47 ms

ekzorchik@ekzmint:~$ curl --silent http://172.33.33.130/sec | cut -c 55-64 | head -n1

fw: 4.49b8

проверяю что из общей сети вижу контроллер обратившись на Web-интерфейс

Отлично я для себя разобрал шаги как найти адрес контроллера в сети, сменить IP-адрес, сохранить конфигурационный файл, загрузить его, перепрошить контроллер.

На это моя заметка для себя завершена, с уважением автор блога Олло Александр aka ekzorchik.