Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Работа с COM-портом
Форумы портала PHP.SU » PHP » Программирование на PHP » Работа с COM-портом

Страниц (1): [1]
 

1. Михаил - 25 Марта, 2011 - 10:57:21 - перейти к сообщению
Доброго времени суток!!!
Недавно столкнулся со следующей проблемой: есть Веб-приложение, осуществляющее контроль рассмотрения документов (договора, заявки и т. д.). Необходимо, чтобы ответственным за согласование документа лицам приходило извещение по СМС о поступлении нового документа.
Есть модем siemens mc35i, подключенный через COM-порт.
Вопрос в следующем - каким образом средствами ПХП можно осуществить работу с СОМ-портом?

p.s. Пробовал обращаться к нему как к файлу, но безрезультатно (хотя, отклик от СОМ-порта есть):
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         $format = "AT+CMGF=1\n";
  3.         $tel = "at+cmgs=\"+7".$_POST['tel_numb']."\"\n ";
  4.         $text = $_POST['sms_text'].chr(26)."\n ";
  5.         $fp = fopen ("COM1:", "w");
  6.         flock($fp,LOCK_EX);
  7.         if(!$fp){
  8.                 echo "COM-Port not opened";
  9.         }
  10.         else{
  11.                 fwrite($fp, $format);  
  12.                                 sleep(1);
  13.                 fwrite($fp, $tel);
  14.                                 sleep(1);
  15.                 fwrite($fp, $text);            
  16.                 sleep(1);
  17.                 flock($fp,LOCK_UN);
  18.                 echo $format.$tel.$text;
  19.         }
  20.         $fp = fclose ($fp);
  21. ?>

(Добавление)
Вопрос снят.
оказывается надо было вместо "\n" писать "\r\n" Улыбка
2. ALEN - 25 Марта, 2011 - 11:50:37 - перейти к сообщению
Смска отправляется?
3. Михаил - 25 Марта, 2011 - 12:03:15 - перейти к сообщению
Да.
Пока только латинские символы, но это вопрос разрешимый. Доки по кодировке нашел, но пока не смотрел.
Чтобы на кириллице отправлять, нужно модем в PDU-режим устанавливать AT+CMGF=0 и PDU-пакетами отправлять сообщение.
Возможно, есть более простой способ, но пока нашел только этот... Улыбка
4. Ch_chov - 25 Марта, 2011 - 12:45:44 - перейти к сообщению
5. JustUserR - 25 Марта, 2011 - 21:01:38 - перейти к сообщению
Михаил пишет:
Пока только латинские символы, но это вопрос разрешимый. Доки по кодировке нашел, но пока не смотрел.
Чтобы на кириллице отправлять, нужно модем в PDU-режим устанавливать AT+CMGF=0 и PDU-пакетами отправлять сообщение.
Для осуществления решения предполагаемой задачи, заключающейся в организации возможности передачи группы информационных полей, расположение которых в конечном базовом элементном уровне трактования которых обеспечивается на основании включения объектов с вариативным позиционным порядком включения, допустимо использование унифицированной метода достижения поставленной цели, основанного на проведении предшествующей конверсии ассциированных параметров на поверхностном базовом элементном уровне трактования в форму хранения, для которых производится дифференциация относительно разделительных и управляющих элементов в синтаксической форме
6. ALEN - 25 Марта, 2011 - 21:06:40 - перейти к сообщению
Нужно будет так же через свой телефон попробовать делать рассылку, а вообще идея хорошая.
7. Михаил - 29 Марта, 2011 - 14:21:21 - перейти к сообщению
Кое-что нашел по формату PDU:

http://hardisoft[dot]ru/soft/otpravk[dot][dot][dot]mi-na-c-chast-1/


Может кому-то данная информация будет полезна Улыбка

 

Powered by ExBB FM 1.0 RC1