ESP8266 подключение к Arduino Nano - PullRequest
2 голосов
/ 14 января 2020

Я пытаюсь подключить модуль WiFi (ESP8266) к плате разработки "funduino" (Arduino Nano), но у меня ничего не получается. Поскольку я попробовал так много схем, которые я нашел в inte rnet о связи между ними двумя, я любезно спрашиваю здесь, есть ли кто-нибудь, кто преуспел в "сопряжении" этих двух устройств. Я прошу схемы c и функциональный исходный код.

С уважением

1 Ответ

1 голос
/ 15 января 2020

ESP-01 по умолчанию поставляется с загрузчиком nonOS SDK, который обменивался командами AT, полный набор команд можно найти в Expressif здесь . Это сделано для того, чтобы MCU (например, Arduino Nano) использовал его исключительно как модуль WiFi, а не как автономный MCU (для которого требуется NodeMCU SDK).

Если вы когда-нибудь загрузите эскиз Arduino в ESP-01, он сотрет прошивку AT Command.

Предполагается, что на вашем ESP-01 все еще установлена ​​прошивка AT Command. @Ben предоставил эскиз, который позволяет вам вводить AT-команды через последовательный монитор для взаимодействия с ESP-01, он ручной и подходит для тестирования, если ESP-01 работает (вы набираете AT и нажимаете return на Serial Monitor, ESP-01 будет иметь Ok), но не практично в качестве реального приложения. Минимальные команды, необходимые для установления соединения WiFi с ESP-01, перечислены ниже.

AT+CIPMUX=1 - Enable single (0) or multiple connection (1) to the web server.
              Multiple connection is a good option if you are repeatedly sending 
              out or reading data from the Internet.

AT+CWMODE=3 - Set WiFi mode: 1 is station mode (ESP8266 is client), 2 is AP mode 
              (ESP8266 acts like a WiFi router where your phone or PC can connect), 
              3 is AP+station mode (make the ESP8266 do both)

AT+CWJAP=“<your-ssid>”,”<your-pw>” - Connect to your WiFi. Provide your SSID name 
                                     and password inside the double qoutes.

AT+CIFSR - This returns the IP address of the module, indicating that it has 
           successfully connected to your WiFi router.

Как только соединение WiFi установлено, вы можете далее общаться с ESP-01 через соединение, например, для доступа к веб-сайту:

AT+CIPSTART=0,"TCP", "www.example.com","80” - Start TCP or UDP connection. The 
                                              0 is the id of the connection.

AT+CIPSEND=0,16 -   Command to tell the module data is ready to be sent. 0 is the 
                    connection id, and 16 is the length of the data to be sent.
                    After this command, the ESP8266 will reply with the “>” 
                    character to tell us that it will be waiting for the data to be 
                    sent. If successful, the module will reply with “SEND OK”

GET / HTTP/1.1 - Send the http header, and other data, etc...

Вы можете написать свой собственный Сделайте эскиз, чтобы автоматизировать эти AT-команды для взаимодействия с ESP-01, как только вы поймете AT-команды, необходимые для установления sh соединения WiFi.

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

STM32-ESP-01 Web Server - хотя это для взаимодействия с STM32, основным отличием является назначение контактов, поэтому вы сможете легко подключиться к Arduino.

MQTT через ESP-01

Что касается аппаратного интерфейса, пожалуйста, отметил, что то, что предоставил @Ben, в принципе правильно, но вы должны знать, что ESP-01 (точнее ESP8266) представляет собой MCU 3V3, поэтому соединение зависит от того, какой тип хост-платы вы используете. Если вы используете Arduino Uno / Nano, оба имеют MCU 5 В, вам понадобится делитель напряжения (два резистора для снижения напряжения до 3 на 3 перед подключением к ESP-01) или чип сдвига уровня, по крайней мере, для ESP-01 Штырь Rx, чтобы избежать возможного повреждения ESP-01.

...