Я пытаюсь понять, как подключить контакты UART ESP32 к контактам I2C моего raspberry pi 3B+. Я вижу несколько чипов моста, доступных для этого, например, TI MSP430 Datasheet . Но я не очень разбираюсь в схемах, поэтому у меня трудные времена. Контакты, которые мне нужно использовать на ESP32: GPIO 9 и 10, RX и TX соответственно (UART1). На Raspberry Pi: GPIO 2 и 3, SDA и SCL соответственно. Кто-нибудь знает ответы на вопросы ниже?
Помимо подключения контактов RPi, ESP, Vcc, GND к мосту в правильных позициях ввода-вывода на микросхеме, какие дополнительные схемы потребуются для обеспечения хорошей связи?
Как будет выглядеть код ESP32 (Arduino IDE)?
Как будет выглядеть код Pi (python)?
смоделируйте эту схему - схема, созданная с помощью CircuitLab
ESP32 имеет более 1 UART. Хотя обычно в конфигурации по умолчанию используется только один из них, ESP32 имеет 3 UART. Вы можете настроить, какие выводы GPIO использовать, используя функцию uart_set_pin(). Вы должны проверить техническое описание или веб-сайт Espressif для получения подробной информации.
Использование нескольких UART позволяет ESP действовать как последовательный мост. Эта функция часто реализуется с различными вариантами ESP в виде последовательного моста WiFi, но она работает и для проводных соединений.
Другие прокомментировали, что самый простой способ связи между ESP32 и RPi — это использование асинхронного последовательного порта; если у вас нет свободного последовательного порта на Pi, вы можете добавить адаптер USB-to-serial.
Если вы выберете один с чипом FTDI, то просто подключите его к Pi, и вы получите еще один последовательный порт; другой распространенный тип адаптера использует чип CP2102, и я думаю, что это может потребовать от вас установки драйвера на Pi, но вы найдете множество инструкций, как это сделать, в Интернете, например, на этой странице .
Убедитесь, что вы используете адаптер с правильным уровнем напряжения (логические сигналы 3,3 В, а не 5 В или напряжения RS232), затем соедините заземляющие провода вместе, а Tx на Pi к Rx на ESP32, Rx на Pi к Tx на ESP32.
Что касается того, как вы используете эту ссылку для общения, любой символ, который вы отправляете на одной стороне, просто появится на другой. Однако целесообразно создать простой формат связи, такой как командная буква, возможно, несколько числовых значений, а затем возврат каретки, сигнализирующий об окончании командной строки. Это имеет 2 преимущества; это означает, что вы можете использовать последовательный терминал для ввода команд вручную, а также это позволяет избежать возможной путаницы, когда получатель пытается выполнить действие, когда он получил только часть команды.
PMF
Фейнман137
Лиор Билия
Фейнман137
PMF
Фейнман137
Сим Сон