AN001. Возможности адаптации продукции Tibbo
О чём эта рекомендация по применению
Клиенты, которые поставляют серверы устройств Tibbo в составе своего оборудования (систем), часто спрашивают, можно ли изменить значения настроек DS по умолчанию, скрыть отдельные настройки, чтобы их нельзя было увидеть и изменить в DS Manager, исключить некоторые компоненты из установки (например, VSP Manager), показывать название своей компании вместо Tibbo и т. д. В этой статье описан набор доступных возможностей адаптации.
** **Содержание:
- Задание собственных значений настроек по умолчанию (после инициализации)
- Скрытие настроек, чтобы их нельзя было просматривать (изменять) через DS Manager
- Выбор компонентов DST, устанавливаемых на ПК пользователя
- Замена названия и логотипа (растрового изображения) по умолчанию на свои в программе установки
- Подготовка собственного установочного файла (дистрибутивного компакт-диска)
Задание собственных значений настроек по умолчанию (после инициализации)

Важное примечание: ветка прошивок приложения Release3.5 (то есть прошивки для устройств второго поколения) поддерживает пользовательские профили только начиная с V3.54. К сожалению, остаётся ограничение на способ загрузки в DS файла прошивки с присоединённым пользовательским профилем. Пользовательский профиль работает, только если обновление выполнялось по сети. Если файл прошивки (с присоединённым пользовательским профилем) загружался через последовательный порт, пользовательский профиль будет работать некорректно. Приносим извинения за неудобство, но снять это ограничение невозможно. У ветки прошивок приложения Release3.0 такого ограничения нет.
Теперь можно задавать собственные, отличающиеся от стандартных значения настроек после инициализации. Зачем это нужно? Например, если вы поставляете систему, в которой DS всегда работает в режиме TCP/IP, вам может понадобиться, чтобы настройка Transport Protocol (TP) по умолчанию была равна 1 (TCP), а не 0 (UDP), как задано «по умолчанию». А если известно, что ваше последовательное устройство работает на скорости 19200bps, удобно сделать эту скорость значением по умолчанию для настройки Baudrate (BR) (вместо «заводского» значения 38400bps).
Задание собственных значений по умолчанию после инициализации начинается с создания файла профиля. У этого файла должно быть расширение .txt. Создать его можно в Блокноте или любом другом простом текстовом редакторе. В нашем примере создадим профиль для компании «XYZCORP». Пользовательский профиль внесёт следующие изменения в исходные значения настроек DS после инициализации:
-настройка Transport Protocol (TP) = 1(TCP)
-настройка Routing Mode (RM) = 2(client)
-настройка Baudrate (BR) = 4(19200bps)
-настройка Parity (PR) = 2(odd)
Откройте Блокнот и создайте файл profile.txt со следующими данными:
_XYZCORP
TP1
RM2
BR4
PR2
Примечание: поставьте <CR> и в конце последней строки, чтобы она была завершённой.
Каждая строка этого файла, кроме первой, соответствует определённой настройке. Мнемоники настроек и нужные значения - точно такие же, как при программировании DS через последовательный порт или по сети; эти данные можно найти здесь.
Первая строка файла зарезервирована для имени профиля. Это имя DS Manager показывает в заголовке окна настроек. Так можно понять, работает ли в DS прошивка, «изменённая профилем», или стандартная прошивка. Имя профиля должно начинаться со знака подчёркивания («_»), иначе оно не будет распознано.
Когда профиль создан, его нужно объединить с файлом прошивки DS. Для этого используется небольшая DOS-программа add_prof.exe. Её можно получить по электронной почте по запросу.
Поместите все три файла (файл прошивки, файл профиля и add_prof.exe) в одну папку. Файл прошивки должен быть типа «W» или «S» (например, em_314w.bin или em_314s.bin). Как объяснялось выше, это значит, что пока файлы профилей могут использовать только «старые» устройства (EM100-00/ -01/ -02, DS100-00/ -01/ -02).
Исполняемый файл - DOS-программа, поэтому откройте сеанс DOS и запустите программу так:
add_prof input_firmware_file profile_file output_binary_file
Примечание: расширения файлов указывать не нужно - программа считает, что у input_firmware_file и output_binary_file расширение .bin, а у profile_file - .txt. Поэтому в нашем примере нужно ввести:
add_prof em_312s.bin profile em_xyz
Выходной файл em_xyz.bin будет содержать точно такой же код прошивки плюс заданные вами данные профиля. Теперь обновите DS с помощью этого нового файла.
После обновления запустите DS Manager и откройте окно настроек только что обновлённого DS. Обратите внимание: в заголовке окна теперь отображается имя вашего профиля.
Теперь закройте окно и инициализируйте DS. По завершении инициализации снова откройте окно настроек и посмотрите на новые установленные значения по умолчанию.
Скрытие настроек, чтобы их нельзя было просматривать (изменять) через DS Manager
Пользовательские профили инициализации позволяют изменить исходные значения настроек после инициализации, но не защищают эти настройки от изменения пользователем. Иногда имеет смысл скрыть некоторые настройки. Например, если известно, что в вашей системе DS всегда работает в режиме TCP/IP, разумно скрыть настройку Transport Protocol (TP), чтобы DS Manager вообще её не показывал. Принцип здесь такой: «меньше вариантов - меньше вопросов».
В программном обеспечении DST список настроек, которые DS Manager показывает для DS, задаётся файлами .sdf (SDF - Setting Definition File, файл описания настроек). При установке эти файлы копируются в папку .../Program files/Tibbo/Device Server Toolkit/sdf. Имена файлов соответствуют версиям прошивки DS (кроме файла wizserial.sdf - его использует Connection Wizard, и его всегда нужно оставлять без изменений). Например, в папке /sdf могут быть файлы V2-21.sdf и V3-00.sdf. Они соответствуют прошивке V2.21 или выше и V3.00 или выше. То есть, встретив DS с прошивкой V2.53, DS Manager использует файл V2-21.sdf, поскольку 2.53 новее 2.21, но старше 3.00.
Структура данных в файле .sdf очень простая: каждая строка описывает одну настройку или группу настроек. Вот (условный) пример такого файла:
I=$NET;D=Network Settings;T=GROUP
I=ON;D=Owner name;T=STRING;C=EDIT;MAXLEN=8;F=R
I=DN;D=Device name;T=STRING;C=EDIT;MAXLEN=8;F=R
...
...
I=E1;D=Stop-character (ASCII code);T=INT;C=STATIC;M=CHARDLG;V=E1>255? "ASCII code cannot exceed 255":""
I=P1;D=Number of post-characters;T=INT;C=EDIT/SPIN/0/1/1/1;V=P1>15? "Maximum number of post-characters is 15":""
Первая строка в этом примере создаёт группу настроек «Network Settings». Каждая группа получает собственную вкладку в окне настроек DS Manager. Все остальные строки примера описывают отдельные настройки. Изменить то, как DS Manager показывает настройки, можно, переставив и/или отредактировав данные в файле .sdf. Допустим, вы хотите создать ещё одну группу настроек «Advanced» и поместить в неё две настройки: Owner Name (ON) и Device Name (DN). Для этого достаточно добавить три строки в конец файла .sdf:
...
...
I=$ADVANCED;D=Advanced;T=GROUP
I=ON;D=Owner name;T=STRING;C=EDIT;MAXLEN=8;F=R
I=DN;D=Device name;T=STRING;C=EDIT;MAXLEN=8;F=R
Сохраните файл и снова откройте окно настроек - вы увидите новую вкладку:

