• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Отправка данных на сервер.

Ильнар

New member
arbuzmaster, arbuzmaster, день добрый.подскажите пожалуйста вот по этому вопросу -" пишите скрипт который запрашивает данные напрямую с контроллера, минуя БД и получаете данные, далее формируете html для вставки в div . Ajax запрос делаете по таймеру - например раз в 2 сек или более, ответ на ajax запрос вставляете в div. Ну как тот так примерно." esp8266 клиентом на сервер отправлять получается, а забрать с esp8266 сервера нет. Спасибо.
 

Ильнар

New member
У Вас прошивка для ESP собственная, исходный код есть?
День добрый. Спасибо что ответили, без подсказки похоже не справлюсь. На ардуино ид пишу,клиентом подключаю к серверу. скетч одного модуля, у меня их несколько:)
#include <DHT.h>
#include <ESP8266WiFi.h>
#include <Wire.h> // библиотека работы последовательного порта

extern "C" {
#include"user_interface.h"
uint16 readvdd33(void);
}

#define DHTPIN 12
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

const char* k="пароль";
const char* ssid= "TP-LINK_978E";
const char* password = "пароль";
const int httpPort = 80;
const char* host = "192.168.0.111";
int esp=1;



void setup() {

Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(6000);
Serial.print(".");
}
Serial.println(WiFi.localIP());
WiFiClient client;
if (client.connect(host, httpPort)) {
Serial.println("connection");
float h=dht.readHumidity();
float t=dht.readTemperature();
float power=readvdd33();
// send the HTTP GET request:
client.print("GET /data.php?");
client.print("k=");
client.print(k);
client.print("&");
client.print("esp=");
client.print(esp);
client.print("&");
client.print("h=");
client.print(h);
client.print("&");
client.print("t=");
client.print(t);
client.print("&");
client.print("power=");
client.print(power);
client.println( "HTTP/1.1");
client.print( "Host:" );
client.println(host);
}
else
{
Serial.println("connection failed");
Serial.println("disconnecting.");
}
client.stop();
Serial.println("disconnecting.");
Serial.println();
Serial.println("closing connection");
Serial.println("ESP8266 in sleep mode");
ESP.deepSleep(900e6);
}

// функция loop() выполняется снова и снова всегда
void loop() {
}
 

arbuzmaster

New member
test_DHT.ino - скетч с websocket клиентом, нужно будет установить библиотеку WebSocket by Markus Sattler v2.0.6 - есть в библиотеках для установки
WSSocket.php.txt - WebSocket server на php, запускается из терминала *(командной строки) так: php WSSocket.php из директории с данным файлом.
WSSoscket-client.js.txt - JavaScript код Websocket клиента для вставки в js или html файл Вашего проекта, значения температуры должны выводится в консоль разработчика в браузере (Сtrl+Shift+I -> Console для Google Chrome)
Попробуйте запустить все это хозяйство, если будут вопросы пишите - постараюсь помочь!
 

Вложения

Последнее редактирование:

Ильнар

New member
test_DHT.ino - скетч с websocket клиентом, нужно будет установить библиотеку WebSocket by Markus Sattler v2.0.6
WSSocket.php.txt - WebSocket server на php, запускается из терминала *(командной строки) так: php WSServer.php из директории с данным файлом.
WSSoscket-client.js.txt - JavaScript код Websocket клиента для вставки в js или html файл Вашего проекта, значения температуры должны выводится в консоль разработчика в браузере (Сtrl+Shift+I -> Console для Google Chrome)
Попробуйте запустить все это хозяйство, если будут вопросы пишите - постараюсь помочь!
Спасибо. Попробуем, я уж тоже в эту сторону засматривался. Похоже по другому не вытащить данные с контроллера.
 

Ильнар

New member
arbuzmaster, скажите пожалуйста а websocket server на апаче работает? Не могу запустить, если на есп, сокет сервер поднять то с клиент подключается.
 

arbuzmaster

New member
arbuzmaster, скажите пожалуйста а websocket server на апаче работает? Не могу запустить, если на есп, сокет сервер поднять то с клиент подключается.
websocket server - сервер, такой же как и Apache *(только Apache - web сервер),
Извиняюсь, произошел какой то казус и код в WSSocket.php.txt вставился 4 раза, поправил и перезалил в то же сообщение, если будут ошибки напишите сообщения об ошибках, вообще их не должно появиться - проверил у себя, сервер запускается!
 
Сверху Снизу