Проблема с подключением сканера штрих-кода к ESP32 devkit с использованием UART - не удается подключиться через последовательный порт
У меня возникли проблемы с подключением разъема 2D-сканера штрих-кода SparkFun (фактически DE2120) к 30-контактному разъему ESP32. dev kit v1 (с пометкой ESP-WROOM-32) и запуск примера приложения SerialScan для этот датчик успешно.
Я полагаю, что два устройства подключены в соответствии с инструкциями:
ESP32 –> DE2120
3V3 -> 3,3 В
Земля -> ЗАЗЕМЛЕНИЕ
RX2 -> Прием
ТХ2 -> Передача
В примере кода контакты настроены следующим образом:
SoftwareSerial softSerial(25,27);
(согласно сопоставлению здесь это TX2/DX2 и правильные номера контактов)
Но что-то не так: пример кода никогда не сообщает об установлении соединения. Если проследить это, то получается, что isConnected() здесь всегда возвращает false, что означает sendCommand() либо истекает по тайм-ауту, либо получает DE2120_COMMAND_NACK.
Я в тупике. Я пробовал 2 разных сканера, заменил все кабели, попытался поменять местами номера контактов и провел множество испытаний с использованием HardwareSerial, но безуспешно. Сканер сам отвечает на команды, когда я подключаю его к ноутбуку и общаюсь с ним через последовательный порт USB.
Есть идеи? Я предполагаю, что я ошибаюсь в чем-то тривиальном (например, в физическом соединении или особенностях последовательных соединений на ESP32). Обычно я обнаружил, что пример кода из библиотек Arduino запускается впервые, но я относительно новичок в Arduino.
Обновление от 20 7. Я пробовал использовать контакты 16 и 17, а также RX2->TX и TX-> RX2. Я отсканировал штрих-код установки в соответствии с инструкциями.
@Tom Hume, 👍-1
Обсуждение1 ответ
Отвечая на мой собственный вопрос: я думаю, что сканер не получает достаточно энергии от платы devkit ESP32.
Когда я питаю сканер штрих-кода и ESP32 от отдельных источников питания (оба USB), я могу подключить ESP32 к сканеру и нормально считывать коды.
Однако, когда я подключаю сканер к ESP32, следуя инструкциям в руководство по подключению, сканер не отвечает.
- Не могу подключиться к плате ESP32 через последовательный порт
- Нужен пример того, как отправлять КОМАНДЫ AT на модуль SIm7000E GPS+LTE из ESP32 и читать эти ответы в последовательном мониторе
- ESP отправить строку в Arduino
- Последовательная связь UART1 работает на Arduino, но постоянно перезагружает ESP32
- Невозможно загрузить скетч в Lolin S3 Pro (ESP32-S3)
- Arduino Nano и ESP32 считывают разные значения по последовательному интерфейсу
- Проблема с использованием модуля Bluetooth с платой ESP32s2
- В чем разница между библиотеками Software Serial? Какая из них совместима с Arduino Nano?
1) Для последовательной связи вы обычно соединяете RX-TX и TX-RX. 2) Для ESP32 соглашение об именах основано на номерах контактов GPIO, поэтому Serial2 (HardwareSerial) находится на 16 GPIO16-RX2 и 17 (GPIO17-TX2). 3) ESP32 имеет 3 аппаратных последовательных порта, нет необходимости в SoftwareSerial., @hcheung
возможно, модуль сканера должен быть запрограммирован для использования последовательного порта ... он может быть запрограммирован путем сканирования штрих-кодов программирования, @jsotola
Спасибо вам обоим. Я попробовал схему подключения, которую вы предложили, hcheung (хотя разве изменение номеров контактов в исходном коде не дало бы такой же эффект? Я тоже пробовал это), и пробовал использовать 16 и 17 в качестве номеров контактов. SoftwareSerial — это то, что использует исходный код примера, в моей собственной программе я тоже пытался использовать HardwareSerial. jsotola: да, я уже сделал этот шаг - обновил исходный вопрос с подробностями., @Tom Hume