Связь с USB-приемником Raspberry Pi

tail и grep, вероятно, буферизуют стандартный вывод, поэтому цикл while его не видит. Если у вас есть stdbuf(, он должен быть доступен в Linux, но я не уверен в других системах ), попробуйте

stdbuf -o0 tail -F --max-unchanged-stats=5 somelogfile.log | stdbuf -o0 grep -B4 "FATAL" | while read ERROR ;do... ;done

Но есть еще одна проблема. :while read ERRORбудет считывать одну строку и присваивать ей значение ERROR каждый раз в цикле. Ваш grep печатает четыре строки перед строкой FATAL, поэтому вы будете отправлять пять электронных писем, а не одно.

0
23.11.2018, 16:15
1 ответ

Хорошо, теперь возникает вопрос: "учитывая файл DLL, реконструируйте его протокол, поэтому его можно использовать под Linux ».

DLL-файл без оборудования не так уж и полезен, потому что полная реконструкция двоичного файла требует много работы.

Вместо этого вы можете запустить его в Windows вместе с оборудованием и отслеживать обмен данными. Методом проб, ошибок и догадок можно будет выяснить протокол. В конце концов, это всего лишь радиоприемник, протокол не должен быть таким сложным.

Вы можете контролировать USB-соединение через usbsnoop . Эквивалент ttyACM в Windows должен быть виртуальным последовательным портом или виртуальным COM-портом , я не уверен, что portmon работает с это, но это сусло попытка. Google, чтобы получить больше инструментов.

Существует также стековый обмен обратного проектирования .

0
28.01.2020, 04:48

Теги

Похожие вопросы