Оглавление:

Raspberry PI 3 - включение последовательной связи с TtyAMA0 в BCM GPIO 14 и GPIO 15: 9 шагов
Raspberry PI 3 - включение последовательной связи с TtyAMA0 в BCM GPIO 14 и GPIO 15: 9 шагов

Видео: Raspberry PI 3 - включение последовательной связи с TtyAMA0 в BCM GPIO 14 и GPIO 15: 9 шагов

Видео: Raspberry PI 3 - включение последовательной связи с TtyAMA0 в BCM GPIO 14 и GPIO 15: 9 шагов
Видео: Распознавание голоса Raspberry PI и связь Arduino UART 2024, Ноябрь
Anonim
Raspberry PI 3 - включить последовательную связь с TtyAMA0 до BCM GPIO 14 и GPIO 15
Raspberry PI 3 - включить последовательную связь с TtyAMA0 до BCM GPIO 14 и GPIO 15
Raspberry PI 3 - включить последовательную связь с TtyAMA0 до BCM GPIO 14 и GPIO 15
Raspberry PI 3 - включить последовательную связь с TtyAMA0 до BCM GPIO 14 и GPIO 15

Недавно у меня был интерес к включению UART0 на моем Raspberry Pi (3b), чтобы я мог подключать его напрямую к устройству уровня сигнала RS-232 с помощью стандартного 9-контактного разъема d-sub без необходимости переходить через USB к RS-232. адаптер.

Частично меня интересовала возможность подключения преобразователя уровня RS-232 (MAX3232) или устройства RS-485 (MAX485).

Я немного боролся, пытаясь заставить конфигурацию Pi работать. У меня нет большого опыта работы с Raspberry Pi или его операционной системой, поэтому я был на довольно крутой кривой обучения.

В конце концов, с помощью поиска в Google вместе с «Пробами и ошибками» мне удалось собрать воедино все детали, чтобы заставить его работать к моему удовлетворению, но информации не было в одном кратком документе, который содержал все шаги, чтобы это произошло.

Я перечисляю здесь шаги, которые я предпринял, чтобы эта работа работала для меня.

Запасы

1 - Raspberry Pi. Я использовал модель 3b.. но эта процедура должна работать с большинством Pi, особенно с последними версиями Raspberry Pi IOS (ранее Raspian).

2 - «Мини» преобразователь уровня RS-232 - TTL в RS-232 - я использовал небольшую печатную плату, на которой была установлена микросхема MAX 3232, которую я купил на eBay. Я также успешно попробовал это с TTL на RS-485 конвертер - также куплен на eBay.

После того, как Pi был настроен, оба конвертера работали удовлетворительно, без каких-либо замеченных мной проблем.

Шаг 1. Установите свежую копию на Raspbian на карту памяти

Установите свежую копию на Raspbian на карту памяти
Установите свежую копию на Raspbian на карту памяти

Я начал с установки свежей / самой современной копии Raspberry Pi IOS (ранее Raspian) на мою карту памяти. Я решил не идти по пути НООБС.

Загрузите и установите инструмент Imager

www.raspberrypi.org/downloads/

Загрузите, распакуйте и установите на карту памяти образ Raspberry Pi IOS.

После загрузки проверьте и обновите при необходимости …

Шаг 2. Включите последовательный порт Raspberry Pi - с помощью графического интерфейса

Включите последовательный порт Raspberry Pi - с помощью графического интерфейса
Включите последовательный порт Raspberry Pi - с помощью графического интерфейса
Включите последовательный порт Raspberry Pi - с помощью графического интерфейса
Включите последовательный порт Raspberry Pi - с помощью графического интерфейса

По умолчанию при новой установке Raspberry Pi IOS UART0 зарезервирован для «Оболочки входа». Это предназначено для того, чтобы дать вам некоторый доступ / контроль над Pi через комбинацию последовательного порта / терминала.

Чтобы использовать UART0 для других приложений, вам необходимо «отключить» это соединение с Logon Shell. Это происходит за пару довольно простых шагов.

Самый быстрый способ включить «Последовательный порт» - это сделать это через графический интерфейс.

В раскрывающемся меню «Малина - раскрывающееся меню» выберите «Настройки», а затем «Конфигурация Raspberry Pi».

