Подключение ESP-01 с использование адаптера сигналов и питания
- Войдите на сайт для отправки комментариев
Ср, 16/09/2020 - 13:34
Решил попробовать Wi-Fi модуль ESP-01 с адаптером сигналов и питания.
Вот такой адаптер:
А вот всё в сборе:
Это с другой стороны:
Распиновка контактов адаптера (слева направо):
GND
VCC
TX
RX
Пользовался ли кто-нибудь таким адаптером? Я подключил его к Arduino и залил скетч:
#include <SoftwareSerial.h> // создаём объект для работы с программным Serial // и передаём ему пины TX и RX SoftwareSerial mySerial(9, 8); // serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL mySerial void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод WIFI_SERIAL.begin(115200); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } }
Скетч честно скопировал с wiki.amperka, только поменял пины (накосячил при пайке шлейфа).
Но на все мои команды отвечает только ERROR:
Serial init OK
at
ERROR
AT+UART_DEF=9600,8,1,0,0
ERROR
at+test
ERROR
В чём может быть проблема? Никто не подскажет?
Заранее благодарен.
Э-э, проблемка, не все изображения вставились. Не пойму в чём дело. Надеюсь общего вида достаточно. Если нет, то попробую повторить...
попробуйте в Мониторе порта выбрать другое окончание строки - если там CR + LF - поставьте только CR или наоборот
Отлично, помогло!
Даже получил список доступных Wi-Fi сетей:
Получился огромный перерыв, скажем так, по семейным обстоятельствам.
Вернулся к разработке Arduino с ESP-01.
Вот чуть-чуть доработанный программный модуль:
Странно, что введя руками AT+CWLAP, получаю честный список доступных Wi-Fi сетей:
Немного изменил отправку команд в Wi-Fi модуль:
Теперь получаю ответ, но почему многократный:
IP адрес
Потому что не ждешь окончания предыдущей операции, очевидно. И кашу какую-то написал вместо работы со временем.
Задана разница по времени между командами 30 сек (
if
(Cnt_Sec==0 and RZR_1 и
if
(Cnt_Sec==30 and RZR_2)
)
, после каждой команды выдаётся запрет на повтор (bool
RZR_1=
false
; и
bool
RZR_2=
false
;).
Подскажите, где я должен ожидать окончания предыдущей операции? А каша, как Вы пишете, потому что взял простейший вариант именно для создания и контроля 30 сек интервала между командами.
На любую команду есть ответ. Которого ты не ждешь. Нет, не простейший, а кошмарно черезжопный.
На любую команду есть ответ. Которого ты не ждешь. Нет, не простейший, а кошмарно черезжопный.
Про команду понятно, решение найдено, а про "кошмарно черезжопный"...
Во-первых, может чуть повежливее быть,
А во-вторых, поясните Вашу мысль.
По кракозябам.
Есть скорость общения ардуино с есп, а есть скорость общения ПК с ардуино.
Ну и соответственно они разные.
Кракозяблы устранены, повторы тоже. Теперь бы решить вопрос с обменом данными с ПК по Wi-Fi.
Никто не сталкивался?
Кракозяблы устранены, повторы тоже. Теперь бы решить вопрос с обменом данными с ПК по Wi-Fi.
Никто не сталкивался?
Любое ПО способное работать через сом-порт через wifi