Arduino и ESP8266

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Как исправить?

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Добавил резисторы. ЗАработало.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Sergeyevd пишет:

Добавил резисторы. ЗАработало.

куда?

arDubino
Offline
Зарегистрирован: 12.01.2017

ua6em пишет:

Sergeyevd пишет:

Добавил резисторы. ЗАработало.

куда?

куда надо :))

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Забыл дописать)

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014
#include <SoftwareSerial.h>
 
SoftwareSerial espSerial(10, 11);
 #define BUFFER_SIZE 256
char buffer[BUFFER_SIZE];

void setup() {
  espSerial.begin(115200);
  Serial.begin(9600);
espSerial.println("AT+RST");
Serial.println("1"); 
delay(2000);
espSerial.println("AT+CWMODE=1");
Serial.println("2"); 
delay(1000);
espSerial.println("AT+RST");
Serial.println("3"); 
delay(3000);
espSerial.println("AT+CSYSWDTENABLE");
Serial.println("4"); 
delay(1000);
espSerial.println("AT+CWJAP=\"Internet\",\"40061991\"");
Serial.println("5"); 
delay(6000);
espSerial.println("AT+CIPMODE=0");
Serial.println("6"); 
delay(1000);
espSerial.println("AT+CIPMUX=1");
Serial.println("7"); 
delay(1000);
espSerial.println("AT+CIPSERVER=1,88");
Serial.println("8"); 
delay(1000);
espSerial.println("AT+CIPSTO=2");
Serial.println("9"); 
delay(1000);
espSerial.println("AT+CIFSR");
Serial.println("10"); 
delay(1000);
}

void loop() 
{
 int ch_id, packet_len;
 char *pb;  
 espSerial.readBytesUntil('\n', buffer, BUFFER_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) || (strncmp(pb, "GET /?", 6) == 0))
       {
        otvet_klienty(ch_id);
        Serial.println(buffer); 
       }      
    }
  }

}
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 = "<!DOCTYPE html>";
Content += "<html><head><meta charset=\"utf-8\"><meta http-equiv=\"Cache-Control\" content=\"no-cache\"><title>Stranica</title></head><body>";
Content += "<h1>Privet</h1></body></html>";

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

 // if(espSerial.find(">")) 
   // {
       espSerial.print(Header);
      espSerial.print(Content);
    delay(110);
    //}
}

Работает нестабильно, часто зависает. Окажите помощь, что я не так сделал?

Видео работы https://youtu.be/2VugD7pv3bE  (1:11)

Если делаю проверку

if(espSerial.find(">")) 
{
espSerial.print(Header);
espSerial.print(Content);
delay(110);
}

Не выводит страницу

 
Pahan
Offline
Зарегистрирован: 03.02.2017

Доброго времени суток всем!

Осваиваю SIM800l, пытаюсь его прикрутить к ESP8266 12e (NodeMcu)  через библиотеки типа sim900, хочу научиться, но пока  ничего не получается.

Сам Sim800l рабочий, питание отдельное нормальное 4,2в на 2 А. Через софтсериал модем работает, АT команды принимает и на них отвечает правильно. ESP кА тоже рабочая, GND общий.  Скорости менял.

Модем никак не хочет работать с библиотеками( причем разными) sim900,sim800 и т.д.

В некоторых библиотеках работают примеры только с АT командами и все.

В GSM.cpp   менял пины и так и так (т.е. D1(5) и D2(4) для esp8266)

#define _GSM_TXPIN_ 4

#define _GSM_RXPIN_ 5

 

#define _GSM_TXPIN_ D2

#define _GSM_RXPIN_ D1    

Все равно смс, звонки и т.д. не работает. На разных библиотеках пишет либо ошибка компиляции для платы ESP8266, либо компилируется, но не работает, так понимаю сторожевой таймер срабатывает. ( в сериал шпарит перезагрузка) Может где в этих библиотеках что-то нужно поменять под ESP8266?

