Требуется помощь perl-программеров! (в создании программы для GSM модемов)

Модератор: Модераторы разделов

Аватара пользователя
Warderer
Модератор
Сообщения: 1056
Статус: киберпИнгвин на гусеничном ходу
ОС: Debian unstable

Требуется помощь perl-программеров!

Сообщение Warderer »

Уважаемые программеры, программа написана, но функционала у нее категорически не хватает и оптимизировать её очень хотелось бы. Приветствуется любая помощь! С предложениями о помощи - либо в аську/джаббер либо сюда. Потом решим, где код положить.

P.S. Дело срочное. Потом хочу выложить под GPL.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
Спасибо сказали:
Аватара пользователя
AndyX
Сообщения: 116

Re: Требуется помощь perl-программеров!

Сообщение AndyX »

Дык, код бы выложил куда-нибудь. Обещать ничего не могу - времени нету, но на досуге бы посмотрел/поковырял. А там, может и подключусь.
I am in shape. Round is a shape.
Спасибо сказали:
Аватара пользователя
Warderer
Модератор
Сообщения: 1056
Статус: киберпИнгвин на гусеничном ходу
ОС: Debian unstable

Re: Требуется помощь perl-программеров!

Сообщение Warderer »

Ну, давайте попробуем... Прикладываю ДИКО КОРЯВЫЙ скрипт. На моей машине он работает, а на сервере, на котором должен работать, периодически затыкает напрочь порт модема. Этот скрипт крайне желательно демонизировать. Прошу к работе, спрашивайте.

Cейчас эта программа работает файловым образом, просматривая каталог
$SPOOLDIR/spool на предмет наличия в ней файлов. Далее, проверяет файл на формат

Код: Выделить всё

To:<11 цифр номера>
Text:<не более 70 символов сообщения>


Если файл соответствует, то формирует из него PDU и посредством отправки AT команды, шлет сформированную строку на GSM модем и пишет уведомление в базу.

Формат базы:

Код: Выделить всё

CREATE TABLE `rcpt_groups` (
  `id` int(11) NOT NULL default '0',
  `group_name` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

CREATE TABLE `rcpts` (
  `id` int(11) NOT NULL default '0',
  `rcpt_name` varchar(30) NOT NULL default '',
  `rcpt_group` int(11) NOT NULL default '0',
  `rcpt_phone` varchar(11) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

CREATE TABLE `sms_log` (
  `sms_date` date NOT NULL default '0000-00-00',
  `sms_time` time NOT NULL default '00:00:00',
  `sms_text` varchar(140) NOT NULL default '',
  `sms_rcpt` int(11) NOT NULL default '0',
  `sms_status` int(11) NOT NULL default '0',
  KEY `sms_date` (`sms_date`),
  KEY `sms_time` (`sms_time`)
) TYPE=MyISAM;

CREATE TABLE `status_dic` (
  `id` smallint(6) NOT NULL default '0',
  `status_name` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
Спасибо сказали: