<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title><![CDATA[ 検索語「〔$pi=26; or $pi=25; or $pi=24; or $pi=23; or $pi=22; or $pi=21; or $pi=20;〕」の検索結果［7件］ - でんげき☆ Network Service ]]></title>
	<link>https://room.dengeki.jp/tegalog.cgi</link>
	<description><![CDATA[ Raspberry Pi 4 で運用実験中 ]]></description>
	<language>ja</language>
	<copyright>Copyright 2025</copyright>
	<lastBuildDate>Thu, 05 Jun 2025 14:05:45 +0900</lastBuildDate>
	<generator><![CDATA[ <!-- てがろぐ Version: -->Powered by <a href="https://www.nishishi.com/cgi/tegalog/" rel="noreferrer" target="_top">てがろぐ</a> Ver 4.4.5 ]]></generator>
	<!-- BEGIN ENTRIES -->
	<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 続・モニタ無しでラズパイを VNC 接続できるとこまでセット… ]]></title>
	<description><![CDATA[ 続・モニタ無しでラズパイを VNC 接続できるとこまでセットアップする<br /><img class="embeddedimage " width="400" height="400" src="https://room.dengeki.jp/images/20220429192311-admin.png" alt="20220429192311-admin.png"><br />　<br />以前に <span class="decorationM" style="background-color:lightcyan;"><a href="https://room.dengeki.jp/tegalog.cgi?postid=2" class="postidlink">完全モニタ無しで Raspberry Pi 4 を VNC 接続できるとこまでセットアップするメモ</a></span> なんてのを紹介していたんだけど…それから月日が流れ <a class="url labeledlink" href="https://www.raspberrypi.com/software/operating-systems/" rel="noopener noreferrer" target="_blank">Raspberry Pi OS</a> のバージョンが上がったっていうか色々とセットアップ方法が変更になったんでその辺をざっくり検証してみましたってメモです<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/20220429185131-admin.jpg" alt="20220429185131-admin.jpg"> <img class="embeddedimage " width="900" height="675" src="https://room.dengeki.jp/images/202204291851316-admin.png" alt="202204291851316-admin.png"><br />そんな今回は某案件的な話で貸与して頂けた <a class="url labeledlink" href="https://www.raspberrypi.com/products/raspberry-pi-400/" rel="noopener noreferrer" target="_blank">Raspberry Pi 400</a> を使用して <span class="decorationC" style="color:red;">64-bit 版</span>の <span class="decorationC" style="color:red;">Raspberry Pi OS with desktop</span> をモニタ無しっていうか SSH でログインしつつの VNC 接続できる所まで試してみました<br /><br />今回の <a class="url labeledlink" href="https://www.raspberrypi.com/software/operating-systems/" rel="noopener noreferrer" target="_blank">Raspberry Pi OS</a> のバージョンアップの大きな変更っていうか…今までデフォルトで「pi」ってユーザが用意されていたのが今回からそれが廃止になったようです　それに伴いパスワードを設定したユーザが不在(？)って事になり <span class="decorationC" style="color:green;">dd</span> コマンドなりでイメージを書き込んだ後に boot パーティションのルートフォルダにファイル名が「ssh」もしくは「ssh.txt」のファイルを新規作成しただけでは SSH でログインできなくなってました<br /><br /><img class="embeddedimage " width="682" height="449" src="https://room.dengeki.jp/images/202204291851315-admin.png" alt="202204291851315-admin.png"><br />それじゃどうしよう？って話なんですが…まぁ結果から云うとそれをどうにかする機能が追加された新しい <a class="url labeledlink" href="https://www.raspberrypi.com/software/" rel="noopener noreferrer" target="_blank">Raspberry Pi Imager</a> を使うって事らしいです<br />これの右下にある「歯車」のマークをクリックすると…<br /><br /><img class="embeddedimage " width="677" height="827" src="https://room.dengeki.jp/images/202204291851314-admin.png" alt="202204291851314-admin.png"><br />「詳細な設定」として Pi OS の諸々の設定ができるようになります　ユーザの設定だけでなく SSH の有効化や Wi-Fi の設定も一気に行えるんでこれは便利ですね！(&gt;_&lt;)ｗ<br /><br />　　：<br /><br />・・とまぁこれで話が終わっちゃうのも少々物足りない気がしたっていうか Pi Imager を使うことなくそれらの設定をどうにかする手法を模索してみました<br />まずはイメージファイルを <span class="decorationC" style="color:green;">dd</span> なりで書き込んだものと Pi Imager を使って書き込んだものを比較してみました　その結果 /boot/cmdline.txt に変更が加えられてたのと /boot/firstrun.sh が生成されていた事が判りました<br /><br />それでは /boot/cmdline.txt から見ていきましょう<br /><br />----- オリジナルの /boot/cmdline.txt -----<br />console=serial0,115200 console=tty1 <span class="decorationC" style="color:blue;">root=PARTUUID=50a67c3e-02</span> rootfstype=ext4 fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh splash plymouth.ignore-serial-consoles<br />----------<br /><br />----- Pi Imager が作った /boot/cmdline.txt -----<br />console=serial0,115200 console=tty1 <span class="decorationC" style="color:blue;">root=PARTUUID=50a67c3e-02</span> rootfstype=ext4 fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh splash plymouth.ignore-serial-consoles <span class="decorationC" style="color:red;">systemd.run=/boot/firstrun.sh systemd.run_success_action=reboot systemd.unit=kernel-command-line.target</span><br />----------<br /><br />これを見る限り Pi Imager を使わずにどうにかする時にはオリジナルの /boot/cmdline.txt の末尾に <span class="decorationC" style="color:red;"> systemd.run=/boot/firstrun.sh systemd.run_success_action=reboot systemd.unit=kernel-command-line.target</span> を付ければよさそうです<br /><br />ただし「<span class="decorationC" style="color:blue;">root=PARTUUID=50a67c3e-02</span>」の部分ですかね…これは配布されるディスクイメージのバージョン毎に異なる値を設定する必要があるようです<br />その辺の PARTUUID を調べるには <span class="decorationC" style="color:green;">lsblk</span> コマンドを使うといいらしい？　試しに実際に USB メモリに書き込んだものと…ディスクイメージを直接マウントしたものとで確認してみました<br /><br />$ <span class="decorationC" style="color:green;">lsblk -o TYPE,KNAME,PARTUUID,LABEL,SIZE,VENDOR</span><br />TYPE KNAME&nbsp; &nbsp; PARTUUID&nbsp; &nbsp; LABEL&nbsp; &nbsp; SIZE VENDOR<br />disk sdg&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;29.9G silicon <br />part sdg1&nbsp; &nbsp; &nbsp;50a67c3e-01 boot&nbsp; &nbsp; &nbsp;256M <br />part sdg2&nbsp; &nbsp; &nbsp;<span class="decorationC" style="color:red;">50a67c3e-02</span> rootfs&nbsp; &nbsp;3.7G <br />rom &nbsp;sr0&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;1024M HL-DT-ST<br />part loop39p1 50a67c3e-01 boot&nbsp; &nbsp; &nbsp;256M <br />part loop39p2 <span class="decorationC" style="color:red;">50a67c3e-02</span> rootfs&nbsp; &nbsp;3.7G <br /><br />これを見る限り /rootfs に設定された PARTUUID をコピペすればいいようですね　この辺は <span class="decorationC" style="color:green;">dd</span> なりでイメージを書き込んだ場合には気にする必要はなさそうだけど /boot/cmdline.txt を全て自作で用意したいような場合には気をつけたほうがいいのかな？って思いました<br /><br />　　：<br /><br />お次は /boot/firstrun.sh です　長くてややこしいですが頑張って見ていきましょう<br /><br />----- Pi Imager が作った /boot/firstrun.sh -----<br />&#35;!/bin/bash<br /><br />set +e<br /><br />CURRENT_HOSTNAME=`cat /etc/hostname | tr -d &quot; \t\n\r&quot;`<br />echo <span class="decorationC" style="color:red;">HostName</span> &gt;/etc/hostname<br />sed -i &quot;s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\t<span class="decorationC" style="color:red;">HostName</span>/g&quot; /etc/hosts<br />FIRSTUSER=`getent passwd 1000 | cut -d: -f1`<br />FIRSTUSERHOME=`getent passwd 1000 | cut -d: -f6`<br />if &#91; -f /usr/lib/userconf-pi/userconf &#93;; then<br />&nbsp; &nbsp;/usr/lib/userconf-pi/userconf &apos;<span class="decorationC" style="color:red;">UserName</span>&apos; &apos;<span class="decorationC" style="color:red;">$5$Salt$xxxxxxxxxx..</span>&apos;<br />else<br />&nbsp; &nbsp;echo &quot;$FIRSTUSER:&quot;&apos;<span class="decorationC" style="color:red;">$5$Salt$xxxxxxxxxx..</span>&apos; | chpasswd -e<br />&nbsp; &nbsp;if [ &quot;$FIRSTUSER&quot; != &quot;<span class="decorationC" style="color:red;">UserName</span>&quot; ]; then<br />&nbsp;&nbsp; &nbsp; &nbsp;usermod -l &quot;<span class="decorationC" style="color:red;">UserName</span>&quot; &quot;$FIRSTUSER&quot;<br />&nbsp;&nbsp; &nbsp; &nbsp;usermod -m -d &quot;/home/<span class="decorationC" style="color:red;">UserName</span>&quot; &quot;<span class="decorationC" style="color:red;">UserName</span>&quot;<br />&nbsp;&nbsp; &nbsp; &nbsp;groupmod -n &quot;<span class="decorationC" style="color:red;">UserName</span>&quot; &quot;$FIRSTUSER&quot;<br />&nbsp;&nbsp; &nbsp; &nbsp;if grep -q &quot;^autologin-user=&quot; /etc/lightdm/lightdm.conf ; then<br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;sed /etc/lightdm/lightdm.conf -i -e &quot;s/^autologin-user=.*/autologin-user=<span class="decorationC" style="color:red;">UserName</span>/&quot;<br />&nbsp;&nbsp; &nbsp; &nbsp;fi<br />&nbsp;&nbsp; &nbsp; &nbsp;if &#91; -f /etc/systemd/system/getty@tty1.service.d/autologin.conf &#93;; then<br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;sed /etc/systemd/system/getty@tty1.service.d/autologin.conf -i -e &quot;s/$FIRSTUSER/<span class="decorationC" style="color:red;">UserName</span>/&quot;<br />&nbsp;&nbsp; &nbsp; &nbsp;fi<br />&nbsp;&nbsp; &nbsp; &nbsp;if &#91; -f /etc/sudoers.d/010_pi-nopasswd &#93;; then<br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;sed -i &quot;s/^$FIRSTUSER /<span class="decorationC" style="color:red;">UserName</span> /&quot; /etc/sudoers.d/010_pi-nopasswd<br />&nbsp;&nbsp; &nbsp; &nbsp;fi<br />&nbsp; &nbsp;fi<br />fi<br />systemctl enable ssh<br />cat &gt;/etc/wpa_supplicant/wpa_supplicant.conf &lt;&lt;&apos;WPAEOF&apos;<br />country=JP<br />ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev<br />ap_scan=1<br /><br />update_config=1<br />network={<br />&nbsp; &nbsp;ssid=&quot;<span class="decorationC" style="color:red;">Wi-Fi_SSID</span>&quot;<br />&nbsp; &nbsp;psk=<span class="decorationC" style="color:red;">0123456789abcdefxxxx..</span><br />}<br /><br />WPAEOF<br />chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf<br />rfkill unblock wifi<br />for filename in /var/lib/systemd/rfkill/*:wlan ; do<br />&nbsp; echo 0 &gt; $filename<br />done<br />rm -f /etc/localtime<br />echo &quot;Asia/Tokyo&quot; &gt;/etc/timezone<br />dpkg-reconfigure -f noninteractive tzdata<br />cat &gt;/etc/default/keyboard &lt;&lt;&apos;KBEOF&apos;<br />XKBMODEL=&quot;pc105&quot;<br />XKBLAYOUT=&quot;jp&quot;<br />XKBVARIANT=&quot;&quot;<br />XKBOPTIONS=&quot;&quot;<br /><br />KBEOF<br />dpkg-reconfigure -f noninteractive keyboard-configuration<br />rm -f /boot/firstrun.sh<br />sed -i &apos;s| systemd.run.*||g&apos; /boot/cmdline.txt<br />exit 0<br />----------<br /><br />この中で書き換えるべき点はホストネームとなる <span class="decorationC" style="color:red;">HostName</span> と作成するユーザ名 <span class="decorationC" style="color:red;">UserName</span> ＆ パスワード <span class="decorationC" style="color:red;">$5$Salt$xxxxxxxxxx..</span> と Wi-Fi に接続するための <span class="decorationC" style="color:red;">Wi-Fi_SSID</span> ＆パスワード <span class="decorationC" style="color:red;">0123456789abcdefxxxx..</span> の箇所でしょうか<br />その辺を踏まえた上で…もちっと再設定しやすいように改変してみました<br /><br />----- 改変版 /boot/firstrun.sh -----<br />#!/bin/bash<br /><br />USER=&apos;<span class="decorationC" style="color:red;">UserName</span>&apos;<br />PASS=&apos;<span class="decorationC" style="color:red;">$5$Salt$xxxxxxxxxx..</span>&apos;<br />WIFISSID=&apos;<span class="decorationC" style="color:red;">Wi-Fi_SSID</span>&apos;<br />WIFIPASS=&apos;<span class="decorationC" style="color:red;">0123456789abcdefxxxx..</span>&apos;<br />HOST=&apos;<span class="decorationC" style="color:red;">HostName</span>&apos;<br /><br />set +e<br /><br />CURRENT_HOSTNAME=`cat /etc/hostname | tr -d &quot; \t\n\r&quot;`<br />echo $HOST &gt;/etc/hostname<br />sed -i &quot;s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\t$HOST/g&quot; /etc/hosts<br />FIRSTUSER=`getent passwd 1000 | cut -d: -f1`<br />FIRSTUSERHOME=`getent passwd 1000 | cut -d: -f6`<br />if &#91; -f /usr/lib/userconf-pi/userconf &#93;; then<br />&nbsp; &nbsp;/usr/lib/userconf-pi/userconf &quot;$USER&quot; &quot;$PASS&quot;<br />else<br />&nbsp; &nbsp;echo &quot;$FIRSTUSER:$PASS&quot; | chpasswd -e<br />&nbsp; &nbsp;if &#91; &quot;$FIRSTUSER&quot; != &quot;$USER&quot; &#93;; then<br />&nbsp;&nbsp; &nbsp; &nbsp;usermod -l &quot;$USER&quot; &quot;$FIRSTUSER&quot;<br />&nbsp;&nbsp; &nbsp; &nbsp;usermod -m -d &quot;/home/$USER&quot; &quot;$USER&quot;<br />&nbsp;&nbsp; &nbsp; &nbsp;groupmod -n &quot;$USER&quot; &quot;$FIRSTUSER&quot;<br />&nbsp;&nbsp; &nbsp; &nbsp;if grep -q &quot;^autologin-user=&quot; /etc/lightdm/lightdm.conf ; then<br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;sed /etc/lightdm/lightdm.conf -i -e &quot;s/^autologin-user=.*/autologin-user=$USER/&quot;<br />&nbsp;&nbsp; &nbsp; &nbsp;fi<br />&nbsp;&nbsp; &nbsp; &nbsp;if &#91; -f /etc/systemd/system/getty@tty1.service.d/autologin.conf &#93;; then<br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;sed /etc/systemd/system/getty@tty1.service.d/autologin.conf -i -e &quot;s/$FIRSTUSER/$USER/&quot;<br />&nbsp;&nbsp; &nbsp; &nbsp;fi<br />&nbsp;&nbsp; &nbsp; &nbsp;if &#91; -f /etc/sudoers.d/010_pi-nopasswd &#93;; then<br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;sed -i &quot;s/^$FIRSTUSER /$USER /&quot; /etc/sudoers.d/010_pi-nopasswd<br />&nbsp;&nbsp; &nbsp; &nbsp;fi<br />&nbsp; &nbsp;fi<br />fi<br />systemctl enable ssh<br />cat &gt;/etc/wpa_supplicant/wpa_supplicant.conf &lt;&lt;WPAEOF<br />country=JP<br />ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev<br />ap_scan=1<br /><br />update_config=1<br />network={<br />&nbsp; &nbsp;ssid=&quot;$WIFISSID&quot;<br />&nbsp; &nbsp;psk=$WIFIPASS<br />}<br /><br />WPAEOF<br />chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf<br />rfkill unblock wifi<br />for filename in /var/lib/systemd/rfkill/*:wlan ; do<br />&nbsp; echo 0 &gt; $filename<br />done<br />rm -f /etc/localtime<br />echo &quot;Asia/Tokyo&quot; &gt;/etc/timezone<br />dpkg-reconfigure -f noninteractive tzdata<br />cat &gt;/etc/default/keyboard &lt;&lt;&apos;KBEOF&apos;<br />XKBMODEL=&quot;pc105&quot;<br />XKBLAYOUT=&quot;jp&quot;<br />XKBVARIANT=&quot;&quot;<br />XKBOPTIONS=&quot;&quot;<br /><br />KBEOF<br />dpkg-reconfigure -f noninteractive keyboard-configuration<br />rm -f /boot/firstrun.sh<br />sed -i &apos;s| systemd.run.*||g&apos; /boot/cmdline.txt<br />exit 0<br />----------<br /><br />こんな感じでしょうか　設定すべき項目を最初の方に集めてありそこを書き換えればいいようにしてみました<br />その中で注意すべき点と云いますか…パスワードですね<br />USER=&apos;<span class="decorationC" style="color:red;">UserName</span>&apos;<br />PASS=&apos;<span class="decorationC" style="color:red;">$5$Salt$xxxxxxxxxx..</span>&apos;<br /><br />ログインするユーザのパスワードは暗号化されたものを指定する必要があるようです　これは <span class="decorationC" style="color:green;">openssl passwd</span> コマンドで生成できます<br /><br />$ <span class="decorationC" style="color:green;">openssl passwd -5 -salt=Salt password</span><br /><span class="decorationC" style="color:green;">-5</span> オプションは SHA256 アルゴリズムでの暗号化を行います　この他にも SHA512 で暗号化する <span class="decorationC" style="color:green;">-6</span> オプションや MD5 で暗号化する <span class="decorationC" style="color:green;">-1</span> オプションとかがあるようです<br /><span class="decorationC" style="color:green;">-salt</span> を指定すると更に複雑な暗号化を行うことができるらしい？　本来なら <span class="decorationC" style="color:green;">-salt=$RANDOM</span> のようにランダムに生成した文字列を指定するのが推奨されているようだけどお好みの文字列でも暗号化できます　まぁなんか面倒くさそうだな…って感じなら <span class="decorationC" style="color:green;">-salt</span> オプションを省略しても問題はないんですが汗<br /><br />この /boot/firstrun.sh でユーザのパスワードを指定する際には必ず暗号化されたパスワードを使用する必要があり…平文のパスワードは使えません　どうしても平文のパスワードを使いたい場合は <span class="decorationC" style="color:red;">/boot/firstrun.sh</span> と <span class="decorationC" style="color:red;">/rootfs/usr/lib/userconf-pi/userconf</span> 内の「chpasswd <span class="decorationC" style="color:blue;">-e</span>」の「<span class="decorationC" style="color:blue;">-e</span>」を削除すればできなくもないけど… <span class="decorationC" style="color:red;">/rootfs/usr/lib/userconf-pi/userconf</span> は ext4 ファイルシステムなので OS によっては読み書きできないかもだしアクセス権が root なのでその辺もどうにかしないといけないので色々と面倒です<br /><br />そんな訳なんで…初ログイン後にすぐ別のパスワードに書き換えることを前提に仮的なパスワードを作っておきました<br />$ <span class="decorationC" style="color:green;">openssl passwd -5 -salt=pass pass</span> として作成した <span class="decorationC" style="color:red;">$5$pass$Rl0JZvvs0bt2Lu8dfAumW11vh2yrd.LfOysdTyQ7Yt5</span> って感じのセキュリティのかけらもない意識低すぎて気絶しそうなパスワードですが実際にこれを設定した後に「pass」なるパスワード文字列でログインできます<br /><br /><b class="decorationB">※ これでログインしたら直ちに <span class="decorationC" style="color:green;">passwd</span> コマンドなりで別のパスワードを再設定してください！</b><br /><br />ユーザ名の設定の他に Wi-Fi についての設定というかパスワードについても説明しておきます<br />WIFISSID=&apos;<span class="decorationC" style="color:red;">Wi-Fi_SSID</span>&apos;<br />WIFIPASS=&apos;<span class="decorationC" style="color:red;">0123456789abcdefxxxx..</span>&apos;<br /><br />ここでも暗号化されたパスワードを使用します　これは <span class="decorationC" style="color:green;">wpa_passphrase</span> コマンドで生成できます<br /><br />$ <span class="decorationC" style="color:green;">wpa_passphrase &quot;Wi-Fi_SSID&quot; &quot;password&quot;</span><br />network={<br />&nbsp; &nbsp;ssid=&quot;Wi-Fi_SSID&quot;<br />&nbsp; &nbsp;&#35;psk=<span class="decorationC" style="color:blue;">&quot;password&quot;</span><br />&nbsp; &nbsp;psk=<span class="decorationC" style="color:red;">bd3f1ad8bd45873a14351f4209ab719147a960587508a8c89ef776cd9b43cefb</span><br />}<br />こんな感じで 256bit PSK アルゴリズムを用いた暗号化パスワードが生成されます　このパスワードを WIFIPASS=&apos;<span class="decorationC" style="color:red;">0123456789abcdefxxxx..</span>&apos; の部分に貼り付けてやれば ok です<br />ちなみに &#35;psk=<span class="decorationC" style="color:blue;">&quot;password&quot;</span> って平文のパスワードがコメントして出てるっていうかパスワードをダブルクォート「&quot;&quot;」で囲んでやれば平文のパスワードを指定できるんで… WIFIPASS=&apos;<span class="decorationC" style="color:red;">&quot;password&quot;</span>&apos; って指定も ok です　ただしこの設定はシステムが可動した後も /etc/wpa_supplicant/wpa_supplicant.conf 内に残り続けることになるんでリスクがあります　平文のパスワードは危険を承知した上でご使用ください<br /><br />　　：<br /><br />まぁそんなこんなで上記の /boot/cmdline.txt と /boot/firstrun.sh を用意したらラズパイの電源を入れて起動します　数分ほど待った後に SSH でログインできます　ログインした後は概ね <span class="decorationM" style="background-color:lightcyan;"><a href="https://room.dengeki.jp/tegalog.cgi?postid=2" class="postidlink">完全モニタ無しで Raspberry Pi 4 を VNC 接続できるとこまでセットアップするメモ</a></span> の手順で VNC 接続できますが…その辺を切り取って手短に解説しておきます<br /><br />まずは SSH でログインして $ <span class="decorationC" style="color:green;">sudo raspi-config</span> 設定ツールを起動する　キーボードの矢印キーで移動してエンターキーで決定ってスタイルです　Tab キーを使う場面もあります　※ 画像は古いバージョンのものなので少々表示が異なる場合があります<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202110151828034-admin.png" alt="202110151828034-admin.png"> <br /><span class="decorationC" style="color:red;">3 Interface Options</span> を選ぶ<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202110151828035-admin.png" alt="202110151828035-admin.png"> <br /><span class="decorationC" style="color:red;">I3 VNC</span> を選ぶ<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202110151828036-admin.png" alt="202110151828036-admin.png"> <br />VNC サーバを有効にするけどいいの？と聞かれるんで <span class="decorationC" style="color:red;">&lt;Yes&gt;</span> を選ぶ<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202110151828037-admin.png" alt="202110151828037-admin.png"> <br />設定完了<br /><br />お次は vncserver-x11 ファイルを編集する<br />$ <span class="decorationC" style="color:green;">sudo nano /root/.vnc/config.d/vncserver-x11</span><br />末尾に以下の 3 行を追加します<br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/2021101518280310-admin.png" alt="2021101518280310-admin.png"> <br /><span class="decorationC" style="color:red;">Authentication=VncAuth<br />Encryption=AlwaysOff<br />Password=</span><br /><br />VNC サーバを再起動する<br />$ <span class="decorationC" style="color:green;">sudo systemctl restart vncserver-x11-serviced</span><br /><br />VNC のパスワードを設定する<br />$ <span class="decorationC" style="color:green;">sudo vncpasswd -service</span><br /><br />VNC サーバを再起動する<br />$ <span class="decorationC" style="color:green;">sudo systemctl restart vncserver-x11-serviced</span><br /><br /><img class="embeddedimage " width="1069" height="837" src="https://room.dengeki.jp/images/202204291851313-admin.png" alt="202204291851313-admin.png"><br />以前はこの後に /boot/config.txt を編集する必要があったけど…今回はこの作業をする事なく VNC 接続できました<br /><br /><img class="embeddedimage " width="1069" height="837" src="https://room.dengeki.jp/images/202204291851312-admin.png" alt="202204291851312-admin.png"><br />せっかくなんで日本語化の設定も行っておきましょう<br /><br /><img class="embeddedimage " width="532" height="413" src="https://room.dengeki.jp/images/202204291851311-admin.png" alt="202204291851311-admin.png"><br />Raspberry Pi Configuration の Location タブの Set Locate ボタンを押して Language と Character Set を設定して OK ボタンを押下する<br />その後に再起動することにより設定が反映され表示が日本語になります<br /><br />あーあとお好みにより $ <span class="decorationC" style="color:green;">sudo apt install ibus-mozc</span> でローマ字かな漢字変換っていうかインプット・メソッドをインストールしておくのもいいかも知れません　これも再起動後に有効になります<br /><br /><img class="embeddedimage " width="320" height="240" src="https://room.dengeki.jp/images/20220429185131-admin.png" alt="20220429185131-admin.png"><br />既に設定した後なんで心もち表示が違うかもだけど…右上のインジケータにあるキーボードマークをクリックして Mozc を選べば ok です<br /><br />　　：<br /><br />まぁだいたいこんな感じですかね　今後のバージョンアップなりで使えなくなるかもな資料ですが…とりあえず /boot/firstrun.sh が何をしていたのかをざっくり知ることができてよかったです<br />つーか世間的に <a class="url labeledlink" href="https://ubuntu.com/download/raspberry-pi" rel="noopener noreferrer" target="_blank">Ubuntu Desktop 22.04 LTS on a Raspberry Pi</a> が話題のようですね…これはいっぺん試してみなきゃ！(&gt;_&lt;)ｗって感じで今回はこの辺で <a href="https://room.dengeki.jp/tegalog.cgi?tag=%52%61%73%70%62%65%72%72%79%20%50%69" class="taglink" title="Raspberry Pi">#&#91;Raspberry Pi&#93;</a><br /><br />※ 追記 ※<br />上記の話とは概ね関係ないんだけど…ラズパイの Bootloader イメージを <a class="url labeledlink" href="https://www.raspberrypi.com/software/" rel="noopener noreferrer" target="_blank">Raspberry Pi Imager</a> を使わずにダウンロードしたい場合は <a class="url" href="https://downloads.raspberrypi.org/eeprom_recovery.json" rel="noopener noreferrer" target="_blank" title="https://downloads.raspberrypi.org/eeprom_recovery.json">https://downloads.raspberrypi.org/eeprom...</a> に記された &quot;SD Card Boot&quot;, &quot;USB Boot&quot;, &quot;Network Boot&quot; のそれぞれの url を参照するといいらしい？（無保証　ちょっと調べてみたら判明した気がしたんで今後のもしものために記載しておくメモ -- Posted by 猫山ぽるか 〔9939文字〕 No.26 ]]></description>
	<link>https://room.dengeki.jp/tegalog.cgi?postid=26</link>
	<guid>https://room.dengeki.jp/tegalog.cgi?postid=26</guid>
	<category>info</category>
	<pubDate>Fri, 29 Apr 2022 11:48:20 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 貧者のラーツー・安っすいアルコールストーブ ]]></title>
	<description><![CDATA[ 貧者のラーツー・安っすいアルコールストーブ<br /><img class="embeddedimage " width="240" height="240" src="https://room.dengeki.jp/images/20220413153639-admin.jpg" alt="20220413153639-admin.jpg"><br />　<br /><a class="url labeledlink" href="https://www.daiso-sangyo.co.jp/" rel="noopener noreferrer" target="_blank">某Ｄイソー</a> を気ままにぷらぷら眺めていたら…ふと安っすいアルコールストーブを見つけたんでモノは試しに買ってきてしまいました<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/2022041315363912-admin.jpg" alt="2022041315363912-admin.jpg"><br />こんな感じのやつ　値段が見切れちゃってるけど…税抜き 200 円でした　もうひと回り大きな 300 円のもあったけど…ぼっちのソロ使用なんで小さい方でいいかなーって事で小さい方を選びました（泪<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/2022041315363911-admin.jpg" alt="2022041315363911-admin.jpg"><br />サイズ感はこんな感じです<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/2022041315363910-admin.jpg" alt="2022041315363910-admin.jpg"><br />税抜き 200 円にしちゃ頑張って作ってあるなぁってイメージ<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202204131536399-admin.jpg" alt="202204131536399-admin.jpg"><br />フタにはパッキンが付いてます　まんだ試してないけど…燃料を入れたままで持ち運びできそう？<br /><br />　　：<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202204131536398-admin.jpg" alt="202204131536398-admin.jpg"><br />それじゃ早速アルコールを入れて使用してみましょう　ざっくり赤色の線の辺りまで燃料を入れてライターで着火！<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202204131536396-admin.jpg" alt="202204131536396-admin.jpg"><br />五徳は手持ちの <a class="url labeledlink" href="https://www.amazon.co.jp/gp/product/B00F20I9A6" rel="noopener noreferrer" target="_blank">エスビット・ポケットストーブ</a> っぽいストーブを使用しました　気温 26℃ くらいでほぼ無風の状態です<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202204131536395-admin.jpg" alt="202204131536395-admin.jpg"><br />アルコールストーブ本体が暖まってくると猛烈に火力が上がってきてわりとすぐに沸騰しちゃう力強さがありますね<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202204131536394-admin.jpg" alt="202204131536394-admin.jpg"><br />ラーツーは楽しい<br /><br />気温 26℃ くらいでほぼ無風だと燃料を入れすぎましたって感じでしたね　感触としては 0℃ くらいの環境でも 500ml の水を沸騰させてラーメンを煮るくらいの能力がありそうです<br />ただし…今回は撮影の見栄え的に使ってなかった「風防」は必須となるでしょう　アルコールストーブは特に風に弱いのでその辺は気を使う必要があると思います　もちろん鍋のフタも必ず用意しておきましょう<br />税抜き 200 円の代物ですが…思ってたよりパワフルで使い勝手がよかったです　ただし火力の調節ができないっていうか…付属のフタはパッキンが熱に弱そうってことで火力調整にかぶせるとかが出来ないんで「もうちょっと弱火で使いたい！」って思うのであれば別に鉄製の仕切り板のようなものを持っていく必要があるんじゃないかと思いました<br /><br />　　：<br /><br /><img class="embeddedimage " width="1067" height="800" src="https://room.dengeki.jp/images/202204131536393-admin.jpg" alt="202204131536393-admin.jpg"><br />あと…それとは別に <a class="url labeledlink" href="https://www.workman.co.jp/" rel="noopener noreferrer" target="_blank">某Ｗークマン</a> で <a class="url labeledlink" href="https://workman.jp/shop/g/g2300068272011/" rel="noopener noreferrer" target="_blank">耐熱アルミテーブル</a> を買ってきました<br /><br /><img class="embeddedimage " width="1067" height="800" src="https://room.dengeki.jp/images/202204131536392-admin.jpg" alt="202204131536392-admin.jpg"> <img class="embeddedimage " width="1067" height="800" src="https://room.dengeki.jp/images/202204131536391-admin.jpg" alt="202204131536391-admin.jpg"><br />コンパクトに折り畳むことが出来て持ち運びもカンタン！　見た目以上に「がっしり」した作りでとても安心感がありますね　これはソロのラーツーに必須のアイテムなんで迷う前に買え！って感じですね！(&gt;_&lt;)ｗ<br /><br />まぁまぁそんなこなんで寒く厳しい冬が終わり…ラーツーに程よい季節の到来でほんと楽しみですね！　ちょうどいい季節は「あっ！」という間に通り過ぎちゃうんで油断なく楽しんじゃおうぜ！！ <a href="https://room.dengeki.jp/tegalog.cgi?tag=%e3%82%a2%e3%82%a6%e3%83%88%e3%83%89%e3%82%a2" class="taglink" title="アウトドア">#アウトドア</a> -- Posted by 猫山ぽるか 〔1061文字〕 No.25 ]]></description>
	<link>https://room.dengeki.jp/tegalog.cgi?postid=25</link>
	<guid>https://room.dengeki.jp/tegalog.cgi?postid=25</guid>
	<category>hobby</category>
	<pubDate>Wed, 13 Apr 2022 15:36:39 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ M5StickC Plus の開発環境を構築する ]]></title>
	<description><![CDATA[ M5StickC Plus の開発環境を構築する<br /><img class="embeddedimage " width="240" height="240" src="https://room.dengeki.jp/images/20220326153456-admin.jpg" alt="20220326153456-admin.jpg"><br />　<br /><a class="url labeledlink" href="https://elchika.com/" rel="noopener noreferrer" target="_blank">elchika公式</a> <a class="url labeledlink" href="https://twitter.com/elchika_info" rel="noopener noreferrer" target="_blank">@elchika_info</a> さんがリツイートキャンペーンを行っていたのですが…<br /><a class="url labeledlink" href="https://twitter.com/elchika_info/status/1494506958799486977" rel="noopener noreferrer" target="_blank">Tweet</a><br />それに応募したら大当選しちゃいました！！<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202203261507198-admin.jpg" alt="202203261507198-admin.jpg"><br />そんな訳で <a class="url labeledlink" href="https://docs.m5stack.com/en/core/m5stickc_plus" rel="noopener noreferrer" target="_blank">M5StickC Plus</a> を頂きました！　本当にありがとございます！！(&gt;_&lt;)ｗ<br />こないだから Arduino Pro Micro をぼちぼちとイジり始めてマイコンへの興味が盛り上がってきた所なんで…さらに見識を深めることができそうで嬉しいです！(&gt;_&lt;)ｗ<br /><br />　　：<br /><br />そんな M5StickC Plus の外観をざっくり見てみましょう<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202203261507197-admin.jpg" alt="202203261507197-admin.jpg"> <img class="embeddedimage " width="800" height="800" src="https://room.dengeki.jp/images/202203261507191-admin.jpg" alt="202203261507191-admin.jpg"><br />裏面には I/O の説明が所狭しと書かれています　何かとよく使う(と思われる)ボタンや LED のピン番号なんかも書かれているんで…ド忘れした時とかでも困らないと思います<br /><br /><img class="embeddedimage " width="800" height="800" src="https://room.dengeki.jp/images/20220326150719-admin.jpg" alt="20220326150719-admin.jpg"><br />USB は Type-C のようです<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202203261507195-admin.jpg" alt="202203261507195-admin.jpg"> <img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202203261507194-admin.jpg" alt="202203261507194-admin.jpg"><br />USB を挿して電源が供給されると起動するようです　何やらセンサーの状況が見れるようなものとかマイクのテストや赤外線の送信(？)のようなものを「M5」ボタンで切り替えながら楽しめるようです<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202203261507193-admin.jpg" alt="202203261507193-admin.jpg"><br />ちなみに電源の ON/OFF は側面のボタンを長押しすることにより操作できるようです　電源を ON する場合には 2 秒位の長押しで電源を OFF にする場合は 6 秒くらい長押しするといいようです<br /><br />　　：<br /><br />そんな訳なんで動作チェックがてら開発環境を整えていきましょう　M5StickC Plus (M5Stackシリーズ) の開発環境は Arduino IDE を使ってどうにかできるようなんで手軽っちゃぁ手軽ですよね<br />その辺の詳細な手順については <a class="url labeledlink" href="https://docs.m5stack.com/en/arduino/arduino_development" rel="noopener noreferrer" target="_blank">公式</a> に詳しく書かれていたんで…それを実際に試していきたいと思います<br /><br /><img class="embeddedimage " width="732" height="548" src="https://room.dengeki.jp/images/2022032615071914-admin.png" alt="2022032615071914-admin.png"><br />まずは Arduino IDE の「ファイル」→「環境設定」を開きます<br /><br /><img class="embeddedimage " width="925" height="552" src="https://room.dengeki.jp/images/2022032615071913-admin.png" alt="2022032615071913-admin.png"><br />その中の「追加ボードマネージャのURL」に <a class="url" href="https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json" rel="noopener noreferrer" target="_blank" title="https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json">https://m5stack.oss-cn-shenzhen.aliyuncs...</a> を追加して「ok」します<br /><br /><img class="embeddedimage " width="797" height="555" src="https://room.dengeki.jp/images/2022032615071912-admin.png" alt="2022032615071912-admin.png"><br />お次に「ツール」→「ボード」→「ボードマネージャ」を開きます<br /><br /><img class="embeddedimage " width="998" height="533" src="https://room.dengeki.jp/images/2022032615071911-admin.png" alt="2022032615071911-admin.png"><br />検索欄に「m5stack」と入れて出てきた「M5Stack」をインストールする<br /><br /><img class="embeddedimage " width="894" height="671" src="https://room.dengeki.jp/images/2022032615071910-admin.png" alt="2022032615071910-admin.png"><br />これで「ツール」→「ボード」とした際に「M5Stick-C Plus」を選べるようになります<br /><br />　　：<br /><br />使用ボードの設定が済んだらライブラリをインストールします<br /><br /><img class="embeddedimage " width="746" height="559" src="https://room.dengeki.jp/images/202203261507199-admin.png" alt="202203261507199-admin.png"><br />「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理」を開きます<br /><br /><img class="embeddedimage " width="998" height="533" src="https://room.dengeki.jp/images/202203261507198-admin.png" alt="202203261507198-admin.png"><br />検索欄に「m5stickcplus」と入れて出てきた「M5StickCPlus」をインストールします<br /><br /><img class="embeddedimage " width="561" height="965" src="https://room.dengeki.jp/images/202203261507197-admin.png" alt="202203261507197-admin.png"><br />なんか関連したライブラリ(？)も一緒にインストールするか聞かれるんだけど…よく判んなかったんで全部入れちゃいました（汗<br /><br /><img class="embeddedimage " width="925" height="552" src="https://room.dengeki.jp/images/202203261507196-admin.png" alt="202203261507196-admin.png"><br />ちなみに…もし間違ったライブラリを入れちゃった時にそれを消したい場合は「ファイル」→「環境設定」で確認できる「スケッチブックの保存場所」で確認できるフォルダを開いて libraries フォルダを開いて<br /><br /><img class="embeddedimage " width="886" height="791" src="https://room.dengeki.jp/images/202203261507195-admin.png" alt="202203261507195-admin.png"><br />該当するライブラリが入っているフォルダを削除して Arduino IDE を再起動すると消すことができるようです<br /><br /><img class="embeddedimage " width="566" height="425" src="https://room.dengeki.jp/images/202203261507194-admin.png" alt="202203261507194-admin.png"> <img class="embeddedimage " width="500" height="374" src="https://room.dengeki.jp/images/202203261507193-admin.png" alt="202203261507193-admin.png"><br />まぁとにかくコレで M5StickC Plus のライブラリをインクルードできるようになりました<br /><br />　　：<br /><br />それじゃ実際にコードを書いてコンパイルして M5StickC Plus に書き込んでみましょう　まぁ本来なら LED を点滅させる…いわゆる「Ｌチカ」を試すべきトコロなんですが液晶ディスプレイが搭載されているって事なんでそれに文字を出力させてみましょう<br /><br />----------<br /><br />&#35; include &lt;M5StickCPlus.h&gt;<br /><br />void setup(){<br />&nbsp; M5.begin(); // M5StickC Plus の初期化？<br />}<br /><br />void loop() {<br />&nbsp; M5.Lcd.setTextSize(3); &nbsp;// フォントサイズ<br />&nbsp; M5.Lcd.setRotation(3); &nbsp;// 画面表示の向き<br />&nbsp; M5.Lcd.print(&quot;Hello World&quot;); &nbsp;// お決まりのやつ<br />}<br /><br />----------<br /><br /><img class="embeddedimage " width="500" height="375" src="https://room.dengeki.jp/images/202203261507191-admin.png" alt="202203261507191-admin.png"><br />ざっくりこんな感じですかね　これをマイコンボードに書き込んでみましょう<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202203261507192-admin.jpg" alt="202203261507192-admin.jpg"><br />無事に「Hello World」と表示されて大成功です！<br /><br />　　：<br /><br />ちなみにコンパイル時に…我が家の環境では以下のようなエラーが発生しました<br /><br /><span class="decorationC" style="color:red;">Traceback (most recent call last):<br />&nbsp; File &quot;/home/nekoyama/.arduino15/packages/m5stack/tools/esptool_py/3.1.0/esptool.py&quot;, line 38, in &lt;module&gt;<br />&nbsp;&nbsp; &nbsp;import serial<br />ModuleNotFoundError: No module named &apos;serial&apos;<br />exit status 1<br />ボードM5Stick-C-Plusに対するコンパイル時にエラーが発生しました。</span><br /><br />これは Python にシリアル通信するための pyserial モジュールが入ってない時に発生するらしいので…<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202203261507192-admin.png" alt="202203261507192-admin.png"><br /><span class="decorationC" style="color:green;">pip install pyserial</span> としてインストールしておけばいいようですメモ<br /><br />　　：<br /><br /><img class="embeddedimage " width="617" height="600" src="https://room.dengeki.jp/images/20220326150719-admin.png" alt="20220326150719-admin.png"><br />さらにちなみに初回起動時に動いていたセンサーの状況が見れるようなものとかマイクのテストや赤外線の送信(？)のようなものは「ファイル」→「スケッチ例」→「M5StickCPlus」→「FactoryTest」で再び入れ直せるようです　他にも参考になりそうなものが用意されているんで…ざっと目を通しておくといいかもです<br /><br />　　：<br /><br />Arduino Pro Micro と M5StickC Plus を比べると…すぐに使える I/O が豊富でいろいろ興味を駆り立てられてしまいますね！　特に ESP32 ってやつですかね　Wi-Fi でコネクションを確立したりその後に HTTP としてサーバからドキュメンをを取ってこれたりもできるようなんで Web サーバと連携させて M5StickC Plus をリモートで操作するようなものとか作れるかもしれんですね！<br />そんな感じで引き続きぼちぼちイジっていきたいと思います <a href="https://room.dengeki.jp/tegalog.cgi?tag=%41%72%64%75%69%6e%6f" class="taglink" title="Arduino">#Arduino</a> <a href="https://room.dengeki.jp/tegalog.cgi?tag=%4d%35%53%74%69%63%6b%43" class="taglink" title="M5StickC">#M5StickC</a> -- Posted by 猫山ぽるか 〔2732文字〕 No.24 ]]></description>
	<link>https://room.dengeki.jp/tegalog.cgi?postid=24</link>
	<guid>https://room.dengeki.jp/tegalog.cgi?postid=24</guid>
	<category>info</category>
	<pubDate>Sat, 26 Mar 2022 15:07:18 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ Android と PC のための adb メモ ]]></title>
	<description><![CDATA[ Android と PC のための adb メモ<br /><img class="embeddedimage " width="240" height="240" src="https://room.dengeki.jp/images/20220321135913-admin.png" alt="20220321135913-admin.png"><br />　<br />Android Debug Bridge（adb）なるものがあります　Debug Bridge なんて聞くと「なんか面倒くさそうだな…」って思いがちだけど…一般利用者的な使い方でも「知っておくと得をする」ような便利な機能があるっていうか忘れがちな使い方をまとめて忘れ物防止メモって感じで書き留めておきます<br /><br />　　：<br /><br />一般的には Android 端末と PC を USB ケーブルで繋ぎます　なんかここんとこ Wi-Fi を使ってケーブル無しで繋ぐ手法が確立されてきてるようだけど…その話は後述って感じで<br /><br /><img class="embeddedimage " width="1080" height="1839" src="https://room.dengeki.jp/images/2022032113591336-admin.png" alt="2022032113591336-admin.png"> <img class="embeddedimage " width="1080" height="1839" src="https://room.dengeki.jp/images/2022032113591335-admin.png" alt="2022032113591335-admin.png"><br />まずはスマホ側の設定ってことで「設定」メニューから「システム」→「端末情報」と進みます　※機種により若干の操作法の違い有り<br /><br /><img class="embeddedimage " width="1080" height="1839" src="https://room.dengeki.jp/images/2022032113591334-admin.png" alt="2022032113591334-admin.png"><br />その中にある「ビルド番号」を連打する<br /><br /><img class="embeddedimage " width="1080" height="1839" src="https://room.dengeki.jp/images/2022032113591333-admin.png" alt="2022032113591333-admin.png"><br />既に有効にしてあったんでアレだけど…これで「開発者向けオプション」を有効にできます<br /><br />※機種によっては「設定」メニューからいきなり「デバイス情報」って入る場合や「詳細設定」の中に入っている場合とかがあるようです　まぁその辺はそれっぽい項目を選びつつ「ビルド番号」を探し出してそれを連打してください（汗<br /><br /><img class="embeddedimage " width="1080" height="1839" src="https://room.dengeki.jp/images/2022032113591332-admin.png" alt="2022032113591332-admin.png"> <img class="embeddedimage " width="1080" height="1839" src="https://room.dengeki.jp/images/2022032113591331-admin.png" alt="2022032113591331-admin.png"><br />次に「設定」メニューから「システム」→「詳細設定」と進むと「開発者向けオプション」が現れます　※これも機種によって進むべきメニュー項目が違う場合があるんで…あちこち探して辿り着いてください（汗<br /><br /><img class="embeddedimage " width="1080" height="1839" src="https://room.dengeki.jp/images/2022032113591330-admin.png" alt="2022032113591330-admin.png"> <img class="embeddedimage " width="1080" height="1839" src="https://room.dengeki.jp/images/2022032113591329-admin.png" alt="2022032113591329-admin.png"><br />「開発者向けオプション」内にある「USBデバッグ」をオンにして許可する　これで端末側の設定は概ね完了です<br /><br />　　：<br /><br />お次は PC 側の設定ってことで…本来 adb ってやつは Android Studio って開発ツールに含まれているものなんでそれをセットアップする必要があるんだけど単に adb だけを使いたい人向けにシンプルなパッケージが用意されているんでそれを入れることにします<br /><br /><img class="embeddedimage " width="579" height="412" src="https://room.dengeki.jp/images/2022032113591328-admin.png" alt="2022032113591328-admin.png"><br /><span class="decorationC" style="color:green;">sudo apt install adb</span><br /><br />なお動作検証っていうか…基本的に <a class="url labeledlink" href="http://ubuntutym2.u-toyama.ac.jp/xubuntu/20.04/release/" rel="noopener noreferrer" target="_blank">xubuntu 20.04 LTS</a> を USB メモリに書き込んだものをお試しモードっていうかライブ起動して諸々を試しています　画像の撮り忘れなんかで…本番環境の <a class="url labeledlink" href="https://ubuntu-mate.org/download/" rel="noopener noreferrer" target="_blank">Ubuntu MATE 20.04 LTS</a> を使う場合もありますがその辺はご了笑ください汗<br /><br /><img class="embeddedimage " width="579" height="412" src="https://room.dengeki.jp/images/2022032113591327-admin.png" alt="2022032113591327-admin.png"><br />インストールが完了したら先ほどの「USBデバッグ」をオンにした Android と PC を USB ケーブルで繋ぎ <span class="decorationC" style="color:green;">adb start-server</span> してみましょう　daemon started successfully と出れば成功です<br />この操作は省略してもいいのですが…接続した Android 機と PC とのやりとりを管理するデーモン（adbd）の起動を明確に確認できるので知っておいていいと思います<br />ちなみにデーモン（adbd）を終了する際には <span class="decorationC" style="color:green;">adb kill-server</span> します　いろいろな端末を繋ぎつつ作業してると稀に動作が不安定になる場合とかあるようなので…いったんデーモンを終了させて再び起動させるとうまくいく時があります<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/2022032113591326-admin.png" alt="2022032113591326-admin.png"><br />そんな adb ですが 1 台の PC に複数台の Android を接続することができます　接続した Android(のシリアル) は <span class="decorationC" style="color:green;">adb devices</span> で確認することができます<br /><br /><img class="embeddedimage " width="736" height="605" src="https://room.dengeki.jp/images/2022032113591325-admin.png" alt="2022032113591325-admin.png"><br />そのシリアルを adb の -s オプションを使って指定するとその Android 機を操作できます　画像はそれぞれの Android 内の proc フォルダ内にある cpuinfo ファイルの末尾 10 行くらいを表示させた一例です<br />なお PC に 1 台だけ Android 機を接続して使用する際にはこの -s オプションは不要です　今後は説明の簡略化っていうか 1 台だけの接続にして -s オプションは省略した感じでいきます<br /><br />　　：<br /><br />それでは adb のよく使うコマンドの説明をちょびっとだけ…<br /><br /><img class="embeddedimage " width="579" height="412" src="https://room.dengeki.jp/images/2022032113591324-admin.png" alt="2022032113591324-admin.png"><br /><span class="decorationC" style="color:green;">adb shell</span> で接続した Android 機にログイン(？)できます　コマンドライン上の操作で Linux 系のコマンドが使えます<br /><br /><img class="embeddedimage " width="579" height="412" src="https://room.dengeki.jp/images/2022032113591323-admin.png" alt="2022032113591323-admin.png"><br /><span class="decorationC" style="color:green;">adb shell コマンド名</span> だと PC 側の端末上で接続した Android 機のコマンドを実行できます　実行結果を PC 側のファイルにリダイレクトしたりパイプに送り込んだりできます<br />ちなみにここで試している pm コマンドはパッケージ・マネージャ系のコマンドですね　これに list package なる引数を与えて起動するとその端末にインストールされているアプリの一覧を確認できます　ここではその結果から grep を用いて必要な行だけ抽出して表示させています<br /><br /><img class="embeddedimage " width="579" height="412" src="https://room.dengeki.jp/images/2022032113591322-admin.png" alt="2022032113591322-admin.png"> <img class="embeddedimage " width="1442" height="1118" src="https://room.dengeki.jp/images/2022032113591321-admin.png" alt="2022032113591321-admin.png"><br />パッケージの一覧を確認できたってことで…それじゃ Android 機からファイルを取ってくる adb pull を使って apk(アプリ) を抜いてみましょう<br />目的とするアプリの ID(？) を指定することで apk ファイルを取得できます　これはブラウザを使い <a class="url labeledlink" href="https://play.google.com/store/apps" rel="noopener noreferrer" target="_blank">Google Play</a> で目的のアプリを表示させたアドレス欄にも表示されているんでその辺を参考にして grep で絞り込むといいでしょう<br />そうして出てきた中から <span class="decorationC" style="color:red;">/data/app/〜/base.apk</span> を選択してコピーして <span class="decorationC" style="color:green;">adb pull /data/app/〜/base.apk</span> として実行すると PC 側に base.apk として持ってこれます<br /><br />この apk ファイルはそのまま Android 機にインストールすることができます　インストールする場合は目的の Android 機に繋ぎ替えた後に <span class="decorationC" style="color:green;">adb install base.apk</span> とすれば ok です<br /><br /><img class="embeddedimage " width="800" height="1280" src="https://room.dengeki.jp/images/2022032113591320-admin.png" alt="2022032113591320-admin.png"> <img class="embeddedimage " width="800" height="1280" src="https://room.dengeki.jp/images/2022032113591319-admin.png" alt="2022032113591319-admin.png"><br />モノは試しに <a class="url labeledlink" href="https://www.amazon.co.jp/gp/product/B01J6RPOJY" rel="noopener noreferrer" target="_blank">Fire HD 10 タブレット (10インチHDディスプレイ) 32GB - Alexa搭載</a> にインストールしてみました　もともと Amazon apps 版の <a class="url labeledlink" href="https://fairydoll.jp/" rel="noopener noreferrer" target="_blank">フェアリードール</a> が入ってたんだけど…それとは別にインストールすることができました<br />Amazon Fire には Google Play が入ってないんだけどこの手法を使えばアプリのインストールが可能です…が多くの場合ハードやセキュリティの制約などで入れられないことが多いです　まぁどうしてもの非常時に入ったらイイナ！って感じで覚えておくといいかもです（汗<br /><br />　　：<br /><br />アプリのバックアップの別の手法として <span class="decorationC" style="color:green;">adb backup アプリID</span> ってのもあるようですね　ただこれは機種ごとのセキュリティ設定が強く影響するのか…同じアプリでも G 社の Android だとうまくいくけど S 社のそれだとうまくいかないなんてことがあるようです<br />まぁもしうまくバックアップすることができたとして…出来上がった *.ab ファイルを展開するツールが存在するっぽい？<br /><a class="url labeledlink" href="https://github.com/nelenkov/android-backup-extractor" rel="noopener noreferrer" target="_blank">android-backup-extractor</a> ってものらしく <a class="url labeledlink" href="https://github.com/nelenkov/android-backup-extractor/releases" rel="noopener noreferrer" target="_blank">abe.jar</a> ってのがそれらしいです　Java 環境が必要で <span class="decorationC" style="color:green;">java -jar abe.jar unpack 解凍元.ab 解凍先.tar</span> で展開できるようです<br /><br />　　：<br /><br />Android 機のスクリーンショットを PC で撮ってそのファイルを PC に保存するなんてこともできるようです<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/2022032113591311-admin.png" alt="2022032113591311-admin.png"><br />例えば <span class="decorationC" style="color:green;">adb exec-out screencap -p &gt; ss$(date +%Y%m%d%H%M%S).png</span> なんてすると実行した日時を付加した ss が PNG で PC に直接保存できます　スマホの「電源 + 音量ダウン」のボタン同時押しがそれなりに使いにくいんで…微妙なタイミングを要するスクリーンショットを撮りたい時などに重宝すると思います<br /><br />　　：<br /><br />Android 機の画面を PC 上で表示させられる scrcpy ってのがあるらしいです　これは <span class="decorationC" style="color:green;">sudo apt install scrcpy</span> で入れることができるようだけど…<br /><br /><img class="embeddedimage " width="579" height="412" src="https://room.dengeki.jp/images/2022032113591318-admin.png" alt="2022032113591318-admin.png"><br />我が家の環境ではエラーが出て動きませんでした<br /><br /><img class="embeddedimage " width="579" height="412" src="https://room.dengeki.jp/images/2022032113591317-admin.png" alt="2022032113591317-admin.png"><br />それじゃ別の手法で！ってことで snap 版の scrcpy を <span class="decorationC" style="color:green;">sudo snap install scrcpy</span> で入れてみました　ちなみに apt で入れる scrcpy の方が PATH の優先順位が高いんで <span class="decorationC" style="color:green;">/snap/bin/scrcpy</span> って感じのフルパス指定で起動してみます<br /><br /><img class="embeddedimage " width="1280" height="800" src="https://room.dengeki.jp/images/2022032113591316-admin.png" alt="2022032113591316-admin.png"><br />snap 版の scrcpy だとうまく動きました！　思ってたより動きもスムーズでいい感じです！(&gt;_&lt;)ｗ<br />そんな snap 版の scrcpy を毎回毎回フルパス指定で起動するのも面倒だな…って事なんで snap の別名設定を使ってみることにします<br /><br /><img class="embeddedimage " width="579" height="412" src="https://room.dengeki.jp/images/2022032113591315-admin.png" alt="2022032113591315-admin.png"><br />設定は <span class="decorationC" style="color:green;">sudo snap alias 元のコマンド名 新しいコマンド名</span> でできるようなんで <span class="decorationC" style="color:green;">sudo snap alias scrcpy Scrcpy</span> って感じで頭文字を大文字にしてみました　エイリアスを確認する際には <span class="decorationC" style="color:green;">snap aliases</span> とするようです<br /><br />　　：<br /><br />同様に Android 機の音声を PC 上で再生させられる sndcpy ってのがあるらしいです　これは <a class="url labeledlink" href="https://github.com/rom1v/sndcpy" rel="noopener noreferrer" target="_blank"> rom1v / sndcpy</a> の Get the app から sndcpy-v1.1.zip (※20220321現在) を落としてきて展開して…その中の sndcpy (シェルスクリプト) を実行すればいいようです<br /><br /><img class="embeddedimage " width="1280" height="800" src="https://room.dengeki.jp/images/2022032113591314-admin.png" alt="2022032113591314-admin.png"><br />先ほどの Scrcpy と sndcpy を同時に使ってみた例　音声は 0.5 秒くらい(？)遅れてきてるみたいですね　あーあと sndcpy を使用する場合には PC に vlc (メディアプレイヤ) を入れておく必要があるようです<br />スマホとかの小さい画面とショボいスピーカーの音声を PC 側に出すと見やすくて音もよくてとてもゴキゲンです！　追加投資は USB ケーブルだけ！って手軽さがいいですね！<br /><br />　　：<br /><br />そんな USB ケーブルで PC と Android 機を繋ぎっぱなしってのもなんか邪魔くさいんで…その辺をネットワーク (Wi-Fi等) でどうにかする手法があるようです　<span class="decorationC" style="color:red;">※使用するにあたり…最初の設定段階では USB ケーブルで繋いでおく必要があります</span><br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/2022032113591313-admin.png" alt="2022032113591313-admin.png"> <img class="embeddedimage " width="1080" height="1839" src="https://room.dengeki.jp/images/2022032113591312-admin.png" alt="2022032113591312-admin.png"><br />まず <span class="decorationC" style="color:green;">adb tcpip 5555</span> で listen するポートを 5555 に設定します　ポート番号は 5555～5585 の範囲で奇数番号のポートが使用できるらしい？<br />次に <span class="decorationC" style="color:green;">adb connect 192.16x.x.x32</span> で Android 機の IP アドレスを指定して接続します　Android 機の IP アドレスは「設定」→「ネットワークとインターネット」→「Wi-Fi」→「接続済みのAP」→「詳細設定」等で確認できます　※使用機種によりメニュー構成が若干違います<br /><br />connected to 192.16x.x.x32:5555 などと表示され接続したら…この時点で USB ケーブルを抜いても ok です<br />あとは adb shell なりの adb コマンドをネットワーク経由で使用できます<br /><br />　　：<br /><br />さらに最近では最初からネットワークで全てが完了する「ワイヤレス デバッグ」も使用できるようになりつつあります　<span class="decorationC" style="color:red;">※ Android OS 11 以降で adb も新しいものが必要になります</span><br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202203211359136-admin.png" alt="202203211359136-admin.png"><br /><span class="decorationC" style="color:green;">sudo apt install adb</span> で入れたものは Ver. 1.0.39 で…これは古いので使えません　じゃぁどうしよう？ってことで…それじゃ Android Studio を入れてみましょう<br /><br /><img class="embeddedimage " width="1120" height="819" src="https://room.dengeki.jp/images/202203211359135-admin.png" alt="202203211359135-admin.png"> <img class="embeddedimage " width="1120" height="819" src="https://room.dengeki.jp/images/202203211359134-admin.png" alt="202203211359134-admin.png"><br /><a class="url labeledlink" href="https://developer.android.com/studio" rel="noopener noreferrer" target="_blank">Android Studio のダウンロードページ</a> のダウンロードボタンを押下して…お決まりの了解したぜ！チェックした後にダウンロードします　ダウンロードしたファイルを解凍して <span class="decorationC" style="color:green;">android-studio/bin/studio.sh</span> を実行するとインストールが開始します　本気で使う気がないのなら…まぁこの辺は適当でいいと思います（汗<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202203211359136-admin.png" alt="202203211359136-admin.png"><br />標準的なインストールを行うと ~/Android/Sdk/platform-tools/ の中に adb が用意されるのでこれを使ってみます　Ver. 1.0.41 でした<br /><br /><img class="embeddedimage " width="720" height="1467" src="https://room.dengeki.jp/images/2022032113591310-admin.png" alt="2022032113591310-admin.png"><br />お次は Android OS 11 以降の設定を行います　「設定」→「システム」→「開発者向けオプション」→「ワイヤレス デバッグ」をオンにして…その項目をタップする<br /><br /><img class="embeddedimage " width="720" height="1467" src="https://room.dengeki.jp/images/202203211359139-admin.png" alt="202203211359139-admin.png"><br />タップしたらワイヤレス デバッグの設定に入れるので…「ペア設定コードによるデバイスのペア設定」をタップする<br /><br /><img class="embeddedimage " width="720" height="1467" src="https://room.dengeki.jp/images/202203211359138-admin.png" alt="202203211359138-admin.png"><br />すると必要な情報が表示されるので…これをもとに adb で接続設定していきます　なお古い adb と混同するをアレなんで <span class="decorationC" style="color:red;">~/Android/Sdk/platform-tools/adb</span> って感じのフルパスでコマンドを起動しています<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202203211359133-admin.png" alt="202203211359133-admin.png"><br />先ほど表示されてた IP アドレスとポート番号で <span class="decorationC" style="color:green;">~/Android/Sdk/platform-tools/adb pair 192.16x.x.x31:43015</span> って感じで実行します　するとペアリング・コードを聞かれるのでそれを入力します　※ここでは 226441 でした　これでペアリング設定は完了です<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202203211359132-admin.png" alt="202203211359132-admin.png"> <img class="embeddedimage " width="720" height="1467" src="https://room.dengeki.jp/images/202203211359137-admin.png" alt="202203211359137-admin.png"><br />お次は実際に接続します　これは <span class="decorationC" style="color:green;">~/Android/Sdk/platform-tools/adb connect 192.16x.x.x31:40643</span> って感じで実行します　先ほどのペアリング設定のポート番号とは別のポート番号になるので注意してください<br /><br /><img class="embeddedimage " width="736" height="479" src="https://room.dengeki.jp/images/202203211359131-admin.png" alt="202203211359131-admin.png"> <br />成功すればこれでワイヤレス接続が完了しています　後は <span class="decorationC" style="color:green;">~/Android/Sdk/platform-tools/adb shell</span> するなり色々をネットワーク経由で行えます　少々手順が多くて面倒かなーって思いつつ…まぁ慣れてしまえば USB ケーブルを接続するより楽ちんかなーってイメージです<br />ただし先述の scrcpy や sndcpy は(20220321現在)対応していない感じでした　この辺が早く対応してくれればなーって思います<br /><br />※ 追記 ※<br />テストした環境の PATH 設定の都合で Ver. 1.0.39 の adb が参照されていたので…その辺をどうにかしたら sndcpy は動きました　Android Studio で入れた Ver. 1.0.41 を優先的に使えるよう PATH を以下のように設定しました<br /><span class="decorationC" style="color:green;">export PATH=&quot;/home/$USER/Android/Sdk/platform-tools:$PATH&quot;</span>　※ 標準的(？)な Android Studio のインストールを行った場合<br />一時的な設定ならコマンドラインで上記のように実行するもよし…再起動後とかも永続的に使いたいのであれば ~/.profile を編集して…最終行辺りに上記のパス設定を追加しておくといいでしょう<br /><br />ちなみに scrcpy は apt 版(Ver. 1.12.1)と snap 版(Ver. 1.23)のどちらもワイヤレス環境では動作しませんでした(-_-；)<br /><br />　　：<br /><br />そんなこんなな adb の使い方いろいろでした　他にも音量の操作やら特定のイベントシグナルの送信などなどアプリ開発のデバッグに有用な機能が用意されているのですが…まぁ末端ユーザでは概ね必要のない機能なのでその辺はもっとプロの方が発する情報をご参照くださいってことで <a href="https://room.dengeki.jp/tegalog.cgi?tag=%41%6e%64%72%6f%69%64" class="taglink" title="Android">#Android</a> <a href="https://room.dengeki.jp/tegalog.cgi?tag=%55%62%75%6e%74%75" class="taglink" title="Ubuntu">#Ubuntu</a> <a href="https://room.dengeki.jp/tegalog.cgi?tag=%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%83%98%e3%83%ab%e3%83%97" class="taglink" title="コマンドヘルプ">#コマンドヘルプ</a> -- Posted by 猫山ぽるか 〔6454文字〕 No.23 ]]></description>
	<link>https://room.dengeki.jp/tegalog.cgi?postid=23</link>
	<guid>https://room.dengeki.jp/tegalog.cgi?postid=23</guid>
	<category>info</category>
	<pubDate>Mon, 21 Mar 2022 13:59:13 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ 和洋食レストラン＆喫茶「かかし」の鉄板ナポリタン ]]></title>
	<description><![CDATA[ 和洋食レストラン＆喫茶「かかし」の鉄板ナポリタン<br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/20220306082449-admin.jpg" alt="20220306082449-admin.jpg"><br />　<br />名古屋市北区金城にある昔ながらの喫茶店「かかし」に行ってきました<br />麻雀のテーブル筐体が置いてあったりして昭和の雰囲気が色濃く残る雰囲気はなかなかに趣があっていいですねｗ<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202203060824491-admin.jpg" alt="202203060824491-admin.jpg"><br />そして頂くのは鉄板ナポリタンです<br />これまた昭和から何も変わっていない！って雰囲気のごくごくありふれたナポリタンだけどそこがいいｗｗ<br />タバコの臭いが漂う…そんなノスタルジックな気分を味わいたくなった時におすすめの喫茶店ですね<br /><br />　　：<br /><br />そして特筆すべき点は「栄光の24時間営業の喫茶店」だって事ですかね<br />真夜中に…ふと何処か徘徊したい気分になった時とかに訪れるとなお雰囲気があっていいと思います<br /><br />ただし午後 10:00 〜午前 6:00 の間は深夜料金として 1 品につき 100 円が加算されるんでご注意を！<br />でもまぁその分っていうか客入りまばらな深夜の店内でだらりゆっくり雰囲気を楽しめる訳なのですがｗｗ <a href="https://room.dengeki.jp/tegalog.cgi?tag=%e5%a4%96%e9%a3%9f%e8%a8%98%e9%8c%b2" class="taglink" title="外食記録">#外食記録</a> -- Posted by 猫山ぽるか 〔426文字〕 No.22 ]]></description>
	<link>https://room.dengeki.jp/tegalog.cgi?postid=22</link>
	<guid>https://room.dengeki.jp/tegalog.cgi?postid=22</guid>
	<category>diary</category>
	<pubDate>Sun, 06 Mar 2022 08:24:49 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ Arduino とマトリクスキーボード ]]></title>
	<description><![CDATA[ Arduino とマトリクスキーボード<br /><img class="embeddedimage " width="220" height="220" src="https://room.dengeki.jp/images/202202201020325-admin.jpg" alt="202202201020325-admin.jpg"><br />　<br />以前にどうにかしてたっていうか「<a href="https://room.dengeki.jp/tegalog.cgi?postid=8" class="postidlink">Arduino Leonardo (Pro Micro) でマルチメディアキーボードを作ろう！</a>」の後ぐらいにいろいろ調べてたら…なんかマトリクス・キーボードっていうの？　少ないピン数で多くのスイッチを読み取れる方法があるらしい？？ってのを見つけて気になってたんで勉強がてらその辺を試してみることにしました<br /><br />そんなマトリクスってのを日本語的に云うと…碁盤の目みたいなものって感じになるっぽい？　それをキーボード的に実装すると…例えば横方向にマイコンから何本かの出力線を這わせておいてそれと何本かの入力線をスイッチを介してあたかも碁盤の目のように配置したもの？ってなるらしい？？<br /><br /><img class="embeddedimage " width="1067" height="800" src="https://room.dengeki.jp/images/202202201020324-admin.jpg" alt="202202201020324-admin.jpg"> <img class="embeddedimage " width="1000" height="957" src="https://room.dengeki.jp/images/20211113072346-admin.jpg" alt="20211113072346-admin.jpg"><br />そんな感じで <a class="url labeledlink" href="https://www.amazon.co.jp/gp/product/B086GPX434" rel="noopener noreferrer" target="_blank">Arduino VKLSVAN Pro Micro USB ATmega32U4</a> (※以下 Arduino と略す)を使って実際に作ってみました　ちなみに Pro Micro のピン配列図はこんな感じです　つーかブレッドボード(？)が狭くて碁盤の目になってなくてアレですよね（汗<br /><br /><img class="embeddedimage " width="850" height="850" src="https://room.dengeki.jp/images/202202201020325-admin.png" alt="202202201020325-admin.png"><br />回路図的なものにするとこんな感じです　つーか回路図なんて描いたことないんで正しくない図かもしれませんが…まぁ概念的な絵だと思って見てください（滝汗<br /><br /><img class="embeddedimage " width="850" height="850" src="https://room.dengeki.jp/images/202202201020324-admin.png" alt="202202201020324-admin.png"><br />ここでは Arduino の <span class="decorationC" style="color:blue;">6</span> 番ピンと <span class="decorationC" style="color:blue;">7</span> 番ピンを出力として使い <span class="decorationC" style="color:darkgreen;">14</span> 番ピンと <span class="decorationC" style="color:darkgreen;">15</span> 番ピンを入力として使います<br />そして <span class="decorationC" style="color:blue;">6</span> 番ピンのみに信号を出力します　その状態で <span class="decorationC" style="color:red;">A</span> もしくは <span class="decorationC" style="color:red;">B</span> のスイッチが押されればそれぞれ対応した <span class="decorationC" style="color:darkgreen;">14</span> 番ピンか <span class="decorationC" style="color:darkgreen;">15</span> 番ピンで信号を読み取ることができます　それにより <span class="decorationC" style="color:red;">A</span> もしくは <span class="decorationC" style="color:red;">B</span> のスイッチが押されたかどうかを特定できます<br />※なんか PULLUP 回路の都合上っていうの？<br />※普段は HIGH にしてあって…「出力する」としたものを LOW にすることで動作する仕組みです　ちょっとややこしいですね(-_-；)<br /><br /><img class="embeddedimage " width="850" height="850" src="https://room.dengeki.jp/images/202202201020323-admin.png" alt="202202201020323-admin.png"><br />引き続き今度は <span class="decorationC" style="color:blue;">7</span> 番ピンにのみ信号を出力します　その状態で <span class="decorationC" style="color:red;">C</span> もしくは <span class="decorationC" style="color:red;">D</span> のスイッチが押されればそれぞれ対応した <span class="decorationC" style="color:darkgreen;">14</span> 番ピンか <span class="decorationC" style="color:darkgreen;">15</span> 番ピンで信号を読み取ることができます　それにより <span class="decorationC" style="color:red;">C</span> もしくは <span class="decorationC" style="color:red;">D</span> のスイッチが押されたかどうかを特定できます<br />この一連の動作を繰り返すことにより碁盤の目のように配置されたスイッチを特定していく…そんな構造のキーボードをマトリクスキーボードと呼ぶらしいです<br /><br />それでは実際にスケッチを書いて動作を確認してみましょう<br /><br />----------<br /><br />&#35;include &quot;Keyboard.h&quot;<br /><br />void setup() {<br />&nbsp; pinMode(6, OUTPUT);<br />&nbsp; pinMode(7, OUTPUT);<br />&nbsp; pinMode(14, INPUT_PULLUP);<br />&nbsp; pinMode(15, INPUT_PULLUP);<br /><br />&nbsp; digitalWrite(6, HIGH); &nbsp;// 6 番ピンを HIGH にしておく<br />&nbsp; digitalWrite(7, HIGH); &nbsp;// 7 番ピンを HIGH にしておく<br /><br />&nbsp; Serial.begin(9600);<br />&nbsp; Keyboard.begin();<br />}<br /><br />void loop() {<br />// -------------------------------- //<br />&nbsp; digitalWrite(6, LOW); // 6 番ピンを LOW にしてスキャン開始<br />&nbsp; if (digitalRead(14) == LOW) { // 14 番ピンは LOW になっている？<br />&nbsp;&nbsp; &nbsp;Serial.print(&quot;A\n&quot;); &nbsp;// LOW なら A のスイッチが押されている<br />&nbsp;&nbsp; &nbsp;Keyboard.print(&quot;A\n&quot;);<br />&nbsp; }<br />&nbsp; if (digitalRead(15) == LOW) { // 15 番ピンは LOW になっている？<br />&nbsp;&nbsp; &nbsp;Serial.print(&quot;B\n&quot;); &nbsp;// LOW なら B のスイッチが押されている<br />&nbsp;&nbsp; &nbsp;Keyboard.print(&quot;B\n&quot;);<br />&nbsp; }<br />&nbsp; digitalWrite(6, HIGH); &nbsp;// 6 番ピンを HIGH にしてスキャン終了<br />// -------------------------------- //<br />&nbsp; digitalWrite(7, LOW); // 7 番ピンを LOW にしてスキャン開始<br />&nbsp; if (digitalRead(14) == LOW) { // 14 番ピンは LOW になっている？<br />&nbsp;&nbsp; &nbsp;Serial.print(&quot;C\n&quot;); &nbsp;// LOW なら C のスイッチが押されている<br />&nbsp;&nbsp; &nbsp;Keyboard.print(&quot;C\n&quot;);<br />&nbsp; }<br />&nbsp; if (digitalRead(15) == LOW) { // 15 番ピンは LOW になっている？<br />&nbsp;&nbsp; &nbsp;Serial.print(&quot;D\n&quot;); &nbsp;// LOW なら D のスイッチが押されている<br />&nbsp;&nbsp; &nbsp;Keyboard.print(&quot;D\n&quot;);<br />&nbsp; }<br />&nbsp; digitalWrite(7, HIGH); &nbsp;// 7 番ピンを HIGH にしてスキャン終了<br />// -------------------------------- //<br />&nbsp; delay(100); // 適当に待って繰り返し<br />}<br /><br />----------<br /><br /><img class="embeddedimage " width="918" height="535" src="https://room.dengeki.jp/images/202202201020322-admin.png" alt="202202201020322-admin.png"><br />シリアルモニタとテキストエディタを並べて動作テストしてみましょう　スイッチに対応した文字が表示されれば成功です　ちなみに今回はシリアルモニタとテキストエディタの両方に出力するようにしてますが…初期のテスト段階ではシリアルモニタだけを使ったほうがいいかもですね<br /><br />　　：<br /><br />さてそんな感じでマトリクス・キーボードの大まかな動作を理解できた気になったんで…ぼちぼちマルチメディアキーボード的なやつを作るか！って思いたいトコロなんだけどスイッチ類を買い揃えて配線したりとかとかしょーみ面倒くさいなぁと思ってたんですよね　そう思いつつ某Ａマゾンを眺めてたら気になるものを見つけました<br /><br /><a class="url labeledlink" href="https://www.amazon.co.jp/gp/product/B0978YTZV1" rel="noopener noreferrer" target="_blank">Ren He 5個セット 16キー 4*4 マトリックス フィルム ボタン キーボード マトリックススイッチ キーパッド メンブレン式 マトリックスキーボード Arduinoに対応</a><br /><br />かなり怪しげな感じだけど 5 個入りなのに 600 円でお釣りがきちゃうお値段に釣られてポチっちゃいました　初期不良でいくつか動かなかったとしても十分にお値打ちっポイネ！！<br /><br /><img class="embeddedimage " width="1067" height="800" src="https://room.dengeki.jp/images/202202201020323-admin.jpg" alt="202202201020323-admin.jpg"><br />なんか適当なプチプチに包まれた荷姿で届くと思ってたのに…郵便受けをギリ通る厚みのプラケースに入れられて来ましたｗ　やるじゃんｗｗ<br /><br /><img class="embeddedimage " width="1550" height="1250" src="https://room.dengeki.jp/images/202202201020321-admin.png" alt="202202201020321-admin.png"><br />ちなみにデータシートの類は入ってなかったんで自力で配線を解析する必要があったけど…まぁわりと素直な作りだったんで簡単に判明してよかったです　そして Arduino と接続したピン番号とかも<br /><br /><img class="embeddedimage " width="1067" height="800" src="https://room.dengeki.jp/images/20220220102032-admin.jpg" alt="20220220102032-admin.jpg"> <img class="embeddedimage " width="1067" height="800" src="https://room.dengeki.jp/images/202202201020321-admin.jpg" alt="202202201020321-admin.jpg"> <img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202202201020322-admin.jpg" alt="202202201020322-admin.jpg"><br />実際に接続してみました　まぁ毎度のごとく「接続例」って感じなんで…この辺は各人のお好みでどうにかしてもらえばいいかと思います<br /><br />それでは早速スケッチを書いて動作を確認してみましょう<br /><br />----------<br /><br />const byte KEYOT&#91;&#93; = {<span class="decorationC" style="color:red;">4</span>, <span class="decorationC" style="color:red;">5</span>, <span class="decorationC" style="color:red;">6</span>, <span class="decorationC" style="color:red;">7</span>}; &nbsp;// 出力ピンの設定<br />const byte KEYIN&#91;&#93; = {<span class="decorationC" style="color:red;">14</span>, <span class="decorationC" style="color:red;">15</span>, <span class="decorationC" style="color:red;">18</span>, <span class="decorationC" style="color:red;">19</span>}; &nbsp;// 入力ピンの設定<br />const int WAIT = <span class="decorationC" style="color:red;">100</span>; // ちょっと待たせる<br /><br />// &nbsp;関数 keyscan() がキーの状態を読み取った値を入れておく配列<br />byte SW&#91;sizeof(KEYOT)&#93;&#91;sizeof(KEYIN)&#93;;<br /><br />const byte ON = LOW; &nbsp;// LOW と HIGH を…<br />const byte OF = HIGH; // ON と OF の別名で定義しておく<br /><br />void setup() {<br />&nbsp; for (byte i = 0; i &lt; sizeof(KEYOT); i++) {<br />&nbsp;&nbsp; &nbsp;pinMode(KEYOT&#91;i&#93;, OUTPUT); &nbsp;// 出力ピンのモード設定<br />&nbsp;&nbsp; &nbsp;digitalWrite(KEYOT&#91;i&#93;, HIGH); // 出力ピンを HIGH に設定<br />&nbsp; }<br />&nbsp; for (byte i = 0; i &lt; sizeof(KEYIN); i++) {<br />&nbsp;&nbsp; &nbsp;pinMode(KEYIN&#91;i&#93;, INPUT_PULLUP); &nbsp;// 入力ピンを PULLUP モードに設定<br />&nbsp; }<br />&nbsp; Serial.begin(9600); // シリアル通信を開始<br />}<br /><br />void loop() {<br />&nbsp; keyscan(); &nbsp;// キーの状態を読み取る<br />// -------------------------------- //<br />&nbsp; if (SW&#91;0&#93;&#91;0&#93; == ON) { Serial.println(&quot;1&quot;); }<br />&nbsp; if (SW&#91;0&#93;&#91;1&#93; == ON) { Serial.println(&quot;2&quot;); }<br />&nbsp; if (SW&#91;0&#93;&#91;2&#93; == ON) { Serial.println(&quot;3&quot;); }<br />&nbsp; if (SW&#91;0&#93;&#91;3&#93; == ON) { Serial.println(&quot;A&quot;); }<br />// -------------------------------- //<br />&nbsp; if (SW&#91;1&#93;&#91;0&#93; == ON) { Serial.println(&quot;4&quot;); }<br />&nbsp; if (SW&#91;1&#93;&#91;1&#93; == ON) { Serial.println(&quot;5&quot;); }<br />&nbsp; if (SW&#91;1&#93;&#91;2&#93; == ON) { Serial.println(&quot;6&quot;); }<br />&nbsp; if (SW&#91;1&#93;&#91;3&#93; == ON) { Serial.println(&quot;B&quot;); }<br />// -------------------------------- //<br />&nbsp; if (SW&#91;2&#93;&#91;0&#93; == ON) { Serial.println(&quot;7&quot;); }<br />&nbsp; if (SW&#91;2&#93;&#91;1&#93; == ON) { Serial.println(&quot;8&quot;); }<br />&nbsp; if (SW&#91;2&#93;&#91;2&#93; == ON) { Serial.println(&quot;9&quot;); }<br />&nbsp; if (SW&#91;2&#93;&#91;3&#93; == ON) { Serial.println(&quot;C&quot;); }<br />// -------------------------------- //<br />&nbsp; if (SW&#91;3&#93;&#91;0&#93; == ON) { Serial.println(&quot;*&quot;); }<br />&nbsp; if (SW&#91;3&#93;&#91;1&#93; == ON) { Serial.println(&quot;0&quot;); }<br />&nbsp; if (SW&#91;3&#93;&#91;2&#93; == ON) { Serial.println(&quot;&#35;&quot;); }<br />&nbsp; if (SW&#91;3&#93;&#91;3&#93; == ON) { Serial.println(&quot;D&quot;); }<br />// -------------------------------- //<br />&nbsp; delay(WAIT);<br />}<br /><br />void keyscan() { &nbsp;// キーの状態を読み取る関数<br />&nbsp; for (byte i = 0; i &lt; sizeof(KEYOT); i++) {<br />&nbsp;&nbsp; &nbsp;digitalWrite(KEYOT&#91;i&#93;, LOW); &nbsp;// 特定の出力ピンを LOW にする<br />&nbsp;&nbsp; &nbsp;for (byte j = 0; j &lt; sizeof(KEYIN); j++) {<br />&nbsp;&nbsp; &nbsp; &nbsp;if (digitalRead(KEYIN&#91;j&#93;) == ON) { &nbsp;// 入力ピンの状態を読む<br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; SW&#91;i&#93;&#91;j&#93; = ON; &nbsp;// キーが押されている<br />&nbsp;&nbsp; &nbsp; &nbsp;} else {<br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; SW&#91;i&#93;&#91;j&#93; = OF; &nbsp;// キーは離されている<br />&nbsp;&nbsp; &nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;digitalWrite(KEYOT&#91;i&#93;, HIGH); // LOW にした出力ピンを HIGH に戻す<br />&nbsp; }<br />}<br /><br />----------<br /><br />冒頭にある<br /><br />const byte KEYOT&#91;&#93; = {<span class="decorationC" style="color:red;">4</span>, <span class="decorationC" style="color:red;">5</span>, <span class="decorationC" style="color:red;">6</span>, <span class="decorationC" style="color:red;">7</span>}; &nbsp;// 出力ピンの設定<br />const byte KEYIN&#91;&#93; = {<span class="decorationC" style="color:red;">14</span>, <span class="decorationC" style="color:red;">15</span>, <span class="decorationC" style="color:red;">18</span>, <span class="decorationC" style="color:red;">19</span>}; &nbsp;// 入力ピンの設定<br />const int WAIT = <span class="decorationC" style="color:red;">100</span>; // ちょっと待たせる<br /><br />この辺と…あとは loop() 内を書き換えるだけでいいように書いてみました　<span class="decorationC" style="color:red;">使用するピン数が増減</span>しても概ね追従できると思います<br />あーあと setup() で使用したい機能を開始させるような辺りの書き換えも必要ですかね<br /><br />それと…話がややこしくなるとアレなんで今回はシリアル通信のみで動作チェックしています<br /><br />キーの状態を読み取る keyscan() 関数ってのがありますが…グローバル変数を使っているので引数も返り値もありません<br />読み取った値は SW&#91;&#93;&#91;&#93; って二次元配列にセットしています<br /><br />あと PULLUP の特性っていうか普段が HIGH となっていて…スイッチが押されると LOW になるって辺りが何となく直感的にイメージしにくいように思えたんで<br />const byte ON = LOW; &nbsp;// LOW と HIGH を…<br />const byte OF = HIGH; // ON と OF の別名で定義しておく<br />って感じでスイッチが押されてる ON ってのとスイッチが離されてる OF って感じの別名で定義してあります<br /><br />　　：<br /><br />そして loop() 内で keyscan() を呼んでキーの状態を読み取っておいて…あとは個々の SW&#91;&#93;&#91;&#93; の状態に応じてお好みの文字(列)を出力させるなり何なりをすればいいでしょう<br />将来的にっていうかもし「1」が押されてたらキーボードとして文字を出力して「&#35;」が押されてたらマウスの右クリックを…って感じで様々な処理を行えるよう少しばかり長ったらしく書いてあります<br /><br />この辺の「やること」の種類が決まりきっているのであれば<br /><br />void loop() {<br />&nbsp; keyscan();<br />// -------------------------------- //<br />&nbsp; const char* str&#91;&#93; = {<br />&nbsp;&nbsp; &nbsp;&quot;1\n&quot;, &quot;2\n&quot;, &quot;3\n&quot;, &quot;A\n&quot;,<br />&nbsp;&nbsp; &nbsp;&quot;4\n&quot;, &quot;5\n&quot;, &quot;6\n&quot;, &quot;B\n&quot;,<br />&nbsp;&nbsp; &nbsp;&quot;7\n&quot;, &quot;8\n&quot;, &quot;9\n&quot;, &quot;C\n&quot;,<br />&nbsp;&nbsp; &nbsp;&quot;*\n&quot;, &quot;0\n&quot;, &quot;&#35;\n&quot;, &quot;D\n&quot;,<br />&nbsp; };<br />&nbsp; for (byte i = 0; i &lt; sizeof(KEYOT); i++) {<br />&nbsp;&nbsp; &nbsp;for (byte j = 0; j &lt; sizeof(KEYIN); j++) {<br />&nbsp;&nbsp; &nbsp; &nbsp;if (SW&#91;i&#93;&#91;j&#93; == ON) {<br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; Serial.print(str&#91;sizeof(KEYOT) * i + j&#93;);<br />&nbsp;&nbsp; &nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;}<br />&nbsp; }<br />// -------------------------------- //<br />&nbsp; delay(WAIT);<br />}<br /><br />こんなふうに for() で回すように書けばもうちょっとスッキリするかもしれんですね　これはまぁ「やること」の内容によっていろいろ書き方があるよねって事で参考までに<br /><br />　　：<br /><br />あーあと後半の中華クソ安 16 キーボードでの実験ではテキストエディタへの文字出力を行っていないんですが…これを実際に行うと不具合が出るものがあります<br /><br /><img class="embeddedimage " width="535" height="535" src="https://room.dengeki.jp/images/20220220102032-admin.png" alt="20220220102032-admin.png"><br />キーボード上の「*」 なんですけどね　シリアルモニタではちゃんと「*」が出力されているのに…テキストエディタ上では「(」になってしまいます<br />※別のスケッチでテストした際の画像です<br /><br />これは &#35;include &quot;Keyboard.h&quot; した際のキーボードレイアウトが KeyboardLayout_en_US になってて…まぁいわゆる US キーボードってやつですかね　これが日本で一般的に使われている JIS キーボードとレイアウト(キーの配置)が違うから起こる現象のようです<br />アルファベットと数字に関しては問題ないのですが…記号はその多くが US と JIS とで配列が違うんで問題になります<br /><br /><img class="embeddedimage " width="1240" height="923" src="https://room.dengeki.jp/images/202202201033061-admin.png" alt="202202201033061-admin.png"><br />先ほどの「*」を例にすると… US キーボードでは「*」が「8」のキーに割り当てられています<br /><br /><img class="embeddedimage " width="1240" height="923" src="https://room.dengeki.jp/images/20220220103306-admin.png" alt="20220220103306-admin.png"><br />そのキーコードを JIS キーボードに当てはめると「8」のキーにあるのは「(」って事になるので正しく表示されないのです<br /><br />困っちゃいますよね…そこそこ数が出回ってる(と思われる) JIS キーボードなんだで Keyboard.begin(KeyboardLayout_ja_JP); くらい通るようにしといてほしいのに！って思うんだけどそうはいきません(-_-；)<br /><br />どうしたもんかなーって思いつつ調べてたら…何やら Keyboard.h を複製した後に JIS キーボード向けに書き換える手法を見つけました→ <a class="url labeledlink" href="https://mgt.blog.ss-blog.jp/2016-01-14" rel="noopener noreferrer" target="_blank">Arduino Leonardoで\記号を打つ：メガギガテラス：So-netブログ</a><br />実際に試してみたところ…これでバッチリ動作しました！　まぁあくまで自己責任で！って感じになるんだけど…自作キーボードでいろいろしたい！って場合にはとても有用な情報だと思うんで参考にしてみてください<br /><br />　　：<br /><br />キーボード自作って話になると耳にするマトリクスキーボードってやつですね　今までは何となく漠然と聞き流していたんですが…今回はその辺に踏み込んでその原理をほんのり理解できた気になれてよかったです　マイコン側のピン数を減らしつつ…より多くのキーを読み取るテクニックは今後も色々と使えそうなんで今後もより掘り下げた勉強をしていきたいなって思いました<br /><br />あと…マトリクスキーボードの構造的な問題っていうか特定条件の複数キーの同時押しをした際に正常に動きません　今回の中華クソ安 16 キーボードを使った実験を例にとると…縦軸に配されたキー(例えば「1と4」とか「AとBとC」とか)を同時押しすると「どれも押されてない」って判定されます　まぁなんか読みたいキーとは別のスイッチを介して HIGH が逆流してくる(？)ことにより誤動作するらしく…そんな逆流を防ぐためにダイオードを入れるって事らしいんですが今回は既成品でその辺をどうにもできかねる感じなんでそのままにしてあります（汗<br /><br />まぁその辺を踏まえた上で…この中華クソ安 16 キーボードでマルチメディアキーボード的なものを作るとしますかね　程々に硬い板に貼り付けて配線の取りまとめをすればいいだけって感じの見栄えよりお手軽さ！って感じのアレですが（瀧汗<br /><br />そんなこなんで今回も長々とお疲れさまでした！　安いのに遊び甲斐のある Arduino をもっと色々と使い倒していきタイネ！(&gt;_&lt;)ｗ <a href="https://room.dengeki.jp/tegalog.cgi?tag=%41%72%64%75%69%6e%6f" class="taglink" title="Arduino">#Arduino</a> -- Posted by 猫山ぽるか 〔7955文字〕 No.21 ]]></description>
	<link>https://room.dengeki.jp/tegalog.cgi?postid=21</link>
	<guid>https://room.dengeki.jp/tegalog.cgi?postid=21</guid>
	<category>info</category>
	<pubDate>Sun, 20 Feb 2022 10:20:32 +0900</pubDate>
</item>
<!-- One Entry Data for RSS Feed -->
<item>
	<title><![CDATA[ イワタニ CB-JCB ジュニアコンパクトバーナー ]]></title>
	<description><![CDATA[ イワタニ CB-JCB ジュニアコンパクトバーナー<br /><img class="embeddedimage " width="220" height="220" src="https://room.dengeki.jp/images/20220207163518-admin.png" alt="20220207163518-admin.png"><br />　<br />クレジットカードの使いすぎっていうか…ポイントがどっさり貯まっててそれが失効しそうってご連絡を頂いたんで慌ててポイント交換して <a class="url labeledlink" href="http://www.i-cg.jp/product/burner/cb-jcb/" rel="noopener noreferrer" target="_blank">イワタニ CB-JCB ジュニアコンパクトバーナー</a> をげっちゅしました<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/2022020716351811-admin.jpg" alt="2022020716351811-admin.jpg"><br />ハードケース入りのコンパクトなやつ<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/2022020716351810-admin.jpg" alt="2022020716351810-admin.jpg"><br />このテのバーナーは <a class="url labeledlink" href="http://www.shinfuji.co.jp/" rel="noopener noreferrer" target="_blank">新富士バーナー</a> の SOTO ST-300 ってのを永らく愛用しています　セパレートなんで置き場所の自由度が高くてよかったんだけど…頑丈なバーナー部が災いしてなのか 600g というずっしり感のある重さがちょっとネックだったんですよね　セパレートの自由度は利点である反面…セッティング/片付けがちょっと面倒なんもあって愛用してたと云いつつ使用頻度はそれほど高くありませんでした（汗<br /><br />そんな訳なんで…半分以下の重量の <a class="url labeledlink" href="http://www.i-cg.jp/product/burner/cb-jcb/" rel="noopener noreferrer" target="_blank">CB-JCB</a> には期待しちゃってます！(&gt;_&lt;)ｗ<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202202071635188-admin.jpg" alt="202202071635188-admin.jpg"><br />それでは早速セッティングしてみましょう　まぁ脚をパタパタパタと広げて…ゴトクをパタパタパタパタと広げて CB 缶をブッ挿してねじって完成！って感じなんで説明する間もありませんが<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202202071635186-admin.jpg" alt="202202071635186-admin.jpg"><br />せっかくガスバーナーを持ち出してきたのにカプ麺じゃ少々味気ないかな…って事なんで今回は袋麺を作っちゃう！<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202202071635184-admin.jpg" alt="202202071635184-admin.jpg"><br />できたｗ　おいしいｗｗｗ　この日は強烈な伊吹おろしが吹き荒れる天気で…まぁ物陰に隠れてはいたもののそれなりに風が巻き込んできてたけど問題なく使用できました<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202202071635183-admin.jpg" alt="202202071635183-admin.jpg"><br />今回は丸型のコッヘルを使ったのですが…このゴトクの使い勝手がいいっていうかコッヘルの座りがよく安定感を感じました<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202202071635185-admin.jpg" alt="202202071635185-admin.jpg"><br />段々にカットされているのでスッポリと納まる感じですかね<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202202071635182-admin.jpg" alt="202202071635182-admin.jpg"><br />ざっくり測った感じでは 15cm のコッヘルまではズバピタに収まって使えるみたいです　逆に…長方形のコッヘルっていうかメスティンとかだとどんな使い勝手になるんだろ？って思ったりしていました<br /><br />　　：<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202202071635189-admin.jpg" alt="202202071635189-admin.jpg"><br />使い終わったらお片付けって事なんだけど…付属のハードケースに入れた際に数ミリ程度の隙間があって「ガタゴト」と揺れまくるんですよね　現実的な対策として軍手で包んだ後にハードケースに納めるといい感じになりますね<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202202071635181-admin.jpg" alt="202202071635181-admin.jpg"> <img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/20220207163518-admin.jpg" alt="20220207163518-admin.jpg"><br />そう云いつつ…我が家では某Ｄイソーで買ってきた重ねられる箱に CB 缶と共に入れて使おうかと思ってます　カバンやザックのなかでゴロゴロしがちな CB 缶をスマートに持ち歩けるようになると期待しています<br /><br /><img class="embeddedimage " width="1422" height="800" src="https://room.dengeki.jp/images/202202071635187-admin.jpg" alt="202202071635187-admin.jpg"><br />あとオマケ的な話だけど…安っすい <a class="url labeledlink" href="https://www.amazon.co.jp/gp/product/B015A2WYFG" rel="noopener noreferrer" target="_blank">遠赤ヒーターアタッチメント</a> も持ち歩くようにしています　これをゴトクにセットして燃焼開始すると…遠赤外線が発生して程よい暖房になるって感じらしいです　まぁ確かに直火に手をかざしているより段違いに暖かいような気がします　なんならこの上にコッヘルを載っけてお湯を沸かしたりとしても使えるようです<br /><br />どうなんだろね　よっぽどな時の非常用なのかなーってイメージですが…むっちゃ寒い真冬のキャンプツーリングなんかで威力を試せたらなぁって思います <a href="https://room.dengeki.jp/tegalog.cgi?tag=%e3%82%a2%e3%82%a6%e3%83%88%e3%83%89%e3%82%a2" class="taglink" title="アウトドア">#アウトドア</a> -- Posted by 猫山ぽるか 〔1266文字〕 No.20 ]]></description>
	<link>https://room.dengeki.jp/tegalog.cgi?postid=20</link>
	<guid>https://room.dengeki.jp/tegalog.cgi?postid=20</guid>
	<category>hobby</category>
	<pubDate>Mon, 07 Feb 2022 16:35:18 +0900</pubDate>
</item>

	<!-- END ENTRIES -->
</channel>
</rss>

