Jump to content
iFinder

Попытка установки Node-RED (Графический конфигуратор для интернета вещей)

Recommended Posts

39 минут назад, TheBB сказал:

Указанными командами обновляются все установленные пакеты, кроме внешних, напр., те же "node-red"

17. А какими командами обновляется сама Node-RED ?

Share this post


Link to post
Share on other sites
13 минуты назад, iFinder сказал:

Это нормально или это признак, что флэшка имеет серьёзные проблемы ?

Смотря, какая была ФС. Если была NTFS - проблемы, если ext* - нормально, т.к. Windows такой не знает (без доп. драйверов, напр., ext2fsd)

  • Upvote 1

Share this post


Link to post
Share on other sites
17 минут назад, iFinder сказал:

17. А какими командами обновляется сама Node-RED ?

`npm update node-red`

Share this post


Link to post
Share on other sites
14 часа назад, TheBB сказал:
14 часа назад, iFinder сказал:

17. А какими командами обновляется сама Node-RED ?

`npm update node-red`

Извините, сделал опечатку. Про обновление Node-RED Вы ещё раньше ответили. Интересует сама Entware.

А какими командами обновляется сама Entware ?

Раньше я считал, что `opkg update && opkg upgrade`.

Share this post


Link to post
Share on other sites
4 минуты назад, iFinder сказал:

А какими командами обновляется сама Entware ?

так и обновляется:

4 минуты назад, iFinder сказал:

 `opkg update && opkg upgrade`

Запуск "opkg" без параметров, выводит обширную справку.

`opkg update` - обновляет список пакетов, `opkg upgrade` - обновляет установленные пакеты

Share this post


Link to post
Share on other sites

Правильно ли у меня выстроилось ?

а) Устройство (Роутер) ZyXEL Keenetic имеет операционную систему NDMS.

Обновляется через WEB-интерфейс NDMS.

б) Средствами NDMS v2.07 и выше (с помощью Менеджера пакетов OPKG) устанавливаются основные пакеты Системы пакетов Entware.

Обновляются CLI-командами `opkg update && opkg upgrade`.

в) Далее в систему пакетов Entware устанавливаются Entware-пакеты семейства Node, в т.ч. "node-npm".

Обновляются CLI-командами `opkg update && opkg upgrade`.

г) Затем в систему пакетов Node добавляется Node-пакет "node-red".

Обновляется CLI-командой `npm update node-red`.

д) И наконец, для Node-RED устанавливаются дополнительные Node-пакеты (например, "node-red-contrib-advanced-ping").

Обновляется CLI-командой `npm update node-red-contrib-advanced-ping`.

Share this post


Link to post
Share on other sites
17 часов назад, TheBB сказал:

Смотря, какая была ФС. Если была NTFS - проблемы, если ext* - нормально, т.к. Windows такой не знает (без доп. драйверов, напр., ext2fsd)

Поднял свои старые записи. При установке Entware специально форматировал флэшку в EXT3 с помощью Windows-приложения "Acronis Disk Director 12".

Компа с GNU/Linux никогда не имел, только Windows. Можно ли проверить Entware-флэшку в EXT3 средствами Keenetic/Entware ?

Share this post


Link to post
Share on other sites
14 минуты назад, iFinder сказал:

Поднял свои старые записи. При установке Entware специально форматировал флэшку в EXT3 с помощью Windows-приложения "Acronis Disk Director 12".

Компа с GNU/Linux никогда не имел, только Windows. Можно ли проверить Entware-флэшку в EXT3 средствами Keenetic/Entware ?

Просто скачайте любой Live дистрибутив и загрузитесь с него. Можно, но будет долго скорее всего...

Share this post


Link to post
Share on other sites

а) почти, ZyXEL Keenetic относится к первой (белые) и второй (черные) сериям, новые устройства - просто "Keenetic"

б) - д) если не заниматься буквоедством ("CLI"), пожалуй, да.

13 минуты назад, iFinder сказал:

Можно ли проверить Entware-флэшку в EXT3 средствами Keenetic/Entware ?

`opkg list | grep e2fs | cut -f1 '-d ' | xargs opkg install`

Скрытый текст

в общем случае, смотрим какой диск нужен, отмонтируем его, выполняем проверку (см. справку по ключам), напр.,


