Как подключиться к Raspberry Pi Zero к ноутбуку Ubuntu по USB?
Я попытался следовать приведенным здесь инструкциям, так что, надеюсь, я смогу использовать мой Raspberry Pi Zero, не покупая USB-клавиатуру, мышь и монитор.
После этого я не смог войти в Raspberry Pi Zero. Вывод, который я получил, был:
Я попробовал dmesg и увидел следующее:
Кто-нибудь может пролить свет на то, что означают эти журналы? Обширный поиск в Google не принес результатов для меня.
Я использую Ubuntu 16.04.1 LTS 64-bit на Lenovo Z50 (работает на Ubuntu, но немного хитро, что, вероятно, является источником большинства проблем, с которыми я сталкиваюсь на этом ноутбуке). Я также пытался использовать ноутбук с Windows. Это сработало после того, как я установил программное обеспечение Bonjour от Apple.
Выходные данные ifconfig говорят, что для устройства нет IP-адреса, поэтому я не уверен, как бы я подключился к нему.
Остерегайтесь красной сельди во всем ниже этой линии
Итак, я скачал исходный код linux kernal (последняя стабильная версия v4.8.11) и сделал некоторые заметки.
Я обнаружил, что «Кевент бла, возможно, был отброшен», добавлен в функцию с именем «usbnet_defer_kevent».
Я нашел usbnet_defer_kevent(dev, EVENT_SET_RX_MODE); будучи брошенным в нескольких местах, и получается, что мы определили его в usbnet.h, например, так: # define EVENT_SET_RX_MODE 12 . Хотя еще не уверен, что такое EVENT_SET_RX_MODE (ну, не то, что предполагается перечислять), так что, если кто-то может помочь с этим, пожалуйста, сделайте.
cdc_subset: сбой зонда blah с ошибкой. blah вызывается в ‘same_probe’ в drivers/base/dd.c. Похоже, Linux тестирует драйверы, чтобы выяснить, подходят ли они, «зондируя» устройство драйвером. В любом случае, это мое предположение. Необходимо выяснить, что такое «-22» и «-16».
Подозрение: у меня не установлен подходящий драйвер
В любом случае, я буду продолжать это делать.
пс. извините за неуместное небольшое количество информации здесь. Я как бы использую это как блокнот для своих копаний.
Как я могу подключить PI Zero Raspberry к компьютеру Windows через USB?
Проблема заключается в том, что у меня есть только один монитор, который я использую для своего ПК с Windows, можно ли подключить Raspberry Pi Zero к компьютеру через USB-соединение, а затем использовать его так?
Так же, как подключение к удаленному рабочему столу только без Интернета.
У меня нет подключения к Интернету для моей малины Pi Zero, поэтому использование Putty или что-то в этом роде невозможно.
Подключение к PiZeroW с Raspbian Stretch Lite, без дополнительных переходников и монитора
В общем на днях попал мне в руки Raspberry Pi Zero W. Но сложность заключалась в том, что он имеет только микро порты для подключения, а переходников для них у меня не было.
И это затрудняло его настройку в отличии от того же Raspbery Pi 3+
Если не прибегать к паяльнику, и платам расширения, то на борту у малины имеется два microUSB и один microHDMI. При наличии двух переходников (microHDMI(M)-HDMI(F) и microUSB(M)-USB(F)) можно было бы подключить его к монитору и клавиатуре, ну а дальше в консольном режиме все настроить. Но как уже я сказал, таких переходников у меня не было, ближайший магазин с такими находился довольно далеко, а ждать доставки просто не было терпения.
Конечно же некоторые адаптеры нам все таки понадобятся, но их просто достать. В частности microUSB шнур можно взять от телефона a SD адаптер на microSD карты от фотоаппарата.
Для того чтоб подключиться я нашел два способа. Первый это по WiFi. Все что нужно это настроить на нем WiFi и SSH. Но сделать это нужно только с помощью SD карты. И так как из компьютеров у меня был только MacBook, доступа к linux разделу у меня не было (вариант с установкой ext4fuse я не рассматривал). Оставался только раздел /boot который был в FAT32 и чудесно работал с MacOS. Поэтому все что мы будем делать будет происходить в этом разделе.
Итак первое что нам нужно это включить SSH доступ к малинке.
Для этого нужно создать файл ssh без какого либо содержания и расширения
Во вторых нам нужно как-то настроить WiFi подключение при запуске
Для этого нужно вначале получить хеш пароля для WiFi. И тут я столкнулся с новой проблемой, как это сделать в MacOS. Так как до этого приходилось настраивать подключение за наличием какой-то Linux машины. Там это делается так
Результат команды, выглядел так
Ну а для MacOs сгенерировать psk я не нашел как. Поэтому пришлось временно указать пароль в открытом виде. Либо настроить WiFi позже(об этом в конце статьи)
Таким образом мы настраиваем все WiFi сети и результат сохраняем в файл wpa_supplicant.conf
Ну вот собственно и все. Осталось вставить карточку в RaspberryPi, подключить питание и подождать в среднем ~90 секунд пока он загрузится и поднимет WiFi соединение.
Чтоб найти IP малинки в локальной сети, можно воспользоваться командой
либо посмотреть подключенных клиентов у WiFi роутера.
Дальше остается только подключиться через SSH к найденному IP. (По умолчанию если кто вдруг не знал то для raspbian логин и пароль pi:raspberry)
Но существует еще один способ подключиться к Raspberry. Как многие заметили на плате есть еще один USB разъем помимо питания, вот он нам и понадобится. Единственное на что обращу внимание так это то что USB кабель должен быть полностью распаян (а не как у меня было, только крайние два контакта с питанием, почему я вначале и прибегнул к WiFi подключению).
Суть второго способа заключается в том чтоб подключить USB кабель к другому разъему (на плате они подписаны USB и PWR_IN), кстати в таком случае плата будет запитана от него.
Но прежде нужно дописать несколько параметров в два файла в том же /boot разделе
Первый это в cmdline.txt добавить после rootwait подключение Ethernet модулей
А второй в config.txt добавить в конец файла
Все. Вставляем карточку, дожидаемся загрузки и подключаемся по SSH к малинке по адресу raspberrypi.local
После получения доступа через SSH настроить WiFi через wpa_supplicant.conf можно уже через саму малинку воспользовавшись wpa_passphrase, только учтите что файл из /boot раздела копируется в /etc
Как подключиться к Raspberry Pi через TTL порт?
Теперь, когда мы подключили последовательный порт Raspberry Pi к нашему ПК, как нам подключиться к Pi?
Во-первых, вам нужно активировать консольный порт на Raspberry Pi. Для этого вставьте SD-карту в компьютер, откройте файл config.txt в счете boot с SD-карты и добавьте следующую строку в новую строку:
Для этого у вас есть три решения, в зависимости от того, используете ли вы Linux, Mac OS или Windows.
Подключитесь к последовательному порту Raspberry Pi с Linux
В Linux подключение через последовательный порт очень просто. Обычно после подключения порта он обозначается как / dev / ttyUSB0. Вам просто нужно открыть на нем терминал с помощью команды screen :
Теперь у вас есть терминал, открытый на вашем Raspberry Pi с вашего ПК.
Подключитесь к последовательному порту Raspberry с Mac OS
На Mac все немного сложнее.
Сначала вам необходимо скачать драйверы для кабеля. В зависимости от модели кабеля требуются два разных драйвера: Prolific или SiLabs. Для простоты установите оба.
После установки драйверов вам нужно будет найти имя устройства. Для этого откройте терминал и выполните следующую команду:
Ищете имя, которое выглядит как /dev/cu.usbserial-NNNN золото /dev/cu.SLAB_USBtoUART золото /dev/cu.usbmodem . Как только вы найдете свой, вы можете связаться с screen , как и в Linux. Например, если вы нашли /dev/cu.usbserial-1234 :
Подключитесь к Raspberry Pi в TTL из Windows
Последняя возможность, вы используете Windows. Все еще немного сложнее, чем на Mac, но все еще довольно просто.
Что касается Mac, начните с установки драйверов, которые можно найти здесь и там.
Вам также потребуется загрузить клиент Putty SSH, доступный здесь.
Теперь нам нужно найти порт, используемый Windows для USB-соединения. Для этого зайдите в диспетчер устройств в разделе «Порты» и найдите устройство, относящееся к «USB to Serial». Вы должны увидеть номер порта в круглых скобках в форме COM x где x это число.
Все, что вам нужно сделать, это запустить Putty, выбрать соединение в Serial , со скоростью 115200 , и проинформировать порт COM использовать.
Здесь мы подключаемся к порту COM 7 с соответствующими настройками (источник, Adafruit).
¶ Схема подключения RPi Zero по UART
У этого одноплатника 2 серийных порта — миниUART и обычный UART. Пины UART в обычном состоянии заняты модулем Bluetooth. МиниUART — обрезанный UART и имеет ряд ограничений и поэтому крайне желательно отключить Bluetooth и использовать обычный UART. Задействует пины GPIO14 и GPIO15 .
Запускаем конфигурацию Raspberry Pi, удобнее всего выполнить это на этапе Настраиваем Raspberry Pi
- Выбираем Interface Options -> Serial Port
- Выбираем No — отключаем serial console
- Выбираем Yes — включаем serial hardware
- Жмём OK , затем Finish и Yes для перезагрузки
После перезагрузки редактируем /boot/config.txt , потребуется root-доступ
Проверяем наличие двух строчек, редактируем, если надо
Сохраняем и перезагружаем
Подключение будет доступно через серийный порт /dev/ttyAMA0 .
dtoverlay=pi3-disable-bt отключает bluetooth и освобождает пины для UART. Если по какой-либо причине bluetooth нужен, то можно заменить на dtoverlay=pi3-miniuart-bt , что включит миниUART. Подключение через /dev/ttyS0 .
Необходимые компоненты
- Плата Raspberry Pi Zero W (купить на AliExpress).
- Карта памяти MicroSD.
- Кабель Micro USB.
Сначала вам необходимо подключить карту micro SD к вашему компьютеру. Мы использовали карту объемом 16 Мбайт – этого вполне хватит для установки операционной системы Raspberry Pi OS (32 bit). Требуемый объем SD карты зависит от той операционной системы (ОС), которую вы хотите на нее установить. Для «легких» ОС хватит карты объемом 8 Гбайт, однако в любом случае не стоит использовать карту объемом менее 8 Гбайт.
Сначала скачайте образ операционной системы Raspberry Pi OS по следующей ссылке.
После этого установите его. В результате выполнения данной операции вы должны увидеть следующую картину на своем рабочем столе:
Выберите необходимую вам операционную систему из следующего меню:
В нашем случае необходимо выбрать Raspberry Pi OS (32-bit).
Затем нажмите на Choose storage option и выберите из открывшегося меню вашу карту micro SD.
Нажмите на кнопку write (записать).
После этого программа образа ОС запишет Raspberry Pi OS на вашу карту micro SD. Этот процесс займет несколько минут.
Если вы не будете использовать автономную работу с платой Raspberry Pi Zero W (то есть без монитора), то тогда вставьте micro SD карту с записанной на нее ОС в вашу плату и подключите к плате монитор, источник питания, клавиатуру и мышку. После этого подайте питание на плату.
Если же вы планируете удаленно управлять платой по протоколу SSH, то откройте SD карту на своем компьютере.
В корневом каталоге карты создайте пустой текстовый файл с названием «ssh» (без расширения). Raspberry Pi OS будет автоматически активировать SSH (Secure Socket Shell) когда будет видеть этот файл «ssh» при своей первоначальной загрузке. Это позволит вам получить удаленный доступ к плате со своего компьютера.
Даже если вы активировали (enabled) SSH, который позволит вам исполнять команды в окне терминала платы, вам все равно будет необходим канал связи, через который вы будете управлять платой. В качестве данного канала связи можно использовать Wi-Fi/Ethernet, непосредственно Ethernet или USB (только для Pi Zero). У каждого из этих вариантов свой способ настройки взаимодействия с платой.
Для связи по Wi-Fi соединению создайте текстовый файл с именем wpa_supplicant.conf в корневом каталоге вашей micro SD карты. Это файл поможет вам установить Wi-Fi соединение с платой Raspberry Pi zero W. Скопируйте следующие строчки кода в этот файл конфигурации.