<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9152941548379547843</id><updated>2026-09-01T18:13:03.741+09:00</updated><category term="ＰＣ"/><category term="RaspberryPi"/><category term="パーツ"/><category term="Ｂａｂｙ"/><category term="アプリ"/><category term="スマートフォン"/><category term="ネット"/><category term="家電"/><category term="python"/><category term="周辺機器"/><category term="Ｗｉｎ７"/><category term="その他"/><category term="グルメ"/><title type='text'>kanon</title><subtitle type='html'>主にＰＣ関係の備忘録です。&#xa;&#xa;あと、娘の成長日記も入れたいと思います。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>94</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-2684100593429904336</id><published>2026-05-16T23:46:51.524+09:00</published><updated>2026-05-17T22:03:26.195+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><category scheme="http://www.blogger.com/atom/ns#" term="ＰＣ"/><title type='text'>ラズパイでNAS　＋α</title><content type='html'>&lt;p style=&quot;text-align: left;&quot;&gt;&amp;nbsp;手持ちのラズパイ３B＋をNASにし、DLNAサーバーとしても運用したい。&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;手持ちの５インチディスプレイを使用し、監視システム＋α（時計とか天気とか）の表示をさせたい。chatGPTに相談しながら作成してみる。&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;１．サーバー監視&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・ストレージ使用率（総容量、使用量、空き、〇％超で色変化）&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・ディスク状態（温度、SMART異常の有無）&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・ネットワーク状況（リアルタイム転送速度、接続クライアント数）&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・CPU／メモリ使用率（RPi３の負荷監視）&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・稼働時間（再起動忘れ防止）&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;２．＋α&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・現在時間、カレンダー&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・天気情報&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・接続中ユーザー表示&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・最近のファイル更新ログ&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・バックアップ状態&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・フォトフレーム（NAS内の写真を表示）&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・音楽再生情報（再生中の曲名）&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・ニュースヘッドライン&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;３．状態異常の強調表示&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;・温度〇度以上の時、ストレージ使用率〇％以上、ネットワーク切断　など&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;構想：&lt;br /&gt;まず、１のサーバー監視を作成し、順次＋αのうちいずれかを表示できるように考えたい。&lt;br /&gt;→python＋FlaskでシンプルWeb表示&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;環境構築：&lt;/h1&gt;&lt;p style=&quot;text-align: left;&quot;&gt;OS：Debialn13 （コードネームtrixie）&lt;br /&gt;ラズベリーパイ３B＋&lt;br /&gt;KUMAN　５インチディスプレイ（８００×４８０）&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;sambaとminidlnaの導入&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;①HDDの接続確認&lt;/h3&gt;$ lsblk&lt;br /&gt;出力例）&lt;br /&gt;NAME&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MAJ:MIN RM&amp;nbsp; SIZE RO TYPE MOUNTPOINTS&lt;br /&gt;sda&amp;nbsp; &amp;nbsp; &amp;nbsp; 　&amp;nbsp; &amp;nbsp; &amp;nbsp;8:0&amp;nbsp; &amp;nbsp; 0&amp;nbsp; 3.6T&amp;nbsp; 0 disk&lt;br /&gt;┗sda1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8:1&amp;nbsp; &amp;nbsp; 0&amp;nbsp; 3.6T&amp;nbsp; 0 part /media/pi&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;②HDDのファイル形式確認&lt;/h3&gt;$ sudo blkid&lt;br /&gt;出力例）&lt;br /&gt;/dev/sda1: LABEL=&quot;HD-ADU3&quot; BLOCK_SIZE=&quot;512&quot; UUID=&quot;XXXXXXXXX&quot; &lt;span style=&quot;color: red;&quot;&gt;TYPE=&quot;ntfs&quot;&lt;br /&gt;&lt;/span&gt;※UUIDは後で使います。ntfsでフォーマットされています。&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;③必要なソフトのインストール、まとめて実行&lt;/h3&gt;$ sudo apt update&lt;br /&gt;$ sudo apt install samba minidlna ntfs-3g exfat-fuse -y&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;最新バージョン（2026.5.10時点）&lt;br /&gt;samba is already the newest version (2:4.22.8+dfsg-0+deb13u1).&lt;br /&gt;minidlna is already the newest version (1.3.3+dfsg-1.1+b1).&lt;br /&gt;ntfs-3g is already the newest version (1:2022.10.3-5+deb13u1).&lt;br /&gt;exfat-fuse is already the newest version (1.4.0-3+b2).&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;④HDDのマウント先を作る&lt;/h3&gt;$ sukdo mkdir -p /mnt/hdd&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑤HDDを手動でマウント&lt;/h3&gt;$ sudo mount -t ntfs-3g /dev/sda1 /mnt/hdd&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;下記のエラーが出る場合&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Mount is denied because the NTFS volume is already exclusively opened.&lt;br /&gt;The volume may be already mounted, or another software may use it which&lt;br /&gt;could be identified for example by the help of the &#39;fuser&#39; command.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;すでに　/dev/sda1がどこかに接続されているためにおこるエラー。接続先を調べるには&lt;br /&gt;$ mount | grep sda1&lt;br /&gt;表示例）&lt;br /&gt;/dev/sda1 on&amp;nbsp;/media/pi/HD-ADU3&amp;nbsp;type ntfs3&amp;nbsp;&lt;br /&gt;→/media/piに接続されているから /mnt/hddには接続できないので、一旦外す。&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;※/media/pi は一時的な接続先となる。USBメモリの接続など。そのため、毎回必ず「/media/pi/HD-ADU3」となるとは限らない。サーバー用途などでは、「/mnt/hdd」だけではなく「/srv/storage」なども良い。&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;$ sudo umount /media/pi/HD-ADU3&lt;br /&gt;表示例）&lt;br /&gt;sda&amp;nbsp; &amp;nbsp; 　&amp;nbsp; &amp;nbsp; &amp;nbsp; 8:0&amp;nbsp; &amp;nbsp; 0&amp;nbsp; 3.6T&amp;nbsp; 0 disk&lt;br /&gt;┗sda1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8:1&amp;nbsp; &amp;nbsp; 0&amp;nbsp; 3.6T&amp;nbsp; 0 part&lt;br /&gt;①の表示例、（┗sda1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8:1&amp;nbsp; &amp;nbsp; 0&amp;nbsp; 3.6T&amp;nbsp; 0 part /media/pi）と比べるとマウントポイントが消えていることが分かる。&lt;br /&gt;再度手動でマウントする。&lt;br /&gt;$ sudo mount -t ntfs-3g /dev/sda1 /mnt/hdd&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑥成功確認&lt;/h3&gt;$&amp;nbsp; ls /mnt/hdd&lt;br /&gt;HDDの中のファイル一覧が見えれば成功&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑦自動マウント設定&lt;/h3&gt;UUIDを確認&lt;br /&gt;$ sudo blkid&lt;br /&gt;表示例）&lt;br /&gt;/dev/sda1: UUID=&quot;340815D408159648&quot;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;fstab編集&lt;br /&gt;$ sudo nano /etc/fstab&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;一番下に下記の一文を追加&lt;br /&gt;UUID=上記のUUID /mnt/hdd ntfs-3g defaults,uid=1000,gid=1000,umask=000 0 0&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;上記のUUID：このHDDを使う&lt;br /&gt;/mnt/hdd：ここにHDDを接続する&lt;br /&gt;ntfs-3g：NTFSを読み書きできるドライバを使う&lt;br /&gt;defaults：Linux標準設定。(読み書き可能、自動マウント、実行許可、デバイス許可など）&lt;br /&gt;uid=1000：ユーザー番号１０００の所有物にする。ラズパイではpiがUID１０００。&lt;br /&gt;gid=1000：グループ番号。通常piのグループ。&lt;br /&gt;umask=000：全員フルアクセスOK。セキュリティ的には自宅内限定。&lt;br /&gt;0：dumpという古いバックアップ機能、現代ではほぼ使わない。&lt;br /&gt;0：fsckという起動チェック設定。LinuxではNTFSは完全修復できないので０でOK。&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;つまり、「UUIDが〇〇のNTFS HDDを、起動時に /mnt/hddへ接続し、piユーザーが自由に読み書きできるようにする。」という意味。&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑧Samba設定（Windows共有）&lt;/h3&gt;設定ファイル編集&lt;br /&gt;$ sudo nano /etc/samba/smb.conf&lt;br /&gt;&lt;br /&gt;一番下に下記を追加&lt;br /&gt;[HDD]&lt;br /&gt;path = /mnt/hdd&lt;br /&gt;browseable = yes&lt;br /&gt;writeable = yes&lt;br /&gt;create mask = 0777&lt;br /&gt;directory mask = 0777&lt;br /&gt;public = yes&lt;br /&gt;guest ok = yes&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑨Samba再起動&lt;/h3&gt;$ sudo systemctl restart smbd&lt;br /&gt;$ sudo systemctl enable smbd&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑩Windowsからアクセス&lt;/h3&gt;Windowsから&lt;br /&gt;\\raspberrypi（ホストネーム、IPアドレス）&lt;br /&gt;を開く。&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;※Windowsの「ネットワークの資格情報」にてはじかれてしまう場合は、&lt;br /&gt;「Raspberry Piに存在するLinuxユーザー」、「Sambaに登録されたユーザー」、「Windowsで入力するユーザー」が一致している必要がある。&lt;br /&gt;RaspberryPi側で　$ whoami　→例）pi&lt;br /&gt;Ｓａｍｂａユーザー登録&lt;br /&gt;$ sudo smbpasswd -a pi&lt;br /&gt;表示例）&lt;br /&gt;New SMB password:&lt;br /&gt;Retype new password:&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;ここで設定したパスワードが、Windowsから接続するときに使うパスワードです。&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;※ネットワークドライブとして割り当てると後々アクセスが楽になる。&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑪MiniDLNA設定&lt;/h3&gt;$ sodo nano /etc/minidlna.conf&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;以下を探して変更&lt;br /&gt;media_dir=/mnt/hdd&lt;span&gt;&amp;nbsp; &amp;nbsp; メディアフォルダ&lt;/span&gt;&lt;br /&gt;friendly_name=RPi3&lt;span&gt;&amp;nbsp; &amp;nbsp; 名前&lt;/span&gt;&lt;br /&gt;inotify=yes&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; 自動監視ON&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span&gt;⑫MiniDLNA再起動&lt;/span&gt;&lt;/h3&gt;&lt;span&gt;$ sudo systemctl restart minidlna&lt;br /&gt;$ sudo systemctl enable minidlna&lt;/span&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span&gt;⑬データベース再構築（初回）&lt;/span&gt;&lt;/h3&gt;&lt;span&gt;$ sudo minidlnad -R&lt;/span&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span&gt;⑭動作確認（Windows）&lt;/span&gt;&lt;/h3&gt;&lt;span&gt;エクスプローラーで\\RPi3　&lt;/span&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span&gt;⑮トラブル時の確認コマンド&lt;/span&gt;&lt;/h3&gt;&lt;span&gt;$ systemctl status smbd 　Samba状態&lt;br /&gt;表示例)&lt;br /&gt;&lt;/span&gt;pi@RPi3:~ $ systemctl status smbd&lt;br /&gt;● smbd.service - Samba SMB Daemon&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Loaded: loaded (/usr/lib/systemd/system/smbd.se&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Active: active (running) since Sun 2026-05-10 2&amp;gt;&lt;br /&gt;&amp;nbsp;Invocation: 8ab259a2c8db44a2a2b87a54ba54d3b6&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Docs: man:smbd(8)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;man:samba(7)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;man:smb.conf(5)&lt;br /&gt;&amp;nbsp; &amp;nbsp;Main PID: 11111 (smbd)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Status: &quot;smbd: ready to serve connections...&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Tasks: 4 (limit: 751)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CPU: 7.385s&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;CGroup: /system.slice/smbd.service&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tq11111 /usr/sbin/smbd --foreground --n&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tq11114 &quot;smbd: notifyd&quot; .&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tq11115 &quot;smbd: cleanupd &quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mq11583 &quot;smbd: client [240b:13:7e1:7600&amp;gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;$ systemctl status minidlna&amp;nbsp; 　DLNA状態&lt;br /&gt;表示例）&lt;br /&gt;pi@RPi3:~ $ systemctl status minidlna&lt;br /&gt;● minidlna.service - MiniDLNA lightweight DLNA/UPnP-&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Loaded: loaded (/usr/lib/systemd/system/minidln&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Active: active (running) since Sun 2026-05-10 2&amp;gt;&lt;br /&gt;&amp;nbsp;Invocation: bea131b5f08645419921f4a3d9b183c8&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Docs: man:minidlnad(1)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;man:minidlna.conf(5)&lt;br /&gt;&amp;nbsp; &amp;nbsp;Main PID: 11666 (minidlnad)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Tasks: 2 (limit: 751)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CPU: 4min 53.080s&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;CGroup: /system.slice/minidlna.service&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tq11666 /usr/sbin/minidlnad -f /etc/min&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mq11673 /usr/sbin/minidlnad -f /etc/min&amp;gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;Python＋Flaskで表示画面作成&lt;/h1&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;１．必要なパッケージをインストールする&lt;/h3&gt;$ sudo apt update&lt;br /&gt;$ sudo apt install -y python3-flask python3-psutil smartmontools&lt;br /&gt;$ sudo apt install -y mpd mpc　　※音楽表示をする場合&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;②作業フォルダ作成&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;$ mkdir -p ~/nas-monitor/templates&lt;br /&gt;$ mkdir -p ~/nas-monitor/static&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;フォルダ構成&lt;br /&gt;/home/pi/nas-monitor/&lt;br /&gt;├── app.py&lt;br /&gt;├── templates/&lt;br /&gt;│　　&amp;nbsp; &amp;nbsp;└── index.html&lt;br /&gt;└── static/&lt;br /&gt;　　　　└── style.css&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;③Pythonコード作成（Flask本体）&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;$ nano ~/nas-monitor/app.py&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;&lt;span style=&quot;color: #8e7cc3; font-family: inherit;&quot;&gt;from flask import Flask, render_template, jsonify
import psutil
import shutil
import subprocess
import time
from datetime import datetime

app = Flask(__name__)

# ===== 設定 =====

# HDD名
DISK = &quot;/dev/sdb&quot;

# 使用しているネットワークIF
# Wi-Fiなら wlan0
# 有線なら eth0
NETWORK_IF = &quot;wlan0&quot;

# マウント先
MOUNT_POINT = &quot;/mnt/hdd&quot;

# ==================

# ネットワーク速度計算用
last_bytes = 0
last_time = time.time()

def get_cpu_temp():

    try:

        temp = subprocess.check_output(
            [&quot;vcgencmd&quot;, &quot;measure_temp&quot;]
        ).decode()

        return temp.replace(&quot;temp=&quot;, &quot;&quot;).replace(&quot;&#39;C\n&quot;, &quot;&quot;)

    except:

        return &quot;不明&quot;


def get_disk_temp():

    try:

        output = subprocess.check_output(
            [
                &quot;sudo&quot;,
                &quot;smartctl&quot;,
                &quot;-A&quot;,
                &quot;-d&quot;,
                &quot;sat&quot;,
                DISK
            ]
        ).decode()

        for line in output.splitlines():

            if &quot;Temperature_Celsius&quot; in line:

                return line.split()[-1] + &quot;°C&quot;

            if &quot;Airflow_Temperature_Cel&quot; in line:

                return line.split()[-1] + &quot;°C&quot;

        return &quot;不明&quot;

    except Exception as e:

        return &quot;取得失敗&quot;


def get_smart_status():

    try:

        output = subprocess.check_output(
            [
                &quot;sudo&quot;,
                &quot;smartctl&quot;,
                &quot;-H&quot;,
                &quot;-d&quot;,
                &quot;sat&quot;,
                DISK
            ]
        ).decode()

        if &quot;PASSED&quot; in output:

            return &quot;正常&quot;

        else:

            return &quot;異常&quot;

    except:

        return &quot;取得失敗&quot;


def get_now_playing():

    try:

        song = subprocess.check_output(
            [&quot;mpc&quot;, &quot;current&quot;]
        ).decode().strip()

        if song == &quot;&quot;:

            return &quot;なし&quot;

        return song

    except:

        return &quot;なし&quot;


def get_network_speed():

    global last_bytes
    global last_time

    try:

        counters = psutil.net_io_counters(pernic=True)

        if NETWORK_IF not in counters:

            return 0

        net = counters[NETWORK_IF]

        current_bytes = net.bytes_recv + net.bytes_sent

        current_time = time.time()

        speed = (
            current_bytes - last_bytes
        ) / (
            current_time - last_time
        )

        last_bytes = current_bytes
        last_time = current_time

        # MB/s
        return round(speed / 1024 / 1024, 2)

    except:

        return 0


@app.route(&quot;/&quot;)
def index():

    return render_template(&quot;index.html&quot;)


@app.route(&quot;/status&quot;)
def status():

    # CPU
    cpu = psutil.cpu_percent()

    # RAM
    ram = psutil.virtual_memory().percent

    # ストレージ
    total, used, free = shutil.disk_usage(MOUNT_POINT)

    storage_percent = round(
        (used / total) * 100,
        1
    )

    total_tb = round(
        total / (1024**4),
        1
    )

    # 温度
    cpu_temp = get_cpu_temp()

    disk_temp = get_disk_temp()

    # SMART
    smart = get_smart_status()

    # ネットワーク
    network_speed = get_network_speed()

    # 時刻
    now = datetime.now().strftime(&quot;%H:%M:%S&quot;)

    # 音楽
    music = get_now_playing()

    return jsonify({

        &quot;cpu&quot;: cpu,

        &quot;ram&quot;: ram,

        &quot;storage_percent&quot;: storage_percent,

        &quot;total_tb&quot;: total_tb,

        &quot;cpu_temp&quot;: cpu_temp,

        &quot;disk_temp&quot;: disk_temp,

        &quot;smart&quot;: smart,

        &quot;network_speed&quot;: network_speed,

        &quot;time&quot;: now,

        &quot;music&quot;: music
    })


if __name__ == &quot;__main__&quot;:

    app.run(
        host=&quot;0.0.0.0&quot;,
        port=5000
    )&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;④HTML作成&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;$ nano ~/nas-monitor/templates/index.html&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;&amp;lt;html lang=&quot;ja&quot;&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;NAS Monitor&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;/static/style.css&quot;&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;div class=&quot;container&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;top&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;left&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;h2&amp;gt;ストレージ使用率：&amp;lt;span id=&quot;storage&quot;&amp;gt;&amp;lt;/span&amp;gt;%&amp;lt;/h2&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;( &amp;lt;span id=&quot;total&quot;&amp;gt;&amp;lt;/span&amp;gt;TB)&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;right&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;システム温度：&amp;lt;span id=&quot;cpu_temp&quot;&amp;gt;&amp;lt;/span&amp;gt;°C&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;ディスク温度：&amp;lt;span id=&quot;disk_temp&quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;SMART：&amp;lt;span id=&quot;smart&quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;middle&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;ネットワーク転送速度：&amp;lt;span id=&quot;network&quot;&amp;gt;&amp;lt;/span&amp;gt; MB/s&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;CPU使用率：&amp;lt;span id=&quot;cpu&quot;&amp;gt;&amp;lt;/span&amp;gt;%&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;RAM使用率：&amp;lt;span id=&quot;ram&quot;&amp;gt;&amp;lt;/span&amp;gt;%&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;clock&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;現在時間&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div id=&quot;time&quot;&amp;gt;00:00:00&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;music&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;p&amp;gt;現在再生中の音楽：&amp;lt;span id=&quot;music&quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;async function updateStatus() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; const response = await fetch(&quot;/status&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; const data = await response.json();&lt;br /&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&quot;storage&quot;).innerText =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.storage_percent;&lt;br /&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&quot;total&quot;).innerText =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.total_gb;&lt;br /&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&quot;cpu_temp&quot;).innerText =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.cpu_temp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&quot;disk_temp&quot;).innerText =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.disk_temp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&quot;smart&quot;).innerText =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.smart;&lt;br /&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&quot;network&quot;).innerText =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.network_speed;&lt;br /&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&quot;cpu&quot;).innerText =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.cpu;&lt;br /&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&quot;ram&quot;).innerText =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.ram;&lt;br /&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&quot;time&quot;).innerText =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.time;&lt;br /&gt;&amp;nbsp; &amp;nbsp; document.getElementById(&quot;music&quot;).innerText =&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data.music;&lt;br /&gt;}&lt;br /&gt;setInterval(updateStatus, 1000);&lt;br /&gt;updateStatus();&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span&gt;⑤CSS作成&lt;/span&gt;&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span&gt;$ nano ~/nas-monitor/static/style.css&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;body {&lt;br /&gt;&amp;nbsp; &amp;nbsp; background: #efefef;&lt;br /&gt;&amp;nbsp; &amp;nbsp; font-family: sans-serif;&lt;br /&gt;&amp;nbsp; &amp;nbsp; margin: 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; padding: 10px;&lt;br /&gt;&amp;nbsp; &amp;nbsp; width: 800px;&lt;br /&gt;&amp;nbsp; &amp;nbsp; height: 480px;&lt;br /&gt;&amp;nbsp; &amp;nbsp; overflow: hidden;&lt;br /&gt;}&lt;br /&gt;.container {&lt;br /&gt;&amp;nbsp; &amp;nbsp; display: flex;&lt;br /&gt;&amp;nbsp; &amp;nbsp; flex-direction: column;&lt;br /&gt;&amp;nbsp; &amp;nbsp; height: 100%;&lt;br /&gt;}&lt;br /&gt;.top {&lt;br /&gt;&amp;nbsp; &amp;nbsp; display: flex;&lt;br /&gt;&amp;nbsp; &amp;nbsp; justify-content: space-between;&lt;br /&gt;}&lt;br /&gt;.middle {&lt;br /&gt;&amp;nbsp; &amp;nbsp; margin-top: 40px;&lt;br /&gt;&amp;nbsp; &amp;nbsp; display: flex;&lt;br /&gt;&amp;nbsp; &amp;nbsp; justify-content: space-between;&lt;br /&gt;}&lt;br /&gt;.clock {&lt;br /&gt;&amp;nbsp; &amp;nbsp; margin-top: 40px;&lt;br /&gt;&amp;nbsp; &amp;nbsp; text-align: center;&lt;br /&gt;}&lt;br /&gt;#time {&lt;br /&gt;&amp;nbsp; &amp;nbsp; font-size: 80px;&lt;br /&gt;&amp;nbsp; &amp;nbsp; letter-spacing: 10px;&lt;br /&gt;}&lt;br /&gt;.music {&lt;br /&gt;&amp;nbsp; &amp;nbsp; margin-top: 30px;&lt;br /&gt;&amp;nbsp; &amp;nbsp; font-size: 20px;&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑥Flask起動&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;$ cd ~/nas-monitor&lt;br /&gt;$ python3 app.py&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;表示例）&lt;br /&gt;&amp;nbsp;* Running on all addresses (0.0.0.0)&lt;br /&gt;&amp;nbsp;* Running on http://127.0.0.1:5000&lt;br /&gt;&amp;nbsp;* Running on http://192.168.10.131:5000&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;ラズパイからなら、ブラウザにhttp://127.0.0.1:5000と入力&lt;br /&gt;LAN内のWindows機からはhttp://192.168.10.131:5000と入力すると表示される。&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑦sudoers設定&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;$ sudo visudo&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;最後に以下の1文を追記する。&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;pi ALL=(ALL) NOPASSWD: /usr/sbin/smartctl&lt;/span&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑧自動起動設定&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;サービスに登録する。&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;$ sudo nano /etc/systemd/system/nas-monitor.service&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;[Unit]&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;Description=NAS Monitor&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;After=network.target&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;&lt;br /&gt;[Service]&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;User=pi&lt;/span&gt;&lt;br style=&quot;color: #8e7cc3;&quot; /&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;WorkingDirectory=/home/pi/nas-monitor&lt;/span&gt;&lt;br style=&quot;color: #8e7cc3;&quot; /&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;ExecStart=/usr/bin/python3 /home/pi/nas-monitor/app.py&lt;/span&gt;&lt;br style=&quot;color: #8e7cc3;&quot; /&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;Restart=always&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;[Install]&lt;/span&gt;&lt;br style=&quot;color: #8e7cc3;&quot; /&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;WantedBy=multi-user.target&lt;/span&gt;&lt;/p&gt;&lt;p&gt;上記自作のサービスを有効にする。&lt;/p&gt;&lt;p&gt;$ sudo systemctl daemon-reload&lt;br /&gt;$ sudo systemctl enable nas-monitor&lt;br /&gt;$ sudo systemctl start nas-monitor&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;⑨フルスクリーン表示(失敗するかも)&lt;/h3&gt;&lt;div&gt;※Trixie では、最終的にlabwc + Chromium appモードが安定するようです。&lt;br /&gt;&lt;div&gt;Trixieでは：&lt;/div&gt;&lt;div&gt;旧方式&lt;span&gt;&amp;nbsp; &amp;nbsp; 　　　　&lt;/span&gt;新方式&lt;/div&gt;&lt;div&gt;LXDE&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;　　　　labwc&lt;/div&gt;&lt;div&gt;Openbox&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;　　Wayland&lt;/div&gt;&lt;div&gt;X11 autostart&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Wayland autostart&lt;br /&gt;となっているため、 $ ls -la ~　で&lt;br /&gt;&lt;div&gt;-rw-rw-r-- 1 pi pi 15 May 16 22:42 .xinitrc&lt;/div&gt;&lt;div&gt;-rwxrwxr-x 1 pi pi 37 May 16 22:45 .xsessionrc&lt;/div&gt;&lt;div&gt;のX11用設定ファイル残っていると、起動時に画面表示されなくなる可能性もあります。&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;$ sudo apt install -y chromium&lt;br /&gt;$&amp;nbsp;mkdir -p ~/.config/lxsession/LXDE&lt;br /&gt;$&amp;nbsp;nano ~/.config/lxsession/LXDE/autostart&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;p&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;@xset s off&lt;br /&gt;@xset -dpms&lt;br /&gt;@xset s noblank&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;@unclutter -idle 0&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;@chromium&lt;br /&gt;--kiosk&lt;br /&gt;--app=&lt;a href=&quot;http://localhost:5000/&quot;&gt;http://localhost:5000&lt;/a&gt;&lt;br /&gt;--no-first-run&lt;br /&gt;--disable-infobars&lt;br /&gt;--disable-session-crashed-bubble&lt;br /&gt;--disable-features=TranslateUI&lt;br /&gt;--disable-gpu&lt;br /&gt;--incognito&lt;br /&gt;--noerrdialogs&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;表示されない場合、LXDEが起動していない可能性もある。&lt;/div&gt;&lt;div&gt;必要なGUIを追加する。&lt;/div&gt;&lt;div&gt;&lt;div&gt;$ sudo apt update&lt;/div&gt;&lt;div&gt;$ sudo apt install -y lxde-core lightdm xserver-xorg xinit openbox&lt;br /&gt;$&amp;nbsp;sudo nano /etc/lightdm/lightdm.conf&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[Seat:*]の下に以下を追加。&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;autologin-user=pi&lt;br /&gt;autologin-user-timeout=0&lt;br /&gt;user-session=LXDE&lt;/span&gt;&lt;/div&gt;&lt;div&gt;#autologin-session=rpd-labwc&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;でもTrixie は：labwc（Wayland）が標準採用なんだよね。。。&lt;/div&gt;&lt;div&gt;※Trixie では、最終的にlabwc + Chromium appモードが安定するようです。&lt;br /&gt;&lt;div&gt;Trixieでは：&lt;/div&gt;&lt;div&gt;旧方式&amp;nbsp; &amp;nbsp; 　　　　新方式&lt;/div&gt;&lt;div&gt;LXDE&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;　　　　labwc&lt;/div&gt;&lt;div&gt;Openbox&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;　　Wayland&lt;/div&gt;&lt;div&gt;X11 autostart&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;Wayland autostart&lt;br /&gt;となっているため、 $ ls -la ~　で&lt;br /&gt;&lt;div&gt;-rw-rw-r-- 1 pi pi 15 May 16 22:42 .xinitrc&lt;/div&gt;&lt;div&gt;-rwxrwxr-x 1 pi pi 37 May 16 22:45 .xsessionrc&lt;/div&gt;&lt;div&gt;のX11用設定ファイル残っていると、起動時に画面表示されなくなる可能性もあります。&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;自動起動しなくても良い場合には、デスクトップに起動用のショートカットを作成するのもあり。&lt;/div&gt;&lt;div&gt;$&amp;nbsp;nano ~/Desktop/NASMonitor.desktop&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;[Desktop Entry]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;Version=1.0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;Type=Application&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;Name=NAS Monitor&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;Comment=NAS Monitor Dashboard&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;Exec=chromium --app=http://localhost:5000 --start-maximized --disable-infobars --disable-session-crashed-bubble --disable-features=TranslateUI --incognito&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;Icon=chromium-browser&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;Terminal=false&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #8e7cc3;&quot;&gt;Categories=Network;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;実行権限付与&lt;/div&gt;&lt;div&gt;$ chmod +x ~/Desktop/NASMonitor.desktop&lt;/div&gt;&lt;div&gt;$&amp;nbsp;gio set ~/Desktop/NASMonitor.desktop metadata::trusted true&lt;/div&gt;&lt;div&gt;$&amp;nbsp;sudo reboot&lt;/div&gt;&lt;div&gt;上記で、&lt;/div&gt;&lt;div&gt;&lt;li data-end=&quot;1119&quot; data-start=&quot;1113&quot;&gt;タブなし
&lt;/li&gt;
&lt;li data-end=&quot;1129&quot; data-start=&quot;1120&quot;&gt;
URLバーなし
&lt;/li&gt;
&lt;li data-end=&quot;1140&quot; data-start=&quot;1130&quot;&gt;
ブックマークなし
&lt;/li&gt;
&lt;li data-end=&quot;1149&quot; data-start=&quot;1141&quot;&gt;
メニューなし　の専用UIっぽい表示になりました。&lt;/li&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/2684100593429904336/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2026/05/nas.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/2684100593429904336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/2684100593429904336'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2026/05/nas.html' title='ラズパイでNAS　＋α'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-8496851327478745081</id><published>2025-08-26T23:50:00.001+09:00</published><updated>2025-08-26T23:50:49.173+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><category scheme="http://www.blogger.com/atom/ns#" term="ＰＣ"/><title type='text'>VScodeでラズパイに接続</title><content type='html'>&lt;p&gt;LM Studio -0.3.23とopenai/gpt-oss-20bを使用して、ウィンドウズ機からラズベリーパイ上でPythonファイルを操作する方法を聞いてみた。&lt;/p&gt;&lt;p&gt;Q:windows11のパソコンから、VScodeを使用して、ラズベリーパイ上のPythonファイルを操作したいので、環境構築方法を教えてください。&lt;/p&gt;&lt;p&gt;A:&lt;/p&gt;&lt;h2 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px 0px 1px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 21.6px; margin: 25.92px 0px 15.12px; padding-bottom: 6.48px;&quot;&gt;概要&lt;/h2&gt;&lt;p class=&quot;whitespace-pre-wrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin: 0px 0px 14px; white-space-collapse: preserve;&quot;&gt;Windows 11 の PC から &lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; font-weight: 600;&quot;&gt;Visual Studio Code (VS Code)&lt;/span&gt; を使い、Raspberry Pi 上の Python ファイルを開いて編集・実行するだけでなく、デバッグやパッケージ管理も同じエディタ内で完結できるようにします。&lt;br style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box;&quot; /&gt;
以下は「Remote‑SSH」拡張機能を中心にした手順です。&lt;/p&gt;&lt;table style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-collapse: collapse; border-color: inherit; border-spacing: 0px; border-style: solid; border-width: 0px; color: #323232; display: block; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 14px; margin-top: 0px; max-width: 100%; overflow: auto; text-indent: 0px; width: max-content;&quot;&gt;&lt;thead style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box;&quot;&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;th style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;目的&lt;/th&gt;&lt;th style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;手順&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box;&quot;&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;1. VS Code をインストール&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;公式サイトからインストーラをダウンロード → インストール&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;2. Remote‑SSH 拡張機能を追加&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;VS Code の拡張機能ビューで「Remote - SSH」を検索してインストール&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;3. Raspberry Pi に SSH 接続設定&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;キーペア生成、&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;authorized_keys&lt;/code&gt;&amp;nbsp;設定&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;4. Python 環境の準備&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;必要なパッケージを&amp;nbsp;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;pip install&lt;/code&gt;&amp;nbsp;で入れる&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;5. VS Code からリモート接続&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;Remote‑SSH で Pi に接続し、Python ファイルを開く&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(228, 228, 228); border: 0px; box-sizing: content-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; height: 2px; margin: 17.6px 0px; padding: 0px;&quot; /&gt;&lt;h2 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px 0px 1px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 21.6px; margin: 25.92px 0px 15.12px; padding-bottom: 6.48px;&quot;&gt;1. Windows 11 への VS Code インストール&lt;/h2&gt;&lt;ol style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; list-style-image: initial; list-style-position: initial; margin: 0px 0px 14px; padding: 0px 0px 0px 2em;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box;&quot;&gt;&lt;p class=&quot;whitespace-pre-wrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin: 0px 0px 0.3em;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; font-weight: 600; white-space: pre-wrap;&quot;&gt;公式サイト
&lt;/span&gt;&lt;br style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box;&quot; /&gt;
&lt;span style=&quot;color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;&quot;&gt;&lt;span style=&quot;white-space-collapse: preserve;&quot;&gt;https://code.visualstudio.com/download&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;&quot;&gt;&lt;span style=&quot;white-space-collapse: preserve;&quot;&gt;

→ 「Windows」→「64-bit .zip」をダウンロード（または MSI を選択）。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-top: 0.25em; white-space: initial;&quot;&gt;&lt;p class=&quot;whitespace-pre-wrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin: 0px 0px 0.3em; white-space-collapse: preserve;&quot;&gt;ZIP を展開し、&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; word-break: break-word;&quot;&gt;Code.exe&lt;/code&gt; を起動。&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-top: 0.25em; white-space: initial;&quot;&gt;&lt;p class=&quot;whitespace-pre-wrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin: 0px 0px 0.3em; white-space-collapse: preserve;&quot;&gt;初回起動時に言語設定・拡張機能の推奨を聞かれますので任意で設定。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(228, 228, 228); border: 0px; box-sizing: content-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; height: 2px; margin: 17.6px 0px; padding: 0px;&quot; /&gt;&lt;h2 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px 0px 1px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 21.6px; margin: 25.92px 0px 15.12px; padding-bottom: 6.48px;&quot;&gt;2. Remote‑SSH 拡張機能を追加&lt;/h2&gt;&lt;ol style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 14px; padding: 0px 0px 0px 2em;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; white-space: initial;&quot;&gt;VS Code 左側バーから&amp;nbsp;&lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; font-weight: 600;&quot;&gt;Extensions&lt;/span&gt;&amp;nbsp;(四角いアイコン) をクリック。&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;検索ボックスに&amp;nbsp;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Remote - SSH&lt;/code&gt;&amp;nbsp;と入力 → Microsoft が配布している拡張機能を選択。&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; font-weight: 600;&quot;&gt;Install&lt;/span&gt;&amp;nbsp;ボタンでインストール。&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;インストール完了後、左下の青いアイコン（&amp;gt;）をクリックし、「Remote-SSH: Connect to Host...」を選びます。&lt;/li&gt;&lt;/ol&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(228, 228, 228); border: 0px; box-sizing: content-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; height: 2px; margin: 17.6px 0px; padding: 0px;&quot; /&gt;&lt;h2 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px 0px 1px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 21.6px; margin: 25.92px 0px 15.12px; padding-bottom: 6.48px;&quot;&gt;3. Raspberry Pi に SSH 接続設定&lt;/h2&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;(a) Pi の IP アドレス確認&lt;/h3&gt;&lt;div class=&quot;group relative flex w-full&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 1em; position: relative; width: 807px;&quot;&gt;&lt;pre class=&quot;relative flex w-full break-words rounded-md bg-muted px-2 border border-border/30 !mb-0 whitespace-normal text-sm&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgba(228, 228, 228, 0.3); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #0f172a; display: flex; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 1em; line-height: 1.45; margin: 0px 0px 14px; overflow-wrap: normal; overflow: auto; padding: 1em; position: relative; white-space: normal; width: 807px;&quot;&gt;&lt;code class=&quot;hljs language-bash border border-border/50 hljs language-bash&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #5c6370; font-style: italic;&quot;&gt;# ターミナルで実行&lt;/span&gt;
hostname -I   &lt;span class=&quot;hljs-comment&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #5c6370; font-style: italic;&quot;&gt;# 例: 192.168.1.55&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;(b) Windows から SSH キー生成（PowerShell）&lt;/h3&gt;&lt;div class=&quot;group relative flex w-full&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 1em; position: relative; width: 807px;&quot;&gt;&lt;pre class=&quot;relative flex w-full break-words rounded-md bg-muted px-2 border border-border/30 !mb-0 whitespace-normal text-sm&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgba(228, 228, 228, 0.3); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #0f172a; display: flex; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 1em; line-height: 1.45; margin: 0px 0px 14px; overflow-wrap: normal; overflow: auto; padding: 1em; position: relative; white-space: normal; width: 807px;&quot;&gt;&lt;code class=&quot;hljs language-powershell border border-border/50 hljs language-powershell&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;ssh-keygen -t ed25519 -C &quot;your_email@example.com&quot;
# デフォルトの保存場所 (~\.ssh\id_ed25519) をそのまま OK
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 14px; padding: 0px 0px 0px 2em;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; white-space: initial;&quot;&gt;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;id_ed25519.pub&lt;/code&gt;&amp;nbsp;が公開鍵。&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;(c) 公開鍵を Pi にコピー&lt;/h3&gt;&lt;div class=&quot;group relative flex w-full&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 1em; position: relative; width: 807px;&quot;&gt;&lt;pre class=&quot;relative flex w-full break-words rounded-md bg-muted px-2 border border-border/30 !mb-0 whitespace-normal text-sm&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgba(228, 228, 228, 0.3); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #0f172a; display: flex; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 1em; line-height: 1.45; margin: 0px 0px 14px; overflow-wrap: normal; overflow: auto; padding: 1em; position: relative; white-space: normal; width: 807px;&quot;&gt;&lt;code class=&quot;hljs language-powershell border border-border/50 hljs language-powershell&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;scp ~/.ssh/id_ed25519.pub pi@192.168.1.55:~
# ここでパスワードを入力（Pi のユーザー名は通常 `pi`、デフォルトのパスワードは `raspberry`）
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;(d) Pi 側で公開鍵を登録&lt;/h3&gt;&lt;div class=&quot;group relative flex w-full&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 1em; position: relative; width: 807px;&quot;&gt;&lt;pre class=&quot;relative flex w-full break-words rounded-md bg-muted px-2 border border-border/30 !mb-0 whitespace-normal text-sm&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgba(228, 228, 228, 0.3); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #0f172a; display: flex; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 1em; line-height: 1.45; margin: 0px 0px 14px; overflow-wrap: normal; overflow: auto; padding: 1em; position: relative; white-space: normal; width: 807px;&quot;&gt;&lt;code class=&quot;hljs language-bash border border-border/50 hljs language-bash&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;ssh pi@192.168.1.55   &lt;span class=&quot;hljs-comment&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #5c6370; font-style: italic;&quot;&gt;# パスワード認証でログイン&lt;/span&gt;

&lt;span class=&quot;hljs-built_in&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #e6c07b;&quot;&gt;mkdir&lt;/span&gt; -p ~/.ssh
&lt;span class=&quot;hljs-built_in&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #e6c07b;&quot;&gt;chmod&lt;/span&gt; 700 ~/.ssh
&lt;span class=&quot;hljs-built_in&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #e6c07b;&quot;&gt;cat&lt;/span&gt; ~/id_ed25519.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys
&lt;span class=&quot;hljs-built_in&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #e6c07b;&quot;&gt;chmod&lt;/span&gt; 600 ~/.ssh/authorized_keys
&lt;span class=&quot;hljs-built_in&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #e6c07b;&quot;&gt;rm&lt;/span&gt; id_ed25519.pub
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;(e) VS Code の SSH 構成ファイルにホスト追加&lt;/h3&gt;&lt;p class=&quot;whitespace-pre-wrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin: 0px 0px 14px; white-space-collapse: preserve;&quot;&gt;VS Code を起動し、左下の青いアイコン &amp;gt; &lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; word-break: break-word;&quot;&gt;Remote-SSH: Open Configuration File...&lt;/code&gt; → &lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; word-break: break-word;&quot;&gt;config&lt;/code&gt; を選択。&lt;/p&gt;&lt;div class=&quot;group relative flex w-full&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 1em; position: relative; width: 807px;&quot;&gt;&lt;pre class=&quot;relative flex w-full break-words rounded-md bg-muted px-2 border border-border/30 !mb-0 whitespace-normal text-sm&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgba(228, 228, 228, 0.3); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #0f172a; display: flex; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 1em; line-height: 1.45; margin: 0px 0px 14px; overflow-wrap: normal; overflow: auto; padding: 1em; position: relative; white-space: normal; width: 807px;&quot;&gt;&lt;code class=&quot;hljs language-ini border border-border/50 hljs language-ini&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Host raspberrypi
    HostName 192.168.1.55      &lt;span class=&quot;hljs-comment&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #5c6370; font-style: italic;&quot;&gt;# 実際の IP アドレスに置き換えてください&lt;/span&gt;
    User pi                    &lt;span class=&quot;hljs-comment&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #5c6370; font-style: italic;&quot;&gt;# Pi のユーザー名&lt;/span&gt;
    IdentityFile ~/.ssh/id_ed25519   &lt;span class=&quot;hljs-comment&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #5c6370; font-style: italic;&quot;&gt;# Windows の秘密鍵パス&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&quot;relative flex w-full max-w-[700px] flex-none overflow-hidden&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; flex: 0 0 auto; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; max-width: 700px; overflow: hidden; position: relative; width: 700px;&quot;&gt;&lt;blockquote class=&quot;pr-5&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px 0px 0px 4px; box-sizing: border-box; color: #64748b; margin: 0px 0px 14px; padding: 0px 1em;&quot;&gt;&lt;p class=&quot;whitespace-pre-wrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin: 0px; white-space-collapse: preserve;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; font-weight: 600;&quot;&gt;Tip&lt;/span&gt;: &lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; word-break: break-word;&quot;&gt;Host&lt;/code&gt; は好きな名前で OK。&lt;br style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box;&quot; /&gt;
もし Wi‑Fi が頻繁に変わる場合は &lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; word-break: break-word;&quot;&gt;HostName&lt;/code&gt; を DHCP 固定 IP に設定しておくと便利。&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(228, 228, 228); border: 0px; box-sizing: content-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; height: 2px; margin: 17.6px 0px; padding: 0px;&quot; /&gt;&lt;h2 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px 0px 1px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 21.6px; margin: 25.92px 0px 15.12px; padding-bottom: 6.48px;&quot;&gt;4. Raspberry Pi 上の Python 環境準備&lt;/h2&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;(a) 基本的なパッケージをインストール&lt;/h3&gt;&lt;div class=&quot;group relative flex w-full&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 1em; position: relative; width: 807px;&quot;&gt;&lt;pre class=&quot;relative flex w-full break-words rounded-md bg-muted px-2 border border-border/30 !mb-0 whitespace-normal text-sm&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgba(228, 228, 228, 0.3); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #0f172a; display: flex; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 1em; line-height: 1.45; margin: 0px 0px 14px; overflow-wrap: normal; overflow: auto; padding: 1em; position: relative; white-space: normal; width: 807px;&quot;&gt;&lt;code class=&quot;hljs language-bash border border-border/50 hljs language-bash&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;sudo apt update
sudo apt install python3 python3-pip python3-venv -y
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;(b) 仮想環境（オプション）&lt;/h3&gt;&lt;p class=&quot;whitespace-pre-wrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin: 0px 0px 14px; white-space-collapse: preserve;&quot;&gt;プロジェクトごとに隔離したい場合は仮想環境を作成します。&lt;/p&gt;&lt;div class=&quot;group relative flex w-full&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 1em; position: relative; width: 807px;&quot;&gt;&lt;pre class=&quot;relative flex w-full break-words rounded-md bg-muted px-2 border border-border/30 !mb-0 whitespace-normal text-sm&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgba(228, 228, 228, 0.3); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #0f172a; display: flex; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 1em; line-height: 1.45; margin: 0px 0px 14px; overflow-wrap: normal; overflow: auto; padding: 1em; position: relative; white-space: normal; width: 807px;&quot;&gt;&lt;code class=&quot;hljs language-bash border border-border/50 hljs language-bash&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #5c6370; font-style: italic;&quot;&gt;# プロジェクトディレクトリへ移動または作成&lt;/span&gt;
&lt;span class=&quot;hljs-built_in&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #e6c07b;&quot;&gt;mkdir&lt;/span&gt; ~/myproject &amp;amp;&amp;amp; &lt;span class=&quot;hljs-built_in&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #e6c07b;&quot;&gt;cd&lt;/span&gt; ~/myproject

python3 -m venv .venv
&lt;span class=&quot;hljs-built_in&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #e6c07b;&quot;&gt;source&lt;/span&gt; .venv/bin/activate   &lt;span class=&quot;hljs-comment&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #5c6370; font-style: italic;&quot;&gt;# activate するとプロンプトが変わる&lt;/span&gt;
pip install --upgrade pip setuptools wheel
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;(c) 必要なパッケージをインストール&lt;/h3&gt;&lt;div class=&quot;group relative flex w-full&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 1em; position: relative; width: 807px;&quot;&gt;&lt;pre class=&quot;relative flex w-full break-words rounded-md bg-muted px-2 border border-border/30 !mb-0 whitespace-normal text-sm&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgba(228, 228, 228, 0.3); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #0f172a; display: flex; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 1em; line-height: 1.45; margin: 0px 0px 14px; overflow-wrap: normal; overflow: auto; padding: 1em; position: relative; white-space: normal; width: 807px;&quot;&gt;&lt;code class=&quot;hljs language-bash border border-border/50 hljs language-bash&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #5c6370; font-style: italic;&quot;&gt;# 例: Flask, pandas など&lt;/span&gt;
pip install flask pandas
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&quot;relative flex w-full max-w-[700px] flex-none overflow-hidden&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; flex: 0 0 auto; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; max-width: 700px; overflow: hidden; position: relative; width: 700px;&quot;&gt;&lt;blockquote class=&quot;pr-5&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px 0px 0px 4px; box-sizing: border-box; color: #64748b; margin: 0px 0px 14px; padding: 0px 1em;&quot;&gt;&lt;p class=&quot;whitespace-pre-wrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin: 0px 0px 14px; white-space-collapse: preserve;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; font-weight: 600;&quot;&gt;Tip&lt;/span&gt;: &lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; word-break: break-word;&quot;&gt;requirements.txt&lt;/code&gt; を使うと再現性が高くなります。&lt;/p&gt;&lt;div class=&quot;group relative flex w-full&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; display: flex; margin-bottom: 1em; position: relative; width: 368.641px;&quot;&gt;&lt;pre class=&quot;relative flex w-full break-words rounded-md bg-muted px-2 border border-border/30 !mb-0 whitespace-normal text-sm&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgba(228, 228, 228, 0.3); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #0f172a; display: flex; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 1em; line-height: 1.45; margin: 0px 0px 14px; overflow-wrap: normal; overflow: auto; padding: 1em; position: relative; white-space: normal; width: 368.641px;&quot;&gt;&lt;code class=&quot;hljs language-bash border border-border/50 hljs language-bash&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;pip freeze &amp;gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(228, 228, 228); border: 0px; box-sizing: content-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; height: 2px; margin: 17.6px 0px; padding: 0px;&quot; /&gt;&lt;h2 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px 0px 1px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 21.6px; margin: 25.92px 0px 15.12px; padding-bottom: 6.48px;&quot;&gt;5. VS Code から Raspberry Pi に接続&lt;/h2&gt;&lt;ol style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 14px; padding: 0px 0px 0px 2em;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; white-space: initial;&quot;&gt;左下の青いアイコン（&amp;gt;）をクリック →&amp;nbsp;&lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; font-weight: 600;&quot;&gt;Remote-SSH: Connect to Host...&lt;/span&gt;&amp;nbsp;→&amp;nbsp;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;raspberrypi&lt;/code&gt;&amp;nbsp;を選択。&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;接続確認ダイアログが出たら OK。&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;接続後、VS Code のステータスバーに「SSH: raspberrypi」と表示されます。&lt;/li&gt;&lt;/ol&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;ファイル操作&lt;/h3&gt;&lt;ul class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 14px; padding: 0px 0px 0px 2em;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; white-space: initial;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; font-weight: 600;&quot;&gt;Explorer&lt;/span&gt;&amp;nbsp;で Pi 上のファイルシステムをブラウズできます。&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;任意の Python ファイル (&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;*.py&lt;/code&gt;) をダブルクリックして開くと、ローカルエディタとして扱われます。&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;ターミナル&lt;/h3&gt;&lt;ul class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 14px; padding: 0px 0px 0px 2em;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; white-space: initial;&quot;&gt;VS Code の&amp;nbsp;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Terminal → New Terminal&lt;/code&gt;&amp;nbsp;で&amp;nbsp;&lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; font-weight: 600;&quot;&gt;リモートターミナル&lt;/span&gt;&amp;nbsp;が起動します。&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;ここでは Pi 上のシェルが実行されるので、Python スクリプトを直接走らせたり、仮想環境をアクティベートできます。&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;group relative flex w-full&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; display: flex; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 1em; position: relative; width: 807px;&quot;&gt;&lt;pre class=&quot;relative flex w-full break-words rounded-md bg-muted px-2 border border-border/30 !mb-0 whitespace-normal text-sm&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgba(228, 228, 228, 0.3); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #0f172a; display: flex; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 1em; line-height: 1.45; margin: 0px 0px 14px; overflow-wrap: normal; overflow: auto; padding: 1em; position: relative; white-space: normal; width: 807px;&quot;&gt;&lt;code class=&quot;hljs language-bash border border-border/50 hljs language-bash&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; white-space-collapse: preserve; word-break: break-word;&quot;&gt;&lt;span class=&quot;hljs-built_in&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #e6c07b;&quot;&gt;source&lt;/span&gt; .venv/bin/activate   &lt;span class=&quot;hljs-comment&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #5c6370; font-style: italic;&quot;&gt;# 仮想環境を有効化&lt;/span&gt;
python script.py
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18.88px; line-height: 1.25; margin: 22.656px 0px 18.88px;&quot;&gt;デバッグ&lt;/h3&gt;&lt;ol style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 14px; padding: 0px 0px 0px 2em;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; white-space: initial;&quot;&gt;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Run → Add Configuration...&lt;/code&gt;&amp;nbsp;を選び、Python のデバッグ設定を作成。&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;変数やブレークポイントを VS Code 内で管理しつつ、Pi 上で実行されるようになります。&lt;/li&gt;&lt;/ol&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(228, 228, 228); border: 0px; box-sizing: content-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; height: 2px; margin: 17.6px 0px; padding: 0px;&quot; /&gt;&lt;h2 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px 0px 1px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 21.6px; margin: 25.92px 0px 15.12px; padding-bottom: 6.48px;&quot;&gt;よくあるトラブルと対策&lt;/h2&gt;&lt;table style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-collapse: collapse; border-color: inherit; border-spacing: 0px; border-style: solid; border-width: 0px; color: #323232; display: block; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin-bottom: 14px; margin-top: 0px; max-width: 100%; overflow: auto; text-indent: 0px; width: max-content;&quot;&gt;&lt;thead style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box;&quot;&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;th style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;問題&lt;/th&gt;&lt;th style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;原因&lt;/th&gt;&lt;th style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;解決策&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box;&quot;&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;SSH 接続がタイムアウト&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;Pi がネットワークに接続できていない&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;Wi‑Fi のSSID・パスワードを確認。Pi の&amp;nbsp;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;ifconfig&lt;/code&gt;&amp;nbsp;で IP を再確認。&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;パーミッションエラー (&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;Permission denied (publickey)&lt;/code&gt;)&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;秘密鍵が正しく設定されていない、または権限不足&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;chmod 600 ~/.ssh/authorized_keys&lt;/code&gt;&amp;nbsp;と&amp;nbsp;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;chmod 700 ~/.ssh&lt;/code&gt;&amp;nbsp;を実行。&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: white; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;Python が見つからない&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;PATH が通っていない&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;/usr/bin/python3&lt;/code&gt;&amp;nbsp;のフルパスを指定するか、仮想環境のアクティベーションを忘れずに。&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f1f5f9; border-color: rgb(228, 228, 228); border-style: solid; border-width: 1px 0px 0px; box-sizing: border-box;&quot;&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;VS Code が Pi 上でファイルを書き換えられない&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;authorized_keys&lt;/code&gt;&amp;nbsp;に書き込み権限がない&lt;/td&gt;&lt;td style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 1px; box-sizing: border-box; padding: 0.375em 0.8125em;&quot;&gt;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;chmod 600 ~/.ssh/authorized_keys&lt;/code&gt;&amp;nbsp;を再確認。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgb(228, 228, 228); border: 0px; box-sizing: content-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; height: 2px; margin: 17.6px 0px; padding: 0px;&quot; /&gt;&lt;h2 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px 0px 1px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 21.6px; margin: 25.92px 0px 15.12px; padding-bottom: 6.48px;&quot;&gt;まとめ&lt;/h2&gt;&lt;ol style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 14px; padding: 0px 0px 0px 2em;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; white-space: initial;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; font-weight: 600;&quot;&gt;VS Code&lt;/span&gt;&amp;nbsp;と&amp;nbsp;&lt;span class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; font-weight: 600;&quot;&gt;Remote‑SSH&lt;/span&gt;&amp;nbsp;拡張機能を Windows 11 にインストール&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;Pi の SSH キー認証を設定&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;VS Code の&amp;nbsp;&lt;code class=&quot;hljs text border border-border/50&quot; dir=&quot;ltr&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #fafafa; border-color: rgba(228, 228, 228, 0.5); border-radius: 6px; border-style: solid; border-width: 1px; box-sizing: border-box; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 0.875em; margin: 0px; padding: 0.2em 0.4em; white-space-collapse: preserve; word-break: break-word;&quot;&gt;config&lt;/code&gt;&amp;nbsp;ファイルでホスト情報を登録&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;Raspberry Pi 上に Python + 必要パッケージ（仮想環境可）を用意&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; margin-top: 0.25em; white-space: initial;&quot;&gt;VS Code からリモート接続し、エディタ・ターミナル・デバッグを同じ UI で操作&lt;/li&gt;&lt;/ol&gt;&lt;p class=&quot;whitespace-pre-wrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin: 0px 0px 14px; white-space-collapse: preserve;&quot;&gt;これで Windows 11 の PC から Raspberry Pi 上の Python 開発がシームレスに行えるようになります。&lt;/p&gt;&lt;p class=&quot;whitespace-pre-wrap&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(249, 249, 249, 0.6); border-color: rgb(228, 228, 228); border-style: solid; border-width: 0px; box-sizing: border-box; color: #323232; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin: 0px; white-space-collapse: preserve;&quot;&gt;Happy coding! 🚀&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/8496851327478745081/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2025/08/vscode.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/8496851327478745081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/8496851327478745081'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2025/08/vscode.html' title='VScodeでラズパイに接続'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-4583821916718057431</id><published>2025-08-17T01:57:00.010+09:00</published><updated>2025-09-01T21:33:07.040+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ＰＣ"/><title type='text'>新PC購入【GMKtec Nucbox M5 Plus】</title><content type='html'>使用していたPC（2012年購入！）が画面フリーズして動かなくなることが頻発してきた。&lt;div&gt;以前からミニPCが気になっていたので改めて見ていたら、&lt;/div&gt;&lt;div&gt;比較的安価なのにRyzen7搭載のミニPCをみつけたのでぽちった。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;GMKtec Nucbox M5 Plus AMD Ryzen 7 5825U&lt;/div&gt;&lt;div&gt;購入時(2025年8月)はアマゾンで約38,000円&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;注意）オフィスソフトがついてない！！&lt;span style=&quot;font-size: x-small;&quot;&gt;（まあいいけど）&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;仕様&lt;/h3&gt;&lt;div&gt;サイズ：12.8x 12.7x5.2cm&lt;/div&gt;&lt;div&gt;OS：Windows11Pro（OEMライセンス）&lt;/div&gt;&lt;div&gt;CPU：Ryzen7 5825U（8C16T）&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white; color: #0f1111;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: &amp;quot;Hiragino Kaku Gothic ProN&amp;quot;, &amp;quot;Hiragino Sans&amp;quot;, Meiryo, sans-serif; font-size: 14px; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhTgPvoCVHhGuqFcU4dlRzUc0qgnCn3ZcQcLeS1bjA4IG6VWES0LF-yF4B2h8EDh7OmpLyF3jiqQPkyQ8seTpoH58JeY1vUXZWVmfzZtYLpfq1bs_CfDzr5RR8_f1up3LObvidenmZNYkNktdZL8sf9HRliuYMHH92PHr2hHkqzweUaDQbFpuKZTkFQy6s&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img data-original-height=&quot;600&quot; data-original-width=&quot;1464&quot; height=&quot;164&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhTgPvoCVHhGuqFcU4dlRzUc0qgnCn3ZcQcLeS1bjA4IG6VWES0LF-yF4B2h8EDh7OmpLyF3jiqQPkyQ8seTpoH58JeY1vUXZWVmfzZtYLpfq1bs_CfDzr5RR8_f1up3LObvidenmZNYkNktdZL8sf9HRliuYMHH92PHr2hHkqzweUaDQbFpuKZTkFQy6s=w400-h164&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;GPU：&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #0f1111;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;AMD Radeon Vega8 グラフィックス 8コア 2000MHz&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;RAM：DDR4-3200　16GB（8GB*2）SODIMM&lt;span style=&quot;background-color: white; color: #0f1111;&quot;&gt;（64GBまで拡張可能）TSMC製&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #0f1111;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;　　　⇒&lt;/span&gt;WINTEN　&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;32GB&lt;/span&gt;&lt;span style=&quot;color: #0f1111;&quot;&gt;（16GB*2）DDR4 3200　CL22 1.2Vへ変更&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;SSD：512GB（&lt;span style=&quot;background-color: white; color: #0f1111;&quot;&gt;PCIe 3.0 M.2 2280スロット*2　1スロット空き）MAX 4TB&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;無線LAN：&lt;span style=&quot;background-color: white; color: #0f1111;&quot;&gt;WiFi 6E（2.4GHz/5.0GHz/6.0GHz）、Bluetooth 5.2、DUAL LAN 2500Mbps*2 RJ45&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;インターフェース：&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white; color: #0f1111;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;1* DCジャックポート; 2* USB 3.2ポート; 2* USB 2.0ポート; 2* RJ45 (2500Mbps LAN)ポート; 1* HDMI 2.0ポート; 1* USB-C (PD/DP/DATA)ポート; 1* DPポート; 1* 3.5mmオーディオジャック(HP&amp;amp;MIC)ポート&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;デメリット：USB4非対応、DDR4&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ベンチマークをしてみた。&lt;/div&gt;&lt;div&gt;【PASSMARK PerformanceTest 11.1】⇒RAM32GB（ビデオメモリ4GB）&lt;/div&gt;&lt;div&gt;passmark:3339　⇒3460&lt;/div&gt;&lt;div&gt;CPUmark:15511　⇒15407&lt;/div&gt;&lt;div&gt;2Dmark:611　⇒635&lt;/div&gt;&lt;div&gt;3Dmark:2521　⇒2588&lt;/div&gt;&lt;div&gt;MEMORYmark:2394　⇒2581&lt;/div&gt;&lt;div&gt;DISKmark:10448　⇒11147&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;&amp;lt;a href=&amp;quot;https://www.passmark.com/baselines/V11/display.php?id=284095117491&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;https://www.passmark.com/baselines/V10/images/284095117491.png&amp;quot; alt=&amp;quot;PassMark Rating&amp;quot; border=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;80&quot; data-original-width=&quot;400&quot; height=&quot;64&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgYz0WTx651wrb8JjQzFclid1DoBz1iMJtMJ13_gwkhLV6Xkx-uvLUl5hTKrLvxqUNgJBzWMjqkeiMjH7ScqddrV-a7N2Q-01XgBoiitmwZtWjRXBd7vQB4ughZgm7zgSqr20RQVJKrrOU6PauDnA6y-CtmO8ZOtD3seG3sQc0Au0YzRx8PlQrj8gNcGyQ&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;↓&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiEESI7hfPEzOHDmgoLVAqIjJRXyx9eRqSoMEBSq2lTby3BDvAxIdHWjHlt_cDXjH6lC54sMwnKpYAu-HDraOzITIvefirhN3No_SHdTXRz4csJPVoS_5vlv3SIjdA-IMGspF7IavtoJBI0K3MT4ceywwwyfiGKEF2FEyTcSeWqBRc18omA1oOJoDWSirg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;861&quot; data-original-width=&quot;1172&quot; height=&quot;294&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiEESI7hfPEzOHDmgoLVAqIjJRXyx9eRqSoMEBSq2lTby3BDvAxIdHWjHlt_cDXjH6lC54sMwnKpYAu-HDraOzITIvefirhN3No_SHdTXRz4csJPVoS_5vlv3SIjdA-IMGspF7IavtoJBI0K3MT4ceywwwyfiGKEF2FEyTcSeWqBRc18omA1oOJoDWSirg=w400-h294&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;【CINEBEMCH R23】⇒RAM32GB（ビデオメモリ4GB）&lt;/div&gt;&lt;div&gt;CPU（Multi Core）6001pts　⇒　6531pts&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;　※どうやったら約11800なんてスコアだせるのだろう。&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CPU（Single Core）1235pts　⇒　1302pts&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;【ファイナルファンタジーXIV: 黄金のレガシー ベンチマーク Ver. 1.1】&lt;/div&gt;&lt;div&gt;&lt;div&gt;SCORE: 2124 設定変更を推奨&lt;/div&gt;&lt;div&gt;1920x1080 高品質（デスクトップPC） DirectX11 FSR ウィンドウモード&lt;/div&gt;&lt;div&gt;AMD Ryzen 7 5825U with Radeon Graphics&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;AMD Radeon (TM) Graphics(VRAM 495 MB)&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;もともとがインテル Core i3-3225からの買い替えなので、だいぶ性能は向上しているはず。&lt;/div&gt;&lt;div&gt;あまり体感で分かるような使い方してないけど、サクサク動いている気はする。&lt;/div&gt;&lt;div&gt;&lt;div&gt;インターネット上でのCPU比較サイトから拾ってきた、旧CPUと新CPUの比較&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;CPUMARK:Core i3-3225(&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;2265&lt;/span&gt;&lt;/b&gt;)→Ryzen 7 5825U(&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;18106&lt;/span&gt;&lt;/b&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;もうね、笑うしかないね。&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;いろいろ調べてみると、&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;GMKTekのミニPCはBIOSでパワーモード（CPU消費電力モード）を選択できるみたい。&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;performance／balance／quietの３種類。デフォルトはbalance。&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;①電源を入れる際にEscキーを連打しBIOS画面に入る。&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;②「Main」の「Power Limit Select」の項目を選択すると、上記の３つを選べる。&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;バランス→パフォーマンスへの変更で「CINEBEMCH R23」CPU（Multi Core）が6,000→10,000程度にまで上がるが、騒音が5db～10db上昇。&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;GPU/マルチコア系で20～30％の性能向上が見込める一方でファン音は増える。単コア性能はほぼ横ばい。&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;⇒普段はbalanceで使用しながらも、負荷の高い作業をさせるときはperformanceに変更するのもあり。&lt;span style=&quot;font-size: x-small;&quot;&gt;再起動が必要なのでめんどうだけど。&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;同じくBIOSにて、「Advanced」の「GFX Configuration」を選択するとGPUのメモリーサイズを変更可能。&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;※2025/8/31追記&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;メモリを32GBへ変更。体感で応答速度が驚くほど格段に上昇。GPUのメモリサイズをデフォルトの496&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/4583821916718057431/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2025/08/pc.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4583821916718057431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4583821916718057431'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2025/08/pc.html' title='新PC購入【GMKtec Nucbox M5 Plus】'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhTgPvoCVHhGuqFcU4dlRzUc0qgnCn3ZcQcLeS1bjA4IG6VWES0LF-yF4B2h8EDh7OmpLyF3jiqQPkyQ8seTpoH58JeY1vUXZWVmfzZtYLpfq1bs_CfDzr5RR8_f1up3LObvidenmZNYkNktdZL8sf9HRliuYMHH92PHr2hHkqzweUaDQbFpuKZTkFQy6s=s72-w400-h164-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-4193137884687353129</id><published>2025-08-04T20:59:00.001+09:00</published><updated>2025-08-04T20:59:27.211+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>ロボットカー　CSIカメラ制御</title><content type='html'>&lt;p&gt;&amp;nbsp;CSIカメラモジュールが同梱されているが、これが何者なのか分からない。&lt;/p&gt;&lt;p&gt;&amp;nbsp;Raspberry Pi OS（64bit版）には、カメラ認識用の機能がインストールされているようです。&lt;/p&gt;&lt;p&gt;$ rpicam-hello --list-cameras&lt;/p&gt;&lt;p&gt;&amp;gt;&amp;gt;&lt;br /&gt;&amp;nbsp;Available cameras&lt;br /&gt;-----------------&lt;br /&gt;0 : ov5647 [2592x1944 10-bit GBRG] (/base/soc/i2c0mux/i2c@1/ov5647@36)&lt;br /&gt;&amp;nbsp; &amp;nbsp; Modes: &#39;SGBRG10_CSI2P&#39; : 640x480 [58.92 fps - (16, 0)/2560x1920 crop]&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1296x972 [46.34 fps - (0, 0)/2592x1944 crop]&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1920x1080 [32.81 fps - (348, 434)/1928x1080 crop]&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2592x1944 [15.63 fps - (0, 0)/2592x1944 crop]&lt;/p&gt;&lt;p&gt;ov5647というカメラモジュールが認識されました。&lt;/p&gt;&lt;p&gt;カメラ制御には現在、picamera2というライブラリがよさそうです。&lt;/p&gt;&lt;p&gt;&amp;nbsp;とりあえず撮影&lt;/p&gt;&lt;p&gt;$ libcamera-still -n --width 1280 --height 1024 -o photo.jpg -t 1&lt;br /&gt;※-n : プレビュー非表示、-o : 保存ファイル名、-t : 撮影までの待ち時間（秒）&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;---camera_test.py---&lt;br /&gt;from&amp;nbsp; picamera2 import Picamera2&lt;br /&gt;from libcamera import Transform&lt;br /&gt;import time&lt;br /&gt;&lt;br /&gt;picam2 = Picamera2(0)&lt;br /&gt;config1 = picam2.create_still_configuration(transform=Transform(hflip=False, vflip=False))&lt;br /&gt;#config2 = picam2.create_video_configuration(main={&quot;size&quot;: (640, 480)})&lt;br /&gt;picam2.configure(config1)&lt;br /&gt;picam2.start()&lt;br /&gt;time.sleep(2)&lt;br /&gt;picam2.capture_file(&quot;camera_image.jpg&quot;)&lt;br /&gt;picam2.stop()&lt;br /&gt;------&lt;/p&gt;&lt;p&gt;&amp;nbsp;2592x1944サイズのjpgファイルができました。きちんと撮れてます。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/4193137884687353129/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2025/08/csi.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4193137884687353129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4193137884687353129'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2025/08/csi.html' title='ロボットカー　CSIカメラ制御'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-5692128043504395557</id><published>2025-07-31T22:14:00.000+09:00</published><updated>2025-07-31T22:14:05.023+09:00</updated><title type='text'>ロボットカー　サーボモーター操作</title><content type='html'>&lt;div class=&quot;separator&quot;&gt;&lt;p style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;【配線図】&lt;/p&gt;&lt;p style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img class=&quot;aligncenter size-full&quot; height=&quot;218&quot; src=&quot;https://osoyoo.com/picture/pie_car_V4/lesson3/3.jpg&quot; width=&quot;400&quot; /&gt;&amp;nbsp;&lt;br /&gt;サーボモーターからの配線をPCA9685の15番に接続します。&lt;/p&gt;&lt;/div&gt;&lt;p&gt;サーボモーター（SG-90）のデータシートより&lt;br /&gt;PWMperiod：20ms（50Hz)　←freqencyは50がよさそう&lt;br /&gt;Duty cycle：0.5～2.4ms&lt;br /&gt;Operating speed: 0.12 s/60 degree&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;ライブラリ&lt;/h4&gt;&lt;p&gt;adafruit_servokit&lt;br /&gt;kit = adafruit_servokit.ServoKit(channels=16)：PCA9685は16ch&lt;br /&gt;kit.servo[15].set_pulse_width_range(500, 2400)&lt;br /&gt;&amp;nbsp;※PCA9685の15番ピンに接続したサーボモーター（SG90）のDuty cycleは0.5ms～2.4msなので上記の設定となる。&lt;br /&gt;kit.servo[15].angle = 0&amp;nbsp;&lt;br /&gt;&amp;nbsp;※PCA9685の15番ピンに接続したサーボモーター（SG90）の角度を0°にする。&lt;/p&gt;
&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;servo.py&lt;/th&gt;&lt;th&gt;備考&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;import time&lt;br /&gt;import board&lt;br /&gt;import busio&lt;br /&gt;from adafruit_pca9685 import PCA9685&lt;br /&gt;import RPi.GPIO as GPIO&lt;br /&gt;&lt;br /&gt;i2c = busio.I2C(board.SCL, board.SDA)&lt;br /&gt;pwm = PCA9685(i2c)&lt;br /&gt;pwm.frequency = 50&lt;br /&gt;&lt;br /&gt;GPIO.setmode(GPIO.BCM)&lt;br /&gt;&lt;br /&gt;from adafruit_servokit import ServoKit&lt;br /&gt;kit = ServoKit(channels=16)&lt;br /&gt;kit.servo[15].set_pulse_width_range(500, 2400)&lt;br /&gt;&lt;br /&gt;kit.servo[15].angle = 0&lt;br /&gt;time.sleep(2)&lt;br /&gt;&lt;br /&gt;for i in range(180):&lt;br /&gt;&amp;nbsp; &amp;nbsp; kit.servo[15].angle = i&lt;br /&gt;&amp;nbsp; &amp;nbsp; time.sleep(0.01)&lt;br /&gt;for i in range(180):&lt;br /&gt;&amp;nbsp; &amp;nbsp; x = 180 - i&lt;br /&gt;&amp;nbsp; &amp;nbsp; kit.servo[15].angle = x&lt;br /&gt;&amp;nbsp; &amp;nbsp; time.sleep(0.01)&lt;br /&gt;&lt;br /&gt;GPIO.cleanup()&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I2Cオブジェクトの作成&lt;br /&gt;&lt;br /&gt;周波数は50Hz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;adafruit_servokitを使用&lt;br /&gt;&lt;br /&gt;Duty cycle：0.5～2.4ms&lt;br /&gt;&lt;br /&gt;0°にして&lt;br /&gt;2秒待つ&lt;br /&gt;&lt;br /&gt;0～180°を&lt;br /&gt;1°ずつ増やす&lt;br /&gt;0.01秒ごとに&lt;br /&gt;&lt;br /&gt;180～0°へ&lt;br /&gt;1°ずつ減らす&lt;br /&gt;0.01秒ごとに&lt;br /&gt;&lt;br /&gt;ピン解放&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;adafruit_pca9685でPCA9685.set_pwm()が使えない。&lt;br /&gt;pwm.set_pwm(チャンネル, 0, パルス幅) のように使うらしいが、、&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/5692128043504395557/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2025/07/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/5692128043504395557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/5692128043504395557'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2025/07/blog-post.html' title='ロボットカー　サーボモーター操作'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-5148940233472867033</id><published>2025-07-25T21:50:00.000+09:00</published><updated>2025-07-28T22:12:54.614+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>ロボットカー　DCモーター操作</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;チュートリアル通りに組み立てを完了させます。&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;【配線図】&lt;/h3&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img class=&quot;aligncenter size-full&quot; height=&quot;260&quot; src=&quot;https://osoyoo.com/picture/pie_car_V4/lesson1/15.jpg&quot; width=&quot;400&quot; /&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;（画像：https://osoyoo.com/2023/03/09/raspberry-pi-robot-car-v4-0-lesson-1-basic-installation-and-movement/）&lt;/p&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;osoyoo model X モータードライバー(&lt;span data-huuid=&quot;5679333628821492375&quot;&gt;&lt;span&gt;L298N&lt;/span&gt;&lt;/span&gt;)&lt;br /&gt;IN1 = 23&amp;nbsp; #Left motor direction pin Board16&lt;br /&gt;IN2 = 24&amp;nbsp; #Left motor direction pin Board18&lt;br /&gt;IN3 = 27&amp;nbsp; #Right motor direction pin Board13&lt;br /&gt;IN4 = 22&amp;nbsp; #Right motor direction pin Board15&lt;br /&gt;ENA = 0&amp;nbsp; #Left motor speed PCA9685 port 0&lt;br /&gt;ENB = 1&amp;nbsp; #Right motor speed PCA9685 port 1&lt;/p&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;ENA、ENBとはenablePINでPWM制御のためにある。既にosoyooPWMHAT（PCA9685）に接続しているため、併せてPWM制御も行う。&lt;/p&gt;&lt;br /&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;RPi.GPIO&lt;/h3&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;ラズパイのGPIOピンを制御するためのpythonライブラリ。&lt;br /&gt;使い方（例）&lt;br /&gt;①インポート&lt;br /&gt;$ import RPi.GPIO as GPIO&amp;nbsp; # as GPIO とするのが一般的なよう。&lt;br /&gt;②GPIOモードの設定&lt;br /&gt;ピン番号の解釈の指定 BCM と BOARD がある。&lt;br /&gt;$ GPIO.setmode(GPIO.BCM) BCMが多い？&lt;br /&gt;③ピンの設定&lt;br /&gt;各ピンを入力か出力かを設定する。&lt;br /&gt;$ GPIO.setup(17, GPIO.OUT) #ピン17を出力に設定&lt;br /&gt;$ GPIO.setup(22, GPIO.IN) #ピン22を入力に設定&lt;br /&gt;④出力&lt;br /&gt;&amp;nbsp;出力ピン（③でGPIO.OUTに設定したピン）にHIGH(3.3V)かLOW(0V)を設定。&lt;br /&gt;⑤入力&lt;br /&gt;&amp;nbsp;入力ピンの状態を読み取る&lt;br /&gt;&amp;nbsp;$ input_value = GPIO.input(22) #ピン22の状態を読み取り&lt;br /&gt;&lt;i&gt;&amp;nbsp;if input_value == GPIO.HIGH:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;print(&quot;Button is pressed&quot;)&lt;/i&gt;&lt;br /&gt;⑥ピンのクリーンアップ&lt;br /&gt;&amp;nbsp;スクリプトの最後に、GPIOピンの状態をリセットする。&lt;br /&gt;&amp;nbsp;$ GPIO.cleanup()&lt;/p&gt;&lt;h3 style=&quot;margin-left: 40px; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3 style=&quot;margin-left: 40px; text-align: left;&quot;&gt;PWM制御&lt;/h3&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;ラズパイにはGPIOピンが少ないため、I2CでPWM制御が可能なPWMドライバを使用することが多いようです。&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;今回はOSOYOO PWM HAT v1.0（PCA9685）を使用します。&lt;/p&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;&amp;nbsp;osoyoo PWM HAT（PCA9685）を使用する場合は、&lt;br /&gt;①ライブラリのインポート：adafruit_pca9685&lt;br /&gt;②PCA9685の初期化&lt;br /&gt;③PWM周波数の設定&lt;br /&gt;④DCモーター制御&lt;/p&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 40px; text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;margin-left: 40px; text-align: left;&quot;&gt;Python Code&lt;/h3&gt;&lt;div style=&quot;margin-left: 40px; text-align: left;&quot;&gt;ＤＣモーターを動かすためのプログラム&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;margin-left: 40px; text-align: left;&quot;&gt;ライブラリ：adafruit_pca9685&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RPi.GPIO&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;margin-left: 40px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;
  &lt;table border=&quot;1&quot;&gt;
    &lt;tbody&gt;&lt;tr&gt;&lt;th&gt;mtr.py&lt;/th&gt;&lt;th&gt;備考&lt;/th&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;import time&lt;br /&gt;import board&lt;br /&gt;import busio&lt;br /&gt;from adafruit_pca9685 import PCA9685&lt;br /&gt;import RPi.GPIO as GPIO&lt;br /&gt;&lt;br /&gt;i2c = busio.I2C(board.SCL, board.SDA)&lt;br /&gt;pwm = PCA9685(i2c)&lt;br /&gt;pwm.frequency = 50&lt;br /&gt;&lt;br /&gt;IN1 = 23&amp;nbsp;&amp;nbsp;&lt;br /&gt;IN2 = 24&amp;nbsp;&amp;nbsp;&lt;br /&gt;IN3 = 27&amp;nbsp;&amp;nbsp;&lt;br /&gt;IN4 = 22&amp;nbsp;&amp;nbsp;&lt;br /&gt;ENA = 0&amp;nbsp;&amp;nbsp;&lt;br /&gt;ENB = 1&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;GPIO.setmode(GPIO.BCM)&lt;br /&gt;GPIO.setup(IN1, GPIO.OUT)&amp;nbsp; &amp;nbsp;&lt;br /&gt;GPIO.setup(IN2, GPIO.OUT)&amp;nbsp;&lt;br /&gt;GPIO.setup(IN3, GPIO.OUT)&amp;nbsp; &amp;nbsp;&lt;br /&gt;GPIO.setup(IN4, GPIO.OUT)&lt;br /&gt;&lt;br /&gt;def motor_speed(speed):&lt;br /&gt;&amp;nbsp; &amp;nbsp; duty_cycle = int(speed * 65535)&lt;br /&gt;&amp;nbsp; &amp;nbsp; pwm.channels[ENA].duty_cycle = duty_cycle&lt;br /&gt;&amp;nbsp; &amp;nbsp; pwm.channels[ENB].duty_cycle = duty_cycle&lt;br /&gt;&lt;br /&gt;def car_stop():&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN1, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN2, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN3, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN4, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; motor_speed(0)&lt;br /&gt;&lt;br /&gt;def car_forward():&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN1, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN2, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN3, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN4, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; motor_speed(0.5)&lt;br /&gt;&lt;p&gt;def car_backward():&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN1, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN2, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN3, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN4, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; motor_speed(0.5)&lt;/p&gt;&lt;p&gt;def car_right_turn():&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN1, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN2, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN3, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN4, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; motor_speed(0.5)&lt;/p&gt;&lt;p&gt;def car_left_turn():&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN1, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN2, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN3, GPIO.LOW)&lt;br /&gt;&amp;nbsp; &amp;nbsp; GPIO.output(IN4, GPIO.HIGH)&lt;br /&gt;&amp;nbsp; &amp;nbsp; motor_speed(0.5)&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;def main():&lt;br /&gt;&amp;nbsp; &amp;nbsp; try:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; car_forward()&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; time.sleep(2)&lt;br /&gt;&amp;nbsp; &amp;nbsp; except KeyboardInterrupt:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pass&lt;br /&gt;&amp;nbsp; &amp;nbsp; finally:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; car_stop()&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt;GPIO.cleanup()&lt;br /&gt;time.sleep(2)&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I2Cオブジェクトの作成&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#Left motor direction pin&lt;br /&gt;#Left motor direction pin&lt;br /&gt;#Right motor direction pin&lt;br /&gt;#Right motor direction pin&lt;br /&gt;#Left motor PCA9685 port0&amp;nbsp;&lt;br /&gt;#Right motor PCA9685 port1&amp;nbsp;&lt;br /&gt;&lt;br /&gt;GPIO設定&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;speed&lt;br /&gt;　0（停止）～1（全速）&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ctrl + &quot;c&quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;main関数の実行&lt;br /&gt;GPIOピンの解放&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;※困った点&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;モータードライバーのENA、ENBとはenablePINでPWM制御のためにある。既にosoyooPWMHAT（PCA9685）に接続しているため、併せてPWM制御も行う。&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;これが分からずに、単純に（PWM制御せずに）動かそうとして、動かずに困った。&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/5148940233472867033/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2025/07/dc1.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/5148940233472867033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/5148940233472867033'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2025/07/dc1.html' title='ロボットカー　DCモーター操作'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-4466369383887124886</id><published>2025-07-24T21:56:00.002+09:00</published><updated>2025-07-27T22:45:22.120+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>python ロボットカー</title><content type='html'>&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;p&gt;amazonでosoyoo ラズパイ用のロボットカーを購入した。&lt;/p&gt;&lt;p&gt;https://osoyoo.com/2023/03/30/osoyoo-v4-0-robotic-car-for-raspberry-pi-introduction-model2020005500/&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;環境&lt;/h3&gt;&lt;p&gt;Raspberry Pi 3 Model B Plus Rev 1.3&lt;br /&gt;OS：Debian GNU/Linux 12 (bookworm)&lt;br /&gt;言語：python3.11.2&lt;br /&gt;GPIO制御：基本はRPi.GPIO&lt;br /&gt;&lt;a href=&quot;https://osoyoo.com/2023/03/14/osoyoo-pwm-hat-v1-0/&quot;&gt;PWM　HAT　V1.0&lt;br /&gt;model X motor driver module&lt;br /&gt;&lt;/a&gt;CSI camera&lt;br /&gt;Tracking sensor module&lt;br /&gt;Ultrasonic sensor&amp;nbsp;&lt;/p&gt;&lt;p&gt;他にもマイクロSDカードや2000mAh 18650充電池など、ラズパイさえあれば使用可能なキットになっている。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;組み立て&lt;/h3&gt;&lt;p&gt;&amp;nbsp;小学４年の子供と一緒に組み立て。公式の作成動画を見ながら割と簡単に組み立ては完了。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;目標&lt;/p&gt;&lt;p&gt;アンドロイド端末から、カメラを見ながらラジコン操作。 pythonで。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;目次&lt;/h2&gt;&lt;p&gt;１．&lt;a href=&quot;https://kanon123.blogspot.com/2025/07/dc1.html&quot; target=&quot;_blank&quot;&gt;モーター制御（前進）&lt;/a&gt;&lt;/p&gt;&lt;p&gt;２．モーター制御（後進、旋回）&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/4466369383887124886/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2025/07/python.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4466369383887124886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4466369383887124886'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2025/07/python.html' title='python ロボットカー'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-5592001000780783259</id><published>2020-09-28T00:02:00.005+09:00</published><updated>2020-10-04T23:10:59.057+09:00</updated><title type='text'>pythonで子ども用の計算アプリを作成</title><content type='html'>&lt;p&gt;&amp;nbsp;小学３年の娘の集中力が持続せず、ひき算やわり算の計算がはかどらない。&lt;/p&gt;&lt;p&gt;私がパソコンをいじっている姿をよく見ているためか、パソコンには興味を持ってくれているようなので、ラズベリーパイを使って、計算用のプログラムを作ってみた。&lt;/p&gt;&lt;p&gt;使用言語：python3&lt;br /&gt;&lt;/p&gt;&lt;p&gt;---わり算.py---&lt;/p&gt;&lt;p&gt;#!/usr/bin/env python3&lt;br /&gt;# -*- coding: utf-8 -*-&lt;br /&gt;&lt;br /&gt;####設定用################################&lt;br /&gt;問題数 = 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#出題数&lt;br /&gt;ファイル名 = &#39;わり算.py&#39;&amp;nbsp; &amp;nbsp;#このファイル名&lt;br /&gt;記録ファイル = &#39;data.csv&#39; #記録ファイルのパス&lt;br /&gt;#######################################&lt;/p&gt;&lt;p&gt;import random&lt;br /&gt;import time&lt;br /&gt;import csv&lt;br /&gt;&lt;br /&gt;def 問題(num):&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; global 得点&lt;br /&gt;&amp;nbsp; &amp;nbsp; a=random.randint(100,999)&lt;br /&gt;&amp;nbsp; &amp;nbsp; b=random.randint(10,99)&lt;br /&gt;&amp;nbsp; &amp;nbsp; c=a//b&lt;br /&gt;&amp;nbsp; &amp;nbsp; d=a%b&lt;br /&gt;&amp;nbsp; &amp;nbsp; 正解 = &quot;{}...{}&quot;.format(c,d)&lt;br /&gt;&amp;nbsp; &amp;nbsp; print(&quot;第{}問：{} ÷ {} =&quot;.format(num+1,a,b))&lt;br /&gt;&amp;nbsp; &amp;nbsp; 解答 = input()&lt;br /&gt;&amp;nbsp; &amp;nbsp; if 正解 == 解答:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 得点 = 得点 + 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(&quot;正解◯&quot;)&lt;br /&gt;&amp;nbsp; &amp;nbsp; else:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(&quot;間違い×。正解は&quot; + str(正解))&lt;br /&gt;&lt;br /&gt;#記録ファイル参照&lt;br /&gt;print(&quot;名前を入力しなさい。(●/●)&quot;)&lt;br /&gt;名前 = str(input())&lt;br /&gt;lst = []&lt;br /&gt;記録=1000&lt;br /&gt;with open(記録ファイル ,&#39;r&#39;) as file:&lt;br /&gt;&amp;nbsp; &amp;nbsp; reader = csv.reader(file)&lt;br /&gt;&amp;nbsp; &amp;nbsp; lst = [r for r in reader]&lt;br /&gt;for row in lst:&lt;br /&gt;&amp;nbsp; &amp;nbsp; if row[0] == ファイル名:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if row[1] == 名前:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 記録 = int(row[2])&lt;br /&gt;&lt;br /&gt;#名前が違う場合に再入力を強制する。&lt;br /&gt;while [str(ファイル名),str(名前),str(記録)] not in lst:&lt;br /&gt;&amp;nbsp; &amp;nbsp; print(&quot;名前が違うよ。もう一度名前を入力しなさい&quot;)&lt;br /&gt;&amp;nbsp; &amp;nbsp; 名前=input()&lt;br /&gt;&amp;nbsp; &amp;nbsp; for row in lst:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if row[0] == ファイル名:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if row[1] == 名前:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 記録 = int(row[2])&lt;br /&gt;else:&lt;br /&gt;&amp;nbsp; &amp;nbsp; print(&quot;記録は {} 秒です&quot;.format(記録))&lt;br /&gt;&lt;br /&gt;#開始&lt;br /&gt;得点 = 0&lt;br /&gt;print(&quot;〇あまり〇　→　〇...〇　の形で答えなさい&quot;)&lt;br /&gt;print(&quot;Enterキーで開始 全{}問&quot;.format(問題数))&lt;br /&gt;input()&lt;br /&gt;start=time.time()&lt;br /&gt;&lt;br /&gt;#ループ開始&lt;br /&gt;for num in range(問題数):&lt;br /&gt;&amp;nbsp; &amp;nbsp; 問題(num)&lt;br /&gt;&amp;nbsp; &amp;nbsp; print(&quot;-------------------&quot;)&lt;br /&gt;&lt;br /&gt;#ループ後の処理&lt;br /&gt;finish=time.time()&lt;br /&gt;経過時間=int(finish-start)&lt;br /&gt;print(&quot;得点：{}/{} 点。記録は {} 秒です&quot;.format(得点,問題数,経過時間))&lt;br /&gt;&lt;br /&gt;if 得点 == 問題数:&lt;br /&gt;&amp;nbsp; &amp;nbsp; if 記録 &amp;gt; 経過時間 :&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sec = 記録 - 経過時間&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(&quot;新記録達成！！&amp;nbsp; &amp;nbsp; {} 秒更新&quot;.format(sec))&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for row in lst:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if row[0] == ファイル名:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if row[1] == 名前:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; row[2]=str(経過時間)&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with open(記録ファイル ,&#39;w&#39;,encoding=&#39;utf-8&#39;) as file:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; writer = csv.writer(file)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; writer.writerows(lst)&lt;br /&gt;&amp;nbsp; &amp;nbsp; else:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sec = 経過時間 - 記録&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(&quot;残念！&quot; + str(sec) + &quot;秒とどかず&quot;)&lt;br /&gt;else:&lt;br /&gt;&amp;nbsp; &amp;nbsp; print(&quot;{}点目指してがんばれ！！&quot;.format(問題数))&lt;br /&gt;&lt;br /&gt;print(&quot;Enterキーで終了&quot;)&lt;br /&gt;input()&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# 使用方法&lt;br /&gt;# ターミナルで保存したディレクトリへ移動し、”sudo chmod 755 か&lt;/p&gt;&lt;p&gt;わり算.py”を実行しファイルに実行権限を与える。&lt;br /&gt;# 記録ファイルに「わり算.py,名前,999」を追記（なければ新規作成）する。&lt;br /&gt;# ダブルクリックし、端末で実行を選択する。&lt;/p&gt;&lt;p&gt;#説明&lt;br /&gt;#def 問題(num): ここだけ変えれば、いろいろな問題に対応可能。&lt;br /&gt;#記録ファイル参照：csvファイルを参照し、ユーザーごとの記録を表示する。&lt;br /&gt;#名前が違う場合に再入力を強制する。：&lt;br /&gt;data.csvに[名前,ファイル名,＊]がなければ、名前が違うとして再入力を促す。&lt;br /&gt;#開始：&lt;br /&gt;#ループ開始：&lt;br /&gt;　for A in range Bを使用し、B（問題数）回ループさせる。&lt;br /&gt;#ループ後の処理：&lt;br /&gt;　time.time()を使用し、開始時と終了時の時間差を取得する。&lt;br /&gt;　満点でかつ、記録を更新すれば、新たにcsvファイルに記録を上書きする。&lt;/p&gt;&lt;p&gt;ファイル名 = __file__とするとなぜかうまく行かない。&lt;/p&gt;&lt;p&gt;LXTerminalのフォントサイズが小さく、見えにくい場合には、ターミナルを起動して、「編集→設定(s)→スタイル→フォント」でデフォルトのサイズを変更可能。&lt;/p&gt;&lt;p&gt;5インチディスプレイだと下が表示されない問題があるので、&lt;br /&gt;$ sudo nano /boot/config.txt&lt;br /&gt;末尾に”display_rotate=1”を追記し保存。&lt;br /&gt;$ sudo reboot&lt;br /&gt;９０度回転されて表示されるので、下まで確認できる。設定後は追記した一文を削除して再起動。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Failed to execute child process &quot;xterm&quot;(そのようなファイルやディレクトリはありません)：と表示される場合は、/usr/bin/xtermがないので、シンボリックリンクを作成します。&lt;br /&gt;$ cd /usr/bin&lt;br /&gt;$ sudo ln -s lxterminal xterm&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/5592001000780783259/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/09/python.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/5592001000780783259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/5592001000780783259'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/09/python.html' title='pythonで子ども用の計算アプリを作成'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-4406741077145323643</id><published>2020-07-07T22:16:00.000+09:00</published><updated>2020-07-07T22:16:01.236+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>ラズベリーパイ　録画サーバー</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
    table {
      margin: 1em 1em 1em 0;
      background: #f9f9f9;
      border: 1px #aaaaaa solid;
      border-collapse: collapse;
    }
    table th, table td {
      border: 1px #aaaaaa solid;
      padding: 0.2em;
    }
    table th {
      background: #f2f2f2;
      text-align: center;
    }
  &lt;/style&gt;

以前購入していたKEIAN製地デジチューナーを使用して、ラズベリーパイ３B+を録画サーバーにしてみたい。&lt;br /&gt;
※録画した動画を&lt;b&gt;アップロードするのは犯罪です&lt;/b&gt;のでしてはいけません。&lt;br /&gt;
※私的複製であれば、放送波を正規の方法（B-casカード） で復調しているだけで、ダビング10などの暗号化を解除している訳ではないので、現行法上はグレーゾーンの話題です。今後の法改正次第では違法となる可能性があるので、ご注意ください。（法解釈が間違っていたらごめんなさい🙇）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;用意するもの&lt;/b&gt;&lt;br /&gt;
・Raspberry Pi 3B+&lt;br /&gt;
・&lt;a href=&quot;https://kanon123.blogspot.com/2012/01/blog-post.html&quot; target=&quot;_blank&quot;&gt;KTV-FSUSB2&lt;/a&gt;&lt;br /&gt;
・recfsusb2n_http_patch2.zip（ダウンロード先：&lt;a href=&quot;https://katauna.hatenablog.com/entries/2013/03/02&quot; target=&quot;_blank&quot;&gt;適当な何かの別館&lt;/a&gt;にある&lt;a href=&quot;https://www.axfc.net/u/2445882&quot; target=&quot;_blank&quot;&gt;ダウンロードページ&lt;/a&gt;）パスワードは適当な何かの別館内に記載あり&lt;br /&gt;
・Mirakurun（使用verは3.1.0）&lt;br /&gt;
・Chinachu&lt;br /&gt;
・ffmpeg （最新verは4.1.4）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.keian.co.jp/img/2015/06/ktvfsusb2v3-966x568.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;ktvfsusb2v3&quot; border=&quot;0&quot; class=&quot;attachment-966x568 size-966x568 wp-post-image&quot; height=&quot;235&quot; src=&quot;https://www.keian.co.jp/img/2015/06/ktvfsusb2v3-966x568.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;◆導入&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th colspan=&quot;3&quot;&gt;ターミナル&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot; width=&quot;15&quot;&gt;1&lt;/td&gt;&lt;td&gt;$ sudo apt update&lt;/td&gt;&lt;td rowspan=&quot;2&quot;&gt;おまじない&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;2&lt;/td&gt;&lt;td&gt;$ sudo apt upgrade&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;3&lt;/td&gt;&lt;td&gt;$ sudo apt install libboost-all-dev&lt;/td&gt;&lt;td&gt;libboost1.50-allでは上手くいかなかった。&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;4&lt;/td&gt;&lt;td&gt;$ sudo apt install git&lt;/td&gt;&lt;td&gt;最新バージョン (1:2.20.1-2+deb10u3)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;5&lt;/td&gt;&lt;td&gt;$ git clone https://github.com/sh0/recfsusb2n&lt;/td&gt;&lt;td&gt;Cloning into &#39;recfsusb2n&#39;...&lt;br /&gt;
remote: Enumerating objects: 62, done.&lt;br /&gt;
remote: Total 62 (delta 0), reused 0 (delta 0), pack-reused 62&lt;br /&gt;
Unpacking objects: 100% (62/62), done.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;6&lt;/td&gt;&lt;td&gt;$ cd recfsusb2n&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;7&lt;/td&gt;&lt;td&gt;$ mkdir patch&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;8&lt;/td&gt;&lt;td&gt;$ cd patch&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;9&lt;/td&gt;&lt;td&gt;$ mv /home/pi/Downloads/recfsusb2n_http_patch2.zip ./&lt;/td&gt;&lt;td&gt;recfsusb2n_http_patch2.zipをDownloadsに保存した場合。&lt;br /&gt;
素直にsambaとかでカット＆ペーストした方が早い&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;10&lt;/td&gt;&lt;td&gt;$ unzip recfsusb2n_http_patch2.zip&lt;/td&gt;&lt;td&gt;zipファイルを解凍&lt;br /&gt;
Archive:  recfsusb2n_http_patch2.zip&lt;br /&gt;
inflating: decoder.h&lt;br /&gt;
inflating: tssplitter_lite.cpp&lt;br /&gt;
inflating: tssplitter_lite.h&lt;br /&gt;
inflating: readme_patch.txt&lt;br /&gt;
inflating: Makefile&lt;br /&gt;
inflating: fsusb2n.cpp&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;11&lt;/td&gt;&lt;td&gt;$ mv Makefile ../src&lt;br /&gt;
$ mv fsusb2n.cpp ../src&lt;br /&gt;
$ mv tssplitter_lite.h ../src&lt;br /&gt;
$ mv decoder.h ../src&lt;br /&gt;
$ mv tssplitter_lite.cpp ../src
    &lt;/td&gt;&lt;td&gt;5つのファイルをsrcディレクトリに移動&lt;br /&gt;