~ # mount | grep sd
/dev/sda2 on /tmp/mnt/37ac0c66-a3b8-4c56-81f3-225378a2e00b type ext2 (rw,nosuid,noexec,noatime)
/dev/sdb1 on /tmp/mnt/644ffcba-1c2e-4e7d-b70a-b251e5fb87ed type ext2 (rw,noatime)
/dev/sdb1 on /opt type ext2 (rw,noatime)
~ # 
~ # umount /dev/sda2
~ # 
~ # e2fsck /dev/sda2
e2fsck 1.44.5 (15-Dec-2018)
backup was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 7, i_blocks is 62976, should be 62760.  Fix<y>? yes
Error reading block 6398 (Input/output error) while reading indirect blocks of inode 13.  Ignore error<y>? yes
Force rewrite<y>? yes
Inode 13, i_blocks is 10502848, should be 10437312.  Fix<y>? yes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  -(91148--92171) -(261132--261643) -(266252--266763) +(381452--381963) -(381964--382475) -(383500--384011) -(742412--743435) -(762892--764939) -(782348--783371) -(784396--784907) -(982028--983039) -(985088--985099)
Fix<y>? yes
Free blocks count wrong for group #2 (5013, counted=6037).
Fix<y>? yes
Free blocks count wrong for group #7 (1144, counted=1656).
Fix<y>? yes
Free blocks count wrong for group #8 (2056, counted=2568).
Fix<y>? yes
Free blocks count wrong for group #11 (4613, counted=5125).
Fix<y>? yes
Free blocks count wrong for group #22 (2560, counted=3584).
Fix<y>? yes
Free blocks count wrong for group #23 (4608, counted=8192).
Fix<y>? yes
Free blocks count wrong for group #29 (8585, counted=9597).
Fix<y>? yes
Free blocks count wrong for group #30 (1467, counted=1479).
Fix<y>? yes
Free blocks count wrong (1835458, counted=1843650).
Fix<y>? yes


backup: ***** FILE SYSTEM WAS MODIFIED *****
backup: 1135/807840 files (7.6% non-contiguous), 1385790/3229440 blocks
~ # 
~ #

 

 

  • Thanks 1

Share this post


Link to post
Share on other sites
19 минут назад, Mamay сказал:

Просто скачайте любой Live дистрибутив и загрузитесь с него. Можно, но будет долго скорее всего...

а) Быстро (я понимаю время на подготовку) и просто не получится. Это важная информация для меня.

б) Ранее у меня не было возможности доступа к Entware-флэшки с Windows-систем.

в) К тому же TheBB, сообщил, что Entware-флэшка может быть в NTFS.

г) Entware-флэшка всего 256 Мб, что уже стало мало.

Учитывая это, мне представляется наиболее оптимальным вариантом:

Отформатировать Entware-флэшку в NTFS и восстановить на неё резервную копию.

Тогда получу преимущества:

а) Достаточно быстро решу проблему.

б) Будет доступ к Entware-флэшке с Windows-систем.

в) Смогу легко проверить техсостояние Entware-флэшки с Windows-системы.

г) Entware-флэшка станет как мимимум 8Гб.

д) Получу первый опыт восстановления Entware.

Edited by iFinder

Share this post


Link to post
Share on other sites
11 минуту назад, TheBB сказал:

`opkg list | grep e2fs | cut -f1 '-d ' | xargs opkg install`

Терять уже нечего. Пробую.

Устанавливаю пакет `opkg list | grep e2fs | cut -f1 '-d ' | xargs opkg install`:

Скрытый текст

