Обмен между R3 ATmega2560 + ESP8266

LoveDream
Offline
Зарегистрирован: 25.01.2018

Имеется вот такая плата:

Передача информации из ESP8266 в mega2560 понятна (например моргание лампочкой из web браузера). А вот чтоб например состояние контакта (геркон на окне) из mega2560 передать в esp8266 для дальнейшего отображения в браузере не понятно как. Гугл молчит по этому поводу. Так же есть 3 датчика влажности, подключенные к mega2560, как всё это передать в чип esp8266 непонятно... 

 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

LoveDream пишет:

Гугл молчит по этому поводу. 

Да, неужели? А Вы спрашивали?

Да и прмяо здесь я как-то выкладывал простенький способ постоянно отразжать в Web данный с ардуины.

LoveDream
Offline
Зарегистрирован: 25.01.2018

ЕвгенийП пишет:

LoveDream пишет:

Гугл молчит по этому поводу. 

Да, неужели? А Вы спрашивали?

Да и прмяо здесь я как-то выкладывал простенький способ постоянно отразжать в Web данный с ардуины.

Меня не интересует постоянное обновление вебстраницы( Есть кнопка обновить страницу, меня это устраивает). У меня вопрос как есп принять значения от меги.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

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

sadman41
Offline
Зарегистрирован: 19.10.2016

LoveDream пишет:

У меня вопрос как есп принять значения от меги.

В рамках открытого TCP/IP соединения, например.  Библиотека Ethernet - это не библиотека создания только web-сервера.

kasper007
Offline
Зарегистрирован: 23.05.2016

LoveDream пишет:

Передача информации из ESP8266 в mega2560 понятна (например моргание лампочкой из web браузера). А вот чтоб например состояние контакта (геркон на окне) из mega2560 передать в esp8266 для дальнейшего отображения в браузере не понятно как. Гугл молчит по этому поводу.

А чем отличается обратная передача из Mega в ESP отличается? та же самая передача по RX TX. Или у вас сложность вставить переданные данные на страницу?

LoveDream
Offline
Зарегистрирован: 25.01.2018


Ругается:

 
C:\Users\Admin\Documents\Arduino\sketch_jan25a\sketch_jan25a.ino: In function 'void setup()':
 
sketch_jan25a:29: error: 'Serial3' was not declared in this scope
 
   Serial3.begin(115200);
sadman41
Offline
Зарегистрирован: 19.10.2016

А я в окно вижу, как пацан с горки прыгает и катается.

LoveDream
Offline
Зарегистрирован: 25.01.2018

sadman41 пишет:

LoveDream пишет:

У меня вопрос как есп принять значения от меги.

В рамках открытого TCP/IP соединения, например.  Библиотека Ethernet - это не библиотека создания только web-сервера.

Какая ещё библиотека Ethernet??
Вопрос про передачи состояния контактов из меги в ESP8266

Penni
Penni аватар
Offline
Зарегистрирован: 18.01.2015

LoveDream пишет:



Ругается:

 
C:\Users\Admin\Documents\Arduino\sketch_jan25a\sketch_jan25a.ino: In function 'void setup()':
 
sketch_jan25a:29: error: 'Serial3' was not declared in this scope
 
   Serial3.begin(115200);

Плату мега2560 укажите и все будет компилироваться.

sadman41
Offline
Зарегистрирован: 19.10.2016

LoveDream пишет:

Какая ещё библиотека Ethernet??

Вопрос про передачи состояния контактов из меги в ESP8266

Ваши вопросы подразумевают, что всем известно, как вы там у себя на столе соединили ардуину и esp.  

Это не так. 

LoveDream
Offline
Зарегистрирован: 25.01.2018

sadman41 пишет:

LoveDream пишет:

Какая ещё библиотека Ethernet??

Вопрос про передачи состояния контактов из меги в ESP8266

Ваши вопросы подразумевают, что всем известно, как вы там у себя на столе соединили ардуину и esp.  

Это не так. 

Уважаемый, вы можете с ума любого свести. 

Повторюсь с самого первого поста, что мега и есп выполнены на одной плате. Режимы работы переключаются лишь дип переключателями. 

Вот плата:

https://ru.aliexpress.com/item/Mega-WiFi-R3-ATmega2560-ESP8266-32Mb-memo...

sadman41
Offline
Зарегистрирован: 19.10.2016

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

Любой интернет вам ответит, что:

----------

В этом режиме, обозначенным как 5, связь установлена между Mega и ESP по последовательному интерфейсу, а связи с конвертером USB-TTL нет. На ESP задействован стандартный Serial, а на Mega не менее стандартный Serial3. Связь устойчиво и беспроблемно работает на скорости 115200. 

