У меня есть устройство GPS, отправляющее пакеты на мой сервер (Linux с помощью PHP-прослушивателя) через TCP, у меня есть все параметры, кроме одного, состояния ввода-вывода.Формат параметра N_STRING из данных TCP
Протокол tk207 определяет, что параметр, как это: определение
IO State
Length: 8 bits
Type: N_STRING
1:Main power, '0' means on power, '1' means off power。
2:ACC, '0' ACC close, '1' ACC open
3: blender, '0' Did not.start, '1' Just turning, '2' reverse turning。
4:Empty/heavy vehicles, '0' Did not.start, '1' Empty, '2' Heavy
5:Front door, '0' Did not start, ’1’ open, '2' close。
6: off the oil state, '1' '0' recovery oil
7: arm/disarm state, '1' '0' from the 8 fortification: there is no vibration
N_STRING: Содержит цифры строку символов 0.9. Когда фиксируйте цифры, заполните ASCII-код 0 (Ox30H) слева для отсутствия цифры, за исключением специальной инструкции.
Я получаю значения, как это EDITED *
01000000
01000001
11000000
11000001
Но я не в состоянии понять, как получить 7 параметров из этой строки.
Любая помощь будет оценена по достоинству.
EDIT: Прежде чем я имел определение о поле, я смотрел на некоторые примеры того, как извлечь включения/выключения значение из этого поля
$gpioInput = 0;
for ($i = 0; $i <= 7; $i++) {
$b = substr($gpioStr, 7 - $i, 1);
if ($b != "0") {
$gpioInput |= (1 << $i);
}
}
Вы можете поделиться тем, что вы пробовали? –
Прежде чем я нашел это определение, я пытался получить параметр включения/выключения, как этот $ gpioInput = 0; для ($ i = 0; $ i <= 7; $ i ++) { $ b = substr ($ gpioStr, 7 - $ i, 1); if ($ b! = "0") { $ gpioInput | = (1 << $ i); } } – RonEskinder
Пожалуйста, отредактируйте исходное сообщение, чтобы добавить код и/или новую информацию. http://stackoverflow.com/help/mcve –