|
4 / 4 / 2
Регистрация: 15.09.2013
Сообщений: 46
|
|||||||||||
Прочитать данные из порта и преобразовать в читаемый вид08.06.2014, 00:40. Показов 5704. Ответов 3
Метки нет (Все метки)
Помогите, пожалуйста, решить проблему. Уже второй день бьюсь, перегуглил все, но ответ так и не нашел.
В общем ситуация такая: посылаю устройству команду, нужно считать ответ и показать в нормальном читаемом виде. Все осложняется еще тем, что у меня shell старый и много команд, которые предлагает гугл отсутствуют, например bc, od, xxd и т.д. пока получается только вот что:
....00000000 23 10 10 44 10 44 0a |#..D.D.| 00000007 а должно бы так: 00 09 25 DD 63 2F 2E 00 09 25 DD 63 23 10 04 98 00 10 44 1B 8D т.е. цифры частично совпадают, но не совсем. с устройствами все в порядке. Если запускаю не через шелл а из php то все отлично работает:
0
|
|||||||||||
| 08.06.2014, 00:40 | |
|
Ответы с готовыми решениями:
3
Как прочитать данные с Game-порта Как на с++ прочитать данные из СОМ порта? Быстро записать и прочитать данные из порта |
|
|
||||||
| 08.06.2014, 01:49 | ||||||
|
Типа так:
Добавлено через 26 минут Я работу по протоколу modbus так реализовал: Описание протокола "Умный дом". Правда пока только с симулятором. Строчка ( dd if=$tty of=$ans count=256 2> /dev/null ) & sleep 1; kill $! означает выполнение команды с таймаутом в 1 секунду. При этом dd сбрасывает в файл то, что успел за это время принять, но не более 256 байт. Длительность таймаута, максимальное количество принимаемых байт можно изменить. Если по окончании таймаута пришло меньшее количество байт, то в файле будут только они. Таким образом можно не только бинарные протоколы реализовывать, но и upload файлов делать средствами shell'а. echo "[`hexdump -e '1/1 "%d,"' $ans | sed 's/\(.*\),/\1/'`]" Такое форматирование нужно для того, чтобы использовать в html приём и обработку массива байт. JSON.parse() для результата (строки) вернёт массив байт, который уже можно разбирать средствами js.
1
|
||||||
|
4 / 4 / 2
Регистрация: 15.09.2013
Сообщений: 46
|
|
| 08.06.2014, 16:54 [ТС] | |
|
Спасибо большое! Про dd не знал. Очень для меня ценная информация. Так же не знал о том, что интерпретатор не работает с нулевыми байтами.
В общем спасибо! Все получилось
0
|
|
|
|
|
| 08.06.2014, 17:53 | |
|
Да, кстати, побайтный вывод правильно делать с опцией -v: echo "[`hexdump -ve '1/1 "%d,"' $ans | sed 's/\(.*\),/\1/'`]"
Иначе повторяющиеся байты будут заменяться на звёздочку. Возможно нулевое значение зарезервировано под что-то поэтому его нельзя использовать. Из-за такого ограничения нельзя crc в скрипте для бинарных данных посчитать. Я себе модуль для тестирования сделал: CyberWrt модуль "Modbus". Там можно скачать архив и посмотреть как у меня скрипты построены.
0
|
|
| 08.06.2014, 17:53 | |
|
Помогаю со студенческими работами здесь
4
Нужно перевести данные с com порта в нормальный вид
\uXXX в читаемый вид Конвертирование Unicode в читаемый вид Преобразование в читаемый вид из word Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|