Панель YC-SM08P как получать данные с RS 485

Спасибо, хоть прямой ответ вы и не дали, но приложение, которое вы прикрепили помогло разобраться.

Вот решение:

На Android-устройствах доступ к последовательным портам обычно осуществляется через устройства /dev/tty*

После экспериментов мне удалось получить данные с порта /dev/ttyS7, который, как оказалось, является интерфейсом RS-485 на панели YC-SM08P.


Дополнение:
Сам по себе порт /dev/ttyS7 не передает данные. Для того, чтобы начать получать их нужно его дополнительно настроить. Лично я настройку проводил в терминале (через ADB ссылка). Вот с такими параметрами данные начинают идти:

stty -F /dev/ttyS7 115200 cs8 -cstopb -parenb -crtscts -icrnl -opost -isig -icanon -iexten -echo

параметры 115200, cs8, -cstopb и -parenb зависят от настроек вашего устройства, с которого вы получаете данные.

Параметры и их значения

  1. -F /dev/ttyS7: Указывает файл устройства, к которому будут применены настройки (/dev/ttyS7 в вашем случае).
  2. 115200: Скорость передачи данных (baud rate). Возможные значения:
  • Стандартные значения скорости: 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 и другие, в зависимости от поддерживаемых значений на устройстве.
  • Определяет скорость передачи данных в битах в секунду.
  1. cs8: Размер символа (character size), указывающий, сколько бит данных содержится в одном символе. Возможные значения:
  • cs5, cs6, cs7, cs8 — количество бит: от 5 до 8. В большинстве случаев используется cs8 (8 бит на символ).
  1. -cstopb: Устанавливает количество стоп-битов. Возможные значения:
  • cstopb — 2 стоп-бита.
  • -cstopb — 1 стоп-бит (обычно используется в асинхронных соединениях).
  1. -parenb: Управляет битом чётности (parity bit), который используется для проверки ошибок. Возможные значения:
  • parenb — включает бит чётности.
  • -parenb — отключает бит чётности (обычно используется, когда контроль чётности не требуется).
  1. -crtscts: Управляет аппаратным контролем потока RTS/CTS (Request to Send / Clear to Send). Возможные значения:
  • crtscts — включает аппаратный контроль потока.
  • -crtscts — отключает аппаратный контроль потока (обычно используется, когда устройство не требует RTS/CTS).
  1. -icrnl: Входной перевод строк (input carriage return to newline). Возможные значения:
  • icrnl — преобразует символы CR (carriage return) в NL (newline).
  • -icrnl — отключает преобразование, отправляя CR символы как есть (полезно для работы с устройствами, которые не используют NL).
  1. -opost: Управляет постобработкой выходных данных (output post-processing). Возможные значения:
  • opost — включает постобработку.
  • -opost — отключает постобработку, отправляя данные в исходном виде.
  1. -isig: Управляет сигналами управления (например, Ctrl+C, Ctrl+Z). Возможные значения:
  • isig — позволяет терминалу реагировать на сигналы, такие как прерывания (Ctrl+C).
  • -isig — отключает сигналы, что полезно для последовательного ввода/вывода.
  1. -icanon: Управляет каноническим (строковым) режимом. Возможные значения:
  • icanon — включает канонический режим, где ввод обрабатывается построчно.
  • -icanon — отключает канонический режим, переходя в «сырое» состояние, где данные сразу передаются приложению.
  1. -iexten: Управляет дополнительными управляющими функциями. Возможные значения:
  • iexten — включает расширенные функции (например, Ctrl+V для дословного ввода символов).
  • -iexten — отключает дополнительные функции, оставляя только базовую передачу данных.
  1. -echo: Эхо данных на терминале. Возможные значения:
  • echo — включает эхо, когда вводимые символы отображаются обратно на экране.
  • -echo — отключает эхо, чтобы данные передавались без отображения на терминале (важно для последовательного ввода/вывода).

Не могу сказать точно нужны эти параметры все или только некоторые. Такую настройку порта проводит приложение от разработчика (uart.rar в предыдущем ответе), после чего данные начинают поступать. Я просто скопировал данную настройку.

1 лайк