• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

управление esp-01 подключеного к роутереу через комп и телефон

igorlab

New member
Привет! подскажите пожалуйста пример проекта где ESP-01 подключается к роутеру (а не напрямую к компу) и управляется и передает данные в браузер типа как на картинке

слова сервер и т.д. не использовал, потому что не уверен что правильно их понимаю :)
желательно чтобы было подробное описание той части где настройка компа, и программирование интернет странички чтобы можно было считывать показания датчиков и управлять реле
заранее спасибище!
 

Atom

Member
сомневаюсь, что тут на сайте такое есть, но это именно то, что я как раз делаю.
 

Atom

Member
Если есть желание присоединиться - почему нет, велкам. Вечером подкину больше инфы о том "где" и "что".

Но есть пара нюансов
1. Пока это только куски кода(хотя в некоторые моменты и работают), как такового не доведенные до совершенства, поэтому не стоит думать, что у меня все готово и нужно просто взять и скомпилировать.
2. Они сохранены в различных местах, поэтому требуется время, чтоб найти эти места и собрать в кучу.
 

nikolz

Well-known member
халява - она всегда привлекательна, но не до такой же степени.
-------------------------------
"Может дать еще и ключ от квартиры, где деньги лежат?"
 

Atom

Member
халява - она всегда привлекательна, но не до такой же степени.
-------------------------------
"Может дать еще и ключ от квартиры, где деньги лежат?"
Халява - это молоко в пятницу. И не более. Сегодня среда. Тем более у меня там тоже код не особо комментами блещет. Чем-то изыскательным его назвать нельзя. Так что там не подарок, а работа. Лучше подходит название "кикстарт" (переводится как пинок под зад для начала работы).
 

Atom

Member
К сожалению, не могу сейчас прямо изучать, что там имеется. Тем более смотреть видео. Можете ответить, используется там Arduino IDE (для ESP)или SDK препарируется?

PS: Из авр-ровской муйни там только мега или можно downgrade делать? Потому как 99% задач можно без липухи на esp реализовывать. И вешать мамонта, там где даже пони много не есть хорошо.
 
Последнее редактирование:

igorlab

New member
хм, интересненько... мин 30 поковырялся в материале, нашел кучу восторга о гипервозможностях, но пока не нашел что куда и с чем соединять :) буду ковыряться дальше, похоже это именно то что надо!
халява - она всегда привлекательна, но не до такой же степени.
не люблю халяву, а жлобство вообще не переношу. Но, халявы здесь не может быть, потому что ардуина проект бесплатный и все проекты в онлайне, вопрос лишь касался может кто-то уже что-то подобное нашел (чем CodeNameHawk любезно поделился), но есть жлобство, Ваше, которое здесь неуместно, нечего сказать по делу, то спамте бабуль под подъездами.
 

nikolz

Well-known member
хм, интересненько... мин 30 поковырялся в материале, нашел кучу восторга о гипервозможностях, но пока не нашел что куда и с чем соединять :) буду ковыряться дальше, похоже это именно то что надо!
не люблю халяву, а жлобство вообще не переношу. Но, халявы здесь не может быть, потому что ардуина проект бесплатный и все проекты в онлайне, вопрос лишь касался может кто-то уже что-то подобное нашел (чем CodeNameHawk любезно поделился), но есть жлобство, Ваше, которое здесь неуместно, нечего сказать по делу, то спамте бабуль под подъездами.
Не стоит гордится собственным невежеством и хамством.
 

CodeNameHawk

Moderator
Команда форума
но есть жлобство, Ваше, которое здесь неуместно,
Вы ошибаетесь, жлобством здесь и не пахнет, легкий пинок в нужном направлении.
К сожалению, не могу сейчас прямо изучать, что там имеется. Тем более смотреть видео. Можете ответить, используется там Arduino IDE (для ESP)или SDK препарируется?
А вот это похоже на лень.
 

Atom

Member
А вот это похоже на лень.
Кому как. А мне на работе запрещено смотреть стреам видео. Домой попадаю обычно поздно и в состоянии "побыстрее отключиться до утра".
Ну а в выходные навряд ли вспомню, что нужно посмотреть какой то ролик.
 
Последнее редактирование:

igorlab

New member
Вы ошибаетесь, жлобством здесь и не пахнет, легкий пинок в нужном направлении.
покажите где там направление и тогда я попрошу прощение ;)
Видео о настройке сервера со всеми шагами, начиная от пайки модуля и до компиляции скетча, причем с шикарной дикцией и симплинглиш :)
 

