Проснитесь Windows PC через USB-событие от малины Pi

Возможно ли запустить Windows-ПК из режима ожидания /спящего режима через USB-событие, происходящее из малины Pi?

Когда мой компьютер с ОС Windows находится в режиме ожидания, и я перемещаю мышь, тогда компьютер просыпается. Это именно то, что я хочу делать с приложением, запущенным на моей малине Pi (если я подключу Raspberry Pi к USB-порту моего ПК).

usb
4 голоса | спросил seveves 13 J000000Monday15 2015, 12:58:07

5 ответов


3

Прочитайте это . Похоже, что raspi не может быть подчиненным устройством (работать как мышь - отправка таких данных через usb будет невозможна). Но есть и другие опции для USB, некоторые ПК имеют опцию «Wake by LAN», что означает, что можно пропустить ПК через сигнал LAN, как здесь .

ответил Piotr Kamoda 13 J000000Monday15 2015, 13:09:11
3

На самом деле я думаю, что это возможно. Я не хочу вдаваться в подробности, что делать на стороне ПК этого плана, но для Pi:

USB-порт RPi является технически чипом On-the-go (OTG) и должен поддерживать как ограниченный набор функций хоста и клиента, так и, следовательно, может играть роль подчиненного USB-устройства, такого как HID. Однако типы B /B + RPi не поддерживают режим устройства, связанный с включенным концентратором USB, и тот факт, что ethernet туннелируется через USB ( см. ).

Но ... устройствам интерфейса человека (HID), таким как мыши, нужен только USB 1.1 Low Speed ​​ со скоростью передачи данных 1,5 Мбит /с. Таким образом, существует множество решений, которые используют программные пакеты USB для эмуляции USB-устройства. Эти примеры обычно используют микроконтроллеры, которые менее «мощны», чем RaspberryPi (но, конечно, они также имеют значительно более низкие издержки). Примеры включают в себя Igor Plug (приемник ИК-пульта дистанционного управления на основе микроконтроллера Atmel) или микрофонные «поддельные» клавиатуры или «регистраторы ключей». Это должно быть действительно возможно сделать с помощью Pi.

Если мы верим Как быстро GPIO + DMA? Multi I2S , тогда на GPIO с DMA должно быть возможно 1,5 Мбит /с.

ответил Ghanima 13 J000000Monday15 2015, 13:49:11
3

У вас есть, возможно, три варианта:

  • USB to USB (невозможно, поскольку RPi может работать только в режиме хоста);
  • USB для Arduino для GPIO (см. ниже)
  • USB для GPIO (см. ПРИМЕЧАНИЕ)
  

ПРИМЕЧАНИЕ. Если вы собираетесь подключать GPIO к USB, вы должны   использовать оптопары или выпрямители напряжения, такие как 74HC4050 hex buffer, as USB работает на 5V и GPIO   3V, поэтому без них вы рискуете жарить RPi

Если вы используете Arduino (Leonardo, Due или Micro) в качестве интерфейса, тогда да. Существуют библиотеки мышей и клавиатур , которые позволяют Arduino посылать ключ и /или мышь событий в RPi.

Если вы используете Arduino Pro Mini , предназначенный для работы на 3.3V, тогда потребность в оптопакетах или повышающих напряжение уменьшается. На instructionables.com - это план подключения Arduino Mini для RPi, создав Hoody . Я сделал это устройство, и он отлично работает.

Hoody - Arduino Micro to a Pi

После того, как вы создали Hoody, с добавлением интерфейса FTDI к USB и библиотек , вам должно быть хорошо.

FTDI to USB interface

  

Arduino Pro Mini, подключенный (и питаемый) от SparkFun FTDI   Basic Breakout Board и USB Mini-B. Обратите внимание, что на предыдущем Pro   Мини-платы ориентация 6-контактного разъема может быть отменена; проверить   что слова GRN и BLK выровнены на Pro Mini и FTDI Basic   Breakout.