~ # opkg list | grep e2fs | cut -f1 '-d ' | xargs opkg install
Installing dumpe2fs (1.44.5-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/dumpe2fs_1.44.5-1_mipsel-3.4.ipk
Installing libcomerr (1.44.5-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libcomerr_1.44.5-1_mipsel-3.4.ipk
Installing libss (1.44.5-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libss_1.44.5-1_mipsel-3.4.ipk
Installing libext2fs (1.44.5-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libext2fs_1.44.5-1_mipsel-3.4.ipk
Installing e2fsprogs (1.44.5-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/e2fsprogs_1.44.5-1_mipsel-3.4.ipk
Package e2fsprogs (1.44.5-1) installed in root is up to date.
Package libcomerr (1.44.5-1) installed in root is up to date.
Package libss (1.44.5-1) installed in root is up to date.
Installing resize2fs (1.44.5-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/resize2fs_1.44.5-1_mipsel-3.4.ipk
Installing tune2fs (1.44.5-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/tune2fs_1.44.5-1_mipsel-3.4.ipk
Configuring libcomerr.
Configuring libss.
Configuring libext2fs.
Configuring e2fsprogs.
Configuring resize2fs.
Configuring tune2fs.
Configuring dumpe2fs.
~ # 


 


Получаю перечень всех имеющихся дисков:

~ # mount | grep sd
/dev/sda on /tmp/mnt/2830c0e8-ee61-540d-4a26-0271e5df6778 type ext3 (rw,noatime,data=ordered)
/dev/sda on /opt type ext3 (rw,noatime,data=ordered)
~ # 


Отмонтрую нужный диск:
 

~ # umount /dev/sda
umount: can't unmount /opt: Device or resource busy
~ # 

Может надо было его предварительно отключить в WEB-интерфейсе роутера ?

Share this post


Link to post
Share on other sites
1 час назад, TheBB сказал:

б) - д) если не заниматься буквоедством ("CLI")

А что не так ? Я хотел отразить, что с помощью командной строки.

Share this post


Link to post
Share on other sites

На основании ответов TheBB, сделал себе памятку и делюсь с новичками.

                РЕЗЕРВИРОВАНИЕ Entware

        НА КОМПЬЮТЕРЕ:
1. Подключиться с помощью Putty к Entware:
    - {IP вашего Keenetic} порт SSH 222
    - Устанавить ангийскую раскладку
    - Ввести логин root
    - Ввести пароль keenetic
2. Сделать резервную копию (команда обязательно с точкой в конце !):

~ # tar cvzf /opt/{Имя Вашего Keenetic}-Entware-backup-`date "+%Y-%m-%d_%H-%M"`.tar.gz -C /opt .


3. Закрыть Putty:

~ # exit


4. Забрать из папки: \\{IP вашего Keenetic}\Entware\
    созданный файл: {Имя Вашего Keenetic}-Entware-backup-2019-10-16_12-09.tar.gz
5. Переименовать файл, указав состояние Entware (например - 'перед обновлением')

                ОБНОВЛЕНИЕ Entware

        НА КОМПЬЮТЕРЕ:
1. Сделать резервную копию Entware перед обновлением (см. выше)
2. Подключиться с помощью Putty к Entware:
    - {IP вашего Keenetic}порт SSH 222
    - Устанавить английскую раскладку
    - Ввести логин root
    - Ввести пароль keenetic
3. Выполнить обновление перечня установленных пакетов:

~ # opkg update


4. Выполнить обновление:

~ # opkg upgrade


5. Если будут ошибки, то обязательно выполнить обновление ещё раз
6. Сделать резервную копию Entware после обновления (см. выше)

                ВОССТАНОВЛЕНИЕ Entware НА НОВЫЙ USB-НОСИТЕЛЬ

        НА КОМПЬЮТЕРЕ:
1. Вставить USB-флэшку в Комп
2. Отформатировать USB-флэшку в NTFS (все возможные: NTFS, HFS, Ext2/Ext3/Ext4)
    1-ЫЙ ВАРИАНТ (НА КОМПЕ):
3. Создать в корне папку 'install'
4. Скопировать в неё архив с резервной копией
    2-ОЙ ВАРИАНТ (НА РОУТЕРЕ УДАЛЁННО):
- Вставить USB-флэшку в Keenetic
- Предоставить удалённый доступ и Зайти на USB-флэшку удалённо через SMB
3. Удалённо создать в корне папку 'install'
4. Удалённо скопировать в неё архив с резервной копией

        НА РОУТЕРЕ KEENETIC:
5. Вставить USB-флэшку в Keenetic (если не была вставлена ранее)
6. В WEB-интерфейсе Keenetic указать строку инициализации: '/opt/etc/init.d/rc.unslung'
7. Нажать 'Сохранить'
8. Дождаться окончания процесса распаковки
 

Share this post


Link to post
Share on other sites

У меня в примере 2-е флешки воткнуто, на sdb - текущая (рабочая, с которой проверяю) система, на sda - "резерв" (которую проверяю). Для "приключений на разные части тела", есть ключ "-l" (umount -l /dev/...).

5 минут назад, iFinder сказал:

А что не так ? Я хотел отразить, что с помощью командной строки.

Смотря, как интерпретировать ))) Command Line Interface/Cisco Like Interface (https://help.keenetic.com/hc/ru/articles/213965889) или Command Line Interface/SSH - (Secure Shell)

  • Upvote 1

Share this post


Link to post
Share on other sites

22. В настройках Keenetic можно указать действие по нажатию кнопок: OPKG - Запуск скриптов button.d. Что нужно сделать чтобы, например, включалась гостевая WiFi-сеть ?
 

Share this post


Link to post
Share on other sites
1 минуту назад, TheBB сказал:

Для "приключений на разные части тела", есть ключ "-l" (umount -l /dev/...).

Нет приключений и так хватает. Но в общем понятно: сама себя без приключений не размонтирует, а значит не проверит.

Но на будущее учту такую возможность !

Share this post


Link to post
Share on other sites

В web - "Общие настройки" ("Общие настройки системы") => "Назначение кнопок и индикаторов интернет-центра"

Share this post


Link to post
Share on other sites
29 минут назад, TheBB сказал:

В web - "Общие настройки" ("Общие настройки системы") => "Назначение кнопок и индикаторов интернет-центра"

Да это там, но что нужно сделать чтобы это заработало ? Предполагаю, что где-то надо создать файл button.d.

Ещё накопал на форуме: Opkg: передача в скрипт /opt/etc/ndm/button.d дополнительных переменных окружения:

  • button — название кнопки
  • action — тип нажатия

Значит ещё и другие переменные окружения есть. Как это всё вместе соединить ?

А может сделать для этого отдельную тему ?

Share this post


Link to post
Share on other sites
23 минуты назад, iFinder сказал:

Да это там, но что нужно сделать чтобы это заработало ?

Там же, выбрать нужное и нажать "Сохранить" ("Применить")

25 минут назад, iFinder сказал:

Значит ещё и другие переменные окружения есть.

https://github.com/ndmsystems/packages/wiki/Opkg-Component

25 минут назад, iFinder сказал:

А может сделать для этого отдельную тему ?

Да, желательно, не стоит всё в одну кучу валить.

Share this post


Link to post
Share on other sites
3 часа назад, iFinder сказал:

Обновляются CLI-командами `opkg update && opkg upgrade`.

 

1 час назад, TheBB сказал:

Смотря, как интерпретировать ))) Command Line Interface/Cisco Like Interface (https://help.keenetic.com/hc/ru/articles/213965889) или Command Line Interface/SSH - (Secure Shell)

Как всегда, дельное уточнение. Конечно надо было мне написать везде CLI/SSH-командами, например:

Обновляются CLI/SSH-командами `opkg update && opkg upgrade`.

Жаль, что форум не даёт возможности исправить.

Edited by iFinder

Share this post


Link to post
Share on other sites
23 часа назад, iFinder сказал:

21. создать каталог "install" и в него скопировать архив с резервной копией. В web устройства выбрать нужный накопитель, заполнить строку инициализации `/opt/etc/init.d/rc.unslung`, нажать "Сохранить" и ждать окончание процесса распаковки.

Жду и не могу понять как узнать,что дождался ?

Share this post


Link to post
Share on other sites
7 минут назад, iFinder сказал:

Жду и не могу понять как узнать,что дождался ?

Время распаковки зависит от мощности устройства и размера архива. Деталей не помню.

Share this post


Link to post
Share on other sites
5 минут назад, TheBB сказал:

Время распаковки зависит от мощности устройства и размера архива. Деталей не помню.

Жду уже 23 минуты.

Появилось несколько папок:

home\
Install\
lib\
lost+found\
sbin\
share\
tmp\

Размер архива \\GigaYN\Entware\Install\GigaYN-Entware-backup-2019-10-16_12-09.tar.gz всего 20 МБ

Размер Entware был около 100 Мб !

Через 24 минуты размер всего 25 из них 20 архив !

Что-то снова не так. Что делать ?

Putty тоже не подключается.

 

Edited by iFinder

Share this post


Link to post
Share on other sites
2 часа назад, iFinder сказал:

Начинать новую тему ?

Не стоит. После танцев с бунами выяснилось, что файл архива битый. Взял другой - заработало.

3 часа назад, iFinder сказал:

Жду и не могу понять как узнать,что дождался ?

Признаком выполнения процесса будет убывание свободного места на USB-флэшке
Длительность процесса для 10Гб файла архива ~2 минуты
Признаком окончания будет удаление папки 'install'

  • Upvote 1

Share this post


Link to post
Share on other sites
В 17.10.2019 в 09:26, TheBB сказал:

#!/bin/sh LOG=/opt/var/log/node-red.log #Load up node red when called case "$1" in start) if pgrep ^node-red$ > /dev/null then echo "Node-RED already running." else echo "Starting Node-Red.." touch $LOG echo "" >> $LOG echo "Node-RED service start: "$(date) >> $LOG node-red-pi --max-old-space-size=128 >> $LOG & echo "Logging to "$LOG fi ;; stop) echo "Stopping Node-Red.." pkill -SIGINT ^node-red$ sleep 2 echo "" >> $LOG echo "Node-RED service stop: "$(date) >> $LOG ;; restart) echo "Restarting Node-Red.." $0 stop sleep 2 $0 start echo "Restarted." ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac

При первой перезагрузке Keenetic с момента установки Entware выяснилось, что сервис node-red не запускается.

С помощью логгирования в Журнале выяснилось, что сам скрипт 

В 17.10.2019 в 09:26, TheBB сказал:

для примера, пусть он будет `S99node-red`

при загрузке запускает node-red, но сам node-red не запускается.

Вручную всё работает. На размышления наводит строка ручного запуска из htop: "/opt/bin/node  /opt/bin/node-red/".

Оба указанных файла в указанных папках присутствуют.

Может при запуске надо Node вначале запускать ?

Подскажите пожалуйста, что делать ?

htop.jpg

Edited by iFinder

Share this post


Link to post
Share on other sites

Заодно ещё пара вопросов:

1. Установил пакет xmlstarlet. В перечне установленных присутствует, но при любом вызове сообщается, что не найден.

Например:

~ #  xmlstarlet -v
-sh: xmlstarlet: not found
~ #

Пакет jq стал без проблем:

~ # jq -v
jq: Unknown option -v
Use jq --help for help with command-line options,
or see the jq manpage, or online docs  at https://stedolan.github.io/jq
~ #

Почему и что делать ?

2. В описании Keenetic нашёл, что через активный USB-хаб можно подключать несколько внешних дисков.

А можно ли подключать USB-диск с Entware через активный USB-хаб ?

3. А будет ли работать Entware, установленная на карту памяти, которая вставлена в GSM-модем ?

Заранее благодарен за ответы

Edited by iFinder

Share this post


Link to post
Share on other sites
2 часа назад, iFinder сказал:

2. В описании Keenetic нашёл, что через активный USB-хаб можно подключать несколько внешних дисков.

А можно ли подключать USB-диск с Entware через активный USB-хаб ?

Можно 

2 часа назад, iFinder сказал:

А будет ли работать Entware, установленная на карту памяти, которая вставлена в GSM-модем ?

Будет, но в сочетании с пинг-чек перезагружающим модем, будет файловая система ломаться периодически.  

  • Thanks 1

Share this post


Link to post
Share on other sites

Предпринимая попытки добиться загрузки node-red при запуске Entware:

1. Переименовал скрипт в S99node-red, чтобы он запускался последним

2. Установил задержку 20 сек. на запуск, чтобы вообще всё успело запуститься

    start)
        if pgrep ^node-red$ > /dev/null
        then
            echo "node-red уже запущен."
        else
            echo "" >> $LOG2
            echo "     Node-RED service start: $DateLOG" >> $LOG2
            #node-red-pi --max-old-space-size=128 >> $LOG2 &
            #node-red >> $LOG2 &
            sleep 20
            node-red &
            logger "S30node-red: node-red Start."
            echo "$DateLOG   S30node-red:   node-red выполняется с выводом в Журнал $LOG2." >> $LOG
            echo "S30node-red:   node-red выполняется с выводом в Журнал $LOG2."
        fi
    ;;

Но ничего не помогает.

В журнале и в файле отладки никаких следов.

Share this post


Link to post
Share on other sites
Скрытый текст

 


xxx@xxx:~ ---
➜ ssh root@192.168.8.1 -p 222
root@192.168.8.1's password: 


BusyBox v1.31.1 () built-in shell (ash)

~ # date
Thu Nov 14 21:28:26 MSK 2019
~ # 
~ # ps | grep node | grep -v grep
  674 root      139m S    node-red
~ # 
~ # reboot
Connection to 192.168.8.1 closed by remote host.
Connection to 192.168.8.1 closed.

xxx@xxx:~ ---
➜ ssh root@192.168.8.1 -p 222
root@192.168.8.1's password: 


BusyBox v1.31.1 () built-in shell (ash)

~ # date
Thu Nov 14 21:30:02 MSK 2019
~ # 
~ # ps | grep node | grep -v grep
  679 root      141m S    node-red
~ # 
~ # reboot
Connection to 192.168.8.1 closed by remote host.
Connection to 192.168.8.1 closed.

xxx@xxx:~ ---
➜ ssh root@192.168.8.1 -p 222
root@192.168.8.1's password: 


BusyBox v1.31.1 () built-in shell (ash)

~ # date
Thu Nov 14 21:32:12 MSK 2019
~ # 
~ # ps | grep node | grep -v grep
  677 root      139m S    node-red
~ # 
~ #
~ # cat /opt/etc/init.d/S99node-red | grep node-red-pi
        node-red-pi -u /opt/root --max-old-space-size=128 >> $LOG &
~ #

"... а ларчик просто открывался..." ;)

  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...