Официальный сайт компании Arduino по адресу arduino.cc
esp8266wifi отправка sms через шлюз
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Всем привет.
Играюсь дома с датчиками движения делаю следующую задачу: имеется несколько датчиков движения плата wemos d1 r2(esp8266wifi), платаа отслеживает датчики движения и по положительному сигналу отсылает e-mail по средствам GET запроса на свой сервер, который генерирует письмо.
Сейчас решил переделать под отправку смс через смс шлюз, выглядело довольно все просто. Сервис поддерживает GET запрос и вроде просто надо прописать другую строку, но не тут то было.
Для отправки e-mail я использую следующую ф-цию:
#include <ESP8266WiFi.h> char servername[]="youhost.ru"; // сервер на который отправлять запрос String result; // пропущен луп void sendDataToServer(String room) { if (client.connect(servername, 80)) { //starts client connection, checks for connection Serial.println("connected"); client.println("GET /send_email.php?room="+room+" HTTP/1.1"); //Send data client.println("Host: youhost.ru"); client.println("Connection: close"); //close 1.1 persistent connection client.println(); //end of get request } else { Serial.println("connection failed"); //error message if no client connect Serial.println(); } while(client.connected() && !client.available()) delay(1); //waits for data while (client.connected() || client.available()) { //connected or data available char c = client.read(); //gets byte from ethernet buffer result = result+c; } client.stop(); //stop client Serial.println(result); }
Для смс шлюза требуется запрос следующего формата http://gate.iqsms.ru/send/?phone=%2B71234567890&text=test
Меняем
char servername[]="gate.iqsms.ru";
client.connect(servername, 80)
и при исполнении скетча при попытке коннекта получаем ошибку 302 от сервера шлюза смс.
Подскажите как правильно тут прописать подключение к серверу.
А 12-ую строку как меняете? Чего не дописали-то?
А 12-ую строку как меняете? Чего не дописали-то?
Ошибка вылетает раньше.
Если разобрать подробнее из того что мне удалось понять. Система подключения к серверу следующая:
1. Сначала мы подключаетмся к серверу по 80 порту - gate.iqsms.ru
2. Затем отправляем запрос - /send/?login=mylogin&password=mypassword&phone=%2B71234567890&text=test
Отсюда видим проблему яснее, в монитор порта при попытке подключения к серверу п. 1 получаем ошибку 404. Пробуем вручную вбить в браузер gate.iqsms.ru и тоже получаем 404.
Теперь вопрос здесь, может как-нибудь по другому необходимо формировать запрос или сервер как-то по другомц указать?