1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/andycao1860-OpenDevDTU

Клонировать/Скачать
DTU - JSON 格式数据协议解释.md 14 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.06.2025 18:36 f98edca

Описание формата данных JSON DTU

1. Исходный JSON код

{
	"fota": 1,
	"uartReadTime": 25,
	"flow": "",
	"param_ver": "100",
	"pwrmod": "normal",
	"password": "",
	"netReadTime": 0,
	"passon": 1,
	"nolog": "1",
	"plate": 0,
	"reg": 0,
	"convert": 0,
	"uconf": [
		[1, "9600", 8, 2, 0, ""],
		[]
	],
	"conf": [
		["tcp", "ping", "180", "47.93.118.70", "9009", 1, "", "", "", ""],
		[],
		[],
		[],
		[],
		[],
		[]
	],
	"preset": {
		"number": "13283863803",
		"delay": "10",
		"smsword": "update"
	},
	"apn": ["", "", ""],
	"cmds": [
		[],
		[]
	],
	"pins": [],
	"gps": {
		"pio": ["pio3", "pio6", "pio7", "pio13", 0, "1"],
		"fun": [1, "115200", 0, "10", 0, "json", "0", "|", "10", "1"]
	},
	"upprot": ["", "", "", "", "", "", ""],
	"dwprot": ["", "", "", "", "", "", ""],
	"warn": {
		"adc0": [],
		"adc1": [],
		"vbatt": [],
		"gpio": []
	}
}

2. Описание формата JSON

  • Подробное описание полей приведено в руководстве пользователя iRTU V3.2.
  • JSON не поддерживает комментарии, поэтому здесь используются комментарии Lua -- для обозначения комментариев.
  • Порядок ключей и значений в JSON не имеет значения.

1. Верхний уровень:

  • {} - это корневой каталог, соответствующий переменной local dtu = { ... } в исходном коде.

2. Первый уровень:- Соответствует параметрам команды "сохранения конфигурации".

  • Из-за исторических причин, здесь не используется массив или JSON объект.
Параметр Описание Возможные значения
fota Удаленное обновление 0 (выключено) | Yöntem 1 (включено)
uartReadTime Время ожидания фрейма 25 (число больше 5)
flow Настройки потокового управления ”“ (выключено) | ("" или число)
param_ver Версия параметров “100” (строка числа)
pwrmod Режим потребления энергии "normal" | "energy"
password Пароль “” (или строка из букв и цифр)
netReadTime Время ожидания пакета 0 (число)
passon Флаг передачи 0 (не прозрачная передача) | 1 (прозрачная передача)
nolog Флаг логирования 0 (выключено) | 1 (включено)
plate Флаг идентификатора 0 (выключено) | 1 (добавляется IMEI в заголовок фрейма)
reg Регистрационное сообщение 0 (не отправляется), 1 (отправляется JSON-сообщение регистрации)
{"csq":rssi,"imei":imei,"iccid":iccid,"ver":Version}, 2 (отправляется HEX-сообщение)
"131234512345", строка для пользовательского сообщения регистрации

Исправления:

  • "Yöntem 1" переведено на "1 (включено)".
  • "reg" переведено на "регистрационное сообщение".
  • "сообщение регистрации" переведено на "сообщение регистрации".
  • "Yöntem" заменено на "1".| convert | Преобразование сообщения в HEX | 0 (выключено) | 1 (включено) |### Настройка COM-порта- Поле key: uconf
  • Поле value: массив
  • Индексы массива соответствуют COM-порту 1 - 2
	"uconf": [
		[
			1,			-- Идентификатор COM-порта, обратите внимание, что он должен соответствовать индексу массива
        	"9600", 	 -- Скорость COM-порта
        	8, 			-- Количество данных COM-порта
        	2, 			-- Режим четности COM-порта
        	0, 			-- Количество стоп-битов COM-порта
        	""			-- GPIO номер для 485
        ], 
		[] 	-- Отключение конфигурации COM-порта 2
	],

