Доступ к одному коду с помощью другого кода на плате RobotDyn Uno + WiFi
Итак, я пытаюсь сделать это уже довольно давно. Все еще не мог заставить его работать. Я пытаюсь прочитать программу Wi-Fi ESP8266 из обычной программы Arduino Uno. Я видел, как некоторые люди делали это:
#include <SoftwareSerial.h>
Затем
SoftwareSerial esp8266(2,3);
Позвольте мне увидеть рабочий пример этого?
Спасибо за все.
@W. Adrian, 👍1
Обсуждение1 ответ
Лучший ответ:
Вы не можете получить "код доступа". Вы можете создавать скетч для обмена данными, например, по Serial или SoftwareSerial. Вы подключаете контакты последовательных интерфейсов RX к TX и позволяете sketch в одном MCU считывать или анализировать то, что скетч в другом MCU отправил по Serial с помощью print или write.
Встроенное соединение на плате Uno+WiFi осуществляется по последовательному каналу. Таким образом, вы не можете использовать USB и подключение к esp8266 одновременно. Но вы могли бы использовать SoftwareSerial, как и другие, используя его с esp8266, если вы подключите некоторые контакты (например, 6 и 7) заголовков Uno к Serial esp8266, который доступен на заголовке esp8266 на плате.
Итак, чтобы общаться, потому что скетч Arduino и скетч ESP8266, я должен [1] подключите TX и RX Arduino к RX и TX ESP8266. [2] используйте класс последовательного потока для отправки и получения данных между ними Я прав?, @W. Adrian
RS и TX esp8266 и Atmega подключены на плате, если выставить это на DIP-переключателях. но тогда связь с компьютером отсутствует. все учебные пособия в Интернете показывают, как использовать SoftwareSerial для подключения к esp8266 и последовательного подключения через USB к компьютеру. и вы также можете установить это соединение SoftwareSerial с этой платой. подключив выбранные контакты Atmega SoftwareSerial к RX и TX esp8266 и установив DIP-переключатели для подключения последовательного порта Atmega к компьютеру через USB, @Juraj
Значит ли это, что если я использую SoftwareSerial, я должен использовать внешнее соединение, поскольку оно требуется библиотекой SoftwareSerial, и оно не занимает физический последовательный порт USB, чтобы я мог подключить плату к компьютеру? Если я не хочу использовать SoftwareSerial (и, следовательно, мне не нужна внешняя проводка), какой вариант у меня есть для связи между скетчами ESP8266 и Arduino?, @W. Adrian
Переключатели 1 и 2 подключают Atmega к esp8266. Я рекомендую вам использовать это соединение SoftwareSerial для разработки скетча. в противном случае вам было бы трудно всегда переключать DIP-переключатели для загрузки скетча, и вы не могли бы иметь отладочные отпечатки в Serial Monitor., @Juraj
ОГРОМНОЕ СПАСИБО за помощь и советы. Теперь я лучше понимаю, как мне действовать дальше., @W. Adrian
небольшое примечание: у Mega+WiFi лучше. Atmega 2560 на борту имеет больше последовательных портов, поэтому Serial3 можно подключить к esp8266, а Serial к USB, как обычно., @Juraj
Еще один вопрос. Чтобы загрузить скетч в ESP8266, мне нужно включить DIP-переключатели 5,6,7. Чтобы загрузить скетч в Atmega, мне нужно включить DIP-переключатель 3,4. Так что это означает, что мне все еще нужно переключать DIP-переключатели при загрузке. На всякий случай, если я хочу избавиться от внешней проводки, я могу включить DIP-переключатель 1,2? В таблице указано Mega328+ESP8266, если 1,2 включено, я думаю, это означает, что Mega328 и ESP8266 могут общаться, если DIP равен 1,2?, @W. Adrian
Я приму к сведению ваш совет по использованию Atmega2560 на борту для моего следующего проекта., @W. Adrian
хороший трюк — загрузка на esp8266 через Wi-Fi с библиотекой ArduinoOTA. вам нужно переключить USB на esp8266, только если загрузка OTA не удалась, @Juraj
Спасибо за советы ArduinoOTA. У меня заканчивается время для текущего проекта. Обязательно попробую в своем следующем проекте. БЛАГОДАРЮ ВАС!!! Вы сделали мой день., @W. Adrian
Давайте [продолжим это обсуждение в чате](https://chat.stackexchange.com/rooms/84229/discussion-between-w-adrian-and-juraj)., @W. Adrian
- AT-команда не отвечает на последовательный монитор
- Получить данные с сайта с помощью ESP8266 с помощью AT-команд
- Программное обеспечениеSerial с ESP8266
- Как связаться с ESP8266 ESP01, отправив данные через программный сериал на Arduino Uno?
- Отправить строку данных из Arduino UNO в ESP8266-01
- Последовательная связь arduino mega и D1 Wemos Mini
- Нет соответствующей функции для вызова SoftwareSerial::SoftwareSerial(int&,int&)? Как исправить эту проблему
- Последовательная связь от Arduino до ESP8266 NodeMCU работает, но от NodeMCU до Arduino не работает
это дополнительный последовательный интерфейс под названием
esp8266
. Вы можете печатать на него и читать из него с помощью функций Stream. Что-то еще? https://www.arduino.cc/reference/en/language/functions/communication/stream/, @JurajСпасибо, как я понимаю, Stream — это библиотека? Если да, то я бы включил его., @W. Adrian
Stream — это общий класс, от которого унаследованы Serial, SoftwareSerial и подобные., @Juraj
Вы не можете получить «код доступа». Вы можете писать скетчи для связи, например, через Serial или SoftwareSerial. Вы подключаете контакты последовательных интерфейсов RX к TX и позволяете скетчу в одном MCU читать или анализировать то, что скетч в другом MCU отправляет по последовательному каналу с печатью или записью., @Juraj
Я использую эту плату: [Ссылка, у которой я купил плату] (https://robotdyn.com/uno-wifi-r3-atmega328p-esp8266-32mb-flash-usb-ttl-ch340g-micro-usb.html) Шилд WiFi встроен в плату, так что, думаю, не нужно подключать контакты?, @W. Adrian