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

Здравствуйте. На просторах интернета не смог найти документации по поводу использования порта 485. Есть ли какие-то сторонние приложения для работы с этим портом у панели YC-SM08P? Или может быть API?

Здравствуйте.

В HMI панелях, которые у нас в продаже, отсутствует RS-485. - дезинформация, порт есть.

Панель настенная 8 дюймов YC-SM08P - Wiren Board
Но тут в технических характеристиках написано, что панель имеет интерфейс RS-485

Да, сейчас проверим теорию о том как работать с портом.

Поделюсь информацией с вами и дополним Вики.

1 лайк

Добрый день!

Как правило, с этим портом работают пользователи, с навыком разработки под Android. У нас нет документации на него, обычно клиенты его не используют. Запросили у разработчика панели информацию - они предоставили схему и тестовое приложение. Их прикрепляю.

Постараемся разобраться и добавить информацию в нашу вики, но подробную пошаговую инструкцию, скорее всего, делать не будем.

Подскажите, достаточно ли вам прикреплённых документов или что-то ещё важно получить?

Возможно, в данной ситуации вы захотите вернуть купленную панель. Можете ознакомиться с условиями возврата.

C143342_MAX13487EESA_2017-12-04.PDF (255,2 КБ)
Serial Port Utility.rar (7,8 МБ)
uart.rar (49,0 КБ)

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

Вот решение:

На 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 лайк

Спасибо, что поделились. Добавили эту информацию и утилиту в документацию. Чуть позже опишем подробнее.

Только что дополнил свой ответ. Без этой информации данные с порта получить не удавалось

1 лайк