素直にsambaを使おう。&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;12&lt;/td&gt;&lt;td&gt;$ cd ../src&lt;br /&gt;
$ nano Makefile&lt;/td&gt;&lt;td&gt;srcディレクトリに移動して、Makefileを編集 4か所&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;13&lt;/td&gt;&lt;td&gt;$ make&lt;/td&gt;&lt;td&gt;/usr/bin/ld:-lboost_thread-mtが見つかりませんと出た時は、Makefil15行目の-mtを削除する。
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;14&lt;/td&gt;&lt;td&gt;$ sudo cp recfsusb2n /usr/local/bin/recfsusb2n&lt;/td&gt;&lt;td&gt;パスの通ったディレクトリにコピー&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;
    &lt;tbody&gt;
&lt;tr&gt;&lt;th colspan=&quot;2&quot;&gt;&lt;b&gt;/home/pi/fsusb2n/src/Makefile&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot; width=&quot;15&quot;&gt;1&lt;/td&gt;&lt;td&gt;# options&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;2&lt;/td&gt;&lt;td&gt;B25     = -DB25&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;3&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;4&lt;/td&gt;&lt;td&gt;ifdef B25&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;5&lt;/td&gt;&lt;td&gt;B25_PATH = ./arib25&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;6&lt;/td&gt;&lt;td&gt;B25_OBJS = B25Decoder.o&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;7&lt;/td&gt;&lt;td&gt;B25_OBJS_EXT = $(B25_PATH)/arib_std_b25.o $(B25_PATH)/b_cas_card.o $(B25_PATH)/multi2.o $(B25_PATH)/ts_section_parser.o&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;8&lt;/td&gt;&lt;td&gt;endif&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;9&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;10&lt;/td&gt;&lt;td&gt;CXX     = g++&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;11&lt;/td&gt;&lt;td&gt;CXXFLAGS = -O2&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt; -march=native&lt;/span&gt;&lt;/b&gt; -g -Wall -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(B25) 　&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;※&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;”-march=native”を削除&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;12&lt;/td&gt;&lt;td&gt;CC      = gcc&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;13&lt;/td&gt;&lt;td&gt;CFLAGS  = -O2 &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;-march=native&lt;/span&gt;&lt;/b&gt; -g -Wall -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(B25) &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;　※”-march=native”を削除&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;14&lt;/td&gt;&lt;td&gt;OBJS    = fsusb2n.o usbops.o em2874-core.o ktv.o IoThread.o tssplitter_lite.o $(B25_OBJS)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;15&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;#&lt;/span&gt;&lt;/b&gt;LIBS   = -lpthread -lboost_system -lboost_thread&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;-mt&lt;/span&gt;&lt;/b&gt; -lboost_filesystem&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;　※&quot;#&quot;と&quot;-mt&quot;を削除 &lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;16&lt;/td&gt;&lt;td&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;#&lt;/b&gt;&lt;/span&gt;LIBS    = -lpthread -lboost_thread-mt -lboost_filesystem　&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;※#を追加してコメントアウト&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;17&lt;/td&gt;&lt;td&gt;TARGET  = recfsusb2n&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;18&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;19&lt;/td&gt;&lt;td&gt;all: $(TARGET)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;20&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;21&lt;/td&gt;&lt;td&gt;clean:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;22&lt;/td&gt;&lt;td&gt;rm -f $(OBJS) $(B25_OBJS_EXT) $(TARGET)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;23&lt;/td&gt;&lt;td&gt;$(TARGET): $(OBJS) $(B25_OBJS_EXT)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;24&lt;/td&gt;&lt;td&gt;$(CXX) -o $(TARGET) $(OBJS) $(B25_OBJS_EXT) $(LIBS)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;25&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;26&lt;/td&gt;&lt;td&gt;depend:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;27&lt;/td&gt;&lt;td&gt;$(CXX) -MM $(OBJS:.o=.cpp) &amp;gt; Makefile.dep&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;28&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;29&lt;/td&gt;&lt;td&gt;-include Makefile.dep&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;◆録画テスト&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
実際に録画できるか試してみる。&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th colspan=&quot;3&quot;&gt;ターミナル&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot; width=&quot;15&quot;&gt;1&lt;/td&gt;&lt;td&gt;$ sudo nano /lib/udev/rules.d/89-tuner.rules&lt;/td&gt;&lt;td&gt;89-tuner.rulesファイルを新規作成して下の２行を書き込み保存。&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;2&lt;/td&gt;&lt;td&gt;$poweroff&lt;/td&gt;&lt;td&gt;シャットダウン&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th colspan=&quot;2&quot;&gt;/lib/udev/rules.d/89-tuner.rules&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot; width=&quot;15&quot;&gt;1&lt;/td&gt;&lt;td&gt;# FSUSB2N&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;2&lt;/td&gt;&lt;td&gt;SUBSYSTEM==&quot;usb&quot;, ENV{DEVTYPE}==&quot;usb_device&quot;, ATTRS{idVendor}==&quot;0511&quot;, ATTRS{idProduct}==&quot;0029&quot;, MODE=&quot;0664&quot;, GROUP=&quot;video&quot;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
KTV-FSUSB2を接続し、Raspberry Pi 3B+を起動。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;$ lsusb&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;gt;&amp;gt;ID 0511:0029 N&#39;Able (DataBook) Technologies, Inc.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;$ recfsusb2n --b25 --sid hd --wait 100 &lt;span style=&quot;color: red;&quot;&gt;13&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;10&lt;/span&gt; &lt;span style=&quot;color: magenta;&quot;&gt;test.ts&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;gt;&amp;gt;&lt;span style=&quot;color: red;&quot;&gt;チャンネル&lt;/span&gt;　&lt;span style=&quot;color: blue;&quot;&gt;録画時間（秒）&lt;/span&gt;　&lt;span style=&quot;color: magenta;&quot;&gt;ファイル名&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;/home/pi/test.ts(&lt;/b&gt;&lt;b&gt;約18MiB&lt;/b&gt;&lt;b&gt;)ができていれば成功。&lt;/b&gt;&lt;br /&gt;
recfsusb2n ver. 0.9.2&lt;br /&gt;
ISDB-T DTV Tuner FSUSB2N&lt;br /&gt;
device: &quot;/dev/bus/usb/001/004&quot;&lt;br /&gt;
pid = 4677&lt;br /&gt;
B25Decoder initialized.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;b&gt;チャンネル一覧&lt;/b&gt;&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;東北放送&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;NHKEテレ&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;NHK総合&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;宮城テレビ&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;東日本放送&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;仙台放送&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;19&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;13&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;17&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;24&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;28&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;21&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;h3&gt;
ハードウェアエンコード&lt;/h3&gt;
ffmpegのセットアップ&lt;br /&gt;
$ sudo apt install ffmpeg　インストール済みだった&lt;br /&gt;
$ ffmpeg -codecs | grep h264&lt;br /&gt;
&amp;gt;&amp;gt; DEV.LS h264&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m h264_mmal ) (encoders: libx264 libx264rgb &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;h264_omx&lt;/span&gt;&lt;/b&gt; h264_v4l2m2m h264_vaapi )&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;$ ffmpeg -i &lt;span style=&quot;color: red;&quot;&gt;test.ts&lt;/span&gt; -codec:v h264_omx -b:v 3000k &lt;span style=&quot;color: red;&quot;&gt;test.mp4&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&amp;gt;&amp;gt;codecにh264_omxを指定することでハードウェアエンコーダを利用してh.264に変換する。-b:v 3000k　は映像ビットレートを3000kB/sに指定。&amp;gt;&amp;gt;1.02倍速で変換。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
実際に運用するには番組表から予約できないと使えない。&lt;br /&gt;
①Mirakurun + chinachu&lt;br /&gt;
②Mirakurun + EPGStation&lt;br /&gt;
あたりが有名らしい。ただ、チューナーにはPX-S1UDやPT3とかが一般的で、KTV-FSUSB2とかの情報は結構少ない。&lt;br /&gt;
今回は①のchinachuを導入してみる。比較的情報量が多いため。EPGStationだと録画後のエンコードまで可能らしい。 &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;/h3&gt;
&lt;h3&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Mirakurunの導入&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
$ sudo apt install build-essential curl git-core vainfo&lt;br /&gt;
$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -&lt;br /&gt;
$ sudo apt install nodejs&lt;br /&gt;
&lt;br /&gt;
PM2のインストール&lt;br /&gt;
$ sudo apt install npm&lt;br /&gt;
※npm(Node Package Manager)Node.jsのパッケージを管理する。 &lt;br /&gt;
$ sudo npm install pm2 -g&lt;br /&gt;
Mirakurun のインストール&lt;br /&gt;
$ sudo npm install mirakurun -g --unsafe-perm --production&lt;br /&gt;
&lt;br /&gt;
$ sudo EDITOR=&quot;nano&quot; mirakurun config server&lt;br /&gt;
※EDITOR=nano といれるとnanoで編集できる。入れないとVim。&lt;br /&gt;
&lt;b&gt;server&lt;/b&gt;&lt;br /&gt;
logLevel: 2&lt;br /&gt;
path: /var/run/mirakurun.sock&lt;br /&gt;
port: 40772&lt;br /&gt;
&lt;br /&gt;
※コピー＆ペーストするとインデントエラーでMirakurunが上手く起動しない。&lt;br /&gt;
$ sudo EDITOR=&quot;nano&quot; mirakurun config tuners&lt;br /&gt;
&lt;b&gt;tuners&lt;/b&gt;&lt;br /&gt;
- name: FSUSB2N&lt;br /&gt;
&amp;nbsp;&amp;nbsp; types:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;    - &lt;span class=&quot;pl-s&quot;&gt;GR&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;  &lt;span class=&quot;pl-ent&quot;&gt;command&lt;/span&gt;: &lt;span class=&quot;pl-s&quot;&gt;recfsusb2n -b &amp;lt;channel&amp;gt; - -&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;pl-s&quot;&gt;&amp;nbsp;&amp;nbsp;  &lt;span class=&quot;pl-ent&quot;&gt;isDisabled&lt;/span&gt;: &lt;span class=&quot;pl-c1&quot;&gt;false&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
$ sudo EDITOR=&quot;nano&quot; mirakurun config channels&lt;span class=&quot;pl-s&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;channels&lt;/b&gt;&lt;br /&gt;
- name: ＮＨＫＥテレ&lt;br /&gt;
&amp;nbsp; type: GR&lt;br /&gt;
&amp;nbsp; channel: &#39;13&#39;&lt;br /&gt;
- name: ＮＨＫ総合&lt;br /&gt;
&amp;nbsp; type: GR&lt;br /&gt;
&amp;nbsp; channel: &#39;17&#39;&lt;br /&gt;
- name: ＴＢＣテレビ&lt;br /&gt;
&amp;nbsp; type: GR&lt;br /&gt;
&amp;nbsp; channel: &#39;19&#39;&lt;br /&gt;
- name: 仙台放送&lt;br /&gt;
&amp;nbsp; type: GR&lt;br /&gt;
&amp;nbsp; channel: &#39;21&#39;&lt;br /&gt;
- name: ミヤギテレビ&lt;br /&gt;
&amp;nbsp; type: GR&lt;br /&gt;
&amp;nbsp; channel: &#39;24&#39;&lt;br /&gt;
- name: 東日本放送ＣＨ&lt;br /&gt;
&amp;nbsp; type: GR&lt;br /&gt;
&amp;nbsp; channel: &#39;28&#39;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;&lt;span id=&quot;Mirakurun-3&quot;&gt;Chinachuのインストール&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;span id=&quot;Mirakurun-3&quot;&gt;実行ユーザーのvideoグループへの登録&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span id=&quot;Mirakurun-3&quot;&gt;$ sudo gpasswd -a pi video&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gitリポジトリからクローン・インストール&lt;br /&gt;
$ git clone git://github.com/kanreisa/Chinachu.git ~/chinachu&lt;br /&gt;
$ cd ~/chinachu/&lt;br /&gt;
$ ./chinachu installer&lt;br /&gt;
1) Auto (full)&amp;nbsp;&amp;nbsp; 3)Node.js Environment&amp;nbsp;&amp;nbsp; 5)ffmpeg&lt;br /&gt;
2)submodule&amp;nbsp;&amp;nbsp; 4)Node.js Modules&lt;br /&gt;
what do you install? &amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&lt;span id=&quot;Mirakurun-3&quot;&gt;※結構時間がかかります。気長に待ちましょう。数時間？ &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
$ cp config.sample.json config.json&lt;br /&gt;
$ sudo nano config.json&lt;br /&gt;
&amp;nbsp; &quot;uid&quot;: &quot;pi&quot;,&amp;nbsp; ※デフォルトのnullからpi（実行ユーザー名）へ変更。&lt;br /&gt;
&amp;nbsp; &quot;recordedDir&quot; : &quot;./recorded/&quot;,録画用ディレクトリ&lt;br /&gt;
&amp;nbsp; &quot;wuiOpenHost&quot;: &quot;0.0.0.0&quot; ,　　※wuiHostからwuiOpenHostへ名前変更。&lt;br /&gt;
&lt;br /&gt;
空の設定ファイルを作成 &lt;br /&gt;
$ echo [] &amp;gt; rules.json&lt;br /&gt;
&lt;br /&gt;
サービスが実行可能か確認。&lt;br /&gt;
$ ./chinachu service wui execute&lt;br /&gt;
$ ./chinachu service operator execute&lt;br /&gt;
&lt;br /&gt;
※pm2へchinachu-wuiとchinachu-operatorを登録する。 &lt;br /&gt;
$ sudo pm2 start processes.json&lt;br /&gt;
$ sudo pm2 save&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;[PM2][ERROR] Error: Interpreter .nave/node is NOT AVAILABLE in PATH. (type &#39;which .nave/node&#39; to double check.)&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;$ sudo pm2 start processes.jsonとすると、&lt;br /&gt;
[PM2][ERROR] Error: Interpreter .nave/node is NOT AVAILABLE in PATH. (type &#39;which .nave/node&#39; to double check.)とエラーが出て、先に進めなかった。どうやら、chinachu-wuiとchinachu-operatorが起動していないよう。&lt;br /&gt;
&lt;br /&gt;
シンボリックリンクがなかったため（又は無効なリンク）のようで、&lt;br /&gt;
$ sudo ln -s /usr/bin/node /home/pi/chinachu/.nave/node&lt;br /&gt;
$ sudo ln -s /usr/bin/npm /home/pi/chinachu/.nave/npm&lt;br /&gt;
とすることで、無事正常に起動した。&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
ブラウザで http://IPAddress:20772 と入力すると、chinachuで番組表からの予約が可能。</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/4406741077145323643/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/07/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4406741077145323643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4406741077145323643'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/07/blog-post.html' title='ラズベリーパイ　録画サーバー'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-2790175347895520237</id><published>2020-07-06T23:21:00.000+09:00</published><updated>2020-07-16T23:16:25.912+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>RaspberryOS　導入ガイド</title><content type='html'>何度もraspbianのセッティングをするのに、毎回いろいろなページを見ながら操作するのが面倒なので、自分が必要そうなものを、備忘録的に記載。&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;１．&lt;/b&gt;Raspberry Pi OS(32-bit)with desktop(&lt;a href=&quot;https://www.raspberrypi.org/downloads/raspberry-pi-os/&quot;&gt;https://www.raspberrypi.org/downloads/raspberry-pi-os/&lt;/a&gt;)をダウンロード。&lt;br /&gt;
&lt;b&gt;２．&lt;/b&gt;SDカードをメインPCにつなげて、「SD Card Formatter」でフォーマットして、「Win32Diskimager」で書き込む。&lt;br /&gt;
&lt;b&gt;３．&lt;/b&gt;SDカードのbootフォルダ内に &quot;ssh&quot; というからのファイルを作成。拡張子なし。&lt;br /&gt;
&lt;b&gt;４．&lt;/b&gt;ラズベリーパイにSDカードをセットして電源ON。&lt;br /&gt;
&lt;b&gt;５．&lt;/b&gt;SSH接続するため、メインPCで「teraterm」を起動。ショートカットのリンク先を&lt;br /&gt;
&quot;C:\Program Files (x86)\teraterm\ttermpro.exe&quot; raspberrypi /auto=password /user=pi /passwd=raspberry&lt;br /&gt;
としてとしておくと、毎回ユーザー名とパスワードを入力しないで良いので便利。ホスト名は&quot;raspberrypi&quot;でOK。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;６．$ sudo raspi-config&lt;/b&gt;で設定変更。（必要最小限）&lt;br /&gt;
&lt;br /&gt;
1 &lt;b&gt;Change User Password&lt;/b&gt;でパスワードを変更。&lt;br /&gt;
新しいパスワード:●●（表示されない）&lt;br /&gt;
新しいパスワードを再入力してください:上と同じパスワード（表示されない）&lt;br /&gt;
passwd: パスワードは正しく更新されました&lt;br /&gt;
&lt;br /&gt;
4 &lt;b&gt;Localisation Options&lt;/b&gt;で以下の３点を変更。&lt;br /&gt;
&lt;br /&gt;
I1 &lt;b&gt;Change Locale&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set up language and regional settings to match your location&lt;br /&gt;
en_GB.UTF-8 UTF-8はデフォルトで選択されているので、&lt;b&gt;ja_JP.UTF-8 UTF-8&lt;/b&gt;を追加で選択。カーソルを合わせてスペースキーで選択＊となる。エンターキーを押すと、&lt;br /&gt;
”Debianの多くのパッケージは、ロケールを使用して、ユーザーに適切な言語でテキストを表示します。生成されたロケールからシステムのデフォルトロケールを選択できます。&lt;br /&gt;
&amp;nbsp;これにより、システム全体のデフォルト言語が選択されます。このシステムがマルチユーザーシステムであり、すべてのユーザーがデフォルトの言語を話すことができない場合、問題が発生します。&lt;br /&gt;
システム環境のデフォルトのロケール：None　C.UTF-8　en_GB.UTF-8 ja_JP.UTF-8 &lt;br /&gt;
→ &lt;b&gt;ja_JP.UTF-8&lt;/b&gt;を選択。&lt;br /&gt;
I2 &lt;b&gt;Change Time Zone&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set up time zone to match your location&lt;br /&gt;
→&lt;b&gt;Asia&lt;/b&gt;　→　&lt;b&gt;Tokyo&lt;/b&gt; を選択。 &lt;br /&gt;
I4 &lt;b&gt;Change WLAN Country&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set the legal channels used in your country&lt;br /&gt;
→&lt;b&gt;JP Japan&lt;/b&gt;を選択。&lt;br /&gt;
&lt;br /&gt;
5 &lt;b&gt;Interfacing Options&lt;/b&gt;でVNCを有効化。&lt;br /&gt;
P3 &lt;b&gt;VNC &lt;/b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; Enable/Disable graphical remote access to your Pi using RealVNC&lt;br /&gt;
→Would you like the VNC Server to be enabled?　→&lt;b&gt;はい&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;７．&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;日本語入力の有効化&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/b&gt;$ sudo apt install fcitx-mozc&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;８．Sambaのインストール&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
$ sudo apt install samba&lt;br /&gt;
インストール途中でSamba サーバおよびユーティリティというのが出る。&lt;br /&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;あなたのコンピュータがネットワーク上の DHCP サーバから IP 
アドレス情報を取得しているのであれば、DHCP サーバはネットワーク上にある WINS サーバ (NetBIOS ネームサーバ) 
についての情報を提供することもできます。DHCP で提供される WINS 設定は /var/lib/samba/dhcp.conf 
から自動的に読み込まれるため、smb.conf ファイルを変更する必要があります。この機能を使うためには、dhcp-client 
パッケージがインストールされている必要があります。 DHCP から WINS 設定を使うよう smb.conf を変更しすか。&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&amp;nbsp;&amp;lt;はい&amp;gt;/&amp;lt;いいえ&amp;gt; &lt;/span&gt;&lt;br /&gt;
&amp;gt;はいを選択&lt;br /&gt;
$ sudo nano /etc/samba/smb.conf&lt;br /&gt;
文末に以下の５行を追加&lt;br /&gt;
---------------------------------------------- &lt;br /&gt;
[pi]&lt;br /&gt;
path = /home/pi&lt;br /&gt;
read only = No&lt;br /&gt;
guest ok = Yes&lt;br /&gt;
force user = pi&lt;br /&gt;
&lt;br /&gt;
[USB-HDD]&lt;br /&gt;
path = /media/pi/HD-ADU3&lt;br /&gt;
read only = No&lt;br /&gt;
guest ok = Yes&lt;br /&gt;
force user = pi &lt;br /&gt;
---------------------------------------------- &lt;br /&gt;
$ sudo service smbd restart&lt;br /&gt;
$ sudo systemctl enable smbd&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;９．FTPのインストール&lt;/b&gt;（&lt;a href=&quot;https://kanon123.blogspot.com/2019/10/raspberrypi-ftp.html&quot; target=&quot;_blank&quot;&gt;別ページ&lt;/a&gt;）&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;１０．USB-HDDの自動スピンダウン&lt;/b&gt;（&lt;a href=&quot;https://kanon123.blogspot.com/2019/12/hdd.html&quot; target=&quot;_blank&quot;&gt;別ページ&lt;/a&gt;） &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;１１．KUMAN５インチラズベリーパイ用モニタの設定（&lt;/b&gt;&lt;a href=&quot;https://kanon123.blogspot.com/2020/05/kuman-5.html&quot; target=&quot;_blank&quot;&gt;別ページ&lt;/a&gt;）&lt;br /&gt;
&lt;b&gt;１２．デジタルフォトフレームの導入&lt;/b&gt;（&lt;a href=&quot;https://kanon123.blogspot.com/2020/05/blog-post.html&quot; target=&quot;_blank&quot;&gt;別ページ&lt;/a&gt;）&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;１３．録画サーバーの導入 &lt;/b&gt;（別ページ）（未作成）&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/2790175347895520237/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/07/raspberryos.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/2790175347895520237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/2790175347895520237'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/07/raspberryos.html' title='RaspberryOS　導入ガイド'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-3868716647571271366</id><published>2020-06-28T23:10:00.003+09:00</published><updated>2020-07-28T00:17:27.794+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>ラズベリーパイ　Docker &amp; Docker-compose導入</title><content type='html'>mirakurunの導入にDockerが必要らしいが、docker-compose pull で失敗する。 &lt;br /&gt;
Dockerってなに？　な状態から、導入まで&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
環境 &lt;/h3&gt;
・RaspberryPi 3B+&lt;br /&gt;
・カーネル：Linux raspberrypi 4.19.118-v7+&lt;br /&gt;
・OS: Raspbian GNU/Linux 10 (buster)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Dockerってなに？&lt;/h3&gt;
&amp;nbsp;Linux上で別なLinuxシステムを起動するコンテナ型仮想化を利用するための管理ソフト。&lt;br /&gt;
仮想化とは、OS上に仮想的に別なOSを構築するもの、VMwareとかVirtualBOXとかみたいなやつ。中でも&lt;b&gt;コンテナ型仮想化&lt;/b&gt;とは、仮想的な物理マシンの構築は行わず、元のOS上に隔離されたエリアを作り、その内部で新たなソフトウェア実行環境を構築する。コンテナの内外では干渉しあわない。コンテナを移動するだけで別なPC環境でも同様に扱うことができる。ソフトウェアの開発・配布に便利、、、らしい。なんとなくしか分からん。&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Docker-composeってなに？&lt;/h3&gt;
&amp;nbsp;複数のコンテナを使用するサービスを構築・実行するための手順を自動化&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
導入&lt;/h3&gt;
&lt;div class=&quot;it-Header_title&quot;&gt;
参考にしたサイト：&lt;a href=&quot;https://qiita.com/hoshi621/items/7906274326ef3013a73d&quot; target=&quot;_blank&quot;&gt;Raspberry Piにdockerとdocker-composeを入れてみた&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Docker&lt;br /&gt;
&lt;strike&gt;$ sudo apt install docker&lt;/strike&gt; &amp;gt;&amp;gt; $ docker --version &amp;gt;&amp;gt;-bash: docker: コマンドが見つかりません&lt;br /&gt;
となり、apt では上手く導入できません。&lt;br /&gt;
$ curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
$ sudo sh get-docker.sh&lt;br /&gt;
$ docker --version&lt;br /&gt;
&amp;gt;Docker version 19.03.11, build 42e35e6　となり、導入できました。&lt;br /&gt;
$ docker-compose version&lt;br /&gt;
&amp;gt;/usr/local/bin/docker-compose: 行 1: Not: コマンドが見つかりません&lt;br /&gt;
&lt;br /&gt;
Docker-composeの導入&lt;br /&gt;
$ git clone https:///github.com/docker/compose.git&lt;br /&gt;
$ cd compose&lt;br /&gt;
$ git checkout 1.26.0&lt;br /&gt;
※最新版は1.26.0だった。（2020.6.22時点） &lt;br /&gt;
$ ./script/build/linux&lt;br /&gt;
&amp;gt;40分位かかった。 &lt;br /&gt;
$ cd dist&lt;br /&gt;
&amp;gt;&lt;span style=&quot;color: red;&quot;&gt;&quot;docker-compose-Linux-armv7l&quot;&lt;/span&gt;が作成されている。&lt;br /&gt;
$ ./docker-compose-Linux-armv7l version&lt;br /&gt;
&amp;gt;docker-compose version 1.26.0, build d4451659&lt;br /&gt;
&amp;gt;docker-py version: 4.2.1&lt;br /&gt;
&amp;gt;CPython version: 3.7.7&lt;br /&gt;
&amp;gt;OpenSSL version: OpenSSL 1.1.0l&amp;nbsp; 10 Sep 2019&lt;br /&gt;
※このままではdocker-composeが使えないのでbinにコピーする。 &lt;br /&gt;
$ sudo cp docker-compose-Linux-armv7l /usr/local/bin/docker-compose&lt;br /&gt;
$ sudo chown root:root /usr/local/bin/docker-compose&lt;br /&gt;
※chown:所有権の設定　chown ユーザー(：グループ) ファイル &lt;br /&gt;
$ sudo chmod 755 /usr/local/bin/docker-compose&lt;br /&gt;
※chmod 755:誰でも読込みと実行はできるが、書き込みは自分だけ。 &lt;br /&gt;
$ ls -l /usr/local/bin/&lt;br /&gt;
&amp;gt;-rwxr-xr-x 1 root root 8156972&amp;nbsp; 日付 docker-compose&lt;br /&gt;
$ docker-compose version&lt;br /&gt;
&amp;gt;docker-compose version 1.26.0, build d4451659&lt;br /&gt;
&amp;gt;docker-py version: 4.2.1&lt;br /&gt;
&amp;gt;CPython version: 3.7.7&lt;br /&gt;
&amp;gt;OpenSSL version: OpenSSL 1.1.0l&amp;nbsp; 10 Sep 2019&lt;br /&gt;
&lt;br /&gt;
docker-compose pullが出来るようになった。&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;ERROR: Couldn&#39;t connect to Docker daemon at+docker://localhost- is it running?&lt;/b&gt;と表示されてエラーになる場合、Docker と Docker-composeがグループに入っておらず、権限がない場合に表示されるらしい。&lt;/div&gt;&lt;div&gt;$ sudo usermod -aG docker $USER&lt;/div&gt;&lt;div&gt;にてdockerグループに現在のユーザが登録されて、docker-compose buildなどが実行可能となる。再起動（ログアウトでも可？）などすると登録が反映される。&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/3868716647571271366/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/06/docker-compose.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/3868716647571271366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/3868716647571271366'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/06/docker-compose.html' title='ラズベリーパイ　Docker &amp; Docker-compose導入'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-7582840953363434132</id><published>2020-06-07T00:31:00.000+09:00</published><updated>2020-06-07T00:31:58.887+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>ラズベリーパイ　ベンチマーク</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
    table {
      margin: 1em 1em 1em 0;
      background: #f9f9f9;
      border: 1px #aaaaaa solid;
      border-collapse: collapse;
    }

    table th, table td {
      border: 1px #aaaaaa solid;
      padding: 0.2em;
    }

    table th {
      background: #f2f2f2;
      text-align: center;
    }
  &lt;/style&gt;

ラズベリーパイ３B+のベンチマークをしてみた。&lt;br /&gt;
使用したのは、 &lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;UnixBench：Version 5.1.3&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Unix系OSであるRaspbianではUnixBenchというベンチマークが利用できるらしい。他にもsysbenchやGPU用のglmark2とかがあるらしい。機会があれば。&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;実行環境&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
RaspberryPi 3B+&lt;br /&gt;
OS:GNU/Linux -- 4.19.118-v7+ (Raspbian 10 Buster)&lt;br /&gt;
電源：5V 3.0A&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;インストール＆計測&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
$ git clone https://github.com/kdlucas/byte-unixbench&lt;br /&gt;
$ cd byte-unixbench/UnixBench&lt;br /&gt;
$ ./Run&lt;br /&gt;
&lt;br /&gt;
ベンチマーク結果は　/home/pi/byte-unixbench/UnixBench/results/ 　に入っています。１時間位はかかるみたいなので、時間にゆとりをもって行いましょう。５６℃くらいまでCPU温度は上昇しました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;評価項目&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;テスト名&lt;/th&gt;&lt;th&gt;説明&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dhrystone 2 using register variables&lt;/td&gt;
&lt;td&gt;主に整数演算処理の性能を測定する古典的ベンチマークテスト。&lt;br /&gt;
結果数値は１秒間の処理回数が表示される。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Double-Precision Whetstone&lt;/td&gt;
&lt;td&gt;主に浮動小数点演算処理の性能を測定する古典的ベンチマークテスト。&lt;br /&gt;
結果数値は１秒間の処理命令数が表示される。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Execl Throughput&lt;/td&gt;
&lt;td&gt;execl関数によるプロセス作成を行いその性能を測定する。&lt;br /&gt;
結果数値は１秒間のシステムコール処理回数が表示される。 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File Copy (※1) bufsize (※2) maxblocks&lt;br /&gt;
(※1:1024,256,4096)&lt;br /&gt;
(※2:2000,500,8000)&lt;/td&gt;
&lt;td&gt;ファイルのコピー速度を測定する。(※2)KBのファイルを(※1)Byte毎に処理。&lt;br /&gt;
結果数値は１秒間のファイル処理容量（KB)が表示される。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pipe Throughput&lt;/td&gt;
&lt;td&gt;プロセス間通信で使われるパイプのスループットを測定する&lt;br /&gt;
結果数値はパイプ処理回数。 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pipe-based Context Switching&lt;/td&gt;
&lt;td&gt;プロセス間通信で使われるパイプによるコンテキストスイッチ性能を測定する&lt;br /&gt;
結果数値はパイプ処理回数 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Process Creation&lt;/td&gt;
&lt;td&gt;子プロセスの生成速度を測定する&lt;br /&gt;
結果数値はフォーク処理回数 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;System Call Overhead&lt;/td&gt;
&lt;td&gt;システムコール実行時のオーバーヘッドを測定する&lt;br /&gt;
結果数値は１秒間のシステムコール処理回数 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shell Scripts&lt;/td&gt;
&lt;td&gt;シェルスクリプトの実行性能を測定する&lt;br /&gt;
結果数値はループ処理回数 &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;実行結果&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Benchmark of raspberrypi / GNU/Linux on 土  6月 06 2020&lt;/h3&gt;
&lt;b&gt;BYTE UNIX Benchmarks (Version 5.1.3)&lt;/b&gt;&lt;br /&gt;
&lt;h3&gt;
Test System Information&lt;/h3&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;System:&lt;/b&gt;&lt;/td&gt;
   &lt;td colspan=&quot;2&quot;&gt;raspberrypi: GNU/Linux&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;OS:&lt;/b&gt;&lt;/td&gt;
   &lt;td colspan=&quot;2&quot;&gt;GNU/Linux -- 4.19.118-v7+ -- #1311 SMP Mon Apr 27 14:21:24 BST 2020&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Machine:&lt;/b&gt;&lt;/td&gt;
   &lt;td colspan=&quot;2&quot;&gt;armv7l: unknown&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Language:&lt;/b&gt;&lt;/td&gt;
   &lt;td colspan=&quot;2&quot;&gt;en_US.utf8 (charmap=&quot;UTF-8&quot;, collate=&quot;UTF-8&quot;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td rowspan=&quot;4&quot;&gt;&lt;b&gt;CPUs:&lt;/b&gt;&lt;/td&gt;
   &lt;td&gt;&lt;b&gt;0:&lt;/b&gt;&lt;/td&gt;
   &lt;td&gt;ARMv7 Processor rev 4 (v7l) (0.0 bogomips)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;1:&lt;/b&gt;&lt;/td&gt;
   &lt;td&gt;ARMv7 Processor rev 4 (v7l) (0.0 bogomips)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;2:&lt;/b&gt;&lt;/td&gt;
   &lt;td&gt;ARMv7 Processor rev 4 (v7l) (0.0 bogomips)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;3:&lt;/b&gt;&lt;/td&gt;
   &lt;td&gt;ARMv7 Processor rev 4 (v7l) (0.0 bogomips)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Uptime:&lt;/b&gt;&lt;/td&gt;
   &lt;td colspan=&quot;2&quot;&gt;23:16:05 up 1 day,  2:11,  2 users,  load average: 0.00, 0.00, 0.07; runlevel 2020-06-05&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;hr /&gt;
&lt;h3&gt;
Benchmark Run: 4 CPUs; 1 parallel process&lt;/h3&gt;
Time: 23:16:05 - 23:44:04; 27m 59s&lt;br /&gt;
&lt;h4&gt;
System Benchmarks&lt;/h4&gt;
&lt;table style=&quot;width: 100%px;&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
   &lt;th align=&quot;left&quot;&gt;Test&lt;/th&gt;
   &lt;th align=&quot;right&quot;&gt;Score&lt;/th&gt;
   &lt;th align=&quot;left&quot;&gt;Unit&lt;/th&gt;
   &lt;th align=&quot;right&quot;&gt;Time&lt;/th&gt;
   &lt;th align=&quot;right&quot;&gt;Iters.&lt;/th&gt;
   &lt;th align=&quot;right&quot;&gt;Baseline&lt;/th&gt;
   &lt;th align=&quot;right&quot;&gt;Index&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Dhrystone 2 using register variables&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;5173197.1&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;10.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;116700.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;443.3&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Double-Precision Whetstone&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;1430.1&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;MWIPS&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;9.7 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;55.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;260.0&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Execl Throughput&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;883.9&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;30.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;43.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;205.5&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;File Copy 1024 bufsize 2000 maxblocks&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;142819.6&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;KBps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;30.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;3960.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;360.7&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;File Copy 256 bufsize 500 maxblocks&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;43274.2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;KBps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;30.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;1655.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;261.5&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;File Copy 4096 bufsize 8000 maxblocks&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;337429.5&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;KBps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;30.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;5800.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;581.8&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Pipe Throughput&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;281688.8&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;10.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;12440.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;226.4&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Pipe-based Context Switching&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;45913.1&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;10.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;4000.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;114.8&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Process Creation&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2106.5&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;30.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;126.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;167.2&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Shell Scripts (1 concurrent)&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;1757.6&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lpm&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;60.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;42.4&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;414.5&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Shell Scripts (8 concurrent)&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;511.3&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lpm&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;60.1 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;6.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;852.1&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;System Call Overhead&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;690392.9&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;10.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;15000.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;460.3&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td colspan=&quot;6&quot;&gt;&lt;b&gt;System Benchmarks Index Score:&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;b&gt;&lt;tt&gt;314.0&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;hr /&gt;
&lt;h3&gt;
Benchmark Run: 4 CPUs; 4 parallel processes&lt;/h3&gt;
Time: 23:44:04 - 00:12:11; 28m 07s&lt;br /&gt;
&lt;h4&gt;
System Benchmarks&lt;/h4&gt;
&lt;table style=&quot;width: 100%px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;
   &lt;th align=&quot;left&quot;&gt;Test&lt;/th&gt;
   &lt;th align=&quot;right&quot;&gt;Score&lt;/th&gt;
   &lt;th align=&quot;left&quot;&gt;Unit&lt;/th&gt;
   &lt;th align=&quot;right&quot;&gt;Time&lt;/th&gt;
   &lt;th align=&quot;right&quot;&gt;Iters.&lt;/th&gt;
   &lt;th align=&quot;right&quot;&gt;Baseline&lt;/th&gt;
   &lt;th align=&quot;right&quot;&gt;Index&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Dhrystone 2 using register variables&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;17680727.4&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;10.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;116700.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;1515.1&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Double-Precision Whetstone&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;4864.7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;MWIPS&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;9.8 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;55.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;884.5&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Execl Throughput&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;1908.4&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;29.9 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;43.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;443.8&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;File Copy 1024 bufsize 2000 maxblocks&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;212820.4&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;KBps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;30.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;3960.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;537.4&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;File Copy 256 bufsize 500 maxblocks&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;60151.4&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;KBps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;30.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;1655.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;363.5&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;File Copy 4096 bufsize 8000 maxblocks&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;545417.9&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;KBps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;30.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;5800.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;940.4&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Pipe Throughput&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;964227.6&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;10.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;12440.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;775.1&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Pipe-based Context Switching&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;168143.6&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;10.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;4000.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;420.4&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Process Creation&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;3995.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;30.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;126.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;317.1&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Shell Scripts (1 concurrent)&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;4017.5&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lpm&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;60.1 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;42.4&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;947.5&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;Shell Scripts (8 concurrent)&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;538.8&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lpm&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;60.2 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;6.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;898.0&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
   &lt;td&gt;&lt;b&gt;System Call Overhead&lt;/b&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;2281338.8&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;left&quot;&gt;&lt;tt&gt;lps&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;10.0 s&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;7&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;15000.0&lt;/tt&gt;&lt;/td&gt;
   &lt;td align=&quot;right&quot;&gt;&lt;tt&gt;1520.9&lt;/tt&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;6&quot;&gt;&lt;b&gt;System Benchmarks Index Score:&lt;/b&gt;&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;&lt;b&gt;&lt;tt&gt;703.1&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;インターネットで拾ってきた他人様の実行結果&lt;/b&gt;&lt;/h3&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;環境&lt;/th&gt;&lt;th&gt;running 1 parallel copy of tests&lt;/th&gt;&lt;th&gt;running 4 parallel copy of tests&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;RPi3B+(GNU/Linux -- 4.19.118-v7+)&lt;span style=&quot;color: red;&quot;&gt;3.0A&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;314.0&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;703.1&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;RPi3B+&lt;/b&gt;(GNU/Linux -- 4.14.34-v7+)&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;2.0A&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;308.1&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;442.4&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;RPi3B+&lt;/b&gt;(GNU/Linux -- 4.14.34-v7+)&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;3.0A&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;355.8&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;783.8&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;RPi3B+&lt;/b&gt;(?)&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;2.1A&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;303.5&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;407.2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;b&gt;RPi3B+&lt;/b&gt;(GNU/Linux -- 4.19.80-v7l+)&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;336.3&lt;/td&gt;&lt;td style=&quot;text-align: center;&quot;&gt;867.2&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/7582840953363434132/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/06/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/7582840953363434132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/7582840953363434132'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/06/blog-post.html' title='ラズベリーパイ　ベンチマーク'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-7866718494843446444</id><published>2020-05-31T22:26:00.001+09:00</published><updated>2020-07-01T22:24:56.148+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><category scheme="http://www.blogger.com/atom/ns#" term="アプリ"/><title type='text'>RaspberryPi DLNA導入</title><content type='html'>&lt;style&gt;
    table, th, td {
        border-collapse: collapse;
        border: 1px solid #ccc;
        line-height: 1.5;
    }

    table.type01 th {
        width: 150px;
        padding: 10px;
        font-weight: bold;
        vertical-align: top;
    }
    table.type0 td {
        width: 350px;
        padding: 10px;
        vertical-align: top;
    }

    tr:nth-child(even) {
        background: #d9d9d9;
    }
&lt;/style&gt;

DLNAサーバ　導入&lt;br /&gt;
&lt;br /&gt;
環境：RaspberryPi3B+&lt;br /&gt;
OS：OS:Raspbian 10.4 (buster) &lt;br /&gt;
DLNAサーバソフト：minidlnaを使用&lt;br /&gt;
テキストエディタ：nano&lt;br /&gt;
外付けHDD：&lt;a href=&quot;https://kanon123.blogspot.com/2019/10/hd-ad4u3-buffalohdd.html&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;HD-AD4U3&lt;/b&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt upgrade&lt;br /&gt;
$ sudo apt install minidlna（2020.5.31時点での最新Ver.1.2.1）&lt;br /&gt;
$ sudo nano /etc/minidlna.conf&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th colspan=&quot;2&quot;&gt;/etc/minidlna.conf&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;1&lt;/td&gt;&lt;td&gt;user=root&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;2&lt;/td&gt;&lt;td&gt;media_dir=/media/pi  #(USBが自動的にマウントされる/media/piをディレクトリとして設定)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;3&lt;/td&gt;&lt;td&gt;db_dir=/var/cache/minidlna&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;4&lt;/td&gt;&lt;td&gt;port=8200&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;5&lt;/td&gt;&lt;td&gt;friendly_name=RPi&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;6&lt;/td&gt;&lt;td&gt;inotify=yes　（フォルダを監視し、変更があった場合に自動でデータベースを更新するオプション）&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;7&lt;/td&gt;&lt;td&gt;album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;8&lt;/td&gt;&lt;td&gt;album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;9&lt;/td&gt;&lt;td&gt;album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot; width=&quot;15&quot;&gt;10&lt;/td&gt;&lt;td&gt;notify_interval=895　（変更を監視する周期（秒指定））&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;11&lt;/td&gt;&lt;td&gt;listening_ip=192.168.0.209 (ラズパイのIP)??&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
$ sysctl fs.inotify.max_user_watches&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt;8192と出る。 &lt;br /&gt;
&lt;br /&gt;
$ sudo nano /etc/sysctl.d/minidlna.conf&lt;br /&gt;
※新規ファイルを作り、「fs.inotify.max_user_watches = 81920」を追記。 &lt;br /&gt;
&lt;br /&gt;
$ sudo chown minidlna /media/pi&lt;br /&gt;
※外付けHDDのパーミッション設定。media_dir=で設定したディレクトリを指定。&lt;br /&gt;
&lt;br /&gt;
$ sudo systemctl restart minidlna&lt;br /&gt;
※minidlnaサービスを再起動&lt;br /&gt;
&lt;br /&gt;
PC等のブラウザで”http://http://raspberrypi:8200/”と入力すると、&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje7M49qXjyY05XijSlZS_DfWWPP-0Sq8HX4emOtPQHBwnLjAWlefjWLm4yruPj5UQ6HIg1ZefDzHl31Yyfzb7i9u8pDqDykzzSqL7P1OGVlbybQs7JN3JPn-3eOvuP0P2UHI0ZjRrfBtI/s1600/minidlna.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;598&quot; data-original-width=&quot;589&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje7M49qXjyY05XijSlZS_DfWWPP-0Sq8HX4emOtPQHBwnLjAWlefjWLm4yruPj5UQ6HIg1ZefDzHl31Yyfzb7i9u8pDqDykzzSqL7P1OGVlbybQs7JN3JPn-3eOvuP0P2UHI0ZjRrfBtI/s320/minidlna.png&quot; width=&quot;315&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
”Media library”が正しくカウントされていればOK。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
USBHDDが/media/piにマウントされる前にminidlnaが起動してしまうと、上手く動作しないので、minidlnaの起動を少し遅らせる。&lt;br /&gt;
$ sudo nano /etc/init.d/minidlna&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDehEy9Bb5dZZZsz8oyPw-_M-u4N7ZnCPBFO4Pwe1vZSxADesfl1iKpWiHPG6I_u2iGn76HENSsSAwO0UxPwSuxTP-3uzdkGadb_heXBhnSUXFj5yBcnsUAhrmuzX6lvJ4JZ41PJM81WM/s1600/minidlna_dostart%2528%2529.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;369&quot; data-original-width=&quot;610&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDehEy9Bb5dZZZsz8oyPw-_M-u4N7ZnCPBFO4Pwe1vZSxADesfl1iKpWiHPG6I_u2iGn76HENSsSAwO0UxPwSuxTP-3uzdkGadb_heXBhnSUXFj5yBcnsUAhrmuzX6lvJ4JZ41PJM81WM/s400/minidlna_dostart%2528%2529.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
※do_start()の画像真ん中の位置に&quot;sleep 60&quot;を挿入。 これで起動を60秒遅らせる。&lt;br /&gt;
&lt;br /&gt;
$ sudo systemctl enable minidlna&lt;br /&gt;
※mnidlnaを自動起動有効にする。</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/7866718494843446444/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/05/raspberrypi-dlna.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/7866718494843446444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/7866718494843446444'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/05/raspberrypi-dlna.html' title='RaspberryPi DLNA導入'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje7M49qXjyY05XijSlZS_DfWWPP-0Sq8HX4emOtPQHBwnLjAWlefjWLm4yruPj5UQ6HIg1ZefDzHl31Yyfzb7i9u8pDqDykzzSqL7P1OGVlbybQs7JN3JPn-3eOvuP0P2UHI0ZjRrfBtI/s72-c/minidlna.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-689403853691757530</id><published>2020-05-25T23:56:00.000+09:00</published><updated>2020-05-31T22:45:45.617+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="パーツ"/><title type='text'>bluetoothキーボード</title><content type='html'>ラズパイ用に専用キーボードが欲しいと思って、amazonでbluetoothキーボードを購入。今使っていっるマウスがbluetooth接続なので、bluetoothで揃えてみた。&lt;br /&gt;
&lt;br /&gt;
今回購入したのは、EWIN製『ZR-067-B009』というキーボード。2480円。&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYp16aSQOBYFex9EISoAdmr9WSdJjhmz3NyDGyeGFa2IAlwKerKVplaHsgufciWoB0rvtjZmLRliEAIGVvY6EoSdjRiXeZBPnhhxTOhcORzwvxG4aSgKDOdYMCgpJHxa54YJfvY40m4rQ/s1600/ewin.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;280&quot; data-original-width=&quot;500&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYp16aSQOBYFex9EISoAdmr9WSdJjhmz3NyDGyeGFa2IAlwKerKVplaHsgufciWoB0rvtjZmLRliEAIGVvY6EoSdjRiXeZBPnhhxTOhcORzwvxG4aSgKDOdYMCgpJHxa54YJfvY40m4rQ/s400/ewin.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
【特徴】&lt;br /&gt;
&lt;span class=&quot;a-list-item&quot;&gt;JIS規格準拠の標準日本語配列のキーボード&lt;/span&gt;&lt;br /&gt;
&lt;u&gt;&lt;b&gt;&lt;span class=&quot;a-list-item&quot;&gt;3台のデバイスとマルチペアリング&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;span class=&quot;a-list-item&quot;&gt;Bluetooth5.1に対応&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;a-list-item&quot;&gt;コンパクトで軽量設計（&lt;/span&gt;&lt;span class=&quot;a-list-item&quot;&gt;&lt;span class=&quot;a-list-item&quot;&gt;295x120x20mm、290g&lt;/span&gt;）&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
【使用感】&lt;br /&gt;
・とてもコンパクトで机が広く使えます。&lt;br /&gt;
・日本語jis配列で使いやすい。＿とか～が入力できない時は、”Fn”+”w”でWindows用にすれば良いかも。 &lt;br /&gt;
・接続は簡単で”Fn”＋”a”,”s”,”d”で接続番号を選らぶ。&lt;br /&gt;
⇒”Fn”＋”Tab”でペアリング開始&lt;br /&gt;
⇒PCやラズパイで接続機器の追加を選択し”Bluetooth 5.1 Keyboard”を選択すれば勝手に接続される。&lt;br /&gt;
※裏面の&quot;connect&quot;ボタンは何に使うのか。。。 &lt;br /&gt;
・打音は若干気になりますが、そこまでうるさくないです。&lt;br /&gt;
・まだ使い慣れていないからですが、エンターキーを押す際に”「”を間違って押してしまいます。&lt;br /&gt;
・￥の場所は、何かの間違いでしょうか？予想外の場所にあります。&lt;br /&gt;
・特徴にもある3台のデバイスと&lt;b&gt;&lt;u&gt;マルチペアリングはすごい便利&lt;/u&gt;&lt;/b&gt;。&lt;br /&gt;
　PCとラズパイでキーボード接続しなおすのが面倒なので、新しく購入したけど、”ファンクションキー＋a”で待ち時間なく操作デバイスを切り替え可能。旧キーボードは要らないかも。。。&lt;br /&gt;
・耐久性とかはまだ分からないので、しばらく使って何か問題があれば追記すると思う。&lt;br /&gt;
&lt;div class=&quot;apm-sidemodule-textright&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;apm-sidemodule-textright&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;apm-sidemodule-textright&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/689403853691757530/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/05/bluetooth.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/689403853691757530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/689403853691757530'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/05/bluetooth.html' title='bluetoothキーボード'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYp16aSQOBYFex9EISoAdmr9WSdJjhmz3NyDGyeGFa2IAlwKerKVplaHsgufciWoB0rvtjZmLRliEAIGVvY6EoSdjRiXeZBPnhhxTOhcORzwvxG4aSgKDOdYMCgpJHxa54YJfvY40m4rQ/s72-c/ewin.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-9059437998704226477</id><published>2020-05-21T23:42:00.000+09:00</published><updated>2020-05-21T23:44:28.424+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>マウスでキーボード操作</title><content type='html'>ラズパイ用に５インチモニターを購入したが、現在の作業環境では、キーボードを１台しか置けないので、Windows機とラズパイを同時に操作することが難しい。&lt;br /&gt;
&lt;br /&gt;
マウスで簡単なキーボード操作ができないか。せめてエンターキーだけでもマウスで使えると助かると思って調べてみた。&lt;br /&gt;
&lt;br /&gt;
１．xbindkeys と xdotool をインストール&lt;br /&gt;
$ sudo apt install xbindkeys xdotool&lt;br /&gt;
&lt;br /&gt;
２．ボタンの番号を調べる。 &lt;br /&gt;
$ xev | grep button&lt;br /&gt;
エンターキーに使いたいボタンを押してみると、 &lt;br /&gt;
&amp;nbsp; state 0x0, &lt;span style=&quot;color: red;&quot;&gt;button 8&lt;/span&gt;, same_screen YES&lt;br /&gt;
ボタン8にEnterキーを割り当てたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
３．設定ファイルを作成する。&lt;br /&gt;
$ nano ~/.xbindkeysrc&lt;br /&gt;
新規作成し、下記のコマンドを記載して保存。&lt;br /&gt;
---~/.xbindkeysrc---&lt;br /&gt;
#ボタン8へエンターキーを割り当て。Enterキーは”Enter&quot;ではなく&quot;Return&quot;。 &lt;br /&gt;
&quot;xdotool key Return&quot;&lt;br /&gt;
b:8&lt;br /&gt;
-----------------------&lt;br /&gt;
&lt;br /&gt;
４．設定ファイルの再読み込み&lt;br /&gt;
$ killall xbindkeys &lt;br /&gt;
$ xbindkeys&lt;br /&gt;
&lt;br /&gt;
現在使っているBluetoothマウス『BSMBB505BSK』 &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicj4h9pNPy3-Rv-VR0pjtMGysCavMdtsAsMwAlO6HayZ3A6pUPRR-pwD2v-zEFP1KfskDTkyDOkWWF7YALDkOkrlPZ0R6WMoW5I62wUngDapNq63dlL-7vu52mqXpWb-r8vSafaSqUjIQ/s1600/BSMBB505MBK.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;600&quot; data-original-width=&quot;800&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicj4h9pNPy3-Rv-VR0pjtMGysCavMdtsAsMwAlO6HayZ3A6pUPRR-pwD2v-zEFP1KfskDTkyDOkWWF7YALDkOkrlPZ0R6WMoW5I62wUngDapNq63dlL-7vu52mqXpWb-r8vSafaSqUjIQ/s400/BSMBB505MBK.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
※写真の数字がボタンの番号&lt;br /&gt;
&lt;br /&gt;
xdotoolの詳細な使い方は他サイトに多数記載されているので割愛。&lt;br /&gt;
&lt;br /&gt;
＜xdotool コマンド 引数＞&lt;br /&gt;
コマンドは今回は、キー入力をシュミレートする&quot;key&quot;コマンドを使用。&lt;br /&gt;
引数に割り当てたいキーを入力している。 &lt;br /&gt;
※本来の使い方では、スクリプトを記載し、ボタン一つで様々なスクリプトを動かすことが可能。今回とは逆にキーボードでマウス操作することも可能。</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/9059437998704226477/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/05/blog-post_21.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/9059437998704226477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/9059437998704226477'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/05/blog-post_21.html' title='マウスでキーボード操作'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicj4h9pNPy3-Rv-VR0pjtMGysCavMdtsAsMwAlO6HayZ3A6pUPRR-pwD2v-zEFP1KfskDTkyDOkWWF7YALDkOkrlPZ0R6WMoW5I62wUngDapNq63dlL-7vu52mqXpWb-r8vSafaSqUjIQ/s72-c/BSMBB505MBK.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-1653704535837881545</id><published>2020-05-14T23:00:00.001+09:00</published><updated>2020-05-19T00:24:59.250+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><category scheme="http://www.blogger.com/atom/ns#" term="パーツ"/><title type='text'>ラズパイ　デジタルフォトフレーム化</title><content type='html'>先日、kuman製５インチモニターを購入したので、RPiをデジタルフォトフレームとして使ってみたいと思います。&lt;br /&gt;
&lt;br /&gt;
環境：&lt;br /&gt;
Raspberry Pi 3 Model B+&lt;br /&gt;
OS:Raspbian 10.3 (buster)&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;１．fehとxscreensaverのインストール&lt;/b&gt;&lt;br /&gt;
$ sudo apt install feh&lt;br /&gt;
$ sudo apt install xscreensaver&lt;br /&gt;
&amp;nbsp;※fehはコマンドで操作できる画像ビューア &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&amp;nbsp;２．Raspberry Pi 3B+ スリープモードの解除&lt;/b&gt;&lt;br /&gt;
方法は３通りあるが、①が簡単そう。 &lt;br /&gt;
&lt;br /&gt;
①スタートメニュー　→　設定　→　スクリーンセーバー　を選択&lt;br /&gt;
モード（Ｍ）：セーバーを無効にする（Ｄ）を選択する。 &lt;br /&gt;
（xscreensaverをインストールするとスクリーンセーバーを選択可能）&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;②スクリーンセーバーの無効化&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;$ sudo nano /etc/lxsession/LXDE/autoatart&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;/etc/lxsession/LXDE/autoatart---&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;@lxpanel --profile LXDE&lt;br /&gt;@pcmanfm --desktop --profile LXDE&lt;br /&gt;@xscreensaver -no-splash&lt;br /&gt;@xset s off　　　　 （※追記）&lt;br /&gt;@xset s noblank　　（※追記）&lt;br /&gt;@xset -dpms 　　　 （※追記）&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&amp;nbsp;-----------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;③&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;$ sudo nano /etc/lightdm/lightdm.conf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;文末に以下の２行を追記する。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&amp;nbsp;---&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;/etc/lightdm/lightdm.conf---&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;[SeatDefaults]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;xserver-command=X -s 0 -dpms&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
再起動する。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;３．スライドショーを起動する&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&amp;nbsp;最初に表示させたい画像をフォルダ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;（例　/home/pi/Pictures）&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;にまとめます。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;$ feh -Y -x -q -D 10 -R 43200 -F -Z -r /home/pi/Pictures/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;４．スクリプト化&lt;/b&gt;&lt;br /&gt;
デスクトップ上にstart_slideshow.sh（名前は適当）というスクリプトファイルを作成。&lt;br /&gt;
中身は以下&lt;br /&gt;
---/home/pi/Desktop/start_slideshow.sh---&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
startx&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;feh -Y -x -q -D 60 -R 43200 -F -Z -r /home/pi/Pictures/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;-------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;&lt;span style=&quot;vertical-align: inherit;&quot;&gt;ダブルクリックして、実行を選択すれば、スライドショーが実行され、デジタルフォトフレームとして使用可能。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;番外編．fehのオプション説明&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;-Y, --hide-pointer&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;　&lt;/span&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;ポインタを非表示にします（スライドショーに役立ちます）。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;-x, --borderless&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;　&lt;/span&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;フチなしウィンドウを作成します。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;-q, --quiet&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;　&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;失敗したロードの致命的でないエラーを報告しません。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;冗長モードと静止モードは相互に排他的ではありません。最初のモードは情報メッセージを制御し、2番目のモードはエラーのみを制御します。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;-D, --slideshow-delay float&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;　スライドショーモードの場合、スライドが自動的に切り替わるまでfloat秒待機します。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;-R, --reload int&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;　int秒後にファイルリストと現在の画像を再読み込みします。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;HTTP Webカメラまたは頻繁に変更されるディレクトリの表示に役立ちます。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;（ファイルリストのリロードはまだ実験的であることに注意してください。）&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;ゼロに設定すると、あらゆる種類の自動再読み込みが無効になります。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span title=&quot;&quot;&gt;画像が削除されると、fehは次の画像を表示するか、終了します。&lt;/span&gt; &lt;span class=&quot;&quot; title=&quot;&quot;&gt;ただし、画像がまだ存在していてもロードできない場合、fehは引き続きロードを試みます。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;このオプションを設定すると、inotifyベースの自動再読み込みが無効になります。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;-F, --fullscreen&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;　ウィンドウを全画面表示にします。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;このモードでは、大きな画像は常に画面に合わせて縮小され、-zoom zoomは小さな画像にのみ影響し、画面サイズに合わせて必要以上に拡大することはありません。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;唯一の例外は100倍のズームです。この場合、画像は常に100％ズームで表示されます。&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;--thumbnailsと組み合わせると、このオプションはサムネイルの概要から開いた画像にのみ影響します。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;サムネイルリスト自体は引き続きウィンドウ表示されます。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;-Z, --auto-zoom&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;　&lt;/span&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;フルスクリーン/固定ジオメトリモードで画像を画面サイズにズームします。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;-r, --recursive&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;　コマンドライン引数内のディレクトリを再帰的にそれらのディレクトリのコンテンツに展開し、最下位レベルまで下げます。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;-z, --randomize&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;　スライドショーで複数のファイルを表示する場合は、表示する前にファイルリストをランダム化してください。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;tlid-translation translation&quot; lang=&quot;ja&quot;&gt;&lt;span class=&quot;&quot; title=&quot;&quot;&gt;リストは、スライドショーが循環する（つまり、最後の画像から最初の画像に移行する）たびに再ランダム化されます。&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/1653704535837881545/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/05/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/1653704535837881545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/1653704535837881545'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/05/blog-post.html' title='ラズパイ　デジタルフォトフレーム化'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-6636623313579568983</id><published>2020-05-13T00:20:00.001+09:00</published><updated>2026-05-01T22:39:25.590+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><category scheme="http://www.blogger.com/atom/ns#" term="パーツ"/><title type='text'>Kuman 5インチ ラズベリーパイ用モニタ</title><content type='html'>amazonにて「&lt;span class=&quot;a-size-large&quot; id=&quot;productTitle&quot;&gt;Kuman 5インチ 800*480 HDMI モニター タッチパネル ラズベリーパイ 液晶 ラズパイ Raspberry Pi ディスプレイ 保護ケース Raspberry Pi 3 2 Model B B+ A A+ SC5AC&lt;/span&gt;」を￥4950にて購入。&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi 3B+用に購入。問題なく使えた。&lt;br /&gt;
Description:Raspbian GNU/Linux 10 (buster)&lt;br /&gt;
&lt;img class=&quot;fullscreen&quot; height=&quot;288&quot; src=&quot;https://images-na.ssl-images-amazon.com/images/I/71dmBBsIfHL._AC_SL1500_.jpg&quot; style=&quot;margin-left: 0px; margin-top: 62.2978px;&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;箱の中に説明書は英語の紙１枚のみ。&lt;br /&gt;
&amp;nbsp;組み立て方はアマゾンの商品紹介画像をみると大体わかる。&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;img class=&quot;fullscreen&quot; height=&quot;400&quot; src=&quot;https://images-na.ssl-images-amazon.com/images/I/71tWMACl2gL._AC_SL1500_.jpg&quot; style=&quot;margin-left: 81.794px; margin-top: 10px;&quot; width=&quot;399&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;＜＜組み立て時の注意点＞＞ &lt;/b&gt;&lt;br /&gt;
※保護フィルムを外せと書かれており、外そうとするが、とても硬い。&lt;br /&gt;
※①の四角いフレームには薄いのと厚いのがある。薄いほうがバリが少ないので、全面に　使うと良い。&lt;br /&gt;
※長いネジ４本は⑤の四角いフレームに使う。&lt;br /&gt;
※黒いドーナッツ状の物は④と⑤の間に入れて⑥になるのと、⑦のラズパイと保護パネルの間に入れて⑨にする。&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;取扱説明書の内容&lt;/b&gt;&lt;br /&gt;
ステップ１）最新のRaspbianを準備しろ。&lt;br /&gt;
ステップ２）ラズパイを接続しろ。 &lt;br /&gt;
ステップ３）ドライバーを入れろ。&lt;br /&gt;
１）SSHで接続しろ。&lt;br /&gt;
２）下のコマンドを実行しろ。&lt;br /&gt;
$ sudo rm -rf LCD-show&lt;br /&gt;
$ git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
$ chmod -R 755 LCD-show&lt;br /&gt;
$ cd LCD-show/&lt;br /&gt;
$ sudo ./LCD5-show&lt;br /&gt;
３）上記実行すると勝手に再起動され、ディスプレイとタッチパネルが使える。&lt;br /&gt;
&lt;br /&gt;
タッチパネルが使えるようになったけど、SSHでも接続できなくなったので、いったん強制再起動。⇒正常に使用可能となった。&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;設定 &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
/boot/config.txtを修正しろとサイトには書いているけど、最初から800*480にて表示されている。&lt;br /&gt;
$ tvservice -s&lt;br /&gt;
→state 0x6 [DVI DMT(87)RGB full 15:9], 800x480 @ 59.00Hz, progressive&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;タッチパネルをキャリブレーション&lt;/b&gt;&lt;br /&gt;
大体合っているので、飛ばす。&lt;br /&gt;
&lt;br /&gt;
２.１A出力のモバイルバッテリーでも電圧低下マークが出ることもなく、使用可能。モニタとしての消費電力はかなり低い模様。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;今後の予定&lt;/b&gt;&lt;br /&gt;
デジタルフォトフレームとして使用する&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;使ってみて気づいたこと&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
・モニター側とラズパイ側で電源入力が２系統存在するが、どちらでも利用可能。普段はコンセントから電源を取り、移動したいときにモバイルバッテリーを別系統のmicroUSB端子に接続すれば、電源を落とすことなく、移動も可能。&lt;br /&gt;
・２系統から電源を取ることで低電圧を防止することも可能。&lt;br /&gt;
・モニタ裏面のバックパネルと書かれたスイッチはモニタの電源スイッチとして使用できる。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;※２０２６年５月１日追記&lt;/div&gt;&lt;div&gt;久しぶりに最初から構成しなおした。&lt;/div&gt;&lt;div&gt;ドライバを入れなおしたところ、再起動時にCUIで起動するように強制的に書き換えられていた。（元から？）&lt;/div&gt;&lt;div&gt;$ sudo raspi-config&lt;/div&gt;&lt;div&gt;SystemOptions→Bootにて設定可能。&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/6636623313579568983/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/05/kuman-5.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/6636623313579568983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/6636623313579568983'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/05/kuman-5.html' title='Kuman 5インチ ラズベリーパイ用モニタ'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-3673320971812639682</id><published>2020-04-18T22:08:00.002+09:00</published><updated>2020-04-18T22:08:35.361+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>WEBカメラ</title><content type='html'>以前スカイプ用に購入したロジクール製C270が使わなくなり、押入れに入れたままだったことを思い出し、ラズパイに接続してなにかできないかな〜と思い、引っ張り出してきました。&lt;br /&gt;色々なサイトを見てみると、監視カメラとして利用していることが多いようなので、今回は監視カメラとして設置できるようにしてみた。&lt;br /&gt;&lt;br /&gt;Raspberry Pi 3 Model B+&lt;br /&gt;OS:Raspbian 10.3 (buster)&lt;br /&gt;WEBカメラ：ロジクール HD Webcam C270&lt;br /&gt;&lt;br /&gt;以下がUSBカメラを接続する前のlsusbの状態です。&lt;br /&gt;pi@raspberrypi:~ $ lsusb&lt;br /&gt;Bus 001 Device 004: ID 0411:023a BUFFALO INC. (formerly MelCo., Inc.) &lt;br /&gt;Bus 001 Device 006: ID 0411:02c1 BUFFALO INC. (formerly MelCo., Inc.) &lt;br /&gt;Bus 001 Device 005: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory&lt;br /&gt;Bus 001 Device 007: ID 0424:7800 Standard Microsystems Corp. &lt;br /&gt;Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub&lt;br /&gt;Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub&lt;br /&gt;Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;&lt;br /&gt;キャプチャデバイスも存在していません。 →存在してるっぽい&lt;br /&gt;pi@raspberrypi:~ $ ls /dev/video*&lt;br /&gt;/dev/video10&amp;nbsp; /dev/video11&amp;nbsp; /dev/video12&lt;br /&gt;&lt;br /&gt;接続すると以下が追加されました。&lt;br /&gt;pi@raspberrypi:~ $ lsusb&lt;br /&gt;Bus 001 Device 008: ID 046d:0825 Logitech, Inc. Webcam C270&lt;br /&gt;&lt;br /&gt;接続して認識されると、ビデオキャプチャデバイスも生成されています。&lt;br /&gt;pi@raspberrypi:~ $ ls /dev/video*&lt;br /&gt;/dev/video0&amp;nbsp; /dev/video1&amp;nbsp; /dev/video10&amp;nbsp; /dev/video11&amp;nbsp; /dev/video12&lt;br /&gt;&lt;br /&gt;これでWEBカメラを使う準備ができました。&lt;br /&gt;次はアプリを使用しての画像取り込みになりますが、どのソフトが良いのかわからないので、&lt;br /&gt;適当に調べて詳しく使い方が乗っているアプリを使うことにします。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;★★guvcviewを使用してみました★★&lt;br /&gt;$ sudo apt install guvcview&lt;br /&gt;$ guvcview &amp;amp;&lt;br /&gt;※使い方がよくわかりません。今回はパスします。&lt;br /&gt;&lt;br /&gt;★★ｍotionを使用してみた★★　最新バージョン (4.1.1)　2020/2/25&lt;br /&gt;$ sudo apt install motion&lt;br /&gt;続行しますか? [Y/n] →y&lt;br /&gt;motion.confという設定ファイルをいじりますが、設定ファイルを変更する前に別ファイル名でオリジナルをコピーしておいてください。&lt;br /&gt;$ cd /etc/motion&lt;br /&gt;$ sudo cp motion.conf motion.conf.bak&lt;br /&gt;$ sudo nano motion.conf&lt;br /&gt;&lt;br /&gt;confファイルの中を見てみると、、、&lt;br /&gt;logは/var/log/motion/motion.logに出力されるようです。&lt;br /&gt;画像のサイズを変更できるようです。（defaultは320*240）&lt;br /&gt;エンコードにはffmpegを使用しているようです。&lt;br /&gt;defaultのbpsは400000＝50KByte/s&lt;br /&gt;コーデックは”mpeg4, msmpeg4, swf,flv, ffv1, mov, mp4, mkv, hevc”を利用可能なようです。&lt;br /&gt;保存先ディレクトリ”/var/lib/motion”のようです。&lt;br /&gt;&lt;b&gt;&lt;br /&gt;設定変更！！&lt;/b&gt;&lt;br /&gt;$ sudo nano /etc/motion/motion.conf&lt;br /&gt;（Ctrl+oで保存、Ctrl+xで終了）&lt;br /&gt;$ sudo motion&lt;br /&gt;ブラウザで”localhost:8081”と検索するとストリーミングされる。&lt;br /&gt;ブラウザで”localhost:8080”と検索するとブラウザ上で操作できる。&lt;br /&gt;実際に変更項目を確認しながらやるとベター。ALL → action → quitで停止できる。&lt;br /&gt;&lt;br /&gt;★設定変更した項目★&lt;br /&gt;daemon on&lt;br /&gt;norm 1（使用するビデオ規格　0:PAL 1:NTSC 2:SECAM 3:PAL NC no colour）&lt;br /&gt;width 640&lt;br /&gt;height 480&lt;br /&gt;framerate 12（640*480だと概ね12-14fpsしかでない）&lt;br /&gt;output_pictures on（動体検知時に画像を出力する）&lt;br /&gt;ffmpeg_video_codec mp4（mkvから変更）&lt;br /&gt;locate_motion_mode on（動体マーカをつける）&lt;br /&gt;text_double on（日付はフォントが小さいためonとしておけば、大きな文字になる。）&lt;br /&gt;v4l2 17 →8or15 （C270は8:Motion-JPEGと15:YUYVに対応）&lt;br /&gt;（https://motion-project.github.io/4.1.1/motion_guide.html#Options_Video4Linux_Devices）&lt;br /&gt;&lt;br /&gt;※デフォルトのまま&lt;br /&gt;stream_localhost on（ストリーム接続をローカルホストのみに制限する） &lt;br /&gt;target_dir /var/lib/motion （静止画や動画を保存するディレクトリ）&lt;br /&gt;ffmpeg_output_movies on（動体検知時に動画を出力する）&lt;br /&gt;event_gap 60&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;では起動！&lt;br /&gt;$ sudo motion&lt;br /&gt;ブラウザで&quot;localhost:8081&quot;と検索窓に入力すると、カメラの映像を見ることができた。&lt;br /&gt;動体検知された時の映像がtarget_dirである/var/lib/motionに保存されている。&lt;br /&gt;ディレクトリ内のファイルを削除するには管理者権限が必要なので、&lt;br /&gt;$ sudo rm /var/lib/motion/*.jpg&lt;br /&gt;*ワイルドカードを使用すると便利。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
監視カメラやWEBカメラとして使えるようになったけど、今のところ利用予定はなし。</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/3673320971812639682/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/04/web.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/3673320971812639682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/3673320971812639682'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/04/web.html' title='WEBカメラ'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-6065945786904997153</id><published>2020-02-02T21:50:00.001+09:00</published><updated>2020-05-15T23:07:29.373+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>RaspberryPi用インデックス</title><content type='html'>&lt;span style=&quot;font-size: large;&quot;&gt;RaspberryPi用インデックス&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
・&lt;a href=&quot;https://kanon123.blogspot.com/2019/10/raspberry-pi-3b.html&quot; target=&quot;_blank&quot;&gt;購入・組み立て&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;https://kanon123.blogspot.com/2020/05/kuman-5.html&quot; target=&quot;_blank&quot;&gt;５インチ液晶モニタの組み立て&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;OS：Raspbian&lt;/span&gt;&lt;br /&gt;
・&lt;a href=&quot;https://kanon123.blogspot.com/2019/10/raspbian.html&quot; target=&quot;_blank&quot;&gt;初期設定&lt;/a&gt;&lt;br /&gt;
→&lt;a href=&quot;https://kanon123.blogspot.com/2019/10/raspberrypi-ftp.html&quot; target=&quot;_blank&quot;&gt;FTP導入&lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;https://kanon123.blogspot.com/2020/04/web.html&quot; target=&quot;_blank&quot;&gt;ＷＥＢカメラ&lt;/a&gt; &lt;br /&gt;
・&lt;a href=&quot;https://kanon123.blogspot.com/2020/05/blog-post.html&quot; target=&quot;_blank&quot;&gt;デジタルフォトフレーム&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;OS：OpenMediavault&lt;/span&gt;&lt;br /&gt;
・&lt;a href=&quot;https://kanon123.blogspot.com/2019/10/openmediavault.html&quot; target=&quot;_blank&quot;&gt;初期設定&lt;/a&gt;&lt;br /&gt;
→&lt;a href=&quot;https://kanon123.blogspot.com/2019/11/omv4.html&quot; target=&quot;_blank&quot;&gt;エラー対策（仮）&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
小ネタ&lt;br /&gt;
・&lt;a href=&quot;https://kanon123.blogspot.com/2020/01/blog-post.html&quot; target=&quot;_blank&quot;&gt;よく使うコマンド&lt;/a&gt; &lt;br /&gt;
・&lt;a href=&quot;https://kanon123.blogspot.com/2019/11/blog-post.html&quot; target=&quot;_blank&quot;&gt;ネットワークデバイス名変更 &lt;/a&gt;&lt;br /&gt;
・&lt;a href=&quot;https://kanon123.blogspot.com/2019/12/hdd.html&quot; target=&quot;_blank&quot;&gt;HDD（ハードディスクドライブ）の自動スピンダウン&lt;/a&gt;&lt;br /&gt;
・ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/6065945786904997153/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/02/raspberrypi.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/6065945786904997153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/6065945786904997153'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/02/raspberrypi.html' title='RaspberryPi用インデックス'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-4482497417420347489</id><published>2020-01-04T16:29:00.000+09:00</published><updated>2020-01-04T16:29:59.102+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="周辺機器"/><title type='text'>WI-U3-866DS　購入</title><content type='html'>ネットワーク周りの改善のために、wifi子機を購入。 &lt;br /&gt;
アマゾンにて2019.11.19購入　￥3253&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrPFZA-a2C9Nm9xls-Jp8zMFGDl8rvpS-8BpN_HrXVpKg3eL3FWIgJ8vXUC5hoaB2vHbSIGXuL8FmWpMkO7FVLfvH2tyC9Bdjwg-8ibq1XEoXlBoOwN00XgvQfJpm_HfV34XdqxiwEUxs/s1600/wi-u3-866ds.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;400&quot; data-original-width=&quot;720&quot; height=&quot;177&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrPFZA-a2C9Nm9xls-Jp8zMFGDl8rvpS-8BpN_HrXVpKg3eL3FWIgJ8vXUC5hoaB2vHbSIGXuL8FmWpMkO7FVLfvH2tyC9Bdjwg-8ibq1XEoXlBoOwN00XgvQfJpm_HfV34XdqxiwEUxs/s320/wi-u3-866ds.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
IEEE802.11a/b/g/n/&lt;span style=&quot;color: red;&quot;&gt;ac&lt;/span&gt;に対応。ac対応の中から選んだ。&lt;br /&gt;
アンテナ２つなので、5GHzなら866Mbps、2.4GHzなら300Mbps。&lt;br /&gt;
ビームフォーミング対応。&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;延長ケーブル付属&lt;/span&gt;（地味にうれしい）&lt;br /&gt;
&lt;br /&gt;
メーカーの公称実効速度は491Mbps&lt;br /&gt;
&lt;br /&gt;
googleのspeedtestでは&lt;br /&gt;
ダウンロード：81.3Mbps&lt;br /&gt;
アップロード：17.5Mbps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ルーターに有線接続しているPCがないので、本機（WI-U3-866DS）をRPTに無線接続し、RPTに有線接続しているラズベリーパイとiperf3で計測してみた。&lt;br /&gt;
※PC（クライアント）　～　RPT　---　RPi（サーバ）　：～無線．---有線&lt;br /&gt;
300秒計測　平均58.3Mbps　最小10.2Mbps　最大115Mbps　標準偏差25.0&lt;br /&gt;
クライアントマネージャⅤ（バッファローの無線接続ツール）では電波状態76-82％で推移。</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/4482497417420347489/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/01/wi-u3-866ds.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4482497417420347489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4482497417420347489'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/01/wi-u3-866ds.html' title='WI-U3-866DS　購入'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrPFZA-a2C9Nm9xls-Jp8zMFGDl8rvpS-8BpN_HrXVpKg3eL3FWIgJ8vXUC5hoaB2vHbSIGXuL8FmWpMkO7FVLfvH2tyC9Bdjwg-8ibq1XEoXlBoOwN00XgvQfJpm_HfV34XdqxiwEUxs/s72-c/wi-u3-866ds.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-4456573255445625166</id><published>2020-01-04T15:23:00.000+09:00</published><updated>2020-01-04T15:23:13.581+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>ラズベリーパイでよく使うコマンド</title><content type='html'>ラズベリーパイを使う中で、よく使うコマンド&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;poweroff&lt;/b&gt;&lt;br /&gt;
システムのシャットダウン。&lt;br /&gt;
$ sudo shutdown -h now でも可。&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;reboot&lt;/b&gt;&lt;br /&gt;
システムの再起動。&lt;br /&gt;
$ sudo shutdown -r now&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ls&lt;/b&gt;&lt;br /&gt;
ファイルやディレクトリの情報表示。&lt;br /&gt;
$ ls -l :で詳細表示可能。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;cd&lt;/b&gt;&lt;br /&gt;
ディレクトリの移動&lt;br /&gt;
$ cd .. :一つ上のディレクトリに移動&lt;br /&gt;
$ cd ~ :ホームへ戻る&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;mkdir&lt;/b&gt;&lt;br /&gt;
ディレクトリを作成&lt;br /&gt;
$ mkdir dir&amp;nbsp; :dirという名前のディレクトリを作成&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;mv&lt;/b&gt;&lt;br /&gt;
ファイルやディレクトリの移動、名前の変更。&lt;br /&gt;
$ mv file1 /etc&amp;nbsp; :file1という名前のファイルを/etcディレクトリに移動。&lt;br /&gt;
$ mv file1 file2&amp;nbsp; :file1という名前のファイルをfile2という名前に変更。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;cp&lt;/b&gt;&lt;br /&gt;
ファイルやディレクトリのコピーを作成。&lt;br /&gt;
$ cp file1 file2 :file1という名前のファイルをfile2という名前で複写。&lt;br /&gt;
$ cp -r dir1 dir2 :ディレクトリdir1の内容をすべてdir2へ複写。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;rm&lt;/b&gt;&lt;br /&gt;
ファイルやディレクトリの削除。ディレクトリを削除するときは-rオプションをつける。&lt;br /&gt;
$ rm file1 :file1を削除&lt;br /&gt;
$ rm -r dir1 :ディレクトリdir1を削除&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;cat&lt;/b&gt;&lt;br /&gt;
ファイルの中身をテキスト表示。(逆順で表示させたい場合はtac)&lt;br /&gt;
nano等でも表示できるが、変更しない場合はcatの方が安全。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;chmod&lt;/b&gt;&lt;br /&gt;
ファイルやディレクトリのパーミッション（アクセス権）の変更。&lt;br /&gt;
$ sudo chmod 755 file1 :file1のパーミッションを755に変更。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;nano&lt;/b&gt;&lt;br /&gt;
テキストエディタnanoで編集。指定したファイル名が存在しなければ新規作成。&lt;br /&gt;
ctrl+oで保存、ctrl+xで終了。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;apt &lt;/b&gt;&lt;br /&gt;
パッケージ管理。以前はapt-getだったが、現在はaptの使用を推奨。&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt upgrade&lt;br /&gt;
$ sudo apt install パッケージ名&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
aptの履歴&lt;br /&gt;
/var/log/apt/history.logに履歴が残るので確認が可能。 &lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;wget&lt;/b&gt;&lt;br /&gt;
ファイルのダウンロード&lt;br /&gt;
$ wget https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRR-rtHiAbN9DtJ2LjpXtljV9MgPjAwikyH-CPBb7N91OV9M2oNjFfdDBuSpGZvVEuL4f31Fatv19d1fLgf-n5pO_3ojjiBQUMvzDYcPrx8B7JR53_2EFwTndfpig42PbCG590SSqBh_Q/s1600/sh_spindown.png&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;lsb_release -a&lt;/b&gt;&lt;br /&gt;
OSのバージョンを確認するコマンド。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;raspi-config&lt;/b&gt;&lt;br /&gt;
RaspberryPiの設定ツール&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;echo&lt;/b&gt;&lt;br /&gt;
引数の中身を表示&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;|(パイプ)&lt;/b&gt;&lt;br /&gt;
commnd1 | command2&lt;br /&gt;
コマンド１の実行結果を引数としてコマンド２に送る。</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/4456573255445625166/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2020/01/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4456573255445625166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/4456573255445625166'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2020/01/blog-post.html' title='ラズベリーパイでよく使うコマンド'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-506367081295297904</id><published>2019-12-18T21:43:00.000+09:00</published><updated>2019-12-23T00:22:19.438+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><category scheme="http://www.blogger.com/atom/ns#" term="周辺機器"/><title type='text'>HDD自動スピンダウン</title><content type='html'>24時間稼働予定のラズベリーパイで、接続している外付けHDDを常時起動しておくのは、電気代的に避けたい。&lt;br /&gt;
バックアップ用途であり、頻繁に使うものでもないので、一定時間アクセスがなければ、スピンダウン（休止状態）になるようにしたい。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;環境：&lt;/b&gt;&lt;br /&gt;
RaspberryPi 3B+&lt;br /&gt;
Description:Raspbian GNU/Linux 10 (buster)&lt;br /&gt;
sdparm version: 1.10 20160222 [svn: r279]&lt;br /&gt;
USB-HDD:&lt;a href=&quot;https://kanon123.blogspot.com/2019/10/hd-ad4u3-buffalohdd.html&quot; target=&quot;_blank&quot;&gt;HD-AD4U3&lt;/a&gt; 4TB&lt;br /&gt;
外付けHDDの電源管理としては、sdparmとhdparmというものがある。&lt;br /&gt;
私の環境ではsdparmが利用可能だったので、sdparmの設定方法の備忘録。&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;sdparmのインストール&lt;/b&gt;&lt;br /&gt;
$ sudo apt update&lt;br /&gt;
$ sudo apt install sdparm&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;デバイスの接続場所を確認&lt;/b&gt;&lt;br /&gt;
$ df -h&lt;br /&gt;
/dev/&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;sdb1&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.7T&amp;nbsp; 428G&amp;nbsp; 3.3T&amp;nbsp;&amp;nbsp; 12% /media/pi/HD-ADU3&lt;br /&gt;
USB-HDDは /dev/&lt;span style=&quot;color: red;&quot;&gt;sdb1&lt;/span&gt;として接続されている。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;sdparmによるHDDスピンダウンのコマンド&lt;/b&gt;&lt;br /&gt;
$ sudo sdparm --command=stop /dev/&lt;span style=&quot;color: red;&quot;&gt;sdb1&lt;/span&gt;&lt;br /&gt;
&amp;gt;&amp;gt;１回ではゆっくりとした点滅後に点灯に戻るが、同じコマンドで２回目を実行することで、アクセスランプが消灯した。&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;HDDを監視し、一定時間アクセスがなければ、上記のコマンドを実行するスクリプトを新規作成する。&lt;/b&gt;（adu3_spindownは任意のファイル名でOK）&lt;br /&gt;
$ sudo nano /usr/local/bin/adu3_spindown.sh&lt;br /&gt;
--------------------&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
disk=$1&lt;br /&gt;
interval=$2&lt;br /&gt;
state=`grep &quot; $disk &quot; /proc/diskstats`&lt;br /&gt;
count=$interval&lt;br /&gt;
up=1&lt;br /&gt;
while [ true ]; do&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep 60&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; count=$(($count-60))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; newstate=`grep &quot; $disk &quot; /proc/diskstats`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &quot;$state&quot; = &quot;$newstate&quot; ]; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ $count -lt 0 ]; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=$interval&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ $up = 1 ]; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;spin-down&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sync&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state=`grep &quot; $disk &quot; /proc/diskstats`&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo sdparm --command=stop -r /dev/$disk &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; up=0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count=$interval&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state=&quot;$newstate&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ $up = 0 ]; then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;drive is up&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; up=1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;
done&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
・whileループ関数で監視し続ける&lt;br /&gt;
・sleepで60秒ごとに実行するようにする&lt;br /&gt;
・/proc/diskstatsの内容を監視し、指定した時間（下記の/etc/rc.localに記載する第2&lt;br /&gt;
引数）経っても変更がなかったらスピンダウンさせ、echoでlogにメッセージ記載&lt;br /&gt;
&lt;br /&gt;
・upがHDDの稼働状態の管理。起動時にup=1に設定。スピンダウンしたらup=0に変更。スピンアップしたらup=1に変更。&lt;br /&gt;
・ページの下にフローチャートを追記。 &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;上記のファイルを作成したら、実行できるようにパーミッションを変更。&lt;/b&gt;&lt;br /&gt;
$ sudo chmod 755 /usr/local/bin/adu3_spindown.sh&lt;br /&gt;
chmod 755=「rwxr-xr-x」　所有者：全部、グループ＆その他：読み出し＆実行&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;起動時に動作させるために上記のスクリプトをrc.localに登録する。&lt;/b&gt;&lt;br /&gt;
$ sudo nano /etc/rc.local&lt;br /&gt;
以下の内容を文末のexit 0 の直前に追記する。&lt;br /&gt;
--------------------&lt;br /&gt;
/usr/local/bin/adu3_spindown.sh sdb1 &lt;span style=&quot;color: red;&quot;&gt;3600&lt;/span&gt; 2&amp;gt;&amp;amp;1 | logger -t adu3_spindown &amp;amp;&lt;br /&gt;
--------------------&lt;br /&gt;
・1時間＝&lt;span style=&quot;color: red;&quot;&gt;3600&lt;/span&gt;秒。/proc/diskstatsの内容に変更がなかったら、スピンダウンするように設定した。&lt;br /&gt;
・3600は使用目的に沿った秒数に変更可能。&lt;br /&gt;
・&quot;&amp;amp;&quot;と文末に記載することでバックグラウンドで稼働。&lt;br /&gt;
&lt;br /&gt;
スピンダウン、スピンアップの状況は以下のコマンドで確認可能。&lt;br /&gt;
$ tail /var/log/user.log&lt;br /&gt;
&amp;gt;&amp;gt;Dec 18 00:07:54 raspberrypi adu3_spindown: spin-down&lt;br /&gt;
&amp;gt;&amp;gt;Dec 18 00:11:55 raspberrypi adu3_spindown: drive is up&lt;br /&gt;
&lt;br /&gt;
最初はrc.localへの記載を3600秒等ではなく、120秒など短い秒数で設定して、きちんと動作しているかの確認を行うとよい。&lt;br /&gt;
rc.localへの記載は再起動しないと反映されないので、変更した際には、再起動を行う。&lt;br /&gt;
&lt;br /&gt;
2019.12.22追記&lt;br /&gt;
シェルスクリプトの内容をフローチャート化してみた。&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRR-rtHiAbN9DtJ2LjpXtljV9MgPjAwikyH-CPBb7N91OV9M2oNjFfdDBuSpGZvVEuL4f31Fatv19d1fLgf-n5pO_3ojjiBQUMvzDYcPrx8B7JR53_2EFwTndfpig42PbCG590SSqBh_Q/s1600/sh_spindown.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;872&quot; data-original-width=&quot;520&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRR-rtHiAbN9DtJ2LjpXtljV9MgPjAwikyH-CPBb7N91OV9M2oNjFfdDBuSpGZvVEuL4f31Fatv19d1fLgf-n5pO_3ojjiBQUMvzDYcPrx8B7JR53_2EFwTndfpig42PbCG590SSqBh_Q/s640/sh_spindown.png&quot; width=&quot;379&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/506367081295297904/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2019/12/hdd.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/506367081295297904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/506367081295297904'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2019/12/hdd.html' title='HDD自動スピンダウン'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRR-rtHiAbN9DtJ2LjpXtljV9MgPjAwikyH-CPBb7N91OV9M2oNjFfdDBuSpGZvVEuL4f31Fatv19d1fLgf-n5pO_3ojjiBQUMvzDYcPrx8B7JR53_2EFwTndfpig42PbCG590SSqBh_Q/s72-c/sh_spindown.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-2525517792611802637</id><published>2019-12-09T23:55:00.000+09:00</published><updated>2019-12-28T21:46:57.086+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>ラズベリーパイ　イーサネットコンバータ化（失敗）</title><content type='html'>&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;ラズベリーパイ3B+（以下RPi）をイーサネットコンバータ化&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&lt;u&gt;※注意：結局挫折します&lt;/u&gt;。&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;条件：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;１．DHCPサーバはRPiではない。RTがDHCPサーバとなる。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;２．同一セグメント内で完結させたい。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;環境：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;RaspberryPi 3B+&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;
Description:Raspbian GNU/Linux 10 (buster)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;セグメント：192.168.0.0/24（既存のネットワーク）&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;192.168.0.1：RT（DHCPサーバ） &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;以前のネットワーク環境&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;RT---AP①～conv---AP②---RPi&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;　　　　&amp;nbsp; ～PC　　　　---BDレコーダー等&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;AP②にはイーサネットコンバータ（conv）モードがないため、別途コンバータを導入していた。150Mb/sのはずだが、以前の記事の通り、１MB/s程度しか速度が出ないため、いろいろと検討していた。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7-lcY1j_Tc8hwsdCRhT-2uImeXyNk-k9N5r3GbgXZD8czp-lq5VuOijktpESi8npCeBAAr0rMKzGfgodSs8NIPt2kWSNwc4AdZVw0z2XmXJO8PsnGdy5Qt18y2uBUyknVQglRRW9FRJk/s1600/omv4_speed.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;347&quot; data-original-width=&quot;482&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7-lcY1j_Tc8hwsdCRhT-2uImeXyNk-k9N5r3GbgXZD8czp-lq5VuOijktpESi8npCeBAAr0rMKzGfgodSs8NIPt2kWSNwc4AdZVw0z2XmXJO8PsnGdy5Qt18y2uBUyknVQglRRW9FRJk/s400/omv4_speed.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;PCの無線ラン子機には　BUFFALO『WI-U3-866DS』を購入。11ac対応で、5GHz866Mb/s、2.4GHz300Mb/sとなる。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;イーサネットコンバータもボトルネックになっているため、RPiをコンバータにする（今回の記事はここ）。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;構想：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;RT---AP①～RPi(conv)---AP②---BDレコーダー等 &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;　　　　&amp;nbsp; ～PC&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;単純にブリッジ設定すれば、できると思っていたが、、、、&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;802.11には有線と無線をブリッジする仕様がない？らしく、brctlにてブリッジ設定することが出来なかった。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;手を付けすぎて訳の分からなくなった、&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;----------dhcpcd.conf-----------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;interface wlan0&lt;br /&gt;static ip_address=192.168.0.209/24&lt;br /&gt;static routers=192.168.0.1&lt;br /&gt;static domain_name_servers=192.168.0.1&lt;br /&gt;static domain_search=192.168.0.1&lt;br /&gt;metric 200&lt;br /&gt;noipv6&lt;br /&gt;&lt;br /&gt;interface eth0&lt;br /&gt;static ip_address=192.168.0.208/24&lt;br /&gt;noipv6&lt;br /&gt;static routers=0.0.0.0&lt;br /&gt;static domain_name_servers=0.0.0.0&lt;br /&gt;static domain_search=&lt;br /&gt;&lt;br /&gt;denyinterfaces wlan0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;手順１．&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;Interfaces&lt;/span&gt;を操作するのは非推奨ではあるが、他の方法だと上手くいかないので。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;$ sudo nano /etc/network/interfaces&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;----------interfaces-----------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;auto lo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;iface lo inet loopback&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;auto eth0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;allow-hotplug eth0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;iface eth0 inet manual&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
metric300&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;auto wlan0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;allow-hotplug wlan0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;iface wlan0 inet manual&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;metric 100&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;-------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
※メトリック設定はwlanを優先的にInternet回線に接続させるため。気休め。&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;手順２．&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&amp;nbsp;ip_forwardを有効にする。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;$ sudo&amp;nbsp; nano /etc/rc.local&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;----------rc.local-------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward(追加)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;exit 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;---------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;※文末のexit 0の前に挿入&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;手順３．&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;$ sudo apt dhcp-helper&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;$ sudo nano /etc/default/dhcp-helper&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;----------dhcp-helper---------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;DHCPHELP_OPTS=&quot;-b wlan0&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;-----------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;手順４．&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;Proxy ARP&lt;/span&gt;ブリッジを使う。&lt;span lang=&quot;EN-US&quot;&gt;parprouted&lt;/span&gt;というデーモンが一般的らしい。&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;$ sudo apt install parprouted&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;$ sudo nano /etc/rc.local&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;----------rc.local---------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;ip addr add 192.168.0.209 dev wlan0(追加)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;parprouted wlan0 eth0(追加)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;exit 0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;----------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;文末&lt;span lang=&quot;EN-US&quot;&gt;exit 0&lt;/span&gt;の直前に挿入。&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;
&lt;/span&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;ここで一度再起動（$ sudo reboot）&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;

