У меня после первого знакомства с контроллером MegaD 2561
остались множественные настройки на нем и раз я решил что нужно все их задокумментировать в виде пошаговых заметок, то нужно все заново от и до проделать, но перед этим нужно сбросить все настройки на контроллере, понять как поменять IP-адрес, сделать бекап и восстановление из бекапа
Чтобы сбросить все настройки на контроллере MegaD-2561
воспользуюсь официальным megad-cfg-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.