質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

解決済

1回答

1643閲覧

ラズパイZeroをUSBキーボードとして振る舞わせたい

inori

総合スコア14

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

2クリップ

投稿2019/02/22 09:37

前提・実現したいこと

RaspberryPiZero(W)をUSBキーボードとして振る舞わせたいです。
参照記事にて実際に行われているため試してみましたが、
エラーとなってしまったためお力をお借りできればと思い本件を投稿しました。

発生している問題・エラーメッセージ

UDCファイル(?)の編集時に以下のエラーが出てしまいます。
また"echo"コマンドでも同様でした。

$ sudo ls /sys/class/udc > UDC -bash: UDC: Permission denied

vimで直接編集した場合保存時に以下のメッセージが出て保存ができません。

"UDC" E667: Fsync failed WARNING: Original file may be lost or damaged do not quit the editor until the file is successfully written!

試したこと

そもそもUDCファイルが何なのかよくわかっていないのですが、以下を見たところ、
エミュレートするUSBデバイスの設定かなにかなのかとぼんやり考えているところです。

$ ls /sys/class/udc 20980000.usb

参考にした日本語記事、本家英語版記事、他バージョンでの事例を参考に試したこともありましたが、
冒頭のエラーが同じく出てしまいました。

補足情報(FW/ツールのバージョンなど)

環境
  • raspberryPi Zero
  • 2018-06-27-raspbian-stretch 及び 2018-11-13-raspbian-stretch (いずれの場合でもダメでした)
  • Linux raspberrypi 4.14.79+ #1159 Sun Nov 4 17:28:08 GMT 2018 armv6l GNU/Linux
参考記事

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

inoriさん、

いま、ZEROの実機が手元にないので、参考記事は試せてませんが、root権限で実行が必要な感じのエラーになっているようなので、とりあえずsudo bashとして、rootになって、コマンドを実行してみるとよいかと思います。

ちなみに、普通のユーザ権限で、sudo ls /sys/class/udc > UDC を実行すると、lsコマンドは、root(sudo)で実行されますが、リダイレクト(> UDC)はユーザ権限なってしまうので、root権限が必要なファイルアクセスでは、Permission deniedになっていまいます。
実行する際は、sudo bash -c 'ls /sys/class/udc > UDC'というように、-c以降の ' 'でくくった部分を
root権限で、bashにて実行するようにします。

実行例 (/aというファイルを作成してみる)

pi@raspberrypi:~ $ echo hello > /a -bash: /a: Permission denied pi@raspberrypi:~ $ sudo echo hello > /a -bash: /a: Permission denied pi@raspberrypi:~ $ sudo bash -c 'echo hello > /a' pi@raspberrypi:~ $ ls -l /a -rw-r--r-- 1 root root 6 Feb 22 17:46 /a pi@raspberrypi:~ $

投稿2019/02/22 18:09

mt08

総合スコア1825

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

inori

2019/02/23 00:54

mt08 さん 回答ありがとうございます 指摘いただいた権限の件、知りませんでした 実際に実行したところ ``` $ sudo bash -c 'ls /sys/class/udc > UDC' write error: Device or resource busy ``` 引き続き頑張りたいと思います、ありがとうございます
mt08

2019/02/23 08:51

inoriさん、 参考記事のhttp://www.isticktoit.net/?p=1383 に沿ってやったところ、動作確認できました。 環境は、Zero W + Raspbian:2018-11-13-raspbian-stretchにupdateしたものですが、特に問題なかったです。 設定後、ACアダプタで、まずZeroWを起動させてから、WindowsのPCにUSBでつなぎました。 デバイスマネージャの、Human Interface DeviceにUSB Input Deviceが出てきました。(英語版Windows10) ノートパッドを開いて、ZERO W側で、参考サイトの、'press the A-button' 、'release all keys'を行ったところ、'a' が入力されました。
inori

2019/02/28 15:30

mt08 さん ZeroWをwifiSSHで接続し、以下のリポジトリを参考にしたところ /dev/hidg0 が出現しました。 またwindowsマシンに接続し、USB Inout Deviceが出てきました。 どうやらUSBからssh接続していたことが原因だったようです。 またデバイスの接続順番(タイミング)も大切なのですね。 ありがとうございます。 https://github.com/c4software/pi-as-keyboard しかし実際に文字送信を試みたところ、うまく入力されません。 winのカーソルの点滅が点灯に変わるので何らかのinputはされているのかもしれませんが・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問