Всем привет!
Возможно ли сделать так чтобы панель MT-8070iH отправляла письмо на email? допустим при срабатывании "аварии" или еще чего нибудь. т.е. какие есть вообще способы оповещения о событиях???
macro_command main()
//Пример реализации GET запроса с помощью FREE протокола
//
unsigned char response[32]
short read_no, return_value
int mail_length, mess_length
unsigned char host[27]="Host: www.myserver.com"
unsigned char mess[100]="Alarm,%20temperature%20is%20too%20high<br>"
unsigned char http[8]=" HTTP1.0"
unsigned char email[40]="vasya_pupkin@mail.ru"
unsigned char var1[13]="temperature1="
unsigned char var2[17]=",%20temperature2="
//получаем eamil с поля ввода
GetData(email[0], "Local HMI", LW, 500, 20)
mail_length=StringLength(email[0])
mess_length=StringLength(mess[0])
unsigned char temp1_dec[5], temp2_dec[5]
short temp1, temp2
GetData(temp1, "Local HMI", LW, 100, 1) // получаем введенные температуры
GetData(temp2, "Local HMI", LW, 101, 1)
DEC2ASCII(temp1, temp1_dec[0], 4) // преобразуем введенные температуры в строки
DEC2ASCII(temp2, temp2_dec[0], 4)
unsigned char command[18] = "GET /sm.php?email="
unsigned char command1[6]="&mess="
unsigned char ent[2]
ent[0]=13 // 0x0d
ent[1]=10 //0x0A
//Отправляем на сервер команды следующего вида
//GET /sm.php?email=XXXX&mess=YYYY
//Host: www.myserver.com
//
//где XXXX-введенный пользователем email, YYYY-сообщение вида
//Alarm, temperature is too high
//temperature1=AAAA, temperature2=BBBB
// где AAAA - заданная пользователем температура 1,
// BBBB - заданная пользователем температура 2
OUTPORT(command[0], "Free Protocol", 18)// send command GET /sm.php?email=
OUTPORT(email[0], "Free Protocol", mail_length)// send email plesk@mail.ru
OUTPORT(command1[0], "Free Protocol", 6)// send command1 &mess=
OUTPORT(mess[0], "Free Protocol", mess_length)// send mess alarm
OUTPORT(var1[0], "Free Protocol", 13)// send temperature1=
OUTPORT(temp1_dec[0], "Free Protocol", 4)// send temp 1
OUTPORT(var2[0], "Free Protocol", 17)// send temperature2=
OUTPORT(temp2_dec[0], "Free Protocol", 4)// send temp 2
OUTPORT(http[0], "Free Protocol", 8)// send http1.0
OUTPORT(ent[0], "Free Protocol", 2 )
OUTPORT(host[0], "Free Protocol", 27)// send host
OUTPORT(ent[0], "Free Protocol", 2 )
OUTPORT(ent[0], "Free Protocol", 2 )
end macro_command
Denis писал(а):С панели MT8070iH можно отправлять и email, и даже СМС без модема ( через интернет ).
Для отправки почты Вам придется на своем сервере сделать скрипт, который принимает в параметрах адрес почты и сообщение, отправляет
сообщение на заданный адрес.
например, вот такой GET запрос : http://myserver.com/sm.php?email=vasya_ ... _a_message
может отправить this_is_a_message на адрес vasya_pupkin@mail.ru
В EasyBuilder8000 с использованием Free протокола создается макрос, которые отправляет вышеуказанный GET запрос.
Ниже приведен пример макроса, который получает с полей ввода email и 2 температуры и отправляет сообщение,
содержащее значение температур на email.
- Код: Выделить всё
macro_command main()
//Пример реализации GET запроса с помощью FREE протокола
//
unsigned char response[32]
short read_no, return_value
int mail_length, mess_length
unsigned char host[27]="Host: www.myserver.com"
unsigned char mess[100]="Alarm,%20temperature%20is%20too%20high<br>"
unsigned char http[8]=" HTTP1.0"
unsigned char email[40]="vasya_pupkin@mail.ru"
unsigned char var1[13]="temperature1="
unsigned char var2[17]=",%20temperature2="
//получаем eamil с поля ввода
GetData(email[0], "Local HMI", LW, 500, 20)
mail_length=StringLength(email[0])
mess_length=StringLength(mess[0])
unsigned char temp1_dec[5], temp2_dec[5]
short temp1, temp2
GetData(temp1, "Local HMI", LW, 100, 1) // получаем введенные температуры
GetData(temp2, "Local HMI", LW, 101, 1)
DEC2ASCII(temp1, temp1_dec[0], 4) // преобразуем введенные температуры в строки
DEC2ASCII(temp2, temp2_dec[0], 4)
unsigned char command[18] = "GET /sm.php?email="
unsigned char command1[6]="&mess="
unsigned char ent[2]
ent[0]=13 // 0x0d
ent[1]=10 //0x0A
//Отправляем на сервер команды следующего вида
//GET /sm.php?email=XXXX&mess=YYYY
//Host: www.myserver.com
//
//где XXXX-введенный пользователем email, YYYY-сообщение вида
//Alarm, temperature is too high
//temperature1=AAAA, temperature2=BBBB
// где AAAA - заданная пользователем температура 1,
// BBBB - заданная пользователем температура 2
OUTPORT(command[0], "Free Protocol", 18)// send command GET /sm.php?email=
OUTPORT(email[0], "Free Protocol", mail_length)// send email plesk@mail.ru
OUTPORT(command1[0], "Free Protocol", 6)// send command1 &mess=
OUTPORT(mess[0], "Free Protocol", mess_length)// send mess alarm
OUTPORT(var1[0], "Free Protocol", 13)// send temperature1=
OUTPORT(temp1_dec[0], "Free Protocol", 4)// send temp 1
OUTPORT(var2[0], "Free Protocol", 17)// send temperature2=
OUTPORT(temp2_dec[0], "Free Protocol", 4)// send temp 2
OUTPORT(http[0], "Free Protocol", 8)// send http1.0
OUTPORT(ent[0], "Free Protocol", 2 )
OUTPORT(host[0], "Free Protocol", 27)// send host
OUTPORT(ent[0], "Free Protocol", 2 )
OUTPORT(ent[0], "Free Protocol", 2 )
end macro_command
С помощью аналогичного GET запроса можно отправлять СМС сообщения с помощью соответствующих СМС сервисов ( как правило платные )
Сейчас этот форум просматривают: Bing [Bot] и гости: 12