Чтобы скрыть настройки, просто удалите соответствующие строки из файла .sdf.
Все файлы .sdf поставляются пользователю в составе установки Device Server Toolkit. Чтобы увидеть эти файлы, скачайте на ПК .zip-архив дистрибутива Tibbo и распакуйте его в отдельную папку. Вы можете изменить файлы .sdf, а затем подготовить собственную установку для распространения вместе с вашей системой (подробнее см. ниже).
Внимание | Некоторые настройки в файле ссылаются на другие настройки. Например, «PPPoE login name» может зависеть от настройки «PPPoE Mode». Поэтому, удаляя «PPPoE Mode», нужно удалить и «PPPoE login name», иначе при загрузке файла SDF возникнет ошибка. Это видно по полям «S=» или «V=» каждой настройки. Если они ссылаются на другую настройку, эту «другую» настройку нельзя удалить, не изменив или не удалив текущую. Например: I=PP;D=PPPoE mode;T=INT;C=STATIC;O=0- Disabled/0/1- Enabled (on connection)/1/2- Enabled (on powerup)/2 I=PL;E=1;D=PPPoE login name;T=STRING;C=EDIT;MAXLEN=20;F=R*;S=PP!=0?"e":"i" Обратите внимание на «S=PP!=0» во второй строке: параметр S= ссылается на настройку PP. Поэтому удалить настройку PP нельзя, пока на неё ссылается настройка PL. Придётся удалить обе или хотя бы убрать ссылку на «PP» из строки «PL» (но это может привести к проблемам в работе - эти настройки связаны не случайно). |
Выбор компонентов DST, устанавливаемых на ПК пользователя
Можно исключить некоторые компоненты DST из установки на ПК пользователя. Иногда это бывает удобно. Например, если вы поставляете DS в системе, где не используется VSPD, зачем устанавливать VSP Manager? Это только создаст путаницу и лишние вопросы!
Компоненты, которые можно включить или исключить, перечислены в файле tdst.ini внутри дистрибутива DST. Чтобы увидеть файл tdst.ini, скачайте на ПК .zip-архив дистрибутива Tibbo и распакуйте его в отдельную папку. Откройте файл в любом простом текстовом редакторе (например, в Блокноте). Вы увидите, что файл содержит следующие данные:
...
showdlg = 1
conwizard = 1
vsp = 1
Первая строка определяет, будет ли пользователю показан экран выбора устанавливаемых компонентов. При showdlg = 1 этот экран показывается во время установки. При showdlg = 0 он не показывается. Вторая строка задаёт выбор по умолчанию для Connection Wizard: 1 - «устанавливать», 0 - «не устанавливать». При showdlg = 1 пользователь всё равно сможет изменить этот выбор, но при showdlg = 0 выбора у него не будет, и Connection Wizard будет установлен или не установлен в соответствии со значением записи conwizard в tdst.ini. Это значит, что при showdlg = 0 и conwizard = 0 мастер не будет установлен никогда (а пользователь даже не узнает, что такая возможность есть).
Третья строка (vsp=x) определяет, будут ли установлены VSP Manager и Port Monitor (Port Monitor всегда устанавливается вместе с VSP Manager). Сейчас отключить DS Manager нельзя, поэтому этот компонент присутствует всегда.
Просто изменить файл tdst.ini недостаточно. Его нужно «подписать», чтобы программа установки распознала изменённый файл. Подробнее см. ниже.
Замена названия и логотипа (растрового изображения) по умолчанию на свои в программе установки
Распространяя DST в составе своей системы, вы, возможно, захотите показывать на экранах установки название и логотип своей компании.
Для этого нужно отредактировать данные в файле tdst.ini. Чтобы увидеть файл tdst.ini, скачайте на ПК .zip-архив дистрибутива Tibbo и распакуйте его в отдельную папку. Откройте файл в любом простом текстовом редакторе (например, в Блокноте). Вы увидите, что файл содержит следующие данные:
companyname = Tibbo Inc.
companyshortname = Tibbo
productname = Device Server Toolkit
setupimage = Tibbo.bmp
setupimageparams = 1;;;255,0,255
...
Companyshortname и productname задают папку установки программы по умолчанию. Это папка:
.../Program Files/companyshortname/productname
Таким образом, если ваша компания называется «XYZCorp» и вы хотите, чтобы программа называлась «DST», введите следующие данные:
companyshortname = XYZCorp
productname = DST
В этом случае папкой установки программы по умолчанию будет:
.../Program Files/XYZCorp/DST
Productname также отображается во время установки программы. Можно задать и собственный setupimage. Это растровое изображение, которое показывается на экранах установки. К сожалению, задать положение этого изображения в окне нельзя: программа InstallShield, с помощью которой создаются установочные файлы, такой гибкости не даёт. Поэтому положение изображения фиксировано. Единственное, что можно задать, - будет ли в изображении прозрачный цвет.
У строки setupimageparams несколько параметров. Первый определяет, есть ли прозрачный цвет (1 - «да», 0 - «нет»). Последние три числа задают, какой цвет будет прозрачным. Например, если прозрачность не нужна, задайте setupimageparams=0;;;0,0,0. А если прозрачным должен считаться белый цвет, задайте setupimageparams=1;;;255,255,255.

Остался ещё один не упомянутый параметр - companyname. Он нигде не отображается в самой программе, но при установке сохраняется в реестре Windows.
Подготовка собственного установочного файла (дистрибутивного компакт-диска)
Если вы изменили файл tdst.ini или растровое изображение, указанное в строке setupimage, сначала нужно подписать изменения. При подписании вычисляется хеш содержимого файлов, и этот хеш сохраняется в строке signature= файла tdst.ini. Если подпись не соответствует содержимому файлов, внесённые изменения игнорируются. Подписание нужно выполнять после того, как внесены все изменения. Файлы .sdf в подпись не входят, поэтому, если вы меняли только их, подписывать ничего не нужно.
Вот как подписать изменения. Сначала запросите в Tibbo архив signup.zip. Получив файл, распакуйте его в ту же папку, куда распаковали все установочные файлы DST. Signup.exe - DOS-программа, запускается она так:
signup tdst.ini
Если всё в порядке, программа выведет следующее:
tdst.ini has been successfully signed up
Изменённую версию DST можно распространять как набор файлов или в виде самораспаковывающегося ZIP-архива (рекомендуется). Файлы signup.exe и tdstsign.dll в дистрибутив включать не следует. Пожалуйста, убедитесь, что они не попали туда по ошибке!