The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
COM-порт + MySQL + сетевой демон, !*! yurybx, 19-Мрт-15, 10:26  [смотреть все]
Сразу оговорюсь, что мой опыт "программирования" под *nix-системы ограничивается написанием скриптов на bash. Поэтому обращаюсь к спецам за помощью в определении направления: какую документацию читать, по каким языкам, механизмам и т.д. Какой путь выбрать.
Задача следующая. Имеется офисная АТС, передающая лог звонков по COM-порту, и сервер на FreeBSD 8.0. Нужно решить две задачи:
1. Сервер должен принимать лог от АТС и расфасовывать его в базу данных MySQL (оная уже работает на сервере)
2. Сервер должен мгновенно отправлять информацию о поступившем звонке на рабочую станцию Windows по сети (чтобы секретарша видела кто звонит на экране ещё до поднятия трубки)
С первой задачей наверняка справится ATSlog. Но как написать программу для второй задачи, которая будет перехватывать лог от станции, не мешая работе ATSlog? Или придётся писать программу для обеих задач?
Теперь подробно о второй задаче. Насколько я понимаю, нужно будет написать приложение под Windows, которое будет подключаться к демону FreeBSD по сети на определённый порт и реагировать на получаемые данные (искать клиента в базе по номеру звонящего и отображать информацию на экране большими буквами). Значит, нужно написать сетевой демон, который слушает определённый порт и обрабатывает данные получаемые по COM-порту в реальном времени. Какой язык программирования лучше использовать для этой задачи?
  • COM-порт + MySQL + сетевой демон, !*! fantom, 11:52 , 19-Мрт-15 (1)
    >[оверквотинг удален]
    > С первой задачей наверняка справится ATSlog. Но как написать программу для второй
    > задачи, которая будет перехватывать лог от станции, не мешая работе ATSlog?
    > Или придётся писать программу для обеих задач?
    > Теперь подробно о второй задаче. Насколько я понимаю, нужно будет написать приложение
    > под Windows, которое будет подключаться к демону FreeBSD по сети на
    > определённый порт и реагировать на получаемые данные (искать клиента в базе
    > по номеру звонящего и отображать информацию на экране большими буквами). Значит,
    > нужно написать сетевой демон, который слушает определённый порт и обрабатывает данные
    > получаемые по COM-порту в реальном времени. Какой язык программирования лучше использовать
    > для этой задачи?

    Язык программирования фактически любой, но на вашем месте я бы подумал на предмет web-морды/приложения, платформонезависимо и ненадо изобретать сетевых демонов.
    Незнаю как в мускуле, а в postgresql можно по триггеру например запустить стороннее приложение.

    Вроде по описанию
    https://ru.wikipedia.org/wiki/Socket.IO
    может вам помочь

    • COM-порт + MySQL + сетевой демон, !*! yurybx, 20:40 , 19-Мрт-15 (2)
      Не, web-морду делать не хочу, ибо система должна работать как часы: браузер завис/закрылся, секретарша сидит в соц. сети, смотрит фотки на полный экран - пофигу, окно должно появиться как штык! Так что будет клиент-серверная система: сервер на freebsd и клиент на windows.
      А что если я просто напишу скрипт на bash? Например:

      while read -r line < /dev/cuau1; do
        # отправляем $line в качестве аргумента обработчику
      done

      И обработчик тоже на bash, который использует команду "nc", чтобы передать информацию клиенту по TCP или UDP протоколу.
      Будет ли такой вариант надёжно работать? Не будет ли пропускать символы/строки, получаемые по com-порту?

  • COM-порт + MySQL + сетевой демон, !*! Pahanivo, 06:26 , 20-Мрт-15 (3)
    > Задача следующая. Имеется офисная АТС, передающая лог звонков по COM-порту, и сервер
    > 2. Сервер должен мгновенно отправлять информацию о поступившем звонке на рабочую станцию

    а разве логи звонков пишутся не по факту их, звонков, ОКОНЧАНИЯ?


    • COM-порт + MySQL + сетевой демон, !*! fantom, 10:28 , 20-Мрт-15 (4)
      >> Задача следующая. Имеется офисная АТС, передающая лог звонков по COM-порту, и сервер
      >> 2. Сервер должен мгновенно отправлять информацию о поступившем звонке на рабочую станцию
      > а разве логи звонков пишутся не по факту их, звонков, ОКОНЧАНИЯ?

      Спецы по АТС говорят, что в нормальных АТС поведение настраивалось, по дефолту - по факту окончания, при перенастройке - каждый "чих" это событие ...
      Другое дело, что в COM будет гора всего насвете лететь, и нужен анализ что именно нам АТС сказала и нужно ли нам это обрабатывать.

      • COM-порт + MySQL + сетевой демон, !*! yurybx, 11:23 , 20-Мрт-15 (5)
        Моя АТС KX-TDA100 настроена таким образом, что выдаёт информацию о поступлении вызова в момент его поступления мгновенно.
        • COM-порт + MySQL + сетевой демон, !*! yurybx, 11:40 , 20-Мрт-15 (6)
          Ахтунг! Не работает второй com-порт на сервере! Не могу понять, почему.
          Подключаю девайс к первому порту (что на задней панели), ввожу команду:
          cu -l /dev/cuau0 -s19200
          получаю читабельные данные.
          Подключаю ко второму порту (что выведен на слот корпуса через переходник), ввожу команду:
          cu -l /dev/cuau1 -s19200
          не получаю ничего.
          Переходник проверял на другой материнке - работает.
          Материнка сервера X7SBA, в биосе "Serial Port B" включён, выставлен режим "Normal". Куда копать?
  • COM-порт + MySQL + сетевой демон, !*! unibus, 10:57 , 23-Мрт-15 (13)
    > Какой язык программирования лучше использовать для этой задачи?

    Взгляните на язык Python.
    Лаконичен. Довольно прост для обучения. Есть на всех платформах, что легко позволяет писать переносимые приложения. Много дополнительных модулей для чего угодно - serial comm., сетевые приложения, базы данных, http, xml, rpc, json и т.д.
    В базовом пакете для Винды есть модуль tkinter - для простых графических приложений на основе tcl/tk.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру