• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 раза, поправил и перезалил в то же сообщение, если будут ошибки напишите сообщения об ошибках, вообще их не должно появиться - проверил у себя, сервер запускается!
 
Сверху Снизу