Оттуда перейдите на вкладку «Интерфейсы» и «Включите» последовательный порт (щелкнув соответствующий переключатель.

Нажмите OK, чтобы выйти, а затем выполните перезагрузку.

ИЛИ.. вы можете воспользоваться этим методом …

Шаг 3. Альтернативный метод включения последовательного порта (и отключения оболочки входа)

Альтернативный метод включения последовательного порта (и отключения оболочки входа)
Альтернативный метод включения последовательного порта (и отключения оболочки входа)
Альтернативный метод включения последовательного порта (и отключения оболочки входа)
Альтернативный метод включения последовательного порта (и отключения оболочки входа)
Альтернативный метод включения последовательного порта (и отключения оболочки входа)
Альтернативный метод включения последовательного порта (и отключения оболочки входа)
Альтернативный метод включения последовательного порта (и отключения оболочки входа)
Альтернативный метод включения последовательного порта (и отключения оболочки входа)

Этот метод предназначен для справки - не обязательно, но о нем полезно знать.

== == ==

Альтернативный метод отключения консоли с помощью UART0 при загрузке.

использовать:

sudo raspi-config

Выберите вариант № 5 - Параметры интерфейса ==> Выбрать

Выберите P6 Serial ==> Выбрать

Ответьте НЕТ на вопрос: Хотели бы вы, чтобы оболочка входа была доступна через последовательный порт?

Ответьте ДА на вопрос: Вы хотите, чтобы оборудование последовательного порта было включено?

Ответ будет таким:

Оболочка последовательного входа в систему отключена

Последовательный интерфейс включен

Выберите ОК

Выберите Готово

Шаг 4. Отключите Bluetooth - отпустите UART0 и освободите его для TtyAMA0

Отключить Bluetooth - освободить UART0 и освободить его для TtyAMA0
Отключить Bluetooth - освободить UART0 и освободить его для TtyAMA0
Отключить Bluetooth - освободить UART0 и освободить его для TtyAMA0
Отключить Bluetooth - освободить UART0 и освободить его для TtyAMA0
Отключить Bluetooth - освободить UART0 и освободить его для TtyAMA0
Отключить Bluetooth - освободить UART0 и освободить его для TtyAMA0

Вторая часть процесса - также отключить Bluetooth от UART0.

На этой странице «КОНФИГУРАЦИЯ UART» вам необходимо отключить устройство Bluetooth от UART0 и освободить UART0 для ttyAMA0. При необходимости вы можете переместить Bluetooth в «mini-UART».

Продолжите редактирование файла с именем "config.txt" (находится в каталоге "boot") и добавьте ОДНУ строчку в самом низу страницы:

dtoverlay = disable-bt

В зависимости от вашей ситуации и желания использовать Bluetooth, вы можете добавить следующую строку (но это не обязательно, чтобы это руководство работало правильно). На этой странице также есть ценная информация обо всем этом бизнесе. Найдите время, чтобы прочитать связанный файл (см. Выше), чтобы понять это.

dtoverlay = miniuart-bt

Дважды проверьте правильность написания, затем СОХРАНИТЕ файл при ВЫХОДЕ и перезагрузитесь.

На этом этапе все готово.

Шаг 5: Распиновка RPI для порта UART

Распиновка RPI для порта UART
Распиновка RPI для порта UART

На веб-сайте pinout.xyz контакты Raspberry Pi UART0 доступны на следующих контактах.

Контакты UART в режиме BCM: RPI Pin # 8 / GPIO14 ==> TXD

Вывод RPI # 10 / GPIO15 ==> RXD

Помните, что для этих контактов это «уровни TTL 3,3 В». Эти CANOT могут использоваться для управления и приема сигналов от устройств уровня RS-232 или RS-422 / RS-485. Попытка сделать это приведет к перегоранию встроенного UART и, скорее всего, унесет с собой микросхему процессора.

Вы ДОЛЖНЫ использовать преобразователь уровня.

Для подключения к устройству уровня RS-232 или RS-422 / RS-485 необходим соответствующий преобразователь уровня.

Шаг 6: Добавление устройства преобразования уровня RS-232 в TTL на ваш Raspberry Pi

Добавление устройства преобразования уровня RS-232 в TTL на ваш Raspberry Pi
Добавление устройства преобразования уровня RS-232 в TTL на ваш Raspberry Pi
Добавление устройства преобразования уровня RS-232 в TTL на ваш Raspberry Pi
Добавление устройства преобразования уровня RS-232 в TTL на ваш Raspberry Pi
Добавление устройства преобразования уровня RS-232 в TTL на ваш Raspberry Pi
Добавление устройства преобразования уровня RS-232 в TTL на ваш Raspberry Pi

Для преобразования уровней TTL в RS-232 я использую следующий преобразователь.

Преобразователь уровня Mini RS232 в TTL на основе MAX3232.

Этот элемент может питаться от 3,3 В постоянного тока или даже от 5 В постоянного тока (оба доступны от определенных контактов на вашем RPI) и фактически потребляет очень небольшой ток.

Техническое описание MAX3232 содержит ценные сведения о его работе, но на самом деле кодирование не требуется, чтобы заставить эту работу работать.

Обратитесь к прилагаемым фотографиям и внимательно подключите контакты Raspberry Pi к соответствующим контактам на модуле. Просто знайте, что это устройство будет работать либо от 3,3 В постоянного тока, либо от 5 В постоянного тока - оба доступны на RPI (см. Схему выводов).

ПРЕДУПРЕЖДЕНИЕ:

Я купил 10 таких устройств на eBay, и я НЕ мог заставить ни одно из них работать. На первый взгляд кажется, что ими должно быть достаточно легко пользоваться, но нет. Поработав с ними немного, я нашел много подробностей о FAKE MAX3232, доступных в Интернете.

www.eevblog.com/forum/reviews/fake-max3232-any-additional-details/…

Я НЕ рекомендую этот товар.

Шаг 7: Добавление устройства преобразования уровня RS-485 в TTL на ваш Raspberry Pi

Добавление устройства преобразования уровня RS-485 в TTL на ваш Raspberry Pi
Добавление устройства преобразования уровня RS-485 в TTL на ваш Raspberry Pi
Добавление устройства преобразования уровня RS-485 в TTL на ваш Raspberry Pi
Добавление устройства преобразования уровня RS-485 в TTL на ваш Raspberry Pi
Добавление устройства преобразования уровня RS-485 в TTL на ваш Raspberry Pi
Добавление устройства преобразования уровня RS-485 в TTL на ваш Raspberry Pi

Как и в большинстве случаев с предыдущим шагом, добавить преобразователь уровня RS-485 так же просто, а может быть, даже проще.

Для преобразования уровней TTL в RS-232 я использую следующий преобразователь.

MAX485 представляет собой преобразователь уровня RS485 в уровень TTL. Опять же, этот элемент может питаться от 3,3 В постоянного тока или даже 5 В постоянного тока (оба доступны от определенных контактов на вашем RPI) и фактически потребляет очень небольшой ток. Техническое описание MAX485 содержит ценные сведения о его работе, но на самом деле для этого не требуется кодирования.

Обратитесь к прилагаемым фотографиям и внимательно подключите контакты Raspberry Pi к соответствующим контактам на модуле. Просто знайте, что это устройство будет работать либо от 3,3 В постоянного тока, либо от 5 В постоянного тока - оба доступны на RPI (см. Схему расположения выводов).

Следует отметить, что в отличие от RS-232, RS-485 не имеет связанного с ним «стандартного» типа разъема. Номенклатура обычно состоит из «B-» и «A +», но имейте в виду, что не все поставщики следуют этой же номенклатуре. RS-485 работает по сигнальной схеме «Дифференциальная пара» - подробнее об этом можно прочитать здесь. «Дикий Запад» живет в долине RS-485.

Шаг 8: Теперь ваша очередь …

Теперь у вас должна быть возможность подключить Raspberry Pi напрямую к внешнему устройству по вашему выбору.. Их МНОЖЕСТВО из них все еще используется.

Как вы это сделаете, зависит от вас …

Для начала ознакомьтесь с «Minicom» или «CuteCom» или ознакомьтесь с возможностями с помощью «NodeRED».

Шаг 9: Synopsys

Не стесняйтесь оставлять комментарии или предложения / исправления. Я был бы признателен, что.

Рекомендуемые: