190722
root root

170604

---------------------
171102
Установка времени
В /etc/config/system установить зону
option timezone 'MSK-3'

Проверить синхронизацию времени
ntpq -p
---------------------
170604

Установка tm_server на iRZR2 RU21w, RL21w.

Распаковать и скопировать через WinSCP в /opt/1tm/tm_cpps

Скопировать /opt/1tm/tm_cpps/tm_serverd в /etc/init.d/tm_serverd

автозапуск:
 
/etc/init.d/tm_serverd enable

(disable - отключить автозапуск)

После перегрузки web-конфигуратор ТМ-сервера доступен по адресу
http://<ip-адрес роутера>:8081

---------------------
180130
установка ipk через web интерфейс роутера
tm_cpps_10118_ramips_24kec.ipk
http://<ip-адрес роутера>:8080
/Tools/Management/
Install Package/Upload
Если ipk не грузится или установка не запускается,
попробовать переименовать ipk, например так
tm_cpps_101181_ramips_24kec.ipk

Если в /opt нет места, то освободить, то бы хотя бы 70% было свободно.

До и после установки удалить папку /opt/packages
В ней установленные ipk. Они не нужны. 

Если ТМ-сервер уже установлен, то обновление лучше делать через web-конфигуратор ТМ-сервера.
или сначала удалить
opkg remove tm_cpps
---------------------
171030
проверка занятых портов
netstat -lnp
---------------------
171030
установить программы

Настроить интернет

opkg update
opkg install e2fsprogs
opkg install fdisk
opkg install tune2fs
opkg install nano
---------------------
171030
формат sd карты
Установить в /etc/config/fstab
option anon_mount '0'
reboot
umount /dev/mmcblk0p1

fdisk /dev/mmcblk0
удаляем vfat раздел и создаем linux раздел

mkfs.ext3 /dev/mmcblk0p1
mount /dev/mmcblk0p1 /mnt/mmcblk0p1

Установить в /etc/config/fstab
option anon_mount '1'
190722
reboot
для записи БД 
mkdir /mnt/mmcblk0p1/tm_db
reboot

---------------------
171212
отключение консоли от порта
fw_printenv bootargs console=none

210414
#gen key
openssl genrsa -out /tmp/tm_server.key 2048
#gen cert
echo "RU
MSK
MSK
CEA
LP
tm_server
@@
" | openssl req -new -x509 -days 36500 -key /tmp/tm_server.key -out /tmp/tm_server.crt

----digitemp_DS9097-------------------------
210416
сделал  через демон, как hwclockd
/etc/init.d/digitempd
запускает
/usr/share/tm/digitempd.sh
который пишет в /tmp/tm_cpps/tempval
раз в 10 сек
установка 
/etc/init.d/digitempd enable
чтение
  <ref tp="RunFILEvl" sig="test_5" filevl="/tmp/tm_cpps/tempval" filevltp="0" mbf="0" a="1"></ref>
  
--------------------------------------
220402
Создание и отладка плагинов клиента (элементов схем)

Пример в папке html/plugins/client/els 

Создать или скопировать (например через WinSCP) файлы плагина в папку:
/opt/storage/files/tm_cpps/html/plugins/client/[имя плагина]

например:
/opt/storage/files/tm_cpps/html/plugins/client/els3/els3.js
/opt/storage/files/tm_cpps/html/plugins/client/els3/els3_RU.json

остановить и запустить tm_server:
/etc/init.d/tm_serverd stop
/etc/init.d/tm_serverd start
 
файлы плагина будут скопированы из
/opt/storage/files/tm_cpps/html
в
/tmp/tm_cpps/html

Если нужно изменять и отлаживать плагин, то удобнее делать это в папке
/tmp/tm_cpps/html/plugins/client/els3
В браузере Chrome есть средство отладки DevTools
 - открыть так: контекстное меню страницы / Просмотреть код.
Можно понятно и удобно отлаживать els3.js.
Обновления страницы редактора схем в браузере достаточно для применения изменений в els3.js.
В опциях DevTools не забыть включить пункт Disable cache (while DevTools is open).

Что бы изменения не потерялись после перегрузки,
надо не забыть скопировать файлы в папку
/opt/storage/files/tm_cpps/html/plugins/client/els3

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

-----------------------------------------------
220404
Запоминать текущие значения сигналов в файл sigs_mem.sqlite
для восстанавления после аварийной перезагрузки.
Для сигнала установить значение 'ДА' параметра 'Запоминать'.

Поумолчанию сохраняется в папку архивов (БД), т.к. это sd-карта или /tmp.
Сохранение значений, которые часто меняются, замедляет работу
и может привести к повреждению flash-диска.
Изменять путь поумолчанию в pars_default.json:
  , "DB":"" - общий путь к архивам (БД)
  , "sigs_mem.sqlite":"" - путь к sigs_mem.sqlite

Если нет sd-карты, то поумолчанию архивы (БД) пишутся в папку /tmp и не будут сохранены после перегрузки.
И значения сигналов тоже будут потеряны.
Поэтому, если очень надо сохранять значения, то можно установить путь для sigs_mem.sqlite
в pars_replace.json, например так
  , "sigs_mem.sqlite":"/opt/storage/files/%subdir1%/"

!!! Если долго и часто сохранять значения, то flash-диск монтированный в /opt/storage может быть поврежден !!!   
