Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > ESP8266

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.07.2015, 10:41   #11
fsdb
Senior Member
 
Аватар для fsdb
 
Регистрация: 23.12.2013
Адрес: Туймазы
Сообщений: 747
Вес репутации: 835
fsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to behold
По умолчанию Re: сверхбюджетные WiFi модули esp8266

мне броадкаст понравился UDP. тащусь
fsdb вне форума   Ответить с цитированием
Старый 03.07.2015, 21:27   #12
metaforos
Member
 
Регистрация: 17.03.2012
Адрес: Мариуполь (UA)
Сообщений: 72
Вес репутации: 0
metaforos is on a distinguished road
По умолчанию Re: сверхбюджетные WiFi модули esp8266

Всем привет. Вот как-то обзавелся ESP 01, теперь возникла куча вопросов. Пересмотрел кучу сайтов, но так ничего подходящего и не нашел. Вобщем суть такова: Есть ESP+Arduino. Без Ардуины - никак!. Т.е. в принципе КАК, но не хочу. Нужно прикрутить к дуине ESPшку таким образом, чтобы ESP работала в качестве клиента. Например так : Сервер (Raspberry PI+php скрипт+GET запрос) шлет на Ардуину (Через ESP) например цифру 1, а Ардуино, опят же через ESP отправляет серверу определенные значения. С PHP проблем нет. А вот со скетчем Ардуино+ESP проблемы есть. Сколько учусь... Но не научился я дуины программировать.. Может кто сталкивался с таким?
metaforos вне форума   Ответить с цитированием
Старый 03.07.2015, 22:17   #13
fsdb
Senior Member
 
Аватар для fsdb
 
Регистрация: 23.12.2013
Адрес: Туймазы
Сообщений: 747
Вес репутации: 835
fsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to behold
По умолчанию Re: сверхбюджетные WiFi модули esp8266

я делал но так же на пальцах не объяснишь . ну суть вы поняли. esp коннектится к роутеру. идет опрос по айпишке, и посыл вашей 1. если пришла 1, то вернуть ответ.
fsdb вне форума   Ответить с цитированием
Старый 04.07.2015, 08:07   #14
metaforos
Member
 
Регистрация: 17.03.2012
Адрес: Мариуполь (UA)
Сообщений: 72
Вес репутации: 0
metaforos is on a distinguished road
По умолчанию Re: сверхбюджетные WiFi модули esp8266

Здравствуйте, это все понятно. Меня скетч для ардуины интересует. Может библиотека какая. Отправлять данные на сервер я научился. Только скетч громоздкий пооучается.
metaforos вне форума   Ответить с цитированием
Старый 06.07.2015, 15:00   #15
fsdb
Senior Member
 
Аватар для fsdb
 
Регистрация: 23.12.2013
Адрес: Туймазы
Сообщений: 747
Вес репутации: 835
fsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to behold
По умолчанию Re: сверхбюджетные WiFi модули esp8266

добрый день. скетча готового к сожалению нет. у меня скетч тоже громоздкий получился в свое время. я еще не большую проверку сделал - он ведь шлет длинну пакета - я проверял её. а типом char я не умею пользоваться - постоянно утечки памяти, поэтому я сделал все на string... и у меня получилось занятыми 5.4кб озу.. по сему пришлось мегу использовать...

псевдокод

if serial2.avable {
//если что то пришло на вай файку

if (если что пришло равное =432 то это значит нам ) {
Send //отправляем в ответ

}
}
fsdb вне форума   Ответить с цитированием
Старый 07.07.2015, 09:52   #16
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1310
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: сверхбюджетные WiFi модули esp8266

Вот код для ардуины:

PHP код:
#include <SoftwareSerial.h>
SoftwareSerial ESPport(1011); 
////////////////////// RX, TX

// если у вас MEGA, то закомментируйте верхние две строчки и раскомментируйте нижеследующую.
// ESP подключите к Serial1 (18, 19), скорость можно сделать 57600
// HardwareSerial & ESPport = Serial1;

const int ledPin =  13;     
int ledState HIGH;           
#define BUFFER_SIZE 128
char buffer[BUFFER_SIZE];
String vklotkl;
 
void setup() 

  
pinMode(ledPinOUTPUT);        
  
Serial.begin(9600); // Терминал
  
ESPport.begin(9600); // ESP8266  
  
clearSerialBuffer(); // очистка буфера Serial
  
Serial.println("RESET 3,5 sek");
  
Serial.println(GetResponse("AT+RST",3400)); // перезагрузка ESP
  
Serial.println(GetResponse("AT+CWMODE=1",300)); // режим клиента   
  
connectWiFi("myrouter","parolparol"); // подключаемся к домашнему роутеру (имя точки, пароль) 
  
Serial.println(GetResponse("AT+CIPMODE=0",300)); // сквозной режим передачи данных. 
  
Serial.println(GetResponse("AT+CIPMUX=1",300)); // multiple connection.
  
Serial.print("Start TCP-server: ");
  
Serial.println(GetResponse("AT+CIPSERVER=1,88"300)); // запускаем ТСР-сервер на 88-ом порту
  
Serial.println(GetResponse("AT+CIPSTO=2"300)); // таймаут сервера 2 сек
  
Serial.println(GetResponse("AT+CIFSR"300)); // узнаём адрес
  
