Raspberry Pi Zero как USB устройство.Часть 1.Последовательный интерфейс.
-
Первая статья из цикла про превращение Raspberry Pi Zero в USB Gadget.
Часть 1.Подключение к Zero через виртуальный последовательный порт.
Внимание!Автор публикации не несет ответственности за ваши действия!
Данная статья является переводом c некоторыми дополнениями.Оригинал
Когда Raspberry Pi Zero вышла, одним из минусов было отсутствие USB A. Чтобы что-то подключить необходимо использовать USB OTG переходник.
По умолчанию, PiZero USB хост , а мы сделаем из нее устройство
Заинтересованные люди на GitHub выясняли , что если использовать драйвер USB DWC2, и заменить некоторые файлы, вы можете получить Pi , работающую как устройство USB.
Раздел 1.СОМ устройство.
Нам прежде всего понадобятся прямые руки хоть какой нибудь опыт.
Запишите по новой Rasbian Jessie Lite (или просто Jessie) на SD - карту 4G или 8G.
Припаять штырьки 2x20 типа ПАПА-ПАПА к GPIO или подключится через USB TTL к Pi Zero.
Хороший мануал по USB TTL написал raspiman ССЫЛКАШаг 0. Скачать новый пакет ядра
Загрузите следующий файл на вашем пк: клик
и переименуйте его в gadgetkernel.tgz
Шаг 1. Скопируйте новое ядро на SD-карту
Скопируйте файл из предыдущего шага в раздел BOOT SD карты с дистрибутивом.
Шаг 2. Войдите в Pi Zero
Вставьте SD в ваш Pi Zero, подключите USB TTL, включите Pi и войдите в консоль через USB.
Шаг 3. Распаковка новое ядро
Распакуйте и установите ядро из .tgz файла
Выполните следующие команды:
cd ~ sudo mv /boot/gadgetkernel.tgz . tar -xvzf gadgetkernel.tgz
Шаг 4. Резервное копирование и установка нового ядра
sudo mv tmp/boot/kernel.img /boot Шаг 5. Установка модуля sudo mv tmp/boot/overlays/* /boot/overlays sudo mv tmp/boot/*dtb /boot sudo cp -R tmp/boot/modules/lib/* /lib
Шаг 6. Настройка модулей и перезагрузка
Теперь мы скажем Малинке о том,что хотим режим g_serial
sudo nano /etc/modules
И приводим все к виду как на скриншоте снизу,затем сохраняем файл
Шаг 7. Настройка входа в систему через g_serial
То что у вас есть последовательный порт не означает , что вы можете войти с ним без надстроек. Pi знает , что у нее появился последовательный порт , но вы должны привязать его к консоли.
sudo systemctl enable getty@ttyGS0.service
Убедимся что все работает
sudo systemctl is-active getty@ttyGS0.service
Надпись "Active" говорит о том,что мы на правильном пути.
Выключаем нашу малинку
sudo halt
Отсоединяем все питание,которое было присоединено к Pi Zero и вставляем кабель как на фотографии ниже,теперь она будет получать питание через USB порт,который раньше был USB OTG
Пожалуйста будьте внимательные,иначе рискуете сломать вашу Pi Zero.
Когда Pi включится на вашем компьютере вы увидите новый последовательный порт. Проверьте драйвер устройства для Windows:
В Mac OS, это будет новое устройство под названием /dev/tty.usbmodelNNNN , где NNNN может быть любым числом.
Шаг 8. Войдите в свой Pi с использованием последовательного порта
На скриншоте ниже указан пример конфигурации входа
Иногда требуется несколько попыток,чтобы подключится,но на этом все,теперь вы можете подключаться к Pi Zero напрямую!
Завтра или послезавтра опубликую вторую часть этой статьи,где я расскажу как подключить малинку к интернету,не переключайтесь.