&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;手順５．&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
マルチキャストルーティング&lt;/div&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;$ sudo apt install smcroute&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;$ sudo nano /etc/rc.local&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;---------rc.local---------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;ip addr add 192.168.0.209 dev wlan0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;parprouted wlan0 eth0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;smcroute -j eth0 239.255.255.255(追加)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;smcroute -a eth0 0.0.0.0 239.255.255.255 wlan0&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;(追加)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;smcroute -j wlan0 239.255.255.255&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;(追加)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;smcroute -a wlan0 0.0.0.0 239.255.255.255 eth0&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;(追加)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;exit 0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;----------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;マルチキャストルーティングが上手くいってない。（＞＜）&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;他にもいろいろ試しましたが、、、&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: x-large;&quot;&gt;挫折しました。 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
１週間程度試行錯誤しましたが、結局eth0がDHCPを取得してくず、諦めました。最終的には、&lt;u&gt;RPi&lt;/u&gt;　～wlan0～　&lt;u&gt;AP&lt;/u&gt;　～&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;WI-U3-866DS～　&lt;u&gt;PC&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;　にて接続して、以下の速度となりました。
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_8q_jaNoT6PYMeUzc28xEP-MO3G6K7OniQAM_xA6YfCeTQp9LcJJAooU9x2iQ5l7DJS0_WAX_9cVEFQmxSpL9lyLZ8yK9nvxBUJVXICvb4bDG7ABn4S9rmHqjP53NH7EnhVsLWaLIEI4/s1600/rpi_lan_speed.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;347&quot; data-original-width=&quot;482&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_8q_jaNoT6PYMeUzc28xEP-MO3G6K7OniQAM_xA6YfCeTQp9LcJJAooU9x2iQ5l7DJS0_WAX_9cVEFQmxSpL9lyLZ8yK9nvxBUJVXICvb4bDG7ABn4S9rmHqjP53NH7EnhVsLWaLIEI4/s400/rpi_lan_speed.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
挫折して、新しいコンバータを購入した。I-Oデータ製無線ランルータWN-AX1167GR2/E。&lt;strike&gt;こちらはコンバータ機能を搭載しており、BUFFALO製と異なり、中継器ではなくコンバータとして機能することも可能です。&lt;/strike&gt;（取説見たら中継器としての利用でした。）中継器として使用すると本来の性能の半分しか利用できないらしいです。NECも候補にあがったけど、AP①は同じくI-Oデータ製のWN-AX2033GR2なので、同社製のコンバータにしました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
新構想&lt;br /&gt;
RT--AP～conv（WN-AX1167GR2/E）---RPi---USBHDD&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 　　　　　　　　　　---BDレコーダー等&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ～PC&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/2525517792611802637/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2019/12/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/2525517792611802637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/2525517792611802637'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2019/12/blog-post.html' title='ラズベリーパイ　イーサネットコンバータ化（失敗）'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7-lcY1j_Tc8hwsdCRhT-2uImeXyNk-k9N5r3GbgXZD8czp-lq5VuOijktpESi8npCeBAAr0rMKzGfgodSs8NIPt2kWSNwc4AdZVw0z2XmXJO8PsnGdy5Qt18y2uBUyknVQglRRW9FRJk/s72-c/omv4_speed.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-5139245521175262844</id><published>2019-11-20T00:12:00.000+09:00</published><updated>2019-11-20T00:12:09.131+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><title type='text'>ネットワークデバイス名変更</title><content type='html'>Raspberry Pi 3B+ のネットワークデバイス名が”enxb827********”となっているので、”eth0”にしたい。&lt;br /&gt;
&lt;br /&gt;