digitalWrite(ledPin,ledState);  
}
///////////////////основной цикл, принимает запрос от клиента/////////////////// 
void loop() 
{
 
int ch_idpacket_len;
 
char *pb;  
 
ESPport.readBytesUntil('\n'bufferBUFFER_SIZE);
  
 if(
strncmp(buffer"+IPD,"5)==0
  {
   
sscanf(buffer+5"%d,%d", &ch_id, &packet_len);
   if (
packet_len 0
    {
      
pb buffer+5;
      while(*
pb!=':'pb++;
      
pb++;
      if(
strncmp(pb"GET / "6) == 0)
       {
         
        
Serial.println(buffer); 
        
Serial.print("get led from ch :");
        
Serial.println(ch_id);
        
delay(100);
        
clearSerialBuffer();
        
        if(
ledState == LOW
          {
            
ledState HIGH;
            
vklotkl "VKL";
          }
        
        else 
          {
            
ledState LOW;
            
vklotkl "OTKL";
          } 
        
        
digitalWrite(ledPinledState);
        
otvet_klienty(ch_id);
       } 
    }
  }
  
clearBuffer();
}
//////////////////////формирование ответа клиенту////////////////////
void otvet_klienty(int ch_id
{
  
String Header;
 
  
Header =  "HTTP/1.1 200 OK\r\n";
  
Header += "Content-Type: text/html\r\n";
  
Header += "Connection: close\r\n";  
  
  
String Content;

  
Content "LED 13: " vklotkl;
  
  
Header += "Content-Length: ";
  
Header += (int)(Content.length());
  
Header += "\r\n\r\n";
  
  
ESPport.print("AT+CIPSEND="); // ответ клиенту
  
ESPport.print(ch_id);
  
ESPport.print(",");
  
ESPport.println(Header.length()+Content.length());
  
delay(20);

  if(
ESPport.find(">")) 
    {
      
ESPport.print(Header);
      
ESPport.print(Content);
      
delay(110);
    }
}
/////////////////////отправка АТ-команд/////////////////////
String GetResponse(String AT_Commandint wait)
{
  
String tmpData;
  
  
ESPport.println(AT_Command);
  
delay(wait);
  while (
ESPport.available() >)  
   {
    
char c ESPport.read();
    
tmpData += c;
    
    if ( 
tmpData.indexOf(AT_Command) > -)         
      
tmpData "";
    else
      
tmpData.trim();       
          
   }
  return 
tmpData;
}
//////////////////////очистка ESPport////////////////////
void clearSerialBuffer(void
{
       while ( 
ESPport.available() > 
       {
         
ESPport.read();
       }
}
////////////////////очистка буфера//////////////////////// 
void clearBuffer(void) {
       for (
int i =0;i<BUFFER_SIZE;i++ ) 
       {
         
buffer[i]=0;
       }
}
////////////////////подключение к wifi/////////////////////        
boolean connectWiFi(String NetworkSSID,String NetworkPASS
{
  
String cmd "AT+CWJAP=\"";
  
cmd += NetworkSSID;
  
cmd += "\",\"";
  
cmd += NetworkPASS;
  
cmd += "\"";
  
Serial.println(cmd); 
  
Serial.println(GetResponse(cmd,6500));

Вот тут читать подробно.

Но лучше сначала прошить.
__________________
istarik.ru
stD вне форума   Ответить с цитированием
Старый 11.09.2015, 10:59   #17
fsdb
Senior Member
 
Аватар для fsdb
 
Регистрация: 23.12.2013
Адрес: Туймазы
Сообщений: 747
Вес репутации: 835
fsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to behold
По умолчанию Re: сверхбюджетные WiFi модули esp8266

Сделал Wifi реле из esp8266 и выложил как собрать самому. без ардуины.
http://adm.dlinkddns.com/ehomesmart....d1d452ae420fba
fsdb вне форума   Ответить с цитированием
Старый 11.09.2015, 11:15   #18
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: сверхбюджетные WiFi модули esp8266

Какую прошивку используешь? WiFi модуль не зависает?
Admin вне форума   Ответить с цитированием
Старый 11.09.2015, 11:41   #19
fsdb
Senior Member
 
Аватар для fsdb
 
Регистрация: 23.12.2013
Адрес: Туймазы
Сообщений: 747
Вес репутации: 835
fsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to beholdfsdb is a splendid one to behold
По умолчанию Re: сверхбюджетные WiFi модули esp8266

Прошивку написал свою. насчет того - зависает или нет - долго не тестировал. но сделал что бы при потере вай фая он пытался восстановить вязь
fsdb вне форума   Ответить с цитированием
Старый 11.09.2015, 20:02   #20
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: сверхбюджетные WiFi модули esp8266

Цитата:
сделал что бы при потере вай фая он пытался восстановить вязь
Проблема может быть не в соединении , а в подвисании ОС
Я долго уже тестирую, с разными прошивками, так основная проблема модуля, это то что он перестает откликаться на запросы (зависает)
Когда модуль в паре с контроллером, то после того как модуль завис , контроллер может его его ребутить
И получается что модуль можно хоть как то надежно работать, а вот в одиночку(без контроллера) использовать его в умном доме я бы не стал

Цитата:
Прошивку написал свою
Громко сказано.
Вы написали свою ОС для этого модуля? Или же взяли исходники с гитхаба, немного подредактировали?
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:15. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика