Jump to content
Форум по продукции MOXA

marcusyarr

Пользователи
  • Posts

    9
  • Joined

  • Last visited

Информация

  • Пол
    Мужчина
  • Город
    Санкт-Петербург
  • Интересы
    code

Контакты

  • Skype
    chugin-asu

marcusyarr's Achievements

Новичок

Новичок (1/5)

0

Reputation

  1. Спасибо огромное за ответ. Буду действовать согласно рекомендациям.
  2. Можно подключиться к устройству через HyperTerminal через консольный порт RS-232 (как - написано в мануале) и отредактировать /etc/network/interfaces через bash:~$ vi /etc/network/interfaces и отредактировать уже его, но после него необходимо либо перезагрузить устройство, либо ввести bash:~$ /etc/init.d/networking restart Это необходимо для обновления параметров сети. Либо попробовать bash:~$ ifconfig [ixp0/ixp1 - здесь номер порта, который нужен] [iP-адрес] И уже стучаться по Ethernet'у. Скорее всего, вы что-то не то заменили. Или что-то пошло не так. Должно помочь.
  3. Можно, но если есть доступ к исходному коду программы или она хотя бы выводит данные в файл. Если нет исходного кода - поможет только написание нового драйвера. Во время же работы программы, выводящей на самописцы, подключиться к тому же порту невозможно, поскольку он уже занят приложением. Если у вас есть исходный код драйвера связи - это хорошо. Тогда советую смотреть на выходные потоки данных. Если нет исходников - целиком поддерживаю версию обращения к разработчику за доработкой приложения.
  4. Скорее всего, датчики у вас подключены к устройству по последовательным портам. А это значит, что датчики передают в устройство данные по некоему протоколу, тип и формат которого вы не уточнили. Этот протокол обрабатывается устройством и передается (например, через TCP) на устройство вывода, подключенное через Ethernet (или последовательный порт) в формате, понятном устройству вывода. Предполагаю, что драйвер связи с датчиком у вас уже написан и вы умеете выводить данные в файл. Если умеете - то тогда, при условии, что таблица в БД создана, тогда необходимо сначала соединиться с сервером : bash: [b]mysql -h[/b] [b]{имя_сервера} -u {имя_пользователя} -p[/b] [b]{вводите пароль}[/b] Затем, подгружаете данные из файла в таблицу (в файле толбцы в строке разделяются табуляцией): LOAD DATA LOCAL INFILE '{путь_до_файла}' INTO TABLE {имя_таблицы}; И динамически выполняете скрипт (можно и в бэкграунде через nohup {путь_к скрипту}> /dev/null 2>&1 & ) Более ничем не могу помочь, поскольку не знаю, написан ли вами драйвер связи с датчиком.
  5. Итак, посмотрел исходник и попробовал его прикрутить. Исходник, конечно, хороший, но он именно описывает назначение интерфейса на порт (что собственно, понятно и описано в мануале). Но интересует не смена режима работы порта, а именно поддержка конкретных ioctl TIOCSRS485( из доков к ядру : This ioctl is used to enable/disable RS485 mode from user-space) и TIOCGRS485 (из доков : to get RS485 mode from kernel-space (i.e., driver) to user-space.) и типа данных : serial_rs485{} Выдержка из <linux/serial.h>, начиная с версии 2.6.38 struct serial_rs485 { __u32 flags; /* RS485 feature flags */ #define SER_RS485_ENABLED (1 << 0) /* If enabled */ #define SER_RS485_RTS_ON_SEND (1 << 1) /* Logical level for RTS pin when sending */ #define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for RTS pin after sent*/ #define SER_RS485_RX_DURING_TX (1 << 4) __u32 delay_rts_before_send; /* Delay before send (milliseconds) */ __u32 delay_rts_after_send; /* Delay after send (milliseconds) */ __u32 padding[5]; /* Memory is cheap, new structs are a royal PITA .. */ }; Разумеется, можно изобрести велосипед и самому, привязав данные стандартные функции для RS-485 и тип к используемым в UC-8410,заново их определив . Например, нечто на подобие: #define TIOCSRS485 MOXA_SET_OP_MODE #define TIOCGRS485 MOXA_GET_OP_MODE И т.д. Выходит немного криво и не совсем то, что имелось в виду. Хотелось бы их поддержку прямо в модуле ядра, дабы не заморачиваться. Если нужно поднимать версию ядра, то необходимо знать, поддержит ли чип такого рода обращения ? Или необходимо в коде для UC-8410 отказаться от данных стандартных определений и пользоваться иными конструкциями ?
  6. MGate не принимает пакеты, посольку они имеют некорректные стартовые символы пакета (описано на скрине). Могу предложить следующее: Попробуйте убрать перемычку, и подключить к MGate с двух контактов :TxD-(A) RxD+( B ) к портам преобразователя (если гугл не врет, у преобразователя 2 интерфейсных пина). И выставить в MGate интерфейс RS-485 двухпроводной.
  7. Вроде бы на DVD, который поставляется в комплекте с железками, есть уже готовый порт mySQL клиента, через который бы shell скриптом можно организовать передачу в mySQL таблицу через подключение к уже существующей БД. Или нужен именно mySQL сервер ?
  8. Не уверен. Мне понадобится день-два на пристройку, по результату отвечу в теме. Но за ответ спасибо.
  9. Возник небольшой вопрос в части использования RS-485 в UC 8410 LX: Есть ли поддержка TIOCSRS485 и типа serial_rs485{} в устройстве ? Или же управление именно RS-485 осуществляется через другие структуры ? Искал определения и структуры в файлах заголовков тулчейна и ядра (т.е. serial.h, где прописан тип serial_rs485{...} и ioctls.h, где определяются TIOCSRS485 и TIOGRS485), но так их и не нашел. Читал, что поддержка именно такого обращения к RS-485 ввелась с версии ядра 2.6.38, в то время, как в устройстве (по крайней мере, судя по версии ядра в исходниках) - версия ядра 2.6.23. Надо ли для поддержки функций поднимать версию ядра или же сам чип не поддерживает данного типа обращений ?
×
×
  • Create New...