• Система автоматизации с открытым исходным кодом на базе 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, ее нужно отдельно где-то брать? Или она уже в комплекте идет?
В заголовке скетча я написал что и откуда брать. Можно открыть редактором.
 
Сверху Снизу