[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
C2000M->ESP266->PC (не читается текст из com-порта)
ЕвгенийДата: Воскресенье, 16.04.2023, 12:52 | Сообщение # 1
Группа: Проверенные
Сообщений: 3
Репутация: 0
Статус: Оффлайн
Здравствуйте.

Есть задача
— получать актуальную информацию с
пульта С2000М (режим - принтер) по com-порту
на ESP8266.

Реализовано:

1. Подключение
С2000М → esp8266 : RxT → TxD, TxD → RxD, GND → GND;
2. Подключение
esp8266 → TTL/USB → ПК : D7 → TxD, D8 → RxD, GND → GND
3. Простой
скетч чтения данных с физического
сом-порта (Rx,Tx esp8266) и отправка на
программный порт (D7, D8 esp8266) к которому
подключен ПК, через преобразователь
TTLtoUSB.

Что работает:

1. При включении
esp8266 (подал питание, воткнул TxD от пульта
в RxD esp8266) пульт С2000М сообщает ВКЛ.
ПРИНТЕРА, далее при наборе пароля 1234 на
пульте, в терминал ПК (Linux) поступают
сообщения от esp8266, которые он в свою
очередь вычитывает из порта C2000M. (В
настройках терминала указана кодовая
страница cp866.) Сообщения завершаются
текстом «End process!» сформированным
программно в esp8266.

Что не
работает:
1. Сообщения
от пульта не соответствуют ожидаемому
результату, т. е. совершенно -
Пример:

0їС╣ЩЙЕПЧЕСНщII╚эи╪╨°а╪|x╧Ц╩їїїїїї5╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣°╕└╠|╣Х╣╣╣╣╣▀х·

при этом
завершается вполне логично - End process! ,
но эта строка отправляется от esp8266.

При отключении
esp8266 пульт пишет ВЫКЛ. ПРИНТЕР.

Размышления:

Неправильная
кодировка символов - программа читает
с порта данные побайтово в массив, не
изменяя значений (пробовал массив char,
uint8_t) и в таком же виде выдаёт в терминал.
Если бы в терминале выход был неправильным,
то контрольная строка - «End process» тоже
была бы со сбоем. Терминал настроен на
приём кодовой страницы cp866.

Далее беру
байт-код (надеюсь символа) из ком-порта
от пульта, сопоставляю ему значение из
стандартной таблицы cp866 и увы — никакого
признака на что-то осмысленное —
получается опять же набор букв как в
примере выше, т. е. данные прихоят от
пульта именно в таком виде.

Вопрос: Где
ошибка? В программе, в подключении, в
отсутствии обработки данных от пульта?




Сообщение отредактировал Евгений - Воскресенье, 16.04.2023, 13:17
 
arm-skifДата: Воскресенье, 16.04.2023, 17:53 | Сообщение # 2
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Здравствуйте. Я в этом режиме не пробовал работать с пультом.

У esp8266 уровни последовательно порта вроде TTL, для подключения к пульту нужен преобразователь на микросхеме max232 или ее варианты.

В режиме принтера на вход пульта Rx нужно подключать не Tx, а DTR последовательного порта и выдавать на нем высокий уровень. Непонятно почему пульт понимает что включен принтер при подключении Tx вместо DTR.
 
ЕвгенийДата: Среда, 26.04.2023, 11:56 | Сообщение # 3
Группа: Проверенные
Сообщений: 3
Репутация: 0
Статус: Оффлайн
Цитата arm-skif ()
У esp8266 уровни последовательно порта вроде TTL, для подключения к пульту нужен преобразователь на микросхеме max232 или ее варианты.
Благодарю за информацию, заказал 2 max232 один в DIP корпусе и один в качестве модуля с "алика", как придут буду продолжать.

 P.S: программа PEventReader, позвольте поинтересоваться, Вы, являетесь её автором?
 
arm-skifДата: Среда, 26.04.2023, 12:19 | Сообщение # 4
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Цитата Евгений ()
программа PEventReader, позвольте поинтересоваться, Вы, являетесь её автором?

Да, я.
 
ЕвгенийДата: Среда, 26.04.2023, 12:32 | Сообщение # 5
Группа: Проверенные
Сообщений: 3
Репутация: 0
Статус: Оффлайн
Цитата arm-skif ()
программа PEventReader, позвольте поинтересоваться, Вы, являетесь её автором?Да, я.
О! Я рад, что могу выразить Вам благодарность за эту программу. Это бесценная программа! Благодаря ей удаётся таки объяснять заказчикам, что сама по себе просто так кнопка запуска пожаротушения не нажимается и прочее в том же духе. Огроменное Вам спасибо! Крепкого здоровья Вам, успехов во всех делах счастья и мирного неба над головой Вам, вашим родным и близким.

С большим уважением к Вам.
 
arm-skifДата: Среда, 26.04.2023, 12:43 | Сообщение # 6
Группа: Администраторы
Сообщений: 835
Репутация: 32
Статус: Оффлайн
Спасибо за пожелания.

В новых версиях пультов можно считать события при помощи PProg в протоколе ОрионПро.
 
  • Страница 1 из 1
  • 1
Поиск:

Форма входа
Наш опрос
Для какой ОС будет востребована программа:
Всего ответов: 1482
Статистика