Открыть главное меню

Изменения

Импорт данных по протоколу R1Sensor

1385 байт убрано, 15:24, 22 мая 2020
Получение информации, добавление и удаление файлов на весах
</source>
==Получение информацииДобавление, добавление удаление и удаление получение файлов на весах/с весов==
{{Внимание|Раздел находится в стадии изменения и доработки!}}
Данная команда позволяет получить информацию о файлеДанные команды позволяют получать файлы с весов, удалять файлы на весах и передавать файлы на весы. Начальным путем для поиска файлов является каталог программы.
Для получение информации о файлеработы с файлами, находящимся в подкаталогах, необходимо в имя файла включить путь до необходимого файла.
Вне каталога программы можно получить доступ только к каталогу {{Путь к файлу|/opt/Exchange}}, в котором содержится протокол работы, данные для импорта, отчеты и т.д.
НапримерКоманды: для получения информации о картинке имя файла должно быть таким {{ProtocolCommand|"file-name" : "./Data/Images/goods.no.picture.png"}}.
Запрос: <source lang="json"> "command" : "RemoveFile" "command" : "AddFile" "command" : "PartDataReceived" "command" : "PartDataSended"</source> Например: для получения файла-картинки имя файла должно быть таким {{ProtocolCommand|"file-name" : "./Data/Images/goods.no.picture.png"}}. В объекте {{ProtocolCommand|data}} передается имя необходимого файла {{ProtocolCommand|file-name}} , а возвращается информация о файле: {{ProtocolCommand|file-name}} {{ProtocolCommand|file-size}} - размер файла в байтах, {{ProtocolCommand|file-datedata}} - дата/время последнего изменения данные файла файла или части файла, {{ProtocolCommand|file-md5}} - контрольная сумма файла блока в поле {{ProtocolCommand|file-data}} рассчитанная по алгоритму MD5.
При добавлении файла в объекте {{ProtocolCommand|data}} в поле {{ProtocolCommand|file-data}} передаются данные файла, а в поле {{ProtocolCommand|file-md5}} - контрольная сумма файла расчитанная по алгоритму MD5.
Далее данные кодируются в BASE-64.
При передаче/запросе больших файлов можно использовать передачу файлов частями(получение файлов более 16384 байт с весов всегда выполняется по частям). Для это При передаче по частям необходимо при передаче первого пакета в первом пакете использовать команду {{ProtocolCommand|AddFile}} и в объект данных {{ProtocolCommand|data}} добавить поля {{ProtocolCommand|"total-parts" : ''xxx''}} и {{ProtocolCommand|"part-data-no" : 0}}.
В поле {{ProtocolCommand|total-parts}} вместо ''xxx'' нужно передать общее количество частей файла.
В поле {{ProtocolCommand|part-data-no}} передается номер текущего пакет. Начиная с '''0'''.
Остальные части файла передаются с помощью команд {{ProtocolCommand|PartDataReceivedPartDataSended}}, а принимаются с помощью команд {{ProtocolCommand|PartDataSendedPartDataReceived}}.
Поле {{ProtocolCommand|"MultiPart" : 1}} используется в ответе на команду передачи по частям.
<source lang="json">
-->Первая часть
"command" : "AddFile"
"data" : {
<--
"part-data-noresponse" : 0"MultiPart", "totalresponse-partscode" : 51,
"data" : {
"MultiPartpart-data-no" : 10, "total-parts" : 5
}
-->
Последующие части "command" : "PartDataReceivedPartDataSended"
"data" : {
"file-name" : "./Data/Images/goods.no.picture.png"
"file-data" : "данные-файла"
"part-data-no" : 03
"total-parts" : 5
"use-compress" : 1
<--
"part-data-noresponse" : 0"MultiPart", "totalresponse-partscode" : 51,
"data" : {
"MultiPartpart-data-no" : 13, "total-parts" : 5
}
</source> ...
Стандартные пути к файлам: {{Путь к файлу|./Data/Images/}} - картинки, используемые программой {{Путь к файлу|./Data/Labels/}} - шаблоны этикеток {{Путь к файлу|./Data/Media/}} - звуки, используемые программой {{Путь к файлу|./Data/Lic/}} - лицензии для программы {{Путь к файлу|./Settings/}} - настройки программы и экранные формы {{Путь к файлу|../Exchange/Flags/}} - флаги создаваемые программой в результате событий на весах {{Путь к файлу|../Exchange/Import/}} - импортируемые данные {{Путь к файлу|../Exchange/Log/}} - протокол работы программы {{Путь к файлу|../Exchange/Log/ProcessedFiles/}} - протоколы обработки успешно импортированных данных {{Путь к файлу|../Exchange/Log/BadFiles/}} - протоколы обработки неуспешно импортированных данных {{Путь к файлу|../Exchange/Reports/}} - отчеты, создаваемые программой  Запрос: <source lang="json"> "command" : "GetFileInfo" "command" : "RemoveFile" "command" : "AddFile" "command" : "PartDataReceived"Последняя часть
"command" : "PartDataSended"
"data" : {
"file-name" : "./Data/Images/goods.no.picture.png"
"file-data" : "данные-файла"
"part-data-no" : 4
"total-parts" : 5
"use-compress" : 1
}
</source>-- "response" : "MultiPart",Ответ "response-code" :1, "data" : { "part-data-no" : 4, "total-parts" : 5 }
<source lang="json">
"response" : "Ok"
"response-code" : 0
"data" : {
"file-name" : "./Data/Images/goods.no.picture.png",
"file-size" : "12332",
"file-md5" : "e455d2b43b6157b50e8f502ac77aad13"
}
</source>
 
{{ProtocolCommand|total-parts}}
{{ProtocolCommand|part-data-no}}
 
{{ProtocolCommand|PartDataReceived}}
{{ProtocolCommand|PartDataSended}}
==Выполнение команды весами==