環境：&lt;br /&gt;
RaspberryPi3 B+&lt;br /&gt;
Description:&amp;nbsp;&amp;nbsp;&amp;nbsp; Raspbian GNU/Linux 10 (buster)&lt;br /&gt;&amp;nbsp;
&lt;br /&gt;
&lt;br /&gt;
命名規則が”enx+MACアドレス”となっている様子。&lt;br /&gt;
&lt;br /&gt;
$ sudo cp /lib/udev/rules.d/73-usb-net-by-mac.rules /lib/udev/rules.d/73-usb-net-by-mac.rules.bak&lt;br /&gt;
＞＞バックアップを取っておく。&lt;br /&gt;
$ sudo nano /lib/udev/rules.d/73-usb-net-by-mac.rules&lt;br /&gt;
&lt;br /&gt;
---/lib/udev/rules.d/73-usb-net-by-mac.rules---&lt;br /&gt;
# Use MAC based names for network interfaces which are directly or indirectly&lt;br /&gt;# on USB and have an universally administered (stable) MAC address (second bit&lt;br /&gt;# is 0). Don&#39;t do this when ifnames is disabled via kernel command line or&lt;br /&gt;# customizing/disabling 99-default.link (or previously 80-net-setup-link.rules)&lt;br /&gt;# or if the interface name was provided by user-space.&lt;br /&gt;&lt;br /&gt;ACTION==&quot;remove&quot;, GOTO=&quot;usb_net_by_mac_end&quot;&lt;br /&gt;SUBSYSTEM!=&quot;net&quot;, GOTO=&quot;usb_net_by_mac_end&quot;&lt;br /&gt;ATTR{name_assign_type}==&quot;3&quot;, GOTO=&quot;usb_net_by_mac_end&quot;&lt;br /&gt;&lt;br /&gt;IMPORT{cmdline}=&quot;net.ifnames&quot;&lt;br /&gt;ENV{net.ifnames}==&quot;0&quot;, GOTO=&quot;usb_net_by_mac_end&quot;&lt;br /&gt;&lt;br /&gt;SUBSYSTEMS==&quot;usb&quot;, NAME==&quot;&quot;, \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ATTR{address}==&quot;?[014589cd]:*&quot;, \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEST!=&quot;/etc/udev/rules.d/80-net-setup-link.rules&quot;, \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TEST!=&quot;/etc/systemd/network/99-default.link&quot;, \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMPORT{builtin}=&quot;net_id&quot;, NAME=&quot;&lt;span style=&quot;color: red;&quot;&gt;$env{ID_NET_NAME_MAC}&lt;/span&gt;&quot;&lt;br /&gt;
------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&quot;$env{ID_NET_NAME_MAC} &quot;を&quot;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;eth0&lt;/span&gt;&lt;/b&gt;&quot;に変更する。&lt;br /&gt;
&lt;br /&gt;
今後の更新でこの修正が上書きされないようにするには、次の手順を実行。&lt;br /&gt;
&lt;br /&gt;
$ cp /lib/udev/rules.d/73-usb-net-by-mac.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/5139245521175262844/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2019/11/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/5139245521175262844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/5139245521175262844'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2019/11/blog-post.html' title='ネットワークデバイス名変更'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9152941548379547843.post-2874858091202742755</id><published>2019-11-16T23:59:00.002+09:00</published><updated>2025-09-01T22:06:55.570+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RaspberryPi"/><category scheme="http://www.blogger.com/atom/ns#" term="ネット"/><category scheme="http://www.blogger.com/atom/ns#" term="ＰＣ"/><title type='text'>RaspberryPi ネットワーク速度改善</title><content type='html'>購入したラズパイのネットワーク転送速度が遅い。&lt;br /&gt;
大体１MB/s位しかでていないので、『&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;iPerf3&lt;/b&gt;&lt;/span&gt;』を利用して計測してみることにした。&lt;br /&gt;
&lt;br /&gt;
iperf は、TCP/UDPのネットワーク最大帯域幅パフォーマンスを測定できるベンチマークツール。 &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;準備&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
ラズパイ側&lt;br /&gt;
# apt install iperf3 &lt;br /&gt;
&lt;br /&gt;
PC側&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://iperf.fr/iperf-download.php&quot; target=&quot;_blank&quot;&gt;https://iperf.fr/iperf-download.php&lt;/a&gt;からiPerf3 Windows64bit版をダウンロード。&lt;/li&gt;
&lt;li&gt;zipファイルを解凍して出てきた２つのファイル「cygwin1.dll」と「iperf3.exe」を&quot;C:\WINDOWS\system32&quot;に移動。&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;計測&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
ラズパイ側&lt;br /&gt;
# iperf3 -s&lt;br /&gt;
&amp;gt;&amp;gt;サーバーとして起動&lt;br /&gt;
&lt;br /&gt;
PC側&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;コマンドプロンプトを開き、&quot;iperf3 -c &amp;lt;IPaddress&amp;gt;&quot;を入力&amp;nbsp; &lt;/li&gt;
&lt;/ol&gt;
ラズパイには２つのNICがあるので、それぞれ２度計測してみた。&lt;br /&gt;
eth0&amp;nbsp; &amp;gt;7.31Mbits/sec ～ 8.78Mbits/sec&lt;br /&gt;
wlan0&amp;gt;8.25Mbits/sec ～ 8.36Mbits/sec&lt;br /&gt;
&lt;br /&gt;
上記から大体1MB/sというのは当たっているみたいだけど、、、遅い！！&lt;br /&gt;
&lt;br /&gt;
定番の『&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;CrystalDiskMark&lt;/b&gt;&lt;/span&gt;』でも調べてみた。&lt;br /&gt;
ラズベリーパイのSMBフォルダをネットワークドライブに割り当てることで、計測可能となる。&lt;br /&gt;
&lt;b&gt;→　PC ～ ルーター ～ コンバータ --- AP --- RPi &lt;/b&gt;（---有線、～無線）&lt;br /&gt;
　ルーターとPCとメディア関連の設置場所がすべてことなるので、上記のような面倒な状況となっている。 &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwTS5HODhG2oj-AszehJ66h23yzrmT1CWi5SUPoqbJ_YNelx7yVP73SIGQvBVmM-HDGHv2HiWqnOTatc3zyl-xZX1IZl36TQoeNt0YBY9vc2sfxnt671QOKT0sO6mkzOcs87Ti4PgBd88/s1600/omv4_speed.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;347&quot; data-original-width=&quot;482&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwTS5HODhG2oj-AszehJ66h23yzrmT1CWi5SUPoqbJ_YNelx7yVP73SIGQvBVmM-HDGHv2HiWqnOTatc3zyl-xZX1IZl36TQoeNt0YBY9vc2sfxnt671QOKT0sO6mkzOcs87Ti4PgBd88/s400/omv4_speed.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;改善策１&lt;/b&gt;&lt;br /&gt;
・無線LANの反応が悪いのはパワーマネジメント機能がONになっているためらしいので、これをOFFにしてみる。&lt;br /&gt;
&lt;br /&gt;
パワーマネジメント機能の切り方 &lt;br /&gt;
&amp;nbsp;ラズパイ側&lt;br /&gt;
# iwconfig&lt;br /&gt;
&amp;gt;&amp;gt;Bit Rate=135Mb/s だと！！&lt;br /&gt;
&amp;gt;&amp;gt;Power Management:on 現在ONになっているので、&lt;br /&gt;
# iwconfig wlan0 power off&lt;br /&gt;
# iwconfig にて確認&lt;br /&gt;
&amp;gt;&amp;gt;Bit Rate=150Mb/s になってるし、、、&lt;br /&gt;
&amp;gt;&amp;gt;Power Management:off OFFになった。&lt;br /&gt;
&lt;br /&gt;
再度iPerf3で確認&lt;br /&gt;
eth0&amp;gt;7.23Mbits/s ～ 7.42Mbits/s&lt;br /&gt;
wlan0&amp;gt;6.92Mbits/s ～ 7.94Mbits/s&lt;br /&gt;
若干数値下がってるし。&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;改善策２&lt;/b&gt;&lt;br /&gt;
・PCをアクセスポイント（AP）に有線接続して計測してみた。&lt;br /&gt;
&lt;b&gt;&amp;nbsp;→　PC --- AP ---RPi&lt;/b&gt;（---は有線）&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAlOCcHtaR7m7l60IvbTyEuBIUnzUvooJYmFuQNIp3kB5DmTWzJC4X1xoS2LL7Va9YChMorfImHOGNo4iNPPILC5TOMYBUxjgFu9YD5kIlNAPbTmQyVBYQZ_gQ5OW4iirr8Ng1FY0SblM/s1600/omv4_speed_HUB.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;347&quot; data-original-width=&quot;482&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAlOCcHtaR7m7l60IvbTyEuBIUnzUvooJYmFuQNIp3kB5DmTWzJC4X1xoS2LL7Va9YChMorfImHOGNo4iNPPILC5TOMYBUxjgFu9YD5kIlNAPbTmQyVBYQZ_gQ5OW4iirr8Ng1FY0SblM/s400/omv4_speed_HUB.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;PC - RPi 間のネットワーク改善が必要！&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
使用しているストレージは&lt;a href=&quot;https://kanon123.blogspot.com/2019/10/ruf3-sp64g-bk.html&quot; target=&quot;_blank&quot;&gt;ruf3-sp64g-bk&lt;/a&gt;でRPi3B+はUSB2.0接続なので、PCにUSB2.0接続するよりも高速という不思議。&lt;br /&gt;
&lt;br /&gt;
ただ、通常の使用では&lt;br /&gt;
→　PC ～ ルーター ～ コンバーター --- AP --- RPi （---有線、～無線）&lt;br /&gt;
APにRPi、TV、BDレコーダーを有線接続している。&lt;br /&gt;
&amp;nbsp;通常のマルチメディア視聴環境はAP以下で収まっているが、PCだけインターネットを使用するため、ルーターの無線ネットワークに接続させている。&lt;br /&gt;
PCからAPへ無線接続してみた。&lt;br /&gt;
&lt;b&gt;→　PC ～ AP --- RPi &lt;/b&gt;（---有線、～無線）&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT2oPb2AKXc7-egpodMT2uV2WNlRw5lk2jvaVrIgDvHRFecPdEZlSxGQmDjFFk_SapUDmt1YhMtfu9HdFmaGwNs3iqTZR0nMOY-sQuatqFCQydw1fbnuF9GuK7tuvdR_KMwMJsFGVFso4/s1600/omv4_speed_wifi.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;347&quot; data-original-width=&quot;482&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT2oPb2AKXc7-egpodMT2uV2WNlRw5lk2jvaVrIgDvHRFecPdEZlSxGQmDjFFk_SapUDmt1YhMtfu9HdFmaGwNs3iqTZR0nMOY-sQuatqFCQydw1fbnuF9GuK7tuvdR_KMwMJsFGVFso4/s400/omv4_speed_wifi.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp;ルーターとコンバータ経由より２倍は早いけど、それでも有線に比べて遅すぎ。PCのWiFiが遅いのか。&lt;br /&gt;
使用している無線ラン子機は&lt;a href=&quot;https://kanon123.blogspot.com/2019/10/2012112019.html&quot; target=&quot;_blank&quot;&gt;TP-Link TL-WN725N&lt;/a&gt;で公称150Mbpsの通信速度がある。&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;PCのインターネット速度を計測。&lt;br /&gt;
使用したのは『google』のインターネット速度テスト。 &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuOwM9v4TAZ2NLR4e1nYAdf7lhpa2TvLCBAjjmlfWcv2kYYReS_1TYSMZjSGjBYGHZiO3Plxq0mkEj7aMpcBdTgg55sWEnFx1xZac8GriwMdCegKFp-7KzSLLguAbqiddzJltSt2DInsw/s1600/speedtest.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;446&quot; data-original-width=&quot;414&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuOwM9v4TAZ2NLR4e1nYAdf7lhpa2TvLCBAjjmlfWcv2kYYReS_1TYSMZjSGjBYGHZiO3Plxq0mkEj7aMpcBdTgg55sWEnFx1xZac8GriwMdCegKFp-7KzSLLguAbqiddzJltSt2DInsw/s400/speedtest.png&quot; width=&quot;371&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
アップロードで1.3MB/s弱しか出ていない。updownで2.2MB/s。&lt;br /&gt;
デフォルトゲートウェイに”ping 192.168.0.1 -l 60000”してみた。平均=43ms&lt;br /&gt;
帯域≒(Byte*2)/s＝60000*2/0.043≒2.66MB/sなので、&lt;br /&gt;
&lt;br /&gt;
これは、無線ラン子機が原因か！？&lt;br /&gt;
スマホで上記と同じインターネット速度テストをしたところ、DL:31.8Mbps、UL:43.3Mbpsだったので、PCの無線ラン子機がボトルネックになっているという推測となった。&lt;br /&gt;
&lt;br /&gt;
後日、無線ラン子機を買いなおしてみよう。&lt;br /&gt;
&lt;br /&gt;
2019.12.12追記&lt;br /&gt;
WI-U3-866DSを購入（2019.11月）&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKLhaNHj_QFPqhjYjbIIV6te52PgIyFCAx04SqNnz8Uc1gHPWdrl-E-qRaaCQezAZaftuJWW6EPHLRajI7AAKACzX_QrSPRIdaS-Swuyhw2a63o0FYIvOgmfeHRwoUlPWCHxMAVfUZctw/s1600/speed_wi-u3-866d.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;324&quot; data-original-width=&quot;404&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKLhaNHj_QFPqhjYjbIIV6te52PgIyFCAx04SqNnz8Uc1gHPWdrl-E-qRaaCQezAZaftuJWW6EPHLRajI7AAKACzX_QrSPRIdaS-Swuyhw2a63o0FYIvOgmfeHRwoUlPWCHxMAVfUZctw/s400/speed_wi-u3-866d.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
2011.1.4追記&lt;br /&gt;
WN-AX1167GR2を購入（2019.12月）&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PC（WI-U3-866DS）～無線～　WN-AX1167GR2　－有線ー　RPi&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6MsGscbCf8cDrmq0Mca3WV6NMnMRWsoGMyXJEAlI9w-PxnvZfl_1YjsQ7qIXgm1D3sGxNOvAvRl6STIQ9WnMdfcTmDW2joT5SVpHPw-i6O18Moy3b9348kogG-i4ZsDiPiyGK2PG_1lw/s1600/lanspeed01.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;347&quot; data-original-width=&quot;482&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6MsGscbCf8cDrmq0Mca3WV6NMnMRWsoGMyXJEAlI9w-PxnvZfl_1YjsQ7qIXgm1D3sGxNOvAvRl6STIQ9WnMdfcTmDW2joT5SVpHPw-i6O18Moy3b9348kogG-i4ZsDiPiyGK2PG_1lw/s400/lanspeed01.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;だいぶ有線接続の値に近づいた。&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kanon123.blogspot.com/feeds/2874858091202742755/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://kanon123.blogspot.com/2019/11/raspberrypi.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/2874858091202742755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9152941548379547843/posts/default/2874858091202742755'/><link rel='alternate' type='text/html' href='http://kanon123.blogspot.com/2019/11/raspberrypi.html' title='RaspberryPi ネットワーク速度改善'/><author><name>kanon</name><uri>http://www.blogger.com/profile/04748404638552152801</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1GdzbDs8wFDQw-kmuMtmjCsJmoIbnPhSkhHEhfSeU-XOtYIwazqd06ytuSRTl09jrMhJFuzXl8fxcp0g5Q3HF8L6XCTZrnBgBDztfoYR5n6DjQh-EYF1BIOIGYTT0MM/s151/2010%E5%B9%B405%E6%9C%8804%E6%97%A5_P1010278.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwTS5HODhG2oj-AszehJ66h23yzrmT1CWi5SUPoqbJ_YNelx7yVP73SIGQvBVmM-HDGHv2HiWqnOTatc3zyl-xZX1IZl36TQoeNt0YBY9vc2sfxnt671QOKT0sO6mkzOcs87Ti4PgBd88/s72-c/omv4_speed.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>