----------

Делайте свой протокол и гоняйте его по UART из Serial в Serial3.

И, прошу вас, не сходите с ума - у нас уже койки заканчиваются в палатах.

LoveDream
Offline
Зарегистрирован: 25.01.2018

sadman41 пишет:

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

Любой интернет вам ответит, что:

----------

В этом режиме, обозначенным как 5, связь установлена между Mega и ESP по последовательному интерфейсу, а связи с конвертером USB-TTL нет. На ESP задействован стандартный Serial, а на Mega не менее стандартный Serial3. Связь устойчиво и беспроблемно работает на скорости 115200. 

----------

Делайте свой протокол и гоняйте его по UART из Serial в Serial3.

И, прошу вас, не сходите с ума - у нас уже койки заканчиваются в палатах.

Вот это уже ближе к моему вопросу, спасибо :)
А есть пример, как сделать UART из Serial в Serial3?

AIStorm
Offline
Зарегистрирован: 25.01.2018

LoveDream пишет:

sadman41 пишет:

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

Любой интернет вам ответит, что:

----------

В этом режиме, обозначенным как 5, связь установлена между Mega и ESP по последовательному интерфейсу, а связи с конвертером USB-TTL нет. На ESP задействован стандартный Serial, а на Mega не менее стандартный Serial3. Связь устойчиво и беспроблемно работает на скорости 115200. 

----------

Делайте свой протокол и гоняйте его по UART из Serial в Serial3.

И, прошу вас, не сходите с ума - у нас уже койки заканчиваются в палатах.

Вот это уже ближе к моему вопросу, спасибо :)
А есть пример, как сделать UART из Serial в Serial3?

Интересный вы человек, сначала создали себе проблему купив подобный комбайн, а теперь просите других в нем разобраться. Смотрите какие входы/выходы каксоединены  и смотрите как работать с Serial

Penni
Penni аватар
Offline
Зарегистрирован: 18.01.2015

LoveDream пишет:

А есть пример, как сделать UART из Serial в Serial3?

while(Serial.available()) Serial3.write(Serial.read())

sadman41
Offline
Зарегистрирован: 19.10.2016

Не, ему надо писать в Serial3 меги, а ловить из Serial ESP. 

AIStorm
Offline
Зарегистрирован: 25.01.2018

sadman41 пишет:

Не, ему надо писать в Serial3 меги, а ловить из Serial ESP. 

Да от куда же вы такие беретесь то ))))

Просто читать из Serial3

int incomingByte;
void loop()
{
   if (Serial3.available() > 0)
   {
      incomingByte = Serial3.read();
   }
}

 

LoveDream
Offline
Зарегистрирован: 25.01.2018

Скетч для модуля ESP ругается на сериал 3. Т.к. у него только один порт сериал.

'Serial3' was not declared in this scope

Penni
Penni аватар
Offline
Зарегистрирован: 18.01.2015

Вам же писали, сериал 3 на меге находится и к нему на вашей плате подключена еспшка. соответственно в скетче для меги2560 вы используете Serial3 для обмена данными а в скетче для еспшки используете Serial.

nkYellOw
Offline
Зарегистрирован: 23.11.2015

А какая длина строки для передачи с Serial на Serial3 ? У меня логика такая: Есп берет из интернета данные,разбирает их и формирует строку вида : значение]значение2]значение3] и после этого, передает в сериал для меги, а мега уже разбирает эту строку и раздает задания на датчики. Значений может быть до 20 штук.

Вот строка которая формируется на есп:

a1]b18]c6]d55]e65]f0]g25]h28]i21]k24]l2019]m1]n16]o14]p36]r15]s18]t6]j18]q6]u0]v-63]w48680]

Влезает только вот это: 

a1]b18]c6]d55]e65]f0]g25]h28]i21]k24]l2019]m1]n16]o14]p36]r15]s

63 символа.

Режется потому что пока идет рид сериала на меге, есп посылает в сериал уже новую строку и старая обрубается... Хз как решить данную проблему =( Нужно что то вроде этого:

Пока мега делает рид сериал3, есп не может отслылать ничего в сериал...

Есп отсылает в сериал раз в 10 секунд, как бы делей достаточно большой... =(

Densl
Offline
Зарегистрирован: 28.11.2018

Размер аппаратного приемного буфера у Меги всего 64 байт. Так что за раз все туда не впихнешь. Получается перед отпоавкой с ЕСПишки нужно прлчесть то что уже в буфере в МЕГе чтобы очистить его.