4. Настройка каналов

  • Поле key: conf
  • Поле value: массив
  • Индексы массива соответствуют идентификатору канала 1 - 7
  • Порядок полей в массиве, пример конфигурации TCP и автоматической регистрации на Alibaba Cloud, остальные поля соответствуют порядку в руководстве``` "conf": [ [ -- Индекс массива соответствует идентификатору канала "tcp", -- Протокол TCP | UDP | MQTT "ping", -- Содержимое пакета сердцебиения "180", -- Интервал пакета сердцебиения "47.93.118.70", -- Адрес HOST "9009", -- Порт HOST 1, -- Идентификатор COM-порта, связанный с каналом "", -- Оставьте пустым "", -- Оставьте пустым "", -- Интервал автоматической загрузки задач "" -- Флаг SSL (необходимо "ssl") ], [], -- Отключение конфигурации канала [ "aliyun", -- Конфигурация публичного облака, например: "aliyun" "auto", -- Автоматическая регистрация 300, -- Время жизни MQTT 1800, -- Интервал автоматической загрузки задач "cn-shanghai", -- Код региона Alibaba Cloud "ProductKey:", -- Ключ проекта Alibaba Cloud "AccessKey ID:", -- ID ключа доступа Alibaba Cloud "Access Key Secret:", -- Секретный ключ доступа Alibaba Cloud "plus", -- Тип продукта Alibaba Cloud (только продвинутая версия) 1, -- MQTT CleanSession 0, -- MQTT QOS 1, -- Идентификатор COM-порта, связанный с MQTT каналом "", -- Тема подписки, поддерживает несколько тем, см. "Руководство пользователя iRTU" "" -- Тема публикации, поддерживает несколько тем, см. "Руководство пользователя iRTU" ], [], [], [], [] ],

- Поле key: preset
- Поле value: объект
- Соответствует разделу "Предварительная информация" в "Руководстве пользователя iRTU"
"preset": {
	"number": "13999999999", -- Белый список, номер телефона, разрешенный для входящих и исходящих вызовов
	"delay": "10",			-- Время задержки звонка
	"smsword": "update"		-- Строка определения параметров обновления SMS
},

### 6. Настройка APN

- Поле key: apn
- Поле value: массив
- Соответствует разделу "Настройка APN" в "Руководстве пользователя iRTU"
- Внимание: Этот параметр предназначен только для конфигурации и использования одной SIM-карты

"apn": ["", "", ""],


### 7. Автоматическое сбор данных задач

- Поле key: cmds
- Поле value: массив
- Соответствует автоматическим сборным задачам из руководства по эксплуатации iRTU
- Внимание: этот параметр следует использовать вместе с автоматическими сборными задачами каналов

"cmds": [ [ -- Автоматическая сборная задача для COM1 "100", -- Интервал между отправками команд сбора данных (не путать с интервалом сбора данных канала) "11 22 33 44 55 66 77 88 ", -- Команда сбора данных для COM1 (будет автоматически преобразована в двоичный формат) "11 22 33 44 55 66 77 88 " -- То же самое ], [] -- Автоматическая сборная задача для COM2 отключена ],


### 8. Настройка пользовательских GPIO iRTU

- В случае необходимости рекомендуется изменять эту настройку- Поле key: pins
- Поле value: массив

  Не настроенное состояние:

"pins": [],


  Настроенное состояние:

"pins":[ "pio2", -- GPIO для индикатора сети "pio4", -- GPIO для уведомления после подключения к серверу "pio4" -- GPIO для сброса параметров DTU ],


### 9. GPS

- Поле key: gps
- Поле value: объект
- Настройка GPS сложна, особенно для Air800 и Air530, так как их скорость передачи данных различна. Рекомендуется ознакомиться с руководством и видео перед настройкой
"gps": {
	"pio": ["pio3", "pio6", "pio7", "pio13", 0, "1"],
	"fun": [1, "115200", 0, "10", 0, "json", "0", "|", "10", "1"]
},

### 10. Шаблоны данных

- Поле key: upprot
- Поле value: массив, индекс соответствует каналам 1-7
- Поле key: dwprot
- Поле value: массив, индекс соответствует каналам 1-7
- Шаблоны данных используются для преобразования протоколов сообщений, например, преобразование Modbus в JSON для входящих данных, JSON в Modbus для исходящих данных
- Шаблоны данных реализуются с помощью Lua-скриптов, поэтому все значения представлены в виде строк
- Внимание: при использовании JSON Encode API данные автоматически сериализуются. Если вы используете собственные скрипты, убедитесь, что данные правильно сериализованы
"upprot": ["", "", "", "", "", "", ""],
"dwprot": ["", "", "", "", "", "", ""],

### 11. Настройка предупреждений

![](C:\Users\hotdll\AppData\Roaming\Typora\typora-user-images\1589279932662.png)- Поле key: warn
- Поле value: объект```markdown
	"warn": {
		"adc0": [	
					1, 				-- Включить предупреждение о недостаточном напряжении
					"1000", 	 	-- Нижний порог недостаточного напряжения 1000 мВ
					1, 			 	-- Включить предупреждение о избыточном напряжении
					"3000", 	 	-- Верхний порог избыточного напряжения 3000 мВ
					"300", 		 	-- Разница напряжения для предупреждения (чтобы предотвратить повторное срабатывание при близком к порогу значении)
					"ADC0 warning!",  -- Текст предупреждения
					"1", 			-- ID канала для отправки предупреждения
					"10", 			-- Частота проверки
					"100", 			-- Частота отправки предупреждения (чтобы предотвратить постоянную отправку при отсутствии контакта)
					1, 				-- Включить отправку предупреждения в интернет
					1, 				-- Включить отправку предупреждения по SMS
					0                -- Не включать отправку предупреждения по телефону
				],
		"adc1": [],
		"vbatt": [],
		"gpio": [
			[
				"pio7", 			-- GPIO кнопки
				 1, 				-- Включить предупреждение при нажатии (спускающий фронт)
				 0, 				-- Не включать предупреждение при отпускании (восходящий фронт)
				 "GPIO 7 is keypress!", -- Текст предупреждения
				 "1", 				-- ID канала для отправки предупреждения
				 1, 				-- Включить отправку предупреждения по сети
				 0, 				-- Не включать отправку предупреждения по SMS
				 0					-- Не включать отправку предупреждения по телефону
			]
		]
	}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/andycao1860-OpenDevDTU.git
git@api.gitlife.ru:oschina-mirror/andycao1860-OpenDevDTU.git
oschina-mirror
andycao1860-OpenDevDTU
andycao1860-OpenDevDTU
master