Я так понимаю все билиотеки под разные ардуино написаны, а для ESP8266 есть библиотеки для SIM800L может кто с этим сталкивался, либо как мне их подружить.

Подскажите, где собака зарыта?

 

 

 

Pahan
Offline
Зарегистрирован: 03.02.2017

Доброго времени суток всем!

Осваиваю SIM800l, пытаюсь его прикрутить к ESP8266 12e (NodeMcu)  через библиотеки типа sim900, хочу научиться, но пока  ничего не получается.

Сам Sim800l рабочий, питание отдельное нормальное 4,2в на 2 А. Через софтсериал модем работает, АT команды принимает и на них отвечает правильно. ESP кА тоже рабочая, GND общий.  Скорости менял.

Модем никак не хочет работать с библиотеками( причем разными) sim900,sim800 и т.д.

В некоторых библиотеках работают примеры только с АT командами и все.

В GSM.cpp   менял пины и так и так (т.е. D1(5) и D2(4) для esp8266)

#define _GSM_TXPIN_ 4

#define _GSM_RXPIN_ 5

 

#define _GSM_TXPIN_ D2

#define _GSM_RXPIN_ D1    

Все равно смс, звонки и т.д. не работает. На разных библиотеках пишет либо ошибка компиляции для платы ESP8266, либо компилируется, но не работает, так понимаю сторожевой таймер срабатывает. ( в сериал шпарит перезагрузка) Может где в этих библиотеках что-то нужно поменять под ESP8266?

Я так понимаю все билиотеки под разные ардуино написаны, а для ESP8266 есть библиотеки для SIM800L может кто с этим сталкивался, либо как мне их подружить.

Подскажите, где собака зарыта?

 

 

 

dioxin
Offline
Зарегистрирован: 02.11.2016

Вопросик господам теоретикам и практикам:)

Использую node mcu esp8266 и прошивку от wifi-iot.com. В принципе все устраивает, одна esp обрабатывает 7 датчиков и rfid датчик + еще пару вещей( на этом gpio кончились). На вторую esp хочу подключить датчики охраны(герконы 8 шт.) поэтому хочу подключить к ней arduino mega по uart. Так вот, думаю нужен будет преобразователь уровней, или нет? На всякий пожарный заказал вот такие: https://ru.aliexpress.com/item/IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V-For-Arduino/32587758762.html?spm=2114.13010608.0.0.QjtFEJ

Подойдет ли? Или можно напрямки?

Как ставил прошивку и настраивал, можно глянуть тут: https://www.youtube.com/channel/UCpRycbd-ps-n7vD5DG4DUsw

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

dioxin пишет:

Вопросик господам теоретикам и практикам:)

Использую node mcu esp8266 и прошивку от wifi-iot.com. В принципе все устраивает, одна esp обрабатывает 7 датчиков и rfid датчик + еще пару вещей( на этом gpio кончились). На вторую esp хочу подключить датчики охраны(герконы 8 шт.) поэтому хочу подключить к ней arduino mega по uart. Так вот, думаю нужен будет преобразователь уровней, или нет? На всякий пожарный заказал вот такие: https://ru.aliexpress.com/item/IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V-For-Arduino/32587758762.html?spm=2114.13010608.0.0.QjtFEJ

Подойдет ли? Или можно напрямки?

Как ставил прошивку и настраивал, можно глянуть тут: https://www.youtube.com/channel/UCpRycbd-ps-n7vD5DG4DUsw

Подойдёт!

Меня учило, что напрямки нельзя )))

Logik
Offline
Зарегистрирован: 05.08.2014

Не уверен что пойдет. Там конвертор на i2c, а вы собрались "подключить к ней arduino mega по uart." Это не совсем одно и тоже;)

Подключить 5В mega к 3,3В esp8266  - достаточно одного резистора 1-5КОм между Tx mega и Rx esp8266. В обратную сторону - напрямую. Ну и питание обеспечить

В Вашем случае я бы не делал esp8266+ mega. Я бы делал esp8266 и расширение ввода по spi (хотя похоже та прошивка какраз spi не поддерживает, тогда i2c можна или свою писать, я б конечно писал бы).

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

dioxin пишет:

Вопросик господам теоретикам и практикам:)

Использую node mcu esp8266 и прошивку от wifi-iot.com. В принципе все устраивает, одна esp обрабатывает 7 датчиков и rfid датчик + еще пару вещей( на этом gpio кончились). На вторую esp хочу подключить датчики охраны(герконы 8 шт.) поэтому хочу подключить к ней arduino mega по uart. Так вот, думаю нужен будет преобразователь уровней, или нет? На всякий пожарный заказал вот такие: https://ru.aliexpress.com/item/IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V-For-Arduino/32587758762.html?spm=2114.13010608.0.0.QjtFEJ

Подойдет ли? Или можно напрямки?

Как ставил прошивку и настраивал, можно глянуть тут: https://www.youtube.com/channel/UCpRycbd-ps-n7vD5DG4DUsw

В даташите написано, что входы GPIO толерантны к 5В

Еще не разу не убил ни одну ESP 5В логикой. Вот ереполюсовкой питания, да. Бывало.

Logik
Offline
Зарегистрирован: 05.08.2014

А киньте ссылочку на даташит контролера который в esp8266. Заранее спасибо.

dioxin
Offline
Зарегистрирован: 02.11.2016

Спасибо за быстрые ответы. Попробую сперва с резюком на tx-rx :)

Но раз уж заказал конвертер, попробую и с ним.. Сперва конечно посмотрю сколько будет выдавать и стабильность работы с ним.

Logik
Offline
Зарегистрирован: 05.08.2014

А отпишите впечатления от этой  http://wifi-iot.com. Что может, как рвботает, стабильность и т.д.

dioxin
Offline
Зарегистрирован: 02.11.2016

Дык там обычный модуль esp8266 только с обвязкой.

Покупал тут: https://goo.gl/MscJG7

Хочу использовать именно uart ибо в прошивке есть нормальный модуль для работы с ним.

dioxin
Offline
Зарегистрирован: 02.11.2016

to Logik

Я же выше дал ссылку на свой канал, там все есть. Стабильность пока не знаю, 7 дней - полет нормальный)))

Logik
Offline
Зарегистрирован: 05.08.2014

Ниче не понял. Модуль то обычный, я про его прошивку говорю.

Допустим есть набор из 4-х датчиков(тип выберите какой Вам удобней), экранчик и uart, хочу выводить показания датчика на экран и uart. Как и чего делать? 

dioxin
Offline
Зарегистрирован: 02.11.2016

В сборщике прошивки есть модули работы с экранами и uart

Logik
Offline
Зарегистрирован: 05.08.2014

А да, незаметил, ща гляну.

dioxin
Offline
Зарегистрирован: 02.11.2016

Сам пока работу по uart и arduino не проверял, ибо на яндекс-деньги денег нет и на карте тоже))) только на webmoney, а они с webmoney как раз и не работают)))

Прошивка стоит 110 рублей - копейки, но есть и бесплатный функционал.

Как закину денег, сниму видео про совокупление arduino и esp8266

dioxin
Offline
Зарегистрирован: 02.11.2016

to sav13

Тоже слышал что можно напрямки пускать, но лучше я все-же резюк на пару килоом кидану, чтобы esp током не убило))

Кстати, тут неподумавши цепанул к esp8266 пару датчиков от ардуины запитанных от 5 вольт, логика там тоже походу 5тивольтовая и ничего, работало))

Logik
Offline
Зарегистрирован: 05.08.2014

Глянул, разумеется по диагонали ибо выкинуть полчаса жизни на такое жалко. Не снимайте такое видео. 

По сути - case технология, отстой в общем. Еще и за деньги.