igorlab

New member
повторил то что на видео, оказывается все уже придумано :) то что меня, нуба в этих вопросах, интересовало больше всего:
1) интернет-страничка и все управляющие и индикаторные элементы описываются в коде скетча (в виде HTML) который заливается в ESP8266, отдельно кодить страничку не нужно!
2) ESP8266 сам конектится к сети по указаным в скетче имени сети и паролю и выдает IP по которому можно открыть страничку в браузере
3) при работе с активными элементами интернет странички на модуль ESP8266 отправляются запросы согласно содержанию которых мы включаем отключаем пины и т.д.

в код из примера добавил дублирующие ссылки кнопки, (хтмл отрабатывать удобно здесь: W3Schools Online Web Tutorials)
Код:
#include <ESP8266WiFi.h>

const char* ssid = "ASUS";
const char* password = "hjgjhghghgjg";

int ledPin = 2; // GPIO2 - d4
WiFiServer server(80);

char test[20];

void setup() {
Serial.begin(115200);
delay(10);

pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);

// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// Start the server
server.begin();
Serial.println("Server started");

// Print the IP address
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");

}

void loop() {

// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}

// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}

// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

// Match the request

int value = LOW;
if (request.indexOf("/LED=ON") != -1) {
digitalWrite(ledPin, HIGH);
value = HIGH;
}
if (request.indexOf("/LED=OFF") != -1) {
digitalWrite(ledPin, LOW);
value = LOW;
}

// Set ledPin according to the request
//digitalWrite(ledPin, value);

// Return the response

//float t = bmp.readTemperature();

client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html><head><title>Led pin ON/OFF</title></head><body><h1>");

client.print("Led pin is now: ");

if(value == HIGH) {
client.print("On</h1>");
} else {
client.print("Off</h1>");
}
client.println("<br><br>");

client.println("<p>Click <a href=\"/LED=ON\">here</a> turn the LED on pin 2 ON<br></p>");
client.println("<p1>Click <a href=\"/LED=OFF\">here</a> turn the LED on pin 2 OFF<br></p1><br>");

client.println("<p2>Click <a href=\"/LED=OFF\">here</a> turn the LED on pin 2 OFF<br></p2><br>");

client.println("<form>");
client.println("<input type= button value = ON  onClick='location.href= \"/LED=ON\"'>");
client.println("<input type= button value= OFF onClick='location.href= \"/LED=OFF\"'>");
client.println("</form>");


client.println("</body> </html>");
/**/
delay(1);
Serial.println("Client disonnected");
Serial.println("");

}
сейчас пытаюсь разобраться как считывать температуру с i2c датчика ВМР-180 и выводить в браузер, дальнейшее задание чтобы обновлялась только форма с температурой, а не вся страничка
 

tretyakov_sa

Moderator
Команда форума
сейчас пытаюсь разобраться как считывать температуру с i2c датчика ВМР-180 и выводить в браузер, дальнейшее задание чтобы обновлялась только форма с температурой, а не вся страничка
Здесь есть пример подключения датчиков температуры без обновления страницы: http://esp8266-arduinoide.ru/wp-content/uploads/2016/06/RT.zip
 

Atom

Member
Здесь есть пример подключения датчиков температуры без обновления страницы: http://esp8266-arduinoide.ru/wp-content/uploads/2016/06/RT.zip
Вопрос может показаться глупый, но под рукой нет возможности запустить Ardurinu. Там используется библиотека Adafruit_BMP085, ее нужно отдельно где-то брать? Или она уже в комплекте идет?
 

igorlab

New member
tretyakov_sa, чего-то не хочет видеть бмп-180, Вы его к пинам d1 - scl, d2 sda подключали?
разводка под Ваш скетч где-то описана на форуме?
при подключении
termo Ready!
Connecting to Guest
......
WiFi connected
IP address:
10.3.71.125

Configuring access point...AP IP address: 192.168.4.1
connected...yeey :)
RELEY Ready!
HTTP Ready!
SSDP Ready!
но при переходе по ай-пи пишет файл не найден...
 

tretyakov_sa

Moderator
Команда форума
Вопрос может показаться глупый, но под рукой нет возможности запустить Ardurinu. Там используется библиотека Adafruit_BMP085, ее нужно отдельно где-то брать? Или она уже в комплекте идет?
В заголовке скетча я написал что и откуда брать. Можно открыть редактором.
 
Сверху Снизу