Как я уже сказал, я уже построил это - за менее чем 10 фунтов стерлингов, используя материалы eBay.

Будьте внимательны, получите 3.3V Pro Mini и НЕ 5V, в противном случае потребуется сдвиг уровня напряжения и оптопары.

ДОБАВЛЕНИЕ: я не уверен на 100%, что библиотеки клавиатуры /мыши будут работать с Pro Mini (поскольку они требуют 32u4 устройств), однако было бы достаточно легко написать эскиз, который запускает соответствующие сигналы в FTDI .

Как Дэвид Фрейтаг указывает в комментариях ниже, Pro Micro совместим с библиотеками, а также работает на 3,3 В и поэтому сделает наиболее подходящий выбор .

ОБНОВЛЕНИЕ: Я только что купил один из этих 3.3V Pro Micro clones , с этого известного аукционного сайта, чтобы запутаться, подражая щелчкам мыши.

ответил Greenonline 13 J000000Monday15 2015, 14:06:27
0

Windows и биография многих событий поддержки ПК «Wake on LAN». Ознакомьтесь с параметрами меню BIOS, чтобы узнать, что там есть. Также убедитесь, что ваш маршрутизатор не блокирует сообщения «wake on lan». Как отправить один из raspberryPi B через ethernet, мне неизвестно, но я гораздо увереннее, что это может быть чем-то вроде usb.

Причина в том, что usb имеет «компьютерный» конец, как правило, с широким разъемом «letterbox flat-four» и «perhipheral» для камер и других подчиненных устройств. Чтобы разрезать два USB-кабеля, чтобы сделать кабель с двойным мастер-кабелем, он был бы противным и должен быть непризнан хотя бы одним концом. Питание микроволокна 5 В к пи использует только провода + 5 В постоянного тока и GND, а остальные два не подключены, поэтому я не трачу время на попытки получить данные через него.

Другим способом является загрузка нескольких вещей на пи, пока вы не сможете переключить светодиод на пинборде с контактов GPIO на пи. Вам также понадобится трансивер, и установите его на свой щит для переключения батареи 5 В или 6 В и другого светодиода. Когда вы можете переключить 5-вольтное устройство на пинборде через 3.3V GPIO, припаяйте несколько дополнительных проводов параллельно главному выключателю питания на передней панели вашего компьютера. В большинстве случаев это +5 и GND, за исключением того, что нажата кнопка. Теперь попробуйте включить pi в течение 0,6 секунды, например, кто-то просто нажал на главный выключатель машины Windows. Я еще не уверен, будет ли это делать то, что вы хотите. Если вам нужно сделать то же самое с USB-кабелем, хозяином которого является компьютер, может быть способ.

ответил mephisto 13 J000000Monday15 2015, 20:56:45
-1

Вы уже работали с папкой /dev в Linux? Если нет, на этой странице есть таблица ( http: //www. tldp.org/LDP/intro-linux/html/sect_03_01.html ), который прекрасно описывает каждый каталог в корне (/).

Папка /dev содержит файлы linux, относящиеся к вашим устройствам (например, жесткие диски, монитор, плунжер и т. д.). Когда вы подключаете устройство, в вашем случае usb, к компьютеру он должен отображаться в этой папке.

Я бы:

  1. ls в папке /dev до и после подключения usb от pi к машине Windows, чтобы выяснить, какой файл в /dev относится к порту usb.

  2. Затем напишите простой скрипт для записи данных в этот файл. Пример:

    • echo "1234">> {имя_файла}
  3. Затем вызовите этот файл из другой программы или всякий раз, когда вы хотите пробудить компьютер.

    • Чтобы проверить это, вы можете ввести команду вручную в терминал.

Посмотрите, работает ли это. Моя идея состоит в том, что активность в usb заставит вашу машину Windows просыпаться. Мне любопытно, поэтому, если я получу шанс, я попробую это с помощью собственной машины pi /windows.

ответил cnnrznn 14 J000000Tuesday15 2015, 02:50:52

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132