dioxin
Offline
Зарегистрирован: 02.11.2016

Нуу, каждому свое.

Кому то полчаса жалко на просмотр видео и 100 рублей. Зато не жалко дня убитого на написание скетча+3 дня на обработку и поиска ошибок))))

По мне так лучше я отдам 100 рублей и настрою все в вебморде, а на серваке стоит majordomo со встроенным модулем обработки данных с этой прошивки.

Logik
Offline
Зарегистрирован: 05.08.2014

Вы не получите на этой прошивке гибкости. На ней не выйдет сделать как хочется и требуется, а только как автор прошивки предусмотрел. Увы, действительно, каждому свое.

dioxin
Offline
Зарегистрирован: 02.11.2016

Про гибкость вы не правы.

Что нужно от прошивки? Собрать данные и отправить на разбор!

Со сбором данных эта прошивка справляется на ура. А разбором у меня занимается majordomo и вот в нем то вся гибкость. Короче, они дополняют друг-друга.

Зачем изобретать велосипед, если его можно купить)))

Logik
Offline
Зарегистрирован: 05.08.2014

Ну соберите их с шины spi ))) Потенциал esp позволяет куда большее чем собрать и отправить. Но разумеется не с этой прошивкой.

dioxin
Offline
Зарегистрирован: 02.11.2016

Зачем с spi?

Чем Вас так uart обидел?))) Соберу по uart, так и кода меньше на ардуинке писать, библы лишние не подключать, да и на приемной стороне уже готовый модуль есть.

Полистал форум, Вы прям мастер писать огромные скетчи))). Я выберу легкий путь, ибо мне пока хватает писать скрипты на php в majordomo)))

Logik
Offline
Зарегистрирован: 05.08.2014

Меня никто не обидел. Я просто умею искать оптимальные решения. И в данном случае это копеешные 74hc165 и примитивный код на 5 строк. Меньше писать никак другим путем не получится. 

///Вы прям мастер писать огромные скетчи)))

У нас разные представления о огромности.  Я  по работе сталкивался и с модулями по 50000 строк и проектами по 200Мб исходников.

Текущий в разработке. Собственного кода 11КБ без выдаваемого html плюс 20КБ либки ssh. Поддержка выдачу странички в броузер, обмен по websocket, управление через веб и/или по сценарию в устройстве произвольным кол-вом (порядка 30 шт) дискретных выводов с шимованием каждого на 150Гц по spi через 74hc595 и ввод тоже произвольного кол-ва дискретных вводов (порядка 10шт) с датчиков хола для контроля работы. Все на одном esp и 5-7 74hc595. Других затрат нет. Какой uart такое сделает? Зачем он  сдесь?

Способны написать компактней? Или хотяб повторить?

Потому уж послушайте чего пишу. Вы выбрали не легкий путь, а тупиковый. Он принципиально обладает ограничеными возможностями, и уже заставляет Вас выносить часть функционала из esp куда нибудь (на сервер, в ардуино, еще куда). И платить, за прошу, за лишнее железо и т.д. 

dioxin
Offline
Зарегистрирован: 02.11.2016

У нас разные проекты, поэтому и решения разные. Для моих нужд, а именно "умный дом" достаточно 2х esp8266 и одной ардуинки. Поэтому дальнейшую дискуссию продолжать не вижу смысла.

Отпишусь по итогам....

Logik
Offline
Зарегистрирован: 05.08.2014

dioxin пишет:

Для моих нужд, а именно "умный дом" 

На эту тему уже все сказано http://arduino.ru/forum/otvlechennye-temy/glupyi-dom#comment-255845

dioxin
Offline
Зарегистрирован: 02.11.2016

Вот Вы даже не знаете что я хочу сделать и как. Эта ссылка не про меня и не для меня. И сказано на эту тему далеко не все. Упертый Вы человек, стоите на своем и все тут. Типа делайте как я и никак иначе. Занимаетесь промышленной автоматикой, вот и занимайтесь, тут немного другое.

И как по ссылке написано "умный дом для открывания-закрывания дверей и включения-выключения света" - так это самое малое что я буду делать.

Например у меня уже сделано видеонаблюдение с отправкой детектированных видеофайлов на удаленный сервер + оповещение и отсылка видео на смартфон + автоматическое включение-выключение детекции с началом рассвета и заката. Удаленное управление по протоколу mqtt, работает rfid считыватель карт, знаю кто и когда пришел домой, есть источник бесперебойного питания и многое другое. Пишу все в системе majordomo на php.

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

...Чтож, пусть будет так, откланялся.

А я всего то задал один вопрос. И Вы на него ответили и тут же начали огород городить и никаких реальных примеров. А языком чесать мне тут некогда.

И я лучше потрачу 100 рублей на прошивку, в которой есть куча готовых модулей, чем 3 дня, а может и больше на написание мега-скриптов на С с кучей плюсов.

MajorDomo очень гибкая объектно-ориентированная система и она абсолютно бесплатна.

У меня был всего один вопрос по поводу совместимости логики ардуины и esp, а Вы приплели уже сюда и сдвиговые регистры и датчики Холла. Может достать из камода свой старый Spectrum48 на Z80 да вспомнить ассемлер?))) На нем тоже можно какую нибудь систему замутить.

Ладно, надеюсь модераторы почистят тему, а то мы столько воды тут нагнали..

Желающие могут присоединиться к моему каналу на youtube, см. мои посты выше. Будем продвигать ООП в массы. Ну и научим умный дом открывать-закрывать двери))))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

dioxin пишет:

Вот Вы даже не знаете что я хочу сделать и как.

А вас не насторожило использование в модуле в коде разработчика некоего кода проверяющего легальность прошивки, меня это оттолкнуло. Совершенно неизвестно что там и для каких целей.

а IOT это всё же личное пространство, я пошёл по пути домашней VPN сети

dioxin
Offline
Зарегистрирован: 02.11.2016

Все запросы от модуля и в модуль я проверил снифером, вроде все чисто. Да и мне кажется не я один проверял. vpn я пока поднимать не стал, все работает по mqtt. Если уж приспичит, поднять openvpn не долго, vps для этого имеется. Да и билайновский nat с файрволлом на роутере и локальном сервере справляются, так что безопасность на высоте;)

Logik
Offline
Зарегистрирован: 05.08.2014

ua6em пишет:

А вас не насторожило использование в модуле в коде разработчика некоего кода проверяющего легальность прошивки, меня это оттолкнуло. Совершенно неизвестно что там и для каких целей.

Да ничего его не насторожило. Очередной проходящий на форум зарегившийся чтоб рекламировать свой канал. А может и продвигать ту стремную комерческую прошивку.

 

dioxin пишет:

Занимаетесь промышленной автоматикой, вот и занимайтесь, тут немного другое.

Я не занимаюсь промышленной автоматикой. Я с прошлого века занимаюсь разработкой ПО для програмно аппаратных комплексов. От СУБД до МК включительно.

dioxin пишет:

Например у меня уже сделано видеонаблюдение с отправкой детектированных видеофайлов на удаленный сервер + оповещение и отсылка видео на смартфон + автоматическое включение-выключение детекции с началом рассвета и заката. Удаленное управление по протоколу mqtt, работает rfid считыватель карт, знаю кто и когда пришел домой, есть источник бесперебойного питания и многое другое. Пишу все в системе majordomo на php.

Снова вебдизайнер пришол разрабов учить что делать и как мышкой галочки ставить)) Плавали знаем. Зачем вы следите за своими домашними?

 

dioxin пишет:

И я лучше потрачу 100 рублей на прошивку, в которой есть куча готовых модулей, чем 3 дня, а может и больше на написание мега-скриптов на С с кучей плюсов.

Трать, трать больше, лох должен платить. Знать и уметь он не должен.

 

dioxin пишет:

У меня был всего один вопрос по поводу совместимости логики ардуины и esp,

Вы на него получили ответ. А при заказе схем преобразования уровня надо хотяб внимательно читат название, чтоб не путать i2c и uart. Далее вместо того, чтоб ответить мне на мой вопрос, напомню

"Допустим есть набор из 4-х датчиков(тип выберите какой Вам удобней), экранчик и uart, хочу выводить показания датчика на экран и uart. Как и чего делать?"

Вы ткнули в свое видео с бракованым звуком  где пол часа тупите над простановкой галочек, бормочите под нос какойто бред и не даете ответа на поставленный вопрос. Отличный ответ! 

Вы в пределах страницы проявили себя чванливым и безграмотным  дураком. Ничего не понимающим в железе, но лезущим в спор как и какое лучше использовать. Высокомерно считающим что знание пыхи достаточное, вот только логические уровни подводят;) Я вам просто указал, что из недостатка опыта и знаний Вы строите систему безграмотно, не используя ресурсы имеющегося железа (а именно esp) по полной, что заставляет снова покупать железо. Можна и гвозди микроскопом забивать, но дорого. А денег на счету, как пишите нет ))) Вы понимаете связь между безграмотным построением  и денег нет? Правильно, лох должен платить.

 

quote=dioxin]

 
Будем продвигать ООП в массы. 

[/quote]

Еще один тренер рыб по плаванью обявился )))

ПС. Вы не первый ПЫХнутый на форуме, доводы про готовые модули (как там поддержка spi? ;) и на пыхе/перле в 10 раз быстрей широко раздолбаны в теме про оранж, а в конце буквально на днях добавился  http://arduino.ru/forum/otvlechennye-temy/orange-pi-one-nuzhen-start?page=9#comment-276778 эксперементальный результат две реализации, можете убедится.

 

 

 

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Logik пишет:

ua6em пишет:

А вас не насторожило использование в модуле в коде разработчика некоего кода проверяющего легальность прошивки, меня это оттолкнуло. Совершенно неизвестно что там и для каких целей.

Да ничего его не насторожило. Очередной проходящий на форум зарегившийся чтоб рекламировать свой канал. А может и продвигать ту стремную комерческую прошивку.

в отношении стрёмности ничего сказать не могу, не пробовал, даже безплатную
Идею же конструктора поддерживаю, как первый шаг для начинающих, но конструктор должен генерить исходный код, который может быть залит посредством IDE

Лично у меня отношении к программам простое, я должен быть уверен в коде и, если понадобится, иметь возможность его поправить

Logik
Offline
Зарегистрирован: 05.08.2014

Согласен почти со всем, кроме одного. Начинающий и пытающий делать "умный дом" - несовместимы. Как первокласник берущий интеграл. Не получится, не его это пока и вобще он не понимает что творит. Ему бы учится, а не нести ООП в массы. Так нет же..

Увереным можна быть только в открытом коде после его изучения лично или авторитетом. Ну или длительная эксплуатация. Но ити на неё  - уже риск. Кстати и снифер тут ничем не поможет. Вредоносная активность может проявлятся редко по одному коду известному событию, например спецефичной ошибке crc. И можна сниферить вечно.

ПС. Сравним варианты для начинающих "блинк" и "конструктор". После блинка имеет хоть представление как код пишется, как пины дергаются, может даже про ошибки компилятора узнает. А после конструктора что? Илюзия простоты чтоле... и нос выше крыши от факта передачи температуры за окном в веб.. куда дальше двигать с полученым знанием?

KPG
Offline
Зарегистрирован: 09.06.2019

Возможно уже было.

Авторский сайт: Программирование ESP8266 в среде Arduino IDE

https://esp8266-arduinoide.ru/

P.S. Программирует и данную плату на Форт https://github.com/tretyakovsa/espForth