<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>記事一覧 | Tomokatsu Yukishita | yre.jp</title><link>https://yre.jp/post/</link><atom:link href="https://yre.jp/post/index.xml" rel="self" type="application/rss+xml"/><description>記事一覧</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>ja-JP</language><lastBuildDate>Thu, 22 Jan 2026 00:00:00 +0000</lastBuildDate><image><url>https://yre.jp/media/icon_hufbc159bd6ce6a866189b19a79c0d0f51_12846_512x512_fill_lanczos_center_3.png</url><title>記事一覧</title><link>https://yre.jp/post/</link></image><item><title>J-WAVE愛が高じて、AIと一緒に日曜日の音楽サイトを爆速で作ってみた話</title><link>https://yre.jp/post/blog/2026/sunday-music-created-by-ai/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>https://yre.jp/post/blog/2026/sunday-music-created-by-ai/</guid><description>&lt;p>日曜日の空気感って、なんだか特別ですよね。&lt;/p>
&lt;p>遅めに起きた朝のコーヒーとか、たまった家事を片付ける時間とか。
そんな僕の日曜日に欠かせないのが、ラジオ局 &lt;strong>「J-WAVE TOKIO HOT 100」&lt;/strong> です。&lt;/p>
&lt;p>流しっぱなしにしているだけで「あ、いい休日だな」って思わせてくれる、あのグルーヴ感がたまりません。「この曲いいな」と思って、あとでタイトルを調べようとして忘れることもしばしば……。&lt;/p>
&lt;p>そこでふと、&lt;strong>「TOKIO HOT 100でかかった曲たちを、いい感じにまとめて見れるサイトがあったらいいのにな」&lt;/strong> と思いつきました。&lt;/p>
&lt;h3 id="自分で書くのはやめました">自分で書くのはやめました&lt;/h3>
&lt;p>普段ならここで「よし、コードを書くか！」とエディタを開くところですが、今回はアプローチを変えてみました。&lt;/p>
&lt;p>&lt;strong>「AIにお願いしてみよう」&lt;/strong>&lt;/p>
&lt;p>最近の相棒であるAIに、僕の頭の中にあったフワッとしたアイデアを投げてみたんです。&lt;/p>
&lt;p>「TOKIO HOT 100でかかった音楽をまとめるサイトを作りたいんだけど、いい感じにデザインしてくれない？」&lt;/p>
&lt;p>そうしたら、驚くようなスピードで形にしてくれました。
デザインの調整から、データの取得方法まで、あれこれ相談（というかほぼ無茶振り）しながら完成したのがこちらです。&lt;/p>
&lt;h3 id="sunday-music">Sunday Music&lt;/h3>
&lt;p>&lt;a href="https://sundaymusic.yre.jp/" target="_blank" rel="noopener">https://sundaymusic.yre.jp/&lt;/a>&lt;/p>
&lt;p>正直、人間（僕）がやったことといえば、AIに対して「もっとこうして」「ここはシンプルに」とわがままを言ったことくらいかもしれません（笑）。&lt;/p>
&lt;p>技術的な話を少しだけすると、裏側ではAWSなどのクラウド技術が動いているんですが、そういった面倒な構築部分もAIがサクサクとサポートしてくれました。人間がロジックに悩み続ける時間を、クリエイティブな「どういうサイトにしたいか」という妄想に使える時代になったんだなぁと、改めて実感しています。&lt;/p>
&lt;h3 id="よかったら覗いてみてください">よかったら覗いてみてください&lt;/h3>
&lt;p>J-WAVEリスナーの方も、そうでない方も、リラックスした音楽を探しているなら、ぜひ覗いてみてください。&lt;/p>
&lt;p>AIと一緒に作ったこのサイトが、誰かのBGM探しに役立てば嬉しいです。&lt;/p></description></item><item><title>ChatGPTだけでAWSサーバレスのPodcast配信システムが完成した話 —— コード生成が“開発体験”をここまで変えるとは思わなかった</title><link>https://yre.jp/post/blog/2025/1204/chappy/</link><pubDate>Thu, 04 Dec 2025 00:00:00 +0000</pubDate><guid>https://yre.jp/post/blog/2025/1204/chappy/</guid><description>&lt;p>最近、ChatGPT を使いながら AWS 上でサーバレスのポッドキャスト配信システムを構築してみた。結果から言えば、“ChatGPT に指示するだけで完成してしまった”と言っても大げさではない。Lambda、S3、CloudFront、RSS フィード生成など、一見すると構築が面倒な要素が並んでいるにもかかわらず、必要なコードはすべて ChatGPT が自動生成してくれた。私はそれをコピペして AWS に配置するだけ。しかも、生成されたコードには「なぜこの処理が必要なのか」「AWS のどの仕組みと連携するのか」といった解説が丁寧に添えられており、システム全体の理解も自然と進んだ。&lt;/p>
&lt;p>特に驚いたのは、単なるコード生成ツールではなく、“開発そのものを一緒に進めてくれるパートナー”として機能していたことだ。自分が思いつかないような改善案を提案してくれたり、気づかない設定ミスを指摘してくれたりと、まるで経験豊富なエンジニアと相談しながら開発している感覚に近い。質問を投げればすぐ答えが返ってくるため、実装の詰まりがほとんど発生せず、開発スピードも圧倒的に早かった。&lt;/p>
&lt;p>今回の体験を通じて、「次世代の開発スタイルが本格的に始まった」と確信した。これまでの開発は、検索して調べ、試行錯誤しながらコードを書くのが当たり前だった。しかし ChatGPT を使うと、要件を伝えさえすれば、具体的なコードと構成が自動で出てくる。エンジニアは実装の細部から解放され、より“何を作るか”という本質に集中できるようになる。&lt;/p>
&lt;p>この流れは間違いなく今後さらに加速するだろう。Google の Gemini をはじめ、他の生成 AI も試してみる予定だ。各サービスがどんな強みを持っているのかを比較し、自分の開発スタイルに最適な AI パートナーを探していくのも楽しみのひとつだ。&lt;/p>
&lt;p>AI とともに開発する未来は、すでに手の中にある。今回のプロジェクトは、その最初の一歩として非常に刺激的な経験だった。&lt;/p>
&lt;p>・・ということで、この文章も考えてもらいました。&lt;/p></description></item><item><title>Raspberry Pi + CO2-mini + Zabbixで室内CO2濃度を継続モニタリングする構築手順</title><link>https://yre.jp/post/co2-mini/</link><pubDate>Tue, 19 Jul 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/co2-mini/</guid><description>&lt;p>コロナ禍をきっかけにCO2モニター「CUSTOM CO2-mini」を購入しました。USB給電で動作するこのセンサー、調べてみるとUSB経由でデータ取得もできることが判明。Raspberry Piに接続してZabbixで継続的に室内CO2濃度をモニタリングする仕組みを作ったので、構築手順をまとめます。&lt;/p>
&lt;h2 id="用意するもの">用意するもの&lt;/h2>
&lt;h3 id="raspberry-pi">Raspberry Pi&lt;/h3>
&lt;a href="https://amzn.to/4mCu8As" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/51ETv8Le3nL._AC_.jpg" alt="【国内正規代理店品】Raspberry Pi4 ModelB 4GB ラズベリーパイ4 技適対応品">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">【国内正規代理店品】Raspberry Pi4 ModelB 4GB ラズベリーパイ4 技適対応品&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h3 id="co2-minicustom-co2モニター">CO2-mini（CUSTOM CO2モニター）&lt;/h3>
&lt;a href="https://amzn.to/4cf3z0K" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/31zFBrDz0-L._SL1000_.jpg" alt="カスタム (CUSTOM) CO2モニター CO2-mini">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">カスタム (CUSTOM) CO2モニター CO2-mini&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h3 id="電源microsdカード">電源・microSDカード&lt;/h3>
&lt;a href="https://amzn.to/48rikeH" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/61Iaz4sqdaS._AC_SL1500_.jpg" alt="Smraza Raspberry Pi 4 USB-C電源 5V 3A（ON/OFFスイッチ付き）">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">Smraza Raspberry Pi 4 USB-C電源 5V 3A（ON/OFFスイッチ付き）&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;a href="https://amzn.to/4cq6fYc" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/61&amp;#43;B0wJtRFL._AC_SL1500_.jpg" alt="SanDisk microSD カード 128GB UHS-I U1 Class10">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">SanDisk microSD カード 128GB UHS-I U1 Class10&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h2 id="co2-miniからのデータ取得python">CO2-miniからのデータ取得（Python）&lt;/h2>
&lt;p>CO2-miniをRaspberry PiにUSB接続すると、特別なドライバーなしで認識されます。データ取得には &lt;a href="https://github.com/heinemml/CO2Meter" target="_blank" rel="noopener">heinemml/CO2Meter&lt;/a> というPythonライブラリを使います。&lt;/p>
&lt;h3 id="ライブラリのインストール">ライブラリのインストール&lt;/h3>
&lt;p>Raspberry Pi OS Bookworm 以降では、システムの Python に直接 pip インストールすることが制限されています。仮想環境を作成してその中にインストールします。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">python3 -m venv /root/co2env
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">/root/co2env/bin/pip install git+https://github.com/heinemml/CO2Meter
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="alert alert-note">
&lt;div>
&lt;code>sudo pip3 install ...&lt;/code> は Raspberry Pi OS Bookworm（2023年以降）では &amp;ldquo;externally managed environment&amp;rdquo; エラーになる場合があります。仮想環境を使う手順が安全です。
&lt;/div>
&lt;/div>
&lt;h3 id="co2温度をshared-memoryに書き出すスクリプト">CO2・温度をShared Memoryに書き出すスクリプト&lt;/h3>
&lt;p>ZabbixエージェントからCO2値を読み取れるよう、取得した値を &lt;code>/dev/shm/&lt;/code> 以下のファイルに継続的に書き出します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">CO2Meter&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="o">*&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">time&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">sensor&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">CO2Meter&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;/dev/hidraw0&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1"># 環境によって hidraw1 などになる場合があります&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">while&lt;/span> &lt;span class="kc">True&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">time&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">sleep&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">data&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sensor&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_data&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="s1">&amp;#39;temperature&amp;#39;&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">data&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="s1">&amp;#39;co2&amp;#39;&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">data&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;/dev/shm/co2&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;w&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">f&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">write&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">str&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">data&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;co2&amp;#39;&lt;/span>&lt;span class="p">]))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">with&lt;/span> &lt;span class="nb">open&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;/dev/shm/temperature&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;w&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="n">f&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">f&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">write&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">str&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">data&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;temperature&amp;#39;&lt;/span>&lt;span class="p">]))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="alert alert-note">
&lt;div>
&lt;code>/dev/hidraw0&lt;/code> のデバイスパスは環境によって異なります。&lt;code>ls /dev/hidraw*&lt;/code> で確認し、CO2-miniが認識されているパスを指定してください。
&lt;/div>
&lt;/div>
&lt;h3 id="起動時に自動実行するcrontab">起動時に自動実行する（crontab）&lt;/h3>
&lt;p>rootでないとデバイスにアクセスできないため、root権限で起動するシェルスクリプトを作成します。&lt;/p>
&lt;p>&lt;code>/root/co2.sh&lt;/code>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#!/bin/bash
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>sleep &lt;span class="m">5&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">/root/co2env/bin/python3 /root/co2.py
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>crontabに追加して起動時に自動実行するよう設定します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">@reboot /root/co2.sh
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="zabbixの設定">Zabbixの設定&lt;/h2>
&lt;p>ZabbixからRaspberry Piのデータを収集するには、zabbix-serverとzabbix-agentの両方を設定する必要があります。&lt;/p>
&lt;h3 id="方針">方針&lt;/h3>
&lt;ul>
&lt;li>Raspberry PiのShared Memory（&lt;code>/dev/shm/&lt;/code>）にCO2値と温度を常時書き出す&lt;/li>
&lt;li>Zabbixエージェントはそのファイルを &lt;code>cat&lt;/code> して返す&lt;/li>
&lt;/ul>
&lt;h3 id="zabbix-server側ホストとアイテムの作成">zabbix-server側：ホストとアイテムの作成&lt;/h3>
&lt;p>Raspberry Piにzabbix-agentをインストールし、zabbix-serverでホストを追加します。&lt;/p>
&lt;p>
&lt;figure id="figure-zabbixでホストを作成する">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Zabbixのホスト作成画面。Raspberry PiのIPアドレスを指定してホストを追加している様子" srcset="
/media/co2-mini/da06e12e47b74a91077c01cd16525293_hu313760b14cba40592b4c4bfe8a53f596_72911_1b1d6d1894adc4b8bbffecf8e53f3544.webp 400w,
/media/co2-mini/da06e12e47b74a91077c01cd16525293_hu313760b14cba40592b4c4bfe8a53f596_72911_fea422ab79f99abf87bd10e92c424003.webp 760w,
/media/co2-mini/da06e12e47b74a91077c01cd16525293_hu313760b14cba40592b4c4bfe8a53f596_72911_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/co2-mini/da06e12e47b74a91077c01cd16525293_hu313760b14cba40592b4c4bfe8a53f596_72911_1b1d6d1894adc4b8bbffecf8e53f3544.webp"
width="760"
height="196"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Zabbixでホストを作成する
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>CO2濃度と温度の2つのアイテムを作成します。&lt;/p>
&lt;p>
&lt;figure id="figure-co2濃度と温度のアイテムを作成する">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="ZabbixのアイテムリストにCO2濃度と温度の2つのアイテムが表示されている画面" srcset="
/media/co2-mini/5ce5e9a101dc3a9f247f663aa8f0a7b3_hud28ccdbdbed7334ddc3ee0b604058f9a_103897_9c11300127e1612b7ef1f8456817bccb.webp 400w,
/media/co2-mini/5ce5e9a101dc3a9f247f663aa8f0a7b3_hud28ccdbdbed7334ddc3ee0b604058f9a_103897_90cd0f3739ec77d7e841d665277f56f1.webp 760w,
/media/co2-mini/5ce5e9a101dc3a9f247f663aa8f0a7b3_hud28ccdbdbed7334ddc3ee0b604058f9a_103897_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/co2-mini/5ce5e9a101dc3a9f247f663aa8f0a7b3_hud28ccdbdbed7334ddc3ee0b604058f9a_103897_9c11300127e1612b7ef1f8456817bccb.webp"
width="760"
height="608"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
CO2濃度と温度のアイテムを作成する
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-アイテムのキー設定userparameterと対応させる">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="ZabbixのアイテムキーにUserParameter名（co2.co2 / co2.temp）を設定している設定画面" srcset="
/media/co2-mini/9017e828e3c4efcae08dca0091351baa-1024x819_hu8f2faefe9ab31af6c31fc87aa0f0d22a_115242_3294bf3e25f8357036b10c044d045648.webp 400w,
/media/co2-mini/9017e828e3c4efcae08dca0091351baa-1024x819_hu8f2faefe9ab31af6c31fc87aa0f0d22a_115242_e4cb036ba6e841d0d2fb0d635f2939e1.webp 760w,
/media/co2-mini/9017e828e3c4efcae08dca0091351baa-1024x819_hu8f2faefe9ab31af6c31fc87aa0f0d22a_115242_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/co2-mini/9017e828e3c4efcae08dca0091351baa-1024x819_hu8f2faefe9ab31af6c31fc87aa0f0d22a_115242_3294bf3e25f8357036b10c044d045648.webp"
width="760"
height="608"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
アイテムのキー設定（UserParameterと対応させる）
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>アイテムキーは以下にしました。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">co2.co2 （CO2濃度）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">co2.temp （温度）
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="zabbix-agent側設定ファイルの編集">zabbix-agent側：設定ファイルの編集&lt;/h3>
&lt;p>&lt;code>/etc/zabbix/zabbix_agentd.conf&lt;/code> でサーバーアドレスを指定します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">Server=&amp;lt;zabbix-serverのアドレス&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ServerActive=&amp;lt;zabbix-serverのアドレス&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="userparameterの設定">UserParameterの設定&lt;/h3>
&lt;p>&lt;code>/etc/zabbix/zabbix_agentd.conf.d/userparameter_co2.conf&lt;/code> を作成します。Shared Memoryのファイルを &lt;code>cat&lt;/code> して返すだけです。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">UserParameter=co2.co2,cat /dev/shm/co2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">UserParameter=co2.temp,cat /dev/shm/temperature
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>設定後、zabbix-agentを再起動します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">sudo systemctl restart zabbix-agent
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="動作結果">動作結果&lt;/h2>
&lt;p>CO2濃度と温度をZabbixでグラフ化できました。&lt;/p>
&lt;p>
&lt;figure id="figure-co2濃度のzabbixグラフ換気のタイミングで値が下がるのがわかる">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="ZabbixのグラフにRaspberry Pi &amp;#43; CO2-miniで取得したCO2濃度のリアルタイムデータが折れ線グラフで表示されている" srcset="
/media/co2-mini/2f571cc59d7fa276e5cedf024f4227cf_hu277cd2d825a81d3f8ff9ed731bf6d1ea_117855_48a1d62b253931673888293d34fd422b.webp 400w,
/media/co2-mini/2f571cc59d7fa276e5cedf024f4227cf_hu277cd2d825a81d3f8ff9ed731bf6d1ea_117855_f0c054ecb0a4aa5844ee97e07d272a80.webp 760w,
/media/co2-mini/2f571cc59d7fa276e5cedf024f4227cf_hu277cd2d825a81d3f8ff9ed731bf6d1ea_117855_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/co2-mini/2f571cc59d7fa276e5cedf024f4227cf_hu277cd2d825a81d3f8ff9ed731bf6d1ea_117855_48a1d62b253931673888293d34fd422b.webp"
width="760"
height="165"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
CO2濃度のZabbixグラフ。換気のタイミングで値が下がるのがわかる
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-設置してからの長期推移冬は換気すると室温も下がるためco2上昇を許容しがち">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Zabbixで数週間分のCO2濃度推移グラフ。冬季は窓を開けた後に急激にCO2が下がっている様子が見える" srcset="
/media/co2-mini/78ac805712a44e11300fa5ba4588254c_hu495835c02be0289c551a3002b397186b_290858_2cad7f32843dfd27d09684ba3e89f769.webp 400w,
/media/co2-mini/78ac805712a44e11300fa5ba4588254c_hu495835c02be0289c551a3002b397186b_290858_0a7ce34aa4d5b3be8bfd7327941efc86.webp 760w,
/media/co2-mini/78ac805712a44e11300fa5ba4588254c_hu495835c02be0289c551a3002b397186b_290858_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/co2-mini/78ac805712a44e11300fa5ba4588254c_hu495835c02be0289c551a3002b397186b_290858_2cad7f32843dfd27d09684ba3e89f769.webp"
width="760"
height="269"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
設置してからの長期推移。冬は換気すると室温も下がるため、CO2上昇を許容しがち
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>CO2モニターを導入してから、換気の頻度が体感でかなり上がりました。数値で見ると「換気が必要なタイミング」が一目瞭然です。&lt;/p>
&lt;h2 id="まとめ">まとめ&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>構成要素&lt;/th>
&lt;th>役割&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>CO2-mini&lt;/td>
&lt;td>USB接続でCO2濃度・温度を計測&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Raspberry Pi&lt;/td>
&lt;td>センサーからデータを取得・Shared Memoryに保存&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Python（CO2Meterライブラリ）&lt;/td>
&lt;td>CO2-miniとの通信・データ取得&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Zabbix（agent + server）&lt;/td>
&lt;td>データの収集・グラフ化・長期記録&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>作成したスクリプト一式はGitHubで公開しています。&lt;/p>
&lt;p>&lt;a href="https://github.com/yukishita/co2-mini" target="_blank" rel="noopener">GitHub - yukishita/co2-mini：CUSTOM CO2-miniをZabbixで記録するプログラム&lt;/a>&lt;/p></description></item><item><title>Raspberry Pi + Google Drive でクラウド対応フォトフレームを自作する【rclone + fbi + Python】</title><link>https://yre.jp/post/raspi-photoframe/</link><pubDate>Tue, 19 Jul 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/raspi-photoframe/</guid><description>&lt;p>写真が趣味で、2003年からデジタル一眼を使い始めて今に至ります。気づけば総撮影枚数は388,524枚。これだけ撮り溜めた写真を、スライドショー形式でリビングに飾りたいと思っていました。&lt;/p>
&lt;h2 id="市販のデジタルフォトフレームでは解決できなかった問題">市販のデジタルフォトフレームでは解決できなかった問題&lt;/h2>
&lt;p>市販のフォトフレームは、SDカードやUSBメモリにデータを入れて表示する仕組みが主流です。7〜10インチのものが多く、Amazonのランキングでも選択肢は豊富にあります。&lt;/p>
&lt;p>ただ、週1ペースで写真を撮り続ける身としては**「毎回SDカードに写真を入れ直す」運用が億劫**で、すぐに使わなくなりそうでした。&lt;/p>
&lt;p>
&lt;figure id="figure-クラウドから自動で写真を取得するフォトフレームのイメージ">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Google DriveとRaspberry Piを組み合わせたクラウド対応フォトフレームのシステム構成図。クラウドから写真を自動取得してスライドショー表示する仕組みを示している" srcset="
/media/raspi-photoframe/5621deba8a18b839c7a4321764bb05e8_hub05f2d0d129c7ee7542169c2c963abde_86374_3f5a7eb7c7a059ffa19f361f5c9be38d.webp 400w,
/media/raspi-photoframe/5621deba8a18b839c7a4321764bb05e8_hub05f2d0d129c7ee7542169c2c963abde_86374_26bbc4e9cdb29660629bcf887c20be66.webp 760w,
/media/raspi-photoframe/5621deba8a18b839c7a4321764bb05e8_hub05f2d0d129c7ee7542169c2c963abde_86374_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/raspi-photoframe/5621deba8a18b839c7a4321764bb05e8_hub05f2d0d129c7ee7542169c2c963abde_86374_3f5a7eb7c7a059ffa19f361f5c9be38d.webp"
width="720"
height="405"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
クラウドから自動で写真を取得するフォトフレームのイメージ
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>Google Driveなどのクラウドストレージから自動で写真を取得して表示するフォトフレームが欲しかったのですが、市販品では見つからなかったため、自分で作ることにしました。&lt;/p>
&lt;h2 id="用意したもの">用意したもの&lt;/h2>
&lt;h3 id="raspberry-pi-4">Raspberry Pi 4&lt;/h3>
&lt;p>常時通電するフォトフレーム用途には、消費電力が低く小型なRaspberry Piが適しています。&lt;/p>
&lt;a href="https://amzn.to/4mAJmpt" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/51ETv8Le3nL._AC_.jpg" alt="【国内正規代理店品】Raspberry Pi4 ModelB 4GB ラズベリーパイ4 技適対応品">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">【国内正規代理店品】Raspberry Pi4 ModelB 4GB ラズベリーパイ4 技適対応品&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h3 id="モバイルモニター">モバイルモニター&lt;/h3>
&lt;p>写真を表示するためのモニターです。FullHD・IPSパネルのモバイルモニターを選びました。市販のフォトフレームは視野角が狭いパネルが多いですが、パーツを自分で選べるのが自作の醍醐味です。モバイルモニターは電源が小型で設置の自由度も高いです。&lt;/p>
&lt;a href="https://amzn.to/4vwkOSR" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/71lbYPykVrL._AC_SL1500_.jpg" alt="モバイルモニター 15.6インチ タッチパネル モバイルディスプレイ">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">モバイルモニター 15.6インチ タッチパネル モバイルディスプレイ&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h3 id="microsdカード電源">microSDカード・電源&lt;/h3>
&lt;a href="https://amzn.to/4ch1OA3" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/615exWhvZ0L._AC_SL1200_.jpg" alt="SanDisk 高耐久 ドライブレコーダー アクションカメラ対応 microSDHC 32GB">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">SanDisk 高耐久 ドライブレコーダー アクションカメラ対応 microSDHC 32GB&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;a href="https://amzn.to/4cf3SbU" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/61W8QsDXSYL._AC_SL1500_.jpg" alt="Miuzei Raspberry Pi 4 電源 USB-C 5.1V 3A スイッチ付き PSE認証">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">Miuzei Raspberry Pi 4 電源 USB-C 5.1V 3A スイッチ付き PSE認証&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h2 id="システム構成">システム構成&lt;/h2>
&lt;h3 id="osraspberry-pi-os">OS：Raspberry Pi OS&lt;/h3>
&lt;p>&lt;a href="https://www.raspberrypi.com/software/" target="_blank" rel="noopener">Raspberry Pi OS&lt;/a> をSDカードに書き込んで使います。フォトフレーム用途なのでデスクトップ環境は不要で、CLIのみの Lite 版でセットアップします。&lt;/p>
&lt;h3 id="画像表示fbi">画像表示：fbi&lt;/h3>
&lt;p>CLIから直接フレームバッファに画像を表示できる &lt;code>fbi&lt;/code> を使います。以前はUbuntu上のGUIで動かすバージョンも作りましたが動作が不安定だったため、CLIベースの構成に切り替えました。&lt;/p>
&lt;h3 id="クラウドストレージとの連携rclone">クラウドストレージとの連携：rclone&lt;/h3>
&lt;p>&lt;a href="https://rclone.org" target="_blank" rel="noopener">rclone&lt;/a> を使ってGoogle Drive上の写真を定期的にダウンロードします。Google Drive以外にもDropbox・S3など70以上のクラウドサービスに対応しています。&lt;/p>
&lt;p>rcloneで写真をダウンロード → fbiでスライドショー表示、という流れです。&lt;/p>
&lt;h2 id="セットアップ">セットアップ&lt;/h2>
&lt;h3 id="raspberry-pi-os-のインストール">Raspberry Pi OS のインストール&lt;/h3>
&lt;p>Raspberry Pi Imager を使ってSDカードにイメージを書き込みます。&lt;/p>
&lt;p>
&lt;figure id="figure-raspberry-pi-imager-でosを書き込む">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Raspberry Pi ImagerでmicroSDカードにRaspberry Pi OSを書き込んでいる画面。OSとストレージを選択してWRITEボタンを押す操作画面" srcset="
/media/raspi-photoframe/8ffcb7bfb32b5079533396b7542ed9a1_hu8982ae701f5d02b9ab9d1e54062b4b24_153362_fa36f9d2badcc15fd6500bcdc35fea83.webp 400w,
/media/raspi-photoframe/8ffcb7bfb32b5079533396b7542ed9a1_hu8982ae701f5d02b9ab9d1e54062b4b24_153362_5221b7fcaf02876b6223f09d17408d34.webp 760w,
/media/raspi-photoframe/8ffcb7bfb32b5079533396b7542ed9a1_hu8982ae701f5d02b9ab9d1e54062b4b24_153362_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/raspi-photoframe/8ffcb7bfb32b5079533396b7542ed9a1_hu8982ae701f5d02b9ab9d1e54062b4b24_153362_fa36f9d2badcc15fd6500bcdc35fea83.webp"
width="760"
height="504"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Raspberry Pi Imager でOSを書き込む
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>32bit・64bitどちらでも問題なく動作します。&lt;/p>
&lt;h3 id="fbi-のインストール">fbi のインストール&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">sudo apt-get -y install fbi
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="パーミッションの付与">パーミッションの付与&lt;/h4>
&lt;p>デフォルトではスーパーユーザー以外は fbi で画像を表示できません。&lt;code>pi&lt;/code> ユーザーを &lt;code>video&lt;/code> グループに追加します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">pi@raspi3-photo:~ $ ls -Fla /dev/fb0
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">crw-rw---- &lt;span class="m">1&lt;/span> root video 29, &lt;span class="m">0&lt;/span> Apr &lt;span class="m">7&lt;/span> 10:33 /dev/fb0
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">sudo usermod -aG video pi
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="rclone-のインストール">rclone のインストール&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">curl https://rclone.org/install.sh &lt;span class="p">|&lt;/span> sudo bash
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>インストール後、&lt;code>rclone config&lt;/code> でGoogle Driveとの認証設定を行います。&lt;/p>
&lt;div class="alert alert-note">
&lt;div>
SSH接続のみのヘッドレス環境では、&lt;code>rclone config&lt;/code> 実行中にブラウザ認証用のURLが表示されます。そのURLをPC側のブラウザで開いてGoogleアカウントを認証してください。
&lt;/div>
&lt;/div>
&lt;h2 id="スライドショープログラムの実装">スライドショープログラムの実装&lt;/h2>
&lt;h3 id="アルゴリズム">アルゴリズム&lt;/h3>
&lt;p>以下の流れで動作します。&lt;/p>
&lt;ol>
&lt;li>&lt;code>rclone ls&lt;/code> でクラウドストレージ上の指定フォルダの画像一覧を取得&lt;/li>
&lt;li>一定数取得できた時点でランダムに画像のダウンロードを開始&lt;/li>
&lt;li>ダウンロードできた画像から順に &lt;code>fbi&lt;/code> で表示&lt;/li>
&lt;li>バックグラウンドで次の画像を取得し続ける&lt;/li>
&lt;li>指定時間が来たらランダムに次の画像へ切り替え&lt;/li>
&lt;li>重み付きランダム選択で、表示済み画像の優先度を下げ偏りを防ぐ&lt;/li>
&lt;li>週1回 &lt;code>rclone ls&lt;/code> でデータベースをマージして新着写真を反映&lt;/li>
&lt;li>データベースはファイルではなくメモリ上に保持（マージ速度改善）&lt;/li>
&lt;/ol>
&lt;h3 id="言語python">言語：Python&lt;/h3>
&lt;p>スライドショー制御スクリプトはPythonで実装しました。オブジェクト指向で設計し直した改良版では、起動から最初の画像表示までの時間を&lt;strong>旧バージョン比1700%高速化&lt;/strong>しています。&lt;/p>
&lt;p>Pythonの学習には &lt;a href="https://www.udemy.com/course/python-beginner/" target="_blank" rel="noopener">現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用（Udemy）&lt;/a> が参考になりました。&lt;/p>
&lt;h2 id="ソースコード">ソースコード&lt;/h2>
&lt;p>作成したプログラムはGitHubで公開しています。&lt;/p>
&lt;p>&lt;a href="https://github.com/yukishita/photoView4" target="_blank" rel="noopener">GitHub - yukishita/photoView4：クラウド対応スライドショープログラム&lt;/a>&lt;/p>
&lt;h2 id="使い方">使い方&lt;/h2>
&lt;p>crontab に以下を追加して、起動時に自動実行します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">@reboot /home/pi/photoView4/photoView4.sh
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="デモンストレーション">デモンストレーション&lt;/h2>
&lt;p>改良版（v4）のデモ動画です。旧バージョンと比べて起動から表示までの時間が大幅に短縮されています。&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/VP7y_E34EJA?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
>&lt;/iframe>
&lt;/div>
&lt;h3 id="旧バージョン参考">旧バージョン（参考）&lt;/h3>
&lt;p>ファイルリストをすべて取得してから動作するため起動が遅い版です。&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/-dxP_aHSjIU?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
>&lt;/iframe>
&lt;/div>
&lt;h2 id="tips指定時刻にディスプレイの電源を切る">Tips：指定時刻にディスプレイの電源を切る&lt;/h2>
&lt;p>24時間表示し続けると電気代がかさむため、HDMI接続時は &lt;code>vcgencmd&lt;/code> で電源スケジュールを設定できます。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">&lt;span class="m">0&lt;/span> &lt;span class="m">0&lt;/span> * * * /usr/bin/vcgencmd display_power &lt;span class="m">0&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="m">30&lt;/span> &lt;span class="m">6&lt;/span> * * * /usr/bin/vcgencmd display_power &lt;span class="m">1&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>上記の例では午前0時にOFF・午前6時30分にONとなります。人感センサーや照度センサーと組み合わせてさらに自動化することも可能です。&lt;/p>
&lt;h2 id="まとめ">まとめ&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>構成要素&lt;/th>
&lt;th>役割&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Raspberry Pi 4&lt;/td>
&lt;td>メインコンピューター（低消費電力・常時稼働）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>モバイルモニター&lt;/td>
&lt;td>FullHD・IPS・高視野角で写真を高品質表示&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fbi&lt;/td>
&lt;td>CLIからフレームバッファに直接画像を表示&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>rclone&lt;/td>
&lt;td>Google Driveから写真を自動ダウンロード&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Python&lt;/td>
&lt;td>スライドショー制御・重み付きランダム選択&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Raspberry Pi 4を使いましたが、Raspberry Pi Zero 2 Wでも同様の構成で動作可能です。常時通電する用途なので、消費電力の小さい機種を選ぶとランニングコストを抑えられます。&lt;/p></description></item><item><title>Raspberry Pi 3 + 公式7インチタッチスクリーンで照度センサー対応フォトフレームを自作する【BH1750FVI + I2C + Python】</title><link>https://yre.jp/post/raspi-photoframe-with-sensor/</link><pubDate>Tue, 19 Jul 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/raspi-photoframe-with-sensor/</guid><description>&lt;p>以前 Raspberry Pi 4 でクラウド対応フォトフレームを作りましたが、今回は余っていた Raspberry Pi 3 と公式7インチタッチスクリーンで別バージョンを構築しました。さらに照度センサーを追加して、部屋の明るさに応じてディスプレイ輝度が自動調整される機能を実装しています。&lt;/p>
&lt;h2 id="用意するもの">用意するもの&lt;/h2>
&lt;h3 id="raspberry-pi-3">Raspberry Pi 3&lt;/h3>
&lt;a href="https://amzn.to/41YIaTH" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/71wjyr2fsJL._AC_SL1200_.jpg" alt="Raspberry Pi 3 Model B シングルボードコンピュータ">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">Raspberry Pi 3 Model B シングルボードコンピュータ&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h3 id="raspberry-pi-公式7インチタッチスクリーン">Raspberry Pi 公式7インチタッチスクリーン&lt;/h3>
&lt;p>800×480px・24ビットRGBカラー・60fps対応。最大10点のマルチタッチに対応しています。&lt;/p>
&lt;a href="https://amzn.to/3OGtllv" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/6188oB1j-OL._AC_SL1024_.jpg" alt="Raspberry Pi 公式 7インチ タッチスクリーン LCD">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">Raspberry Pi 公式 7インチ タッチスクリーン LCD&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h3 id="公式タッチスクリーン用ケース">公式タッチスクリーン用ケース&lt;/h3>
&lt;p>Raspberry Pi 3 Model B と7インチディスプレイを一体で収納できるケースです。&lt;/p>
&lt;a href="https://amzn.to/3Q6iH89" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/41PUW&amp;#43;GgD0L._AC_.jpg" alt="Raspberry Pi &amp;amp; 7インチ LCDタッチスクリーン 拡張ボードケース ABS樹脂（黒）">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">Raspberry Pi &amp;amp; 7インチ LCDタッチスクリーン 拡張ボードケース ABS樹脂（黒）&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h2 id="ディスプレイの接続">ディスプレイの接続&lt;/h2>
&lt;p>&lt;a href="https://www.raspberrypi.com/documentation/accessories/display.html" target="_blank" rel="noopener">Raspberry Pi Touch Display 公式ドキュメント&lt;/a> を参考にリボンケーブルと電源を接続します。&lt;/p>
&lt;div class="alert alert-note">
&lt;div>
Raspberry Pi を背面ディスプレイに取り付ける場合、リボンケーブルの向きに注意してください。電源ケーブル（赤/黒）は、赤を5Vピン・黒をGNDピンに接続します。
&lt;/div>
&lt;/div>
&lt;h2 id="公式ディスプレイの画面回転設定">公式ディスプレイの画面回転設定&lt;/h2>
&lt;p>デフォルト状態では表示が180度回転しているため、設定ファイルで反転します。&lt;/p>
&lt;div class="alert alert-note">
&lt;div>
&lt;p>以下の &lt;code>lcd_rotate=2&lt;/code> は &lt;strong>Raspberry Pi OS Bullseye 以前（レガシー/FKMSモード）向け&lt;/strong>の設定です。Bookworm（2023年以降）では &lt;code>lcd_rotate&lt;/code> は公式には非推奨で、画面回転には「Screen Configuration」GUIツールの使用が案内されています。&lt;/p>
&lt;p>また、config.txt のパスも OS バージョンによって異なります。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Bullseye 以前&lt;/strong>：&lt;code>/boot/config.txt&lt;/code>&lt;/li>
&lt;li>&lt;strong>Bookworm 以降&lt;/strong>：&lt;code>/boot/firmware/config.txt&lt;/code>&lt;/li>
&lt;/ul>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Bullseye 以前（レガシー/FKMSモード）の場合：&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">sudo vi /boot/config.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>以下を追記します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">lcd_rotate=2
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="スライドショー用プログラム">スライドショー用プログラム&lt;/h2>
&lt;p>スライドショー制御には、別記事で紹介している自作Pythonスクリプト（&lt;a href="https://github.com/yukishita/photoView4" target="_blank" rel="noopener">photoView4&lt;/a>）を流用しています。&lt;/p>
&lt;h2 id="ディスプレイの輝度調整">ディスプレイの輝度調整&lt;/h2>
&lt;p>フォトフレームとして常時表示していると、夜間など暗い環境では画面が眩しく感じます。公式7インチディスプレイは、以下のコマンドでバックライト輝度を変更できます。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;100&amp;#34;&lt;/span> &lt;span class="p">|&lt;/span> sudo tee /sys/class/backlight/rpi_backlight/brightness
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>/sys/class/backlight/rpi_backlight/brightness&lt;/code> に0〜255の値を書き込むことで輝度を制御できます。&lt;/p>
&lt;h2 id="照度センサーbh1750fviの追加">照度センサー（BH1750FVI）の追加&lt;/h2>
&lt;p>輝度を手動設定するだけでなく、部屋の明るさに応じて自動で輝度を変えたいと考え、照度センサーを追加しました。&lt;/p>
&lt;h3 id="使用パーツ">使用パーツ&lt;/h3>
&lt;a href="https://amzn.to/4cwypRc" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/615BETFGkDL._AC_SY450_.jpg" alt="BH1750FVI 周囲光トランスデューサ I2C 出力 エレクトロニクス向けの連続および単一測定アプローチ 環境光観測コンポーネント">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">BH1750FVI 周囲光トランスデューサ I2C 出力 エレクトロニクス向けの連続および単一測定アプローチ 環境光観測コンポーネント&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;a href="https://amzn.to/4cfGrPF" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/81yjq1pkiGL._SL1500_.jpg" alt="ELEGOO 120本 デュポンワイヤー ジャンパーワイヤー オス-メス/オス-オス/メス-メス セット">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">ELEGOO 120本 デュポンワイヤー ジャンパーワイヤー オス-メス/オス-オス/メス-メス セット&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h2 id="raspberry-pi-と-i2c-接続">Raspberry Pi と I2C 接続&lt;/h2>
&lt;p>BH1750FVI は I2C プロトコルで通信します。&lt;a href="https://www.raspberrypi.com/documentation/computers/os.html#gpio-and-the-40-pin-header" target="_blank" rel="noopener">Raspberry Pi GPIO ピン配置&lt;/a> を参照して接続します。&lt;/p>
&lt;p>
&lt;figure id="figure-raspberry-pi-gpioピン配置図出典raspberry-pi公式ドキュメント">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Raspberry Piの40ピンGPIOヘッダーのピン配置図。SDA（GPIO2, Pin3）とSCL（GPIO3, Pin5）のI2Cピン位置を示している" srcset="
/media/raspi-photoframe-with-sensor/GPIO-Pinout-Diagram-2_hua49859c3abb8d59effc7f48992911ff2_206936_43d9d80c817fbd45d29cc36e3b5ca73e.webp 400w,
/media/raspi-photoframe-with-sensor/GPIO-Pinout-Diagram-2_hua49859c3abb8d59effc7f48992911ff2_206936_d6d457c064379b94134319d1e0002c6f.webp 760w,
/media/raspi-photoframe-with-sensor/GPIO-Pinout-Diagram-2_hua49859c3abb8d59effc7f48992911ff2_206936_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/raspi-photoframe-with-sensor/GPIO-Pinout-Diagram-2_hua49859c3abb8d59effc7f48992911ff2_206936_43d9d80c817fbd45d29cc36e3b5ca73e.webp"
width="760"
height="436"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Raspberry Pi GPIOピン配置図（出典：Raspberry Pi公式ドキュメント）
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h3 id="接続対応表">接続対応表&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Raspberry Pi&lt;/th>
&lt;th>GPIOピン番号&lt;/th>
&lt;th>BH1750FVI&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>GPIO2 (SDA)&lt;/td>
&lt;td>3&lt;/td>
&lt;td>SDA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GPIO3 (SCL)&lt;/td>
&lt;td>5&lt;/td>
&lt;td>SCL&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>5V Power&lt;/td>
&lt;td>2&lt;/td>
&lt;td>VCC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ground&lt;/td>
&lt;td>14&lt;/td>
&lt;td>ADO&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ground&lt;/td>
&lt;td>20&lt;/td>
&lt;td>GND&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>
&lt;figure id="figure-bh1750fvi-をi2cで接続した配線の様子">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="GY-30 BH1750FVI照度センサーをRaspberry Pi 3にジャンパーワイヤーでI2C接続した実際の配線写真" srcset="
/media/raspi-photoframe-with-sensor/ILCE-7M4-_DSC1410_hu98206837892c374cd2028613e5b10c88_691631_c96c52f9123cb52726bbc85d7347db81.webp 400w,
/media/raspi-photoframe-with-sensor/ILCE-7M4-_DSC1410_hu98206837892c374cd2028613e5b10c88_691631_7b5ac30237dcef389547e52e6e3b9297.webp 760w,
/media/raspi-photoframe-with-sensor/ILCE-7M4-_DSC1410_hu98206837892c374cd2028613e5b10c88_691631_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/raspi-photoframe-with-sensor/ILCE-7M4-_DSC1410_hu98206837892c374cd2028613e5b10c88_691631_c96c52f9123cb52726bbc85d7347db81.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
BH1750FVI をI2Cで接続した配線の様子
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="照度センサーの動作確認python">照度センサーの動作確認（Python）&lt;/h2>
&lt;p>接続後、Python で照度データを取得できるか確認します。&lt;a href="https://github.com/kujiraitakahiro/RaspberryPi/blob/master/bh1750fvi.py" target="_blank" rel="noopener">参考コード（GitHub）&lt;/a> を参考に実装しました。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="ch">#!/usr/bin/python3&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">smbus&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Bus&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">smbus&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">SMBus&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">Addr&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mh">0x23&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">LxRead&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Bus&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">read_i2c_block_data&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">Addr&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mh">0x11&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;照度: &amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="nb">str&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">LxRead&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">10&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="s2">&amp;#34; ルクス&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">LxRead2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Bus&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">read_i2c_block_data&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">Addr&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mh">0x10&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;輝度: &amp;#34;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="nb">str&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="n">LxRead2&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">256&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">LxRead2&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mf">1.2&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>実行すると照度が取得できます。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">root@raspi3-photo:~# python br.py
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">照度: 1650 ルクス
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">輝度: 990.8333333333334
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="輝度自動調整プログラムの実装">輝度自動調整プログラムの実装&lt;/h2>
&lt;p>取得した照度に応じてバックライト輝度を滑らかに変化させるため、10ms周期で動作するPythonプログラムを作成しました。&lt;/p>
&lt;p>仕組みは以下のとおりです：&lt;/p>
&lt;ul>
&lt;li>照度レベルごとにターゲット輝度を定義&lt;/li>
&lt;li>取得した照度に応じてディスプレイ輝度を1ステップずつインクリメント/デクリメント&lt;/li>
&lt;li>SMBus（I2C）通信は取得間隔を300ms以上空けないと正常な値が取れないため、300ms周期でポーリング&lt;/li>
&lt;/ul>
&lt;h2 id="照度センサーの設置">照度センサーの設置&lt;/h2>
&lt;p>センサーは前面から光が当たる背面の出っぱった部分に設置しました。&lt;/p>
&lt;p>
&lt;figure id="figure-照度センサーをケース背面に設置した様子">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="GY-30 BH1750FVI照度センサーをRaspberry Pi 3公式タッチスクリーンケースの背面出っぱりに設置した実際の写真" srcset="
/media/raspi-photoframe-with-sensor/ILCE-7M4-_DSC1407_hu98206837892c374cd2028613e5b10c88_594389_c8e1166602273b79f64bef721cf2db83.webp 400w,
/media/raspi-photoframe-with-sensor/ILCE-7M4-_DSC1407_hu98206837892c374cd2028613e5b10c88_594389_62c0ff78d1802062e2b677dae092cc5d.webp 760w,
/media/raspi-photoframe-with-sensor/ILCE-7M4-_DSC1407_hu98206837892c374cd2028613e5b10c88_594389_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/raspi-photoframe-with-sensor/ILCE-7M4-_DSC1407_hu98206837892c374cd2028613e5b10c88_594389_c8e1166602273b79f64bef721cf2db83.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
照度センサーをケース背面に設置した様子
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="ソースコード">ソースコード&lt;/h2>
&lt;p>作成したプログラムはGitHubで公開しています。&lt;/p>
&lt;p>&lt;a href="https://github.com/yukishita/lcdBrightness2" target="_blank" rel="noopener">GitHub - yukishita/lcdBrightness2：BH1750FVI 照度センサーで Raspberry Pi 公式ディスプレイ輝度を自動調整するプログラム&lt;/a>&lt;/p>
&lt;h2 id="デモ動画">デモ動画&lt;/h2>
&lt;p>照度に応じてディスプレイ輝度が滑らかに変化する様子です。&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/R6XGl3KGRYA?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"
>&lt;/iframe>
&lt;/div>
&lt;h2 id="まとめ">まとめ&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>構成要素&lt;/th>
&lt;th>役割&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Raspberry Pi 3&lt;/td>
&lt;td>メインコンピューター&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>公式7インチタッチスクリーン&lt;/td>
&lt;td>フォトフレーム表示（800×480px）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GY-30 BH1750FVI&lt;/td>
&lt;td>I2C接続の照度センサー&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Python（smbus）&lt;/td>
&lt;td>I2C通信・輝度自動調整制御&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>照度センサーを追加することで、昼は明るく・夜は暗くと自動で輝度が変わり、実用的なフォトフレームになりました。Raspberry Pi Zero 2 W でも同様の構成で動作すると思われます。&lt;/p></description></item><item><title>Anker Soundcore mini レビュー｜低価格Bluetoothスピーカーの実力と欠点を正直に報告</title><link>https://yre.jp/post/anker_soundcore_mini/</link><pubDate>Thu, 14 Jul 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/anker_soundcore_mini/</guid><description>&lt;p>モバイルバッテリーで有名なAnkerのコンパクトBluetoothスピーカー「Soundcore mini」を購入しました。2,000円台（購入時価格、現在の価格はAmazonでご確認ください）という価格でBluetooth・バッテリー内蔵・FMラジオまで対応しており、コスパが気になって試してみました。&lt;/p>
&lt;a href="https://amzn.to/3QqsxSb" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/51SUFPZvf9L._AC_SL1500_.jpg" alt="Anker Soundcore mini （コンパクト Bluetoothスピーカー） 【15時間連続再生 / 内蔵マイク搭載/microSDカード &amp;amp; FMラジオ対応】(ブラック)">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">Anker Soundcore mini （コンパクト Bluetoothスピーカー） 【15時間連続再生 / 内蔵マイク搭載/microSDカード &amp;amp; FMラジオ対応】(ブラック)&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h2 id="対応機能一覧">対応機能一覧&lt;/h2>
&lt;p>Soundcore mini は以下の機能を搭載しています。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>機能&lt;/th>
&lt;th>詳細&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Bluetooth音楽再生（A2DP）&lt;/td>
&lt;td>ステレオ音楽のワイヤレス再生&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>ハンズフリー通話（HFP）&lt;/td>
&lt;td>内蔵マイク搭載・通話対応&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>AUX入力&lt;/td>
&lt;td>ステレオミニプラグ（3.5mm）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FMラジオ&lt;/td>
&lt;td>付属のmicroUSBケーブルがアンテナとして機能&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>microSD再生&lt;/td>
&lt;td>最大32GB・MP3形式対応&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>バッテリー&lt;/td>
&lt;td>15時間連続再生&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>これらの入力ソースはFunctionボタン（Mボタン）で切り替えます。&lt;/p>
&lt;p>
&lt;figure id="figure-functionボタンの操作方法出典soundcore-mini-取扱説明書">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Anker Soundcore mini の取扱説明書に記載されたボタン操作図。FunctionボタンでBluetooth・AUX・FMラジオ・SDカードを切り替える方法が図示されている" srcset="
/media/anker_soundcore_mini/c4a573bfb0e8915e49928e47dbf879ca_hu09c0faa22341ec67c99038a4e52e4a10_109106_e55660ff949c401387da09045769175e.webp 400w,
/media/anker_soundcore_mini/c4a573bfb0e8915e49928e47dbf879ca_hu09c0faa22341ec67c99038a4e52e4a10_109106_4c2857806cf7925c39f5a62d620a1be4.webp 760w,
/media/anker_soundcore_mini/c4a573bfb0e8915e49928e47dbf879ca_hu09c0faa22341ec67c99038a4e52e4a10_109106_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/anker_soundcore_mini/c4a573bfb0e8915e49928e47dbf879ca_hu09c0faa22341ec67c99038a4e52e4a10_109106_e55660ff949c401387da09045769175e.webp"
width="760"
height="446"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Functionボタンの操作方法（出典：Soundcore mini 取扱説明書）
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>FMラジオやSDカードからの再生もできますが、画面表示がないためどのソースが選択されているか分かりにくく、実際はBluetooth経由でスマートフォンから操作するのがメインの使い方になります。なお、Bluetoothのマルチポイント接続（2台同時接続）には非対応です。&lt;/p>
&lt;h2 id="バッテリー性能">バッテリー性能&lt;/h2>
&lt;p>内蔵バッテリーで最長15時間の連続再生が可能です。充電時間は2〜3時間。コンセントがない場所でも終日使えるため、アウトドアや出張先での使用にも向いています。&lt;/p>
&lt;h2 id="質感外観">質感・外観&lt;/h2>
&lt;p>
&lt;figure id="figure-スチール製ボディはこの価格帯では珍しく剛性が高い">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Anker Soundcore miniの本体外観。つや消しスチール製の黒い円筒形ボディで質感が高く見える" srcset="
/media/anker_soundcore_mini/DSC03390_hu2e72e2af34297812f7add2793caeb202_137237_b86b2c69c596d7441e057b51533cca42.webp 400w,
/media/anker_soundcore_mini/DSC03390_hu2e72e2af34297812f7add2793caeb202_137237_824fc42d39efd2b06eb1b0fdbade690c.webp 760w,
/media/anker_soundcore_mini/DSC03390_hu2e72e2af34297812f7add2793caeb202_137237_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/anker_soundcore_mini/DSC03390_hu2e72e2af34297812f7add2793caeb202_137237_b86b2c69c596d7441e057b51533cca42.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
スチール製ボディはこの価格帯では珍しく剛性が高い
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>ボディはスチール製のつや消し仕上げで、2,000円台とは思えない質感です。エンクロージャーが共振しにくい素材なので、音質面でも有利に働いています。&lt;/p>
&lt;h2 id="音質">音質&lt;/h2>
&lt;p>サイズの割によく&lt;strong>健闘&lt;/strong>しています。音声はクリアに再生でき、低音もこのサイズにしては十分出ています。壁際に置いて壁と共振させると音が豊かになります。デスク上や小さな個室での使用に向いている音の広がり方です。&lt;/p>
&lt;h2 id="携帯性アウトドアでの使い勝手">携帯性・アウトドアでの使い勝手&lt;/h2>
&lt;p>コンパクトなのでカバンに入れて持ち運べます。Bluetoothが非搭載の車でカーオーディオ代わりに使うのも便利です。&lt;/p>
&lt;p>
&lt;figure id="figure-代車のスズキ-アルトのカップホルダーにぴったり収まった">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="スズキ アルトの車内カップホルダーにAnker Soundcore miniを置いた様子。ホルダーにちょうど収まっている" srcset="
/media/anker_soundcore_mini/IMG_8577_2_hu77252d9144fac7f7b37ff0e6f427d0ec_386396_174bb0ac8ac267ff24723d1a30b8e288.webp 400w,
/media/anker_soundcore_mini/IMG_8577_2_hu77252d9144fac7f7b37ff0e6f427d0ec_386396_60882744a4a1de627c2017cdc8d96213.webp 760w,
/media/anker_soundcore_mini/IMG_8577_2_hu77252d9144fac7f7b37ff0e6f427d0ec_386396_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/anker_soundcore_mini/IMG_8577_2_hu77252d9144fac7f7b37ff0e6f427d0ec_386396_174bb0ac8ac267ff24723d1a30b8e288.webp"
width="760"
height="570"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
代車のスズキ アルトのカップホルダーにぴったり収まった
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="注意点apple製品との接続で音量がリセットされる問題">注意点：Apple製品との接続で音量がリセットされる問題&lt;/h2>
&lt;p>一点だけ気になる挙動があります。&lt;strong>電源をOFF→ONにするたびに音量が最大近くにリセットされる&lt;/strong>ことです。&lt;/p>
&lt;p>iPhoneやMacBookと組み合わせて使っているときに顕著で、夜間など静かな環境で急に大きな音が出て焦ることがあります。使用前に音量を毎回調整する習慣が必要です。Androidとの組み合わせでは挙動が異なる可能性がありますが、Apple製品メインの方は注意してください。&lt;/p>
&lt;h2 id="まとめこんな人におすすめ">まとめ：こんな人におすすめ&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>項目&lt;/th>
&lt;th>評価&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>コスパ&lt;/td>
&lt;td>◎ この価格でBT・バッテリー・FMラジオ対応&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>音質&lt;/td>
&lt;td>○ サイズの割に健闘。低音もそこそこ&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>携帯性&lt;/td>
&lt;td>◎ 小型・軽量でどこにでも持ち運べる&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>質感&lt;/td>
&lt;td>○ スチール製で安っぽさがない&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Apple製品との相性&lt;/td>
&lt;td>△ 音量リセット問題あり&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>こんな人に向いています：&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>安くてコンパクトなBluetoothスピーカーが欲しい&lt;/li>
&lt;li>デスク・キッチン・アウトドアなど用途を問わず使いたい&lt;/li>
&lt;li>音量問題が気にならない、またはAndroid中心で使う&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>こんな人には向いていないかもしれません：&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>iPhoneやMacと組み合わせて夜間・静音環境でよく使う&lt;/li>
&lt;li>2台同時接続（マルチポイント）が必要&lt;/li>
&lt;/ul></description></item><item><title>EPSON GT-X830でフィルムネガをデジタル化した実践レビュー【dpi別スキャン比較・Digital ICE効果あり】</title><link>https://yre.jp/post/epson_gt-x830/</link><pubDate>Thu, 14 Jul 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/epson_gt-x830/</guid><description>&lt;p>実家を整理していたら、大量の古い写真とネガフィルムが出てきました。
思い出が詰まっているので捨てられるわけもなく、途方に暮れていました。
ネガフィルムは放置していると劣化が進む一方とのことで、一念発起してデータ化に取り組みました。&lt;/p>
&lt;h2 id="フィルムのデータ化どんな手段がある">フィルムのデータ化：どんな手段がある？&lt;/h2>
&lt;p>古い写真をデジタル化する方法を調べると、大きく「自分でスキャンする」か「業者に委託する」かに分かれます。フィルム市場は年々縮小しており、選択肢は今後さらに減っていく可能性があります。ご自宅に古い写真やフィルムがある方は、早めに行動しておくのがおすすめです。&lt;/p>
&lt;h3 id="自分でスキャンする">自分でスキャンする&lt;/h3>
&lt;h4 id="専用フィルムスキャナー">専用フィルムスキャナー&lt;/h4>
&lt;ul>
&lt;li>ケンコー：KFS-1490 / KFS-14CB / KFS-1450&lt;/li>
&lt;li>plustek：OpticFilm 8200i Ai / OpticFilm 8100&lt;/li>
&lt;li>サンワサプライ：400-SCN006 / 400-SCN024 / 400-SCN034 / 400-SCN055 / 400-SCN041&lt;/li>
&lt;/ul>
&lt;h4 id="フラットベッド型スキャナー">フラットベッド型スキャナー&lt;/h4>
&lt;ul>
&lt;li>CANON：CanoScan 9000F MarkII&lt;/li>
&lt;li>EPSON：GT-X980 / GT-X830 / GT-F740&lt;/li>
&lt;li>Nikon：フィルムデジタイズアダプター ES-2（対応ボディ・レンズが必要）&lt;/li>
&lt;/ul>
&lt;h3 id="業者に委託する">業者に委託する&lt;/h3>
&lt;p>プロに任せるため仕上がりは安定していますが、コストが高めです。量が多い場合や時間がない方向けです。&lt;/p>
&lt;ul>
&lt;li>カメラのキタムラ&lt;/li>
&lt;li>節目写真館&lt;/li>
&lt;li>富士フイルム スキャンサービス&lt;/li>
&lt;/ul>
&lt;h2 id="結局どれを選んだかepson-gt-x830">結局どれを選んだか：EPSON GT-X830&lt;/h2>
&lt;p>大量のフィルムがあったため、以下の基準で選びました。&lt;/p>
&lt;ul>
&lt;li>できるだけ省力でデータ化できる（12コマ連続スキャン対応）&lt;/li>
&lt;li>高画質で取り込める（最大6400dpi）&lt;/li>
&lt;li>プリント写真も取り込める（フラットベッド型）&lt;/li>
&lt;li>価格は控えめ&lt;/li>
&lt;/ul>
&lt;p>CANONはスキャナーへの注力を縮小しているようで在庫限りとのことでした。ドライバーの長期サポートを考慮し、&lt;strong>EPSONのフラットベッドスキャナー GT-X830&lt;/strong> を選択しました。&lt;/p>
&lt;p>
&lt;figure id="figure-epson-gt-x830出典epson公式サイト">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="EPSON GT-X830フラットベッドスキャナー本体の製品イメージ写真" srcset="
/media/gt-x830/ph_visual_hu535cc54a957878a82ddae0e843a23ad3_19471_923c8843a2f4d8b581a62d3bdfcf6a80.webp 400w,
/media/gt-x830/ph_visual_hu535cc54a957878a82ddae0e843a23ad3_19471_6569c2316c103547ed9613796c1a2f73.webp 760w,
/media/gt-x830/ph_visual_hu535cc54a957878a82ddae0e843a23ad3_19471_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/ph_visual_hu535cc54a957878a82ddae0e843a23ad3_19471_923c8843a2f4d8b581a62d3bdfcf6a80.webp"
width="363"
height="290"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
EPSON GT-X830（出典：EPSON公式サイト）
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>出典：&lt;a href="https://www.epson.jp/products/scanner/gtx830/" target="_blank" rel="noopener">EPSON GT-X830商品ページ&lt;/a>&lt;/p>
&lt;a href="https://amzn.to/4tTdBdS" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/51fdiUO0QdL._AC_SL1068_.jpg" alt="エプソン スキャナー GT-X830 (フラットベッド/A4/6400dpi)">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">エプソン スキャナー GT-X830 (フラットベッド/A4/6400dpi)&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;h2 id="外観レビュー">外観レビュー&lt;/h2>
&lt;p>
&lt;figure id="figure-存在感たっぷりの筐体大きくて場所をとります">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="EPSON GT-X830の本体外観。A4サイズのフラットベッド型で存在感のある白い筐体" srcset="
/media/gt-x830/DSC_4534_hu90b9493bc49fefc20db5201d986c320c_435662_44b9a39570a58c3d356fb7cc9e56af0e.webp 400w,
/media/gt-x830/DSC_4534_hu90b9493bc49fefc20db5201d986c320c_435662_23ff9716308d9a86315ad724eb1950ee.webp 760w,
/media/gt-x830/DSC_4534_hu90b9493bc49fefc20db5201d986c320c_435662_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/DSC_4534_hu90b9493bc49fefc20db5201d986c320c_435662_44b9a39570a58c3d356fb7cc9e56af0e.webp"
width="760"
height="504"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
存在感たっぷりの筐体。大きくて場所をとります
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>大きくて場所をとります。フラットベッド型スキャナーなので分かっていたことですが、設置場所は確保が必要です。&lt;/p>
&lt;p>
&lt;figure id="figure-ケーブル接続はusbと電源の2本のみでシンプル">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="EPSON GT-X830の背面。USBケーブルと電源ケーブルの差込口が見える" srcset="
/media/gt-x830/DSC_4533_hu950b872e9d8e34907adf8866a8571493_353294_cd9783edf36af41b870526456210cbe2.webp 400w,
/media/gt-x830/DSC_4533_hu950b872e9d8e34907adf8866a8571493_353294_0efdb50c5601f655ea25d11ecb7d5338.webp 760w,
/media/gt-x830/DSC_4533_hu950b872e9d8e34907adf8866a8571493_353294_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/DSC_4533_hu950b872e9d8e34907adf8866a8571493_353294_cd9783edf36af41b870526456210cbe2.webp"
width="760"
height="504"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
ケーブル接続はUSBと電源の2本のみでシンプル
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>接続はUSBケーブルと電源ケーブルの2本だけ。セットアップは簡単です。&lt;/p>
&lt;p>
&lt;figure id="figure-側面の電源ボタンは押した感がなく少し使いにくい">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="EPSON GT-X830の側面にある電源ボタン部分のアップ" srcset="
/media/gt-x830/DSC_4530_hu96c6739b8a515401c86667a9c86adecb_172791_8f27a6cdca6793c895f9027436a8191c.webp 400w,
/media/gt-x830/DSC_4530_hu96c6739b8a515401c86667a9c86adecb_172791_3dbc20c6666637b89c25cc1373d0bacf.webp 760w,
/media/gt-x830/DSC_4530_hu96c6739b8a515401c86667a9c86adecb_172791_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/DSC_4530_hu96c6739b8a515401c86667a9c86adecb_172791_8f27a6cdca6793c895f9027436a8191c.webp"
width="760"
height="504"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
側面の電源ボタンは押した感がなく少し使いにくい
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>電源ボタンは側面にあります。「押した感」が薄く、電源が入ったかどうかを正面のLEDで確認する必要があります。ちょっと触れただけで電源OFFになることもあり、やや不便な点です。&lt;/p>
&lt;p>
&lt;figure id="figure-正面にはショートカットボタンが配置されている今回は未使用">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="EPSON GT-X830の正面パネル。スキャン開始などのショートカットボタンが並ぶ" srcset="
/media/gt-x830/DSC_4529_hu4e61203afbb3b064e285eff911576c6c_381226_a37d34b21d523ff62669306aa93ae9e3.webp 400w,
/media/gt-x830/DSC_4529_hu4e61203afbb3b064e285eff911576c6c_381226_90def48521c7249cb69ded19cef74b4a.webp 760w,
/media/gt-x830/DSC_4529_hu4e61203afbb3b064e285eff911576c6c_381226_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/DSC_4529_hu4e61203afbb3b064e285eff911576c6c_381226_a37d34b21d523ff62669306aa93ae9e3.webp"
width="760"
height="504"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
正面にはショートカットボタンが配置されている（今回は未使用）
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="フィルムのスキャン方法">フィルムのスキャン方法&lt;/h2>
&lt;p>専用ホルダーにフィルムをセットして原稿台に乗せるだけです。表裏を間違えないよう注意します。&lt;/p>
&lt;p>
&lt;figure id="figure-専用ホルダーにフィルムをセットする">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="フィルムネガを専用ホルダーにセットしている様子。コマを正しい向きで差し込む" srcset="
/media/gt-x830/DSC_4526_huf0592d68f84fb31889cbb1ea6035654b_325700_02e7fe5263730195f6665d88733eb43a.webp 400w,
/media/gt-x830/DSC_4526_huf0592d68f84fb31889cbb1ea6035654b_325700_53baa4155c04710c21059a4e2d122f65.webp 760w,
/media/gt-x830/DSC_4526_huf0592d68f84fb31889cbb1ea6035654b_325700_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/DSC_4526_huf0592d68f84fb31889cbb1ea6035654b_325700_02e7fe5263730195f6665d88733eb43a.webp"
width="760"
height="504"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
専用ホルダーにフィルムをセットする
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-原稿台に乗せるだけ位置合わせは大まかで問題なく読み取ってくれる">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="フィルムホルダーをEPSON GT-X830の原稿台にセットした状態" srcset="
/media/gt-x830/DSC_4522_hu06a0f3e18328c2ecba69d499bd9ec8a5_401443_83a52b58a259b1e440cbf9ddaa8ee2fb.webp 400w,
/media/gt-x830/DSC_4522_hu06a0f3e18328c2ecba69d499bd9ec8a5_401443_6a0b68a567da48b1f999211872e90eec.webp 760w,
/media/gt-x830/DSC_4522_hu06a0f3e18328c2ecba69d499bd9ec8a5_401443_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/DSC_4522_hu06a0f3e18328c2ecba69d499bd9ec8a5_401443_83a52b58a259b1e440cbf9ddaa8ee2fb.webp"
width="760"
height="504"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
原稿台に乗せるだけ。位置合わせは大まかで問題なく読み取ってくれる
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="スキャン速度の比較dpi別digital-ice-onoff">スキャン速度の比較（dpi別・Digital ICE ON/OFF）&lt;/h2>
&lt;p>
&lt;figure id="figure-スキャン中の様子解像度と補正の有無でスキャン時間が大きく変わる">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="EPSON GT-X830のスキャン中の様子。原稿台のランプが光りながらスキャンヘッドが移動している" srcset="
/media/gt-x830/DSC_4527_hu387703ebc7b25767e5c780a99608487c_385325_95106ab8bcdd98b327185bf0db58d359.webp 400w,
/media/gt-x830/DSC_4527_hu387703ebc7b25767e5c780a99608487c_385325_a6b18e3ba3398afe81f8d05c22f1f3fe.webp 760w,
/media/gt-x830/DSC_4527_hu387703ebc7b25767e5c780a99608487c_385325_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/DSC_4527_hu387703ebc7b25767e5c780a99608487c_385325_95106ab8bcdd98b327185bf0db58d359.webp"
width="760"
height="504"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
スキャン中の様子。解像度と補正の有無でスキャン時間が大きく変わる
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>スキャン時間はそれなりにかかりますが、12コマ連続スキャンに対応しているため、セットしたらその間は別の作業ができます。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>モード&lt;/th>
&lt;th>1コマのスキャン時間&lt;/th>
&lt;th>ファイルサイズ&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1200dpi&lt;/td>
&lt;td>0:35&lt;/td>
&lt;td>約300KB&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2400dpi&lt;/td>
&lt;td>0:50&lt;/td>
&lt;td>約1MB&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4800dpi&lt;/td>
&lt;td>2:15&lt;/td>
&lt;td>約3.5MB&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>1200dpi + Digital ICE&lt;/td>
&lt;td>1:54&lt;/td>
&lt;td>—&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2400dpi + Digital ICE&lt;/td>
&lt;td>3:07&lt;/td>
&lt;td>—&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4800dpi + Digital ICE&lt;/td>
&lt;td>3:40&lt;/td>
&lt;td>—&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Digital ICE Technology をONにするとスキャン時間が大幅に増加します。12コマを4800dpi + Digital ICE でスキャンすると、コマあたり3分40秒の計算で&lt;strong>純粋なスキャン時間だけで約44分&lt;/strong>、プレビュー生成やファイル保存を含めると1時間近くかかることもあります。&lt;/p>
&lt;p>手動でレタッチする手間を考えると、時間に余裕があればDigital ICEを使う価値は十分あります。&lt;/p>
&lt;p>（検証環境：MacBook Pro 15インチ 2017年モデル）&lt;/p>
&lt;h2 id="ソフトウェアepson-scan">ソフトウェア（EPSON Scan）&lt;/h2>
&lt;p>
&lt;figure id="figure-epson-scan-for-macoswindows版と同じ使い勝手">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="EPSON GT-X830付属スキャンソフト「EPSON Scan」のmacOS版インターフェース画面。フィルム設定でスキャンモードを選択している" srcset="
/media/gt-x830/65732ed19908e7b3fd356fd2f139d34c_hu073decea9da7f1cc370f30f83e93da14_1853633_3b2a9eb3c51448f4e1e52e781084e2f1.webp 400w,
/media/gt-x830/65732ed19908e7b3fd356fd2f139d34c_hu073decea9da7f1cc370f30f83e93da14_1853633_9eae95b56feddaac2149270e9482001f.webp 760w,
/media/gt-x830/65732ed19908e7b3fd356fd2f139d34c_hu073decea9da7f1cc370f30f83e93da14_1853633_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/gt-x830/65732ed19908e7b3fd356fd2f139d34c_hu073decea9da7f1cc370f30f83e93da14_1853633_3b2a9eb3c51448f4e1e52e781084e2f1.webp"
width="760"
height="647"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
EPSON Scan for macOS。Windows版と同じ使い勝手
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>付属のスキャンソフト「EPSON Scan」を使います。インターフェースは洗練されていませんが、機能的には必要十分です。Windows版・Mac版ともに同じ操作感で、フィルムスキャン時は原稿種を「フィルム」、フィルムタイプを「カラーネガフィルム」に設定します。&lt;/p>
&lt;h2 id="画質比較劣化度別スキャン結果">画質比較：劣化度別スキャン結果&lt;/h2>
&lt;p>フィルムの劣化度合いによって、スキャン結果がどのように変わるかをレポートします。&lt;/p>
&lt;h3 id="1970年代劣化が進んでいるフィルム">1970年代：劣化が進んでいるフィルム&lt;/h3>
&lt;p>色の退色が著しいフィルムです。Digital ICEによるホコリ除去の効果は出ていますが、ここまで退色が進んでいると色の復元は難しいです。&lt;/p>
&lt;p>
&lt;figure id="figure-1970年代フィルムdigital-ice-off-のスキャン結果">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1970年代フィルムをEPSON GT-X830で4800dpiスキャンした結果（Digital ICE OFF）。ホコリや傷が目立ち、色褪せが激しい" srcset="
/media/gt-x830/img751_hub119e3ccc9bb7fc5262a7696e6fd7cdb_220209_e32a1ef83429a5a093f8f5e98c4c0992.webp 400w,
/media/gt-x830/img751_hub119e3ccc9bb7fc5262a7696e6fd7cdb_220209_c6f22775aa1deb921b792a0dbbf9d78b.webp 760w,
/media/gt-x830/img751_hub119e3ccc9bb7fc5262a7696e6fd7cdb_220209_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/img751_hub119e3ccc9bb7fc5262a7696e6fd7cdb_220209_e32a1ef83429a5a093f8f5e98c4c0992.webp"
width="760"
height="475"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
1970年代フィルム・Digital ICE OFF のスキャン結果
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-4800dpi--digital-ice-off等倍切り出し">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1970年代フィルムの4800dpi &amp;#43; Digital ICE OFFスキャンを等倍で切り出したもの。粒状感とホコリが確認できる" srcset="
/media/gt-x830/4e4c8618e21548d137a5527b938d8d64_hub36a57a01874c4d88e16a8beabe3fe24_155838_717493121695fc79b8d624bedd20464b.webp 400w,
/media/gt-x830/4e4c8618e21548d137a5527b938d8d64_hub36a57a01874c4d88e16a8beabe3fe24_155838_da780db510a8f9dc0eba438ed41ad6e1.webp 760w,
/media/gt-x830/4e4c8618e21548d137a5527b938d8d64_hub36a57a01874c4d88e16a8beabe3fe24_155838_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/4e4c8618e21548d137a5527b938d8d64_hub36a57a01874c4d88e16a8beabe3fe24_155838_717493121695fc79b8d624bedd20464b.webp"
width="760"
height="653"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
4800dpi + Digital ICE OFF：等倍切り出し
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-1970年代フィルムdigital-ice-on-のスキャン結果">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1970年代フィルムをEPSON GT-X830で4800dpiスキャンした結果（Digital ICE ON）。ホコリが除去されて見やすくなっているが退色は残っている" srcset="
/media/gt-x830/img752_hud4142ef695c1f19cd8688ce1269c51be_252143_43fc04b386d2d8cb4dbbb533fcf19062.webp 400w,
/media/gt-x830/img752_hud4142ef695c1f19cd8688ce1269c51be_252143_77d074f7b24eb4efe0bb2c2cbb8ea263.webp 760w,
/media/gt-x830/img752_hud4142ef695c1f19cd8688ce1269c51be_252143_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/img752_hud4142ef695c1f19cd8688ce1269c51be_252143_43fc04b386d2d8cb4dbbb533fcf19062.webp"
width="760"
height="475"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
1970年代フィルム・Digital ICE ON のスキャン結果
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-4800dpi--退色復元--digital-ice-on等倍切り出し">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1970年代フィルムの4800dpi &amp;#43; Digital ICE ONスキャンを等倍切り出し。ホコリが除去され退色復元も適用されている" srcset="
/media/gt-x830/7d48bdcf02cd586fb30ca2e1983cf3c8_hu628c7f3b9cd3ff921c552f6d0bc5ca65_194868_e53f09b9a1b953183db8fd108d4b8bed.webp 400w,
/media/gt-x830/7d48bdcf02cd586fb30ca2e1983cf3c8_hu628c7f3b9cd3ff921c552f6d0bc5ca65_194868_2ea85f7e9e0778b73f8781b8ae0a59a1.webp 760w,
/media/gt-x830/7d48bdcf02cd586fb30ca2e1983cf3c8_hu628c7f3b9cd3ff921c552f6d0bc5ca65_194868_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/7d48bdcf02cd586fb30ca2e1983cf3c8_hu628c7f3b9cd3ff921c552f6d0bc5ca65_194868_e53f09b9a1b953183db8fd108d4b8bed.webp"
width="760"
height="731"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
4800dpi + 退色復元 + Digital ICE ON：等倍切り出し
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h3 id="1983年劣化しているフィルム">1983年：劣化しているフィルム&lt;/h3>
&lt;p>大きな傷はDigital ICEでは修復できませんが、全体的には良好な復元結果です。色も自動補正としては十分な仕上がりです。&lt;/p>
&lt;p>
&lt;figure id="figure-1983年フィルムdigital-ice-off-のスキャン結果">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1983年の劣化したフィルムをEPSON GT-X830で4800dpiスキャンした結果（Digital ICE OFF）。傷やホコリが目立つ" srcset="
/media/gt-x830/img753_hu3f26775d53bae9c93abf86b75d2d35bd_495820_0e1809d91338181fa3fc6dd96427a391.webp 400w,
/media/gt-x830/img753_hu3f26775d53bae9c93abf86b75d2d35bd_495820_08d5ad0393c5a6626752cdf83d288368.webp 760w,
/media/gt-x830/img753_hu3f26775d53bae9c93abf86b75d2d35bd_495820_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/img753_hu3f26775d53bae9c93abf86b75d2d35bd_495820_0e1809d91338181fa3fc6dd96427a391.webp"
width="760"
height="477"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
1983年フィルム・Digital ICE OFF のスキャン結果
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-4800dpi--digital-ice-off等倍切り出し">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1983年劣化フィルムの4800dpi &amp;#43; Digital ICE OFFスキャンを等倍で切り出したもの。傷の状態が確認できる" srcset="
/media/gt-x830/62a2008417089838f78424a186b1d636_hu1d1418efe2221166f8bd446bca0d4982_520469_cdb19846976b46048c48ee7e473d64cf.webp 400w,
/media/gt-x830/62a2008417089838f78424a186b1d636_hu1d1418efe2221166f8bd446bca0d4982_520469_9a7978407c6aec5b44abcba323aeb1bd.webp 760w,
/media/gt-x830/62a2008417089838f78424a186b1d636_hu1d1418efe2221166f8bd446bca0d4982_520469_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/62a2008417089838f78424a186b1d636_hu1d1418efe2221166f8bd446bca0d4982_520469_cdb19846976b46048c48ee7e473d64cf.webp"
width="757"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
4800dpi + Digital ICE OFF：等倍切り出し
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-1983年フィルムdigital-ice-on-のスキャン結果">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1983年の劣化したフィルムをEPSON GT-X830で4800dpiスキャンした結果（Digital ICE ON）。ホコリ・小傷が除去され見やすくなった" srcset="
/media/gt-x830/img754_hua080d7b577437be1fe8fa92b758ae126_568161_6d4ffaaafdcba45b63ddfc190d4bfecb.webp 400w,
/media/gt-x830/img754_hua080d7b577437be1fe8fa92b758ae126_568161_e398987439f30b67b5c297dc1ce8883b.webp 760w,
/media/gt-x830/img754_hua080d7b577437be1fe8fa92b758ae126_568161_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/img754_hua080d7b577437be1fe8fa92b758ae126_568161_6d4ffaaafdcba45b63ddfc190d4bfecb.webp"
width="760"
height="477"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
1983年フィルム・Digital ICE ON のスキャン結果
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-4800dpi--digital-ice-on等倍切り出し">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="1983年劣化フィルムの4800dpi &amp;#43; Digital ICE ONスキャンを等倍切り出し。小傷が除去されクリアな仕上がり" srcset="
/media/gt-x830/0437f25fbd87994d13c2e5faefc925e3_hu648c4a2604b0b60726d22c19bac5af32_547582_bc6d052679aaca8cd0eb68c4a848c103.webp 400w,
/media/gt-x830/0437f25fbd87994d13c2e5faefc925e3_hu648c4a2604b0b60726d22c19bac5af32_547582_4ba3f698fb5a8e60d3f104cb7f6b7dad.webp 760w,
/media/gt-x830/0437f25fbd87994d13c2e5faefc925e3_hu648c4a2604b0b60726d22c19bac5af32_547582_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/0437f25fbd87994d13c2e5faefc925e3_hu648c4a2604b0b60726d22c19bac5af32_547582_bc6d052679aaca8cd0eb68c4a848c103.webp"
width="760"
height="756"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
4800dpi + Digital ICE ON：等倍切り出し
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h3 id="1983年保存状態が良いフィルム">1983年：保存状態が良いフィルム&lt;/h3>
&lt;p>同じく1983年のフィルムですが、保存環境が良かったため劣化が少ないです。色がしっかり残っており、退色復元を適用すると現代で撮影した写真と見間違えるほどの仕上がりになります。&lt;/p>
&lt;p>
&lt;figure id="figure-1983年保存良好フィルムdigital-ice-off-のスキャン結果">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="保存状態が良好な1983年フィルムをEPSON GT-X830で4800dpiスキャンした結果（Digital ICE OFF）。色が残っており比較的鮮明" srcset="
/media/gt-x830/img783_hu8b404047c51e305ead571ba87f44e425_511288_d94c6649380440eaf874f6a23dd19d7d.webp 400w,
/media/gt-x830/img783_hu8b404047c51e305ead571ba87f44e425_511288_cf24d1612779e981cd67f24e8a6d1b76.webp 760w,
/media/gt-x830/img783_hu8b404047c51e305ead571ba87f44e425_511288_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/img783_hu8b404047c51e305ead571ba87f44e425_511288_d94c6649380440eaf874f6a23dd19d7d.webp"
width="760"
height="476"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
1983年・保存良好フィルム・Digital ICE OFF のスキャン結果
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-4800dpi--digital-ice-off等倍切り出し">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="保存状態良好な1983年フィルムの4800dpi &amp;#43; Digital ICE OFFスキャンを等倍切り出し。色が豊かに残っている" srcset="
/media/gt-x830/Ice_OFF_huc7a885c3c0623d7461fce491ab3f2d71_359320_f9349cbcb9dca9559174213670113227.webp 400w,
/media/gt-x830/Ice_OFF_huc7a885c3c0623d7461fce491ab3f2d71_359320_c08e1ca01886039b0193eb4ee0aba14c.webp 760w,
/media/gt-x830/Ice_OFF_huc7a885c3c0623d7461fce491ab3f2d71_359320_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/Ice_OFF_huc7a885c3c0623d7461fce491ab3f2d71_359320_f9349cbcb9dca9559174213670113227.webp"
width="760"
height="755"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
4800dpi + Digital ICE OFF：等倍切り出し
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-1983年保存良好フィルムdigital-ice-on-のスキャン結果">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="保存状態が良好な1983年フィルムをEPSON GT-X830で4800dpi &amp;#43; Digital ICE ONでスキャンした結果。鮮明で現代の写真と見紛うほど" srcset="
/media/gt-x830/img784_hu99de22b82cb8a8a9ef43813c64c9c65e_546219_7d2f42cfeeab8a0fdf1538ff6e0a154d.webp 400w,
/media/gt-x830/img784_hu99de22b82cb8a8a9ef43813c64c9c65e_546219_71b89b5ad5975cef8d1955fbcaf03e16.webp 760w,
/media/gt-x830/img784_hu99de22b82cb8a8a9ef43813c64c9c65e_546219_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/img784_hu99de22b82cb8a8a9ef43813c64c9c65e_546219_7d2f42cfeeab8a0fdf1538ff6e0a154d.webp"
width="760"
height="476"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
1983年・保存良好フィルム・Digital ICE ON のスキャン結果
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-4800dpi--digital-ice-on等倍切り出し退色復元あり">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="保存状態良好な1983年フィルムの4800dpi &amp;#43; Digital ICE ONスキャンを等倍切り出し。退色復元で現代の写真と遜色ない仕上がり" srcset="
/media/gt-x830/Ice_ON_hu4c6b3dbf7faf1a86577f483dcd56492f_361910_ecb4567f22d5471502ffbc1889060a45.webp 400w,
/media/gt-x830/Ice_ON_hu4c6b3dbf7faf1a86577f483dcd56492f_361910_5caf24be657e7dcb452a7da5ebea1d71.webp 760w,
/media/gt-x830/Ice_ON_hu4c6b3dbf7faf1a86577f483dcd56492f_361910_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/gt-x830/Ice_ON_hu4c6b3dbf7faf1a86577f483dcd56492f_361910_ecb4567f22d5471502ffbc1889060a45.webp"
width="760"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
4800dpi + Digital ICE ON：等倍切り出し（退色復元あり）
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="総評">総評&lt;/h2>
&lt;p>GT-X830は、一般的なフィルムカメラやインスタントカメラで撮影されたフィルムのデジタル化に十分な性能を持っています。一眼レフで撮影した高解像度フィルムを最高画質でデジタル化したい場合は上位機種のGT-X980が選択肢になりますが、家庭のフィルムアルバムをデータ化するなら&lt;strong>GT-X830はコストパフォーマンスに優れた選択肢&lt;/strong>です。&lt;/p>
&lt;p>Digital ICEは時間がかかる分、ホコリ・傷除去の効果は本物です。特に劣化が進んだフィルムほど効果を実感できます。&lt;/p>
&lt;h2 id="まとめ">まとめ&lt;/h2>
&lt;p>フィルムはデジタルデータと違い、時間とともに劣化する一方です。「いつかやろう」と思っているうちに復元できない状態になる前に、早めのデジタル化をおすすめします。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>GT-X830の強み&lt;/strong>：フラットベッド型で汎用性高い、12コマ連続スキャン、Digital ICEによる自動補正&lt;/li>
&lt;li>&lt;strong>GT-X830の弱み&lt;/strong>：電源ボタンが使いにくい、Digital ICE使用時のスキャン時間が長い&lt;/li>
&lt;li>&lt;strong>こんな人に向いている&lt;/strong>：家庭のアルバム・スナップ写真のフィルムを手軽にデジタル化したい方&lt;/li>
&lt;/ul></description></item><item><title>「探す」アプリに知らないデバイスが登録されて削除できない原因と対処法【Apple iCloud】</title><link>https://yre.jp/post/find_unknown_device/</link><pubDate>Wed, 06 Jul 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/find_unknown_device/</guid><description>&lt;p>Appleの「探す」アプリに見知らぬデバイスが登録されて困った体験談です。削除しても翌日復活し、Appleサポートに相談した結果わかった原因と、同じ問題を防ぐための注意点をまとめます。&lt;/p>
&lt;h2 id="ある日突然ハノイのmacbookが探すに現れた">ある日突然、ハノイのMacBookが「探す」に現れた&lt;/h2>
&lt;p>ふと「探す」アプリの「デバイスを探す」を開くと、見覚えのないMacBook Proが登録されていました。場所はベトナムのハノイ。自分がベトナムに行ったことは一度もありません。&lt;/p>
&lt;p>
&lt;figure id="figure-見知らぬデバイスがハノイに登録されていた">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="AppleのFind Myアプリに、ベトナム・ハノイの住所で見覚えのないMacBook Proが表示されている画面" srcset="
/media/find_unknown_device/f48f54fa963f274c8cff92fb693a91d0_hu9ca8a05f03b319891708cf42e9b6f5d2_1336100_b157d45756eafec02df066ce4781689f.webp 400w,
/media/find_unknown_device/f48f54fa963f274c8cff92fb693a91d0_hu9ca8a05f03b319891708cf42e9b6f5d2_1336100_e57fd1e6c842d78f2c6315292a6d5657.webp 760w,
/media/find_unknown_device/f48f54fa963f274c8cff92fb693a91d0_hu9ca8a05f03b319891708cf42e9b6f5d2_1336100_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/find_unknown_device/f48f54fa963f274c8cff92fb693a91d0_hu9ca8a05f03b319891708cf42e9b6f5d2_1336100_b157d45756eafec02df066ce4781689f.webp"
width="760"
height="448"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
見知らぬデバイスがハノイに登録されていた
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>地図で確認すると住宅街のようです。&lt;/p>
&lt;p>
&lt;figure id="figure-ハノイ市内の住宅街に位置している">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Find Myアプリの地図表示。ハノイ市内の住宅街エリアにデバイスのピンが表示されている" srcset="
/media/find_unknown_device/d305872a3c5e5444ec0a7d9417280ea0_hu9ca8a05f03b319891708cf42e9b6f5d2_3944399_873b5e380ea4fadd4432d85e0fdaeff9.webp 400w,
/media/find_unknown_device/d305872a3c5e5444ec0a7d9417280ea0_hu9ca8a05f03b319891708cf42e9b6f5d2_3944399_2cd6ef1b8ffc5f30b4f040213bb1f358.webp 760w,
/media/find_unknown_device/d305872a3c5e5444ec0a7d9417280ea0_hu9ca8a05f03b319891708cf42e9b6f5d2_3944399_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/find_unknown_device/d305872a3c5e5444ec0a7d9417280ea0_hu9ca8a05f03b319891708cf42e9b6f5d2_3944399_873b5e380ea4fadd4432d85e0fdaeff9.webp"
width="760"
height="448"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
ハノイ市内の住宅街に位置している
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-デバイスの詳細情報">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Find Myアプリでデバイスの詳細情報を表示した画面。デバイス名とオフライン状態が確認できる" srcset="
/media/find_unknown_device/241d5ba251075b97a4cce5bb33c8c5a0_hu9ca8a05f03b319891708cf42e9b6f5d2_3278602_3dcfa85a3850c635e115d7d287648196.webp 400w,
/media/find_unknown_device/241d5ba251075b97a4cce5bb33c8c5a0_hu9ca8a05f03b319891708cf42e9b6f5d2_3278602_ddccdb9a243311276fb3657f78f28258.webp 760w,
/media/find_unknown_device/241d5ba251075b97a4cce5bb33c8c5a0_hu9ca8a05f03b319891708cf42e9b6f5d2_3278602_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/find_unknown_device/241d5ba251075b97a4cce5bb33c8c5a0_hu9ca8a05f03b319891708cf42e9b6f5d2_3278602_3dcfa85a3850c635e115d7d287648196.webp"
width="760"
height="448"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
デバイスの詳細情報
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="削除しても翌日に復活する">削除しても翌日に復活する&lt;/h2>
&lt;p>デバイスをリストから削除しましたが、翌日には別の場所に移動して再び現れました。&lt;/p>
&lt;p>
&lt;figure id="figure-削除しても別の場所に移動して復活">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Find Myアプリに、前日削除したはずの見知らぬデバイスが別の場所に移動して再表示されている画面" srcset="
/media/find_unknown_device/0b9749c88a8eff0565f395cffe7bc199-1_hu63e5b9332e711a4fba2e50ac91888959_1271987_04f07b9f85911fa01cd2af6e5fdde5ab.webp 400w,
/media/find_unknown_device/0b9749c88a8eff0565f395cffe7bc199-1_hu63e5b9332e711a4fba2e50ac91888959_1271987_2cc7221aca547cf0d36eb43f38c9dd71.webp 760w,
/media/find_unknown_device/0b9749c88a8eff0565f395cffe7bc199-1_hu63e5b9332e711a4fba2e50ac91888959_1271987_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/find_unknown_device/0b9749c88a8eff0565f395cffe7bc199-1_hu63e5b9332e711a4fba2e50ac91888959_1271987_04f07b9f85911fa01cd2af6e5fdde5ab.webp"
width="760"
height="445"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
削除しても別の場所に移動して復活
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="しばらく放置していたが気持ち悪くなってappleサポートへ">しばらく放置していたが気持ち悪くなってAppleサポートへ&lt;/h2>
&lt;p>実害はなさそうだったため数週間様子を見ていましたが、デバイスはちょくちょく場所を変えながら居座り続けます。&lt;/p>
&lt;p>
&lt;figure id="figure-数週間後もデバイスは健在で場所を変え続けた">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Find Myアプリに表示された謎のデバイスが、また別の位置に移動している様子を示す地図画面" srcset="
/media/find_unknown_device/3c3ab10fe8b0cb5fde7eddd98dab941e_hu63e5b9332e711a4fba2e50ac91888959_792965_c69b22d787adae08d7e277fadc2ea282.webp 400w,
/media/find_unknown_device/3c3ab10fe8b0cb5fde7eddd98dab941e_hu63e5b9332e711a4fba2e50ac91888959_792965_c284986c586b169ff8d70687b35e6bc0.webp 760w,
/media/find_unknown_device/3c3ab10fe8b0cb5fde7eddd98dab941e_hu63e5b9332e711a4fba2e50ac91888959_792965_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/find_unknown_device/3c3ab10fe8b0cb5fde7eddd98dab941e_hu63e5b9332e711a4fba2e50ac91888959_792965_c69b22d787adae08d7e277fadc2ea282.webp"
width="760"
height="445"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
数週間後もデバイスは健在で場所を変え続けた
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>気持ち悪さが勝り、Appleのサポートに相談することにしました。&lt;/p>
&lt;h2 id="appleサポートへの問い合わせ結果">Appleサポートへの問い合わせ結果&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>チャットサポート&lt;/strong> → 「スペシャリストと電話対応が必要」&lt;/li>
&lt;li>&lt;strong>電話スペシャリスト&lt;/strong> → 「社内の技術者に確認が必要」&lt;/li>
&lt;li>&lt;strong>数日後、Apple技術者から回答&lt;/strong>&lt;/li>
&lt;/ol>
&lt;h2 id="判明した原因icloudサインアウトなしで初期化した端末">判明した原因：iCloudサインアウトなしで初期化した端末&lt;/h2>
&lt;p>Apple技術者から届いた回答は次のとおりでした。&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>iCloud にサインインしたまま本体を初期化すると、このような現象が発生します。&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;p>つまり、このデバイスはハッカーの端末でも不正アクセスでもなく、&lt;strong>iCloudからサインアウトせずに初期化されたMac&lt;/strong>がシステム上で自分のデバイスとして認識され続けているというものでした。&lt;/p>
&lt;p>思い当たるのは以前ヤフオクで売却したMacBook。売却時にiCloudのサインアウトを忘れたまま初期化してしまったのかもしれません。&lt;/p>
&lt;p>
&lt;figure id="figure-サポート後も謎のデバイスは健在">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Find Myアプリに謎のデバイスが変わらず表示されている最終確認画面。サポートに相談した後も状況は変わっていない" srcset="
/media/find_unknown_device/b9bc455e6bddccdf32a680578efc4943_hu91913ed2d118ca6b5cd3813e86ef5e17_729502_1706acd6be136d7fe617a31ff49cbe0b.webp 400w,
/media/find_unknown_device/b9bc455e6bddccdf32a680578efc4943_hu91913ed2d118ca6b5cd3813e86ef5e17_729502_5b4aed2292013c834ebcaafbf6908978.webp 760w,
/media/find_unknown_device/b9bc455e6bddccdf32a680578efc4943_hu91913ed2d118ca6b5cd3813e86ef5e17_729502_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/find_unknown_device/b9bc455e6bddccdf32a680578efc4943_hu91913ed2d118ca6b5cd3813e86ef5e17_729502_1706acd6be136d7fe617a31ff49cbe0b.webp"
width="760"
height="385"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
サポート後も謎のデバイスは健在
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="対処法手元にない端末でも消去してから削除で対応できる場合がある">対処法：手元にない端末でも「消去してから削除」で対応できる場合がある&lt;/h2>
&lt;p>私がAppleサポートに相談した当時は削除できない状態でしたが、Apple公式の案内では&lt;strong>手元にない端末でも「探す」または iCloud.com から削除を試みる手順&lt;/strong>が提供されています。&lt;/p>
&lt;div class="alert alert-note">
&lt;div>
単に「削除」するだけでは、端末がオンラインに戻ったタイミングで再表示されることがあります。Activation Lockが残っているためです。&lt;strong>「消去」を先に実行してからリストの削除&lt;/strong>を行うのが正しい手順です。
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>iCloud.com から遠隔消去・削除する手順：&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>&lt;a href="https://www.icloud.com/" target="_blank" rel="noopener">iCloud.com&lt;/a> にサインイン&lt;/li>
&lt;li>「デバイスを探す」を開く&lt;/li>
&lt;li>削除したいデバイスを選択 →「消去」を実行&lt;/li>
&lt;li>消去が完了したら「デバイスを削除」を実行&lt;/li>
&lt;/ol>
&lt;p>参考：&lt;a href="https://support.apple.com/guide/icloud/remove-a-device-mmfc0eeddd/icloud" target="_blank" rel="noopener">Apple公式 - iCloud.comでデバイスを削除する&lt;/a>&lt;/p>
&lt;p>なお、私のケースではAppleサポートへの相談後もしばらく状況が変わりませんでした。端末の状態や経緯によっては上記手順でも解決しない場合があります。&lt;/p>
&lt;h3 id="同じトラブルを防ぐために">同じトラブルを防ぐために&lt;/h3>
&lt;p>MacやiPhoneを売却・譲渡・廃棄する前には、&lt;strong>必ずiCloudからサインアウトしてから初期化&lt;/strong>してください。&lt;/p>
&lt;p>&lt;strong>正しい手順（Mac の場合）：&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>Appleメニュー →「システム設定」→「Apple ID」を開く&lt;/li>
&lt;li>左下の「サインアウト」をクリック&lt;/li>
&lt;li>iCloudのデータをMacに残すか選択してサインアウト&lt;/li>
&lt;li>その後、Macを消去（「システム設定」→「一般」→「転送またはリセット」→「すべてのコンテンツと設定を消去」）&lt;/li>
&lt;/ol>
&lt;p>手順を守ることで、売却後に自分のiCloudに紐付いたまま端末が流通するトラブルを防げます。中古Mac売買の際は、&lt;strong>買う側も購入後にApple IDがリセットされているか確認する&lt;/strong>のがおすすめです。&lt;/p></description></item><item><title>M1 ProのMacBook Proでffmpegを使って4K H.265ハードウェアエンコード速度を検証【videotoolbox vs libx265】</title><link>https://yre.jp/post/m1mac_h265/</link><pubDate>Sun, 05 Jun 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/m1mac_h265/</guid><description>&lt;p>M1 Pro搭載のMacBook ProにffmpegをインストールしたついでにMacのハードウェアエンコード性能を検証してみました。videotoolboxを使ったH.265ハードウェアエンコードと、ソフトウェアエンコード（libx265）の速度・画質・ファイルサイズを比較します。&lt;/p>
&lt;h2 id="検証環境">検証環境&lt;/h2>
&lt;p>M1 Pro を搭載した MacBook Pro 16インチで検証しました。&lt;/p>
&lt;p>
&lt;figure id="figure-使用したmacbook-proのスペック">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="M1 Pro搭載MacBook Pro 16インチのシステム情報画面。チップ、メモリ、ストレージのスペックが表示されている" srcset="
/media/m1mac_h265/32de22a71dada0d2cdd6b594740fab04_hub91ea23780590029ee6445e1701a2413_108307_a879ca34f60b23064b2ab11bfb70c424.webp 400w,
/media/m1mac_h265/32de22a71dada0d2cdd6b594740fab04_hub91ea23780590029ee6445e1701a2413_108307_f02dd5763ce6a47e5e2f0ad0842c6168.webp 760w,
/media/m1mac_h265/32de22a71dada0d2cdd6b594740fab04_hub91ea23780590029ee6445e1701a2413_108307_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/m1mac_h265/32de22a71dada0d2cdd6b594740fab04_hub91ea23780590029ee6445e1701a2413_108307_a879ca34f60b23064b2ab11bfb70c424.webp"
width="570"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
使用したMacBook Proのスペック
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="macのh265ハードウェアエンコーダーvideotoolbox">MacのH.265ハードウェアエンコーダー：videotoolbox&lt;/h2>
&lt;p>Macでのffmpegハードウェアエンコードは &lt;strong>videotoolbox&lt;/strong> が担当します。ffmpegのビルドオプションに &lt;code>--enable-videotoolbox&lt;/code> が含まれていれば利用可能です。&lt;/p>
&lt;p>Homebrewでインストールしたffmpegで確認すると、H.264 / H.265 / ProRes がそれぞれvideoToolbox対応になっていることがわかります。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">ffmpeg -codecs &lt;span class="p">|&lt;/span> grep tool
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> DEV.LS h264 H.264 / AVC (encoders: libx264 libx264rgb h264_videotoolbox )
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> DEV.L. hevc H.265 / HEVC (encoders: libx265 hevc_videotoolbox )
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> DEVIL. prores Apple ProRes (encoders: prores prores_aw prores_ks prores_videotoolbox )
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>H.265のハードウェアエンコーダーは &lt;code>hevc_videotoolbox&lt;/code> です。&lt;/p>
&lt;h2 id="検証1hevc_videotoolboxデフォルト設定">検証1：hevc_videotoolbox（デフォルト設定）&lt;/h2>
&lt;p>夜の港北インターチェンジで撮影した4K（3840×2160）動画でエンコードしてみます。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">ffmpeg -i 第三京浜&lt;span class="se">\ &lt;/span>港北インターチェンジ-最大4K.mov &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -c:v hevc_videotoolbox &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> hevc_videotoolbox_default.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>結果：&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">frame= 1548 fps= 52 q=-0.0 Lsize= 22975kB time=00:00:51.66 bitrate=3642.7kbits/s speed=1.72x
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>speed=1.72x&lt;/code> — 51秒の4K動画を約30秒でエンコード完了。リアルタイム以上の速度です。&lt;/p>
&lt;p>
&lt;figure id="figure-デフォルト設定のエンコード結果ファイルサイズ">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="hevc_videotoolboxデフォルト設定でエンコードした結果のファイルサイズ比較。元動画から大幅に縮小されている" srcset="
/media/m1mac_h265/c105add4e030f01d18d102d177e3eaf2_hu56afc0848242f9a8bfe5205be13d5982_42381_c36c74b796e07f0c6f96422699493091.webp 400w,
/media/m1mac_h265/c105add4e030f01d18d102d177e3eaf2_hu56afc0848242f9a8bfe5205be13d5982_42381_c28ed2cc8e4351da97c0c673fb8050ab.webp 760w,
/media/m1mac_h265/c105add4e030f01d18d102d177e3eaf2_hu56afc0848242f9a8bfe5205be13d5982_42381_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/m1mac_h265/c105add4e030f01d18d102d177e3eaf2_hu56afc0848242f9a8bfe5205be13d5982_42381_c36c74b796e07f0c6f96422699493091.webp"
width="760"
height="63"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
デフォルト設定のエンコード結果：ファイルサイズ
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>ファイルサイズは大幅に削減されました。&lt;/p>
&lt;h3 id="デフォルト設定の画質">デフォルト設定の画質&lt;/h3>
&lt;p>
&lt;figure id="figure-デフォルト設定の画質モヤがかかった印象">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="hevc_videotoolboxデフォルト設定でエンコードした4K映像のキャプチャ。細部にモヤがかかった低品質な画質" srcset="
/media/m1mac_h265/000010-1_hu555ba04e6be6cfade5f5757fe67a7fcb_177487_72c1a7a392674bf8fd7efec9bb16fa5f.webp 400w,
/media/m1mac_h265/000010-1_hu555ba04e6be6cfade5f5757fe67a7fcb_177487_ba0eff34219ac96192fba7c404d79552.webp 760w,
/media/m1mac_h265/000010-1_hu555ba04e6be6cfade5f5757fe67a7fcb_177487_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/m1mac_h265/000010-1_hu555ba04e6be6cfade5f5757fe67a7fcb_177487_72c1a7a392674bf8fd7efec9bb16fa5f.webp"
width="760"
height="428"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
デフォルト設定の画質：モヤがかかった印象
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>ファイルサイズに比例して画質は厳しめです。動きが速い映像では破綻が目立ちそうな印象。&lt;/p>
&lt;h2 id="検証2hevc_videotoolbox品質固定--qv-50">検証2：hevc_videotoolbox（品質固定 -q:v 50）&lt;/h2>
&lt;p>&lt;code>hevc_videotoolbox&lt;/code> では &lt;code>-q:v&lt;/code> オプション（0〜100、値が大きいほど高品質）で品質を固定できます。Apple Siliconで有効になったオプションで、参考: &lt;a href="https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/efece4442f3f583f7d04f98ef5168dfd08eaca5c" target="_blank" rel="noopener">ffmpeg commit&lt;/a> / &lt;a href="https://stackoverflow.com/questions/64924728/optimally-using-hevc-videotoolbox-and-ffmpeg-on-osx" target="_blank" rel="noopener">Stack Overflow解説&lt;/a>。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">ffmpeg -i 第三京浜&lt;span class="se">\ &lt;/span>港北インターチェンジ-最大4K.mov &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -c:v hevc_videotoolbox &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -q:v &lt;span class="m">50&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> hevc_videotoolbox_q50.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>結果：&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">frame= 1548 fps= 52 q=-0.0 Lsize= 174735kB time=00:00:51.66 bitrate=27703.6kbits/s speed=1.73x
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>速度はデフォルトとほぼ変わらず &lt;code>speed=1.73x&lt;/code>。ファイルサイズはかなり大きくなります。&lt;/p>
&lt;p>
&lt;figure id="figure-品質固定q50のエンコード結果ファイルサイズ">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="hevc_videotoolbox品質固定(q=50)のエンコード結果のファイルサイズ。デフォルトより大幅に大きいがlibx265より大きい" srcset="
/media/m1mac_h265/9c59858f75398b465c25070283c6cae8_hu56afc0848242f9a8bfe5205be13d5982_69826_ce506931ed8e74eed83dc7b557606daf.webp 400w,
/media/m1mac_h265/9c59858f75398b465c25070283c6cae8_hu56afc0848242f9a8bfe5205be13d5982_69826_39ccb91d1e8f0bf802a6034548a2d4fc.webp 760w,
/media/m1mac_h265/9c59858f75398b465c25070283c6cae8_hu56afc0848242f9a8bfe5205be13d5982_69826_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/m1mac_h265/9c59858f75398b465c25070283c6cae8_hu56afc0848242f9a8bfe5205be13d5982_69826_ce506931ed8e74eed83dc7b557606daf.webp"
width="760"
height="63"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
品質固定(q=50)のエンコード結果：ファイルサイズ
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h3 id="品質固定-q50-の画質">品質固定 (q=50) の画質&lt;/h3>
&lt;p>
&lt;figure id="figure-品質固定q50の画質なかなかいい仕上がり">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="hevc_videotoolbox品質固定(q=50)でエンコードした4K映像のキャプチャ。デフォルトより鮮明で破綻がほとんど見られない" srcset="
/media/m1mac_h265/000010-2_hu0b41f51119533274c41971990663251f_190730_79d8cfacc815e99f0654a9e3c62b76a4.webp 400w,
/media/m1mac_h265/000010-2_hu0b41f51119533274c41971990663251f_190730_6703885ec0691d89e3587afb61fcb3a2.webp 760w,
/media/m1mac_h265/000010-2_hu0b41f51119533274c41971990663251f_190730_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/m1mac_h265/000010-2_hu0b41f51119533274c41971990663251f_190730_79d8cfacc815e99f0654a9e3c62b76a4.webp"
width="760"
height="428"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
品質固定(q=50)の画質：なかなかいい仕上がり
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>画面全体が大きく動くシーンでないためか、ほぼ破綻なし。なかなかいい仕上がりです。&lt;/p>
&lt;h2 id="検証3libx265ソフトウェアエンコード">検証3：libx265（ソフトウェアエンコード）&lt;/h2>
&lt;p>比較としてソフトウェアエンコードも試します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">ffmpeg -i ./第三京浜&lt;span class="se">\ &lt;/span>港北インターチェンジ-最大4K.mov &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -c:v libx265 &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -crf &lt;span class="m">28&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -preset fast &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> libx265.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>結果：&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">frame= 1548 fps=3.5 q=32.9 Lsize= 24886kB time=00:00:51.66 bitrate=3945.5kbits/s speed=0.116x
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>speed=0.116x&lt;/code> — 51秒の動画のエンコードに約7分半かかりました。&lt;/p>
&lt;p>
&lt;figure id="figure-libx265のエンコード結果驚異的な圧縮率">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="libx265ソフトウェアエンコードの結果ファイルサイズ。hevc_videotoolboxデフォルト設定に近いサイズながら高画質" srcset="
/media/m1mac_h265/fd71711d4df45fd8f6bc1be6e7c91c2c-1024x72_hueadf9a4ad94d94f939d3fc0c74996698_30400_9694e18f7ad3a248ac4a64bd51d798d1.webp 400w,
/media/m1mac_h265/fd71711d4df45fd8f6bc1be6e7c91c2c-1024x72_hueadf9a4ad94d94f939d3fc0c74996698_30400_1fda8349d7b5efa92503c5b1fd75cdd0.webp 760w,
/media/m1mac_h265/fd71711d4df45fd8f6bc1be6e7c91c2c-1024x72_hueadf9a4ad94d94f939d3fc0c74996698_30400_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/m1mac_h265/fd71711d4df45fd8f6bc1be6e7c91c2c-1024x72_hueadf9a4ad94d94f939d3fc0c74996698_30400_9694e18f7ad3a248ac4a64bd51d798d1.webp"
width="760"
height="53"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
libx265のエンコード結果：驚異的な圧縮率
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-libx265の画質文句なしのクオリティ">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="libx265でエンコードした4K映像のキャプチャ。細部まで鮮明で高画質な仕上がり" srcset="
/media/m1mac_h265/000010-3_hud580602536bdf502747be7b87f8e8cea_188504_5b0e8699dc24deece550a5edd834cd0a.webp 400w,
/media/m1mac_h265/000010-3_hud580602536bdf502747be7b87f8e8cea_188504_78cf45620bf0f01102379c35448ebfb5.webp 760w,
/media/m1mac_h265/000010-3_hud580602536bdf502747be7b87f8e8cea_188504_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/m1mac_h265/000010-3_hud580602536bdf502747be7b87f8e8cea_188504_5b0e8699dc24deece550a5edd834cd0a.webp"
width="760"
height="428"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
libx265の画質：文句なしのクオリティ
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>ファイルサイズはデフォルトのhevc_videotoolboxとほぼ同等でありながら、画質は文句なしのレベルです。&lt;/p>
&lt;h2 id="3手法の比較まとめ">3手法の比較まとめ&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>エンコーダー&lt;/th>
&lt;th>速度&lt;/th>
&lt;th>ファイルサイズ&lt;/th>
&lt;th>画質&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>hevc_videotoolbox（デフォルト）&lt;/td>
&lt;td>&lt;strong>1.72x&lt;/strong> ⚡&lt;/td>
&lt;td>約22MB（小）&lt;/td>
&lt;td>△ モヤがかかる&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>hevc_videotoolbox（-q:v 50）&lt;/td>
&lt;td>&lt;strong>1.73x&lt;/strong> ⚡&lt;/td>
&lt;td>約171MB（大）&lt;/td>
&lt;td>○ 十分実用的&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>libx265（-crf 28 -preset fast）&lt;/td>
&lt;td>0.116x&lt;/td>
&lt;td>約24MB（小）&lt;/td>
&lt;td>◎ 高画質&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>ハードウェアエンコードはソフトウェアエンコードの&lt;strong>約15倍高速&lt;/strong>です。なお、エンコード中のCPU占有率は 30〜50% 程度にとどまっていました。&lt;/p>
&lt;h2 id="まとめ用途別の使い分け">まとめ：用途別の使い分け&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>配信・急ぎの書き出し&lt;/strong> → &lt;code>hevc_videotoolbox -q:v 50&lt;/code>：速くて十分な画質&lt;/li>
&lt;li>&lt;strong>画質最優先・時間に余裕がある&lt;/strong> → &lt;code>libx265 -crf 28&lt;/code>：小さいファイルで高画質&lt;/li>
&lt;li>&lt;strong>とにかく速くファイルサイズを減らしたい&lt;/strong> → &lt;code>hevc_videotoolbox&lt;/code>（デフォルト）：画質は妥協が必要&lt;/li>
&lt;/ul>
&lt;p>M1 Pro のvideoToolboxは4Kリアルタイムエンコードも余裕でこなす十分な性能を持っています。用途に合わせて使い分けるのがおすすめです。&lt;/p></description></item><item><title>MacにffmpegをHomebrewでインストールする手順【コマンド例・動作確認まで】</title><link>https://yre.jp/post/mac_ffmpeg/</link><pubDate>Wed, 01 Jun 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/mac_ffmpeg/</guid><description>&lt;p>ffmpeg は動画・音声の変換・エンコード・編集をコマンドラインで行えるオープンソースツールです。macOS では &lt;a href="https://brew.sh/" target="_blank" rel="noopener">Homebrew&lt;/a> を使えば依存関係ごとまとめてインストールできます。&lt;/p>
&lt;h2 id="homebrew-のインストール">Homebrew のインストール&lt;/h2>
&lt;p>まだ Homebrew を導入していない場合は、ターミナルに以下を貼り付けて実行します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">/bin/bash -c &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="k">$(&lt;/span>curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh&lt;span class="k">)&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="ffmpeg-のインストール">ffmpeg のインストール&lt;/h2>
&lt;p>Homebrew がセットアップ済みであれば、1コマンドでインストールできます。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">brew install ffmpeg
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>
&lt;figure id="figure-brew-install-ffmpeg-の実行中依存パッケージが自動で解決される">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="ターミナルでbrew install ffmpegを実行しているmacOSの画面。Homebrewが依存パッケージを含めてffmpegをダウンロード・インストールしている様子" srcset="
/media/mac_ffmpeg/fcd2823999fe9537cf2a5f648b353da1_hu84feb4f03c5514c3000a780956893751_495415_b57e6aca21bcbc33c22022d07322bb38.webp 400w,
/media/mac_ffmpeg/fcd2823999fe9537cf2a5f648b353da1_hu84feb4f03c5514c3000a780956893751_495415_9b102a300400abe6f28e84dc43967686.webp 760w,
/media/mac_ffmpeg/fcd2823999fe9537cf2a5f648b353da1_hu84feb4f03c5514c3000a780956893751_495415_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/mac_ffmpeg/fcd2823999fe9537cf2a5f648b353da1_hu84feb4f03c5514c3000a780956893751_495415_b57e6aca21bcbc33c22022d07322bb38.webp"
width="568"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
brew install ffmpeg の実行中。依存パッケージが自動で解決される
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>インストールが完了するとすぐに &lt;code>ffmpeg&lt;/code> コマンドが使えるようになります。&lt;/p>
&lt;p>
&lt;figure id="figure-インストール完了後に-ffmpeg--version-で動作を確認">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="ターミナルでffmpeg &amp;amp;ndash;versionを実行した結果画面。ffmpegのバージョン情報と対応コーデック一覧が表示されている" srcset="
/media/mac_ffmpeg/48b6a53ee52ae256f175198f7969259a_hufb13c5a2ffb5c3b1a976fea46486e1e0_304456_d25a06353563c4190132282a925441a0.webp 400w,
/media/mac_ffmpeg/48b6a53ee52ae256f175198f7969259a_hufb13c5a2ffb5c3b1a976fea46486e1e0_304456_0e976ec28c8b34221efc166127af0524.webp 760w,
/media/mac_ffmpeg/48b6a53ee52ae256f175198f7969259a_hufb13c5a2ffb5c3b1a976fea46486e1e0_304456_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/mac_ffmpeg/48b6a53ee52ae256f175198f7969259a_hufb13c5a2ffb5c3b1a976fea46486e1e0_304456_d25a06353563c4190132282a925441a0.webp"
width="760"
height="633"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
インストール完了後に ffmpeg -version で動作を確認
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="動作確認">動作確認&lt;/h2>
&lt;p>以下のコマンドでインストール済みのバージョンを確認できます。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">ffmpeg -version
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">ffmpeg version 5.0.1 Copyright (c) 2000-2022 the FFmpeg developers
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">built with Apple clang version 13.1.6 (clang-1316.0.21.2.5)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">libavutil 57. 17.100 / 57. 17.100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">libavcodec 59. 18.100 / 59. 18.100
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">libavformat 59. 16.100 / 59. 16.100
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="alert alert-note">
&lt;div>
上記はインストール時（2022年）のバージョンです。現在の最新バージョンは &lt;a href="https://ffmpeg.org/" target="_blank" rel="noopener">ffmpeg.org&lt;/a> で確認できます。&lt;code>brew upgrade ffmpeg&lt;/code> で最新版に更新できます。
&lt;/div>
&lt;/div>
&lt;h2 id="homebrew-版-ffmpeg-で使えるコーデック">Homebrew 版 ffmpeg で使えるコーデック&lt;/h2>
&lt;p>Homebrew でインストールした ffmpeg は主要なコーデックがすべて有効化されています。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">ffmpeg -codecs &lt;span class="p">|&lt;/span> grep -E &lt;span class="s2">&amp;#34;h264|hevc|vp9|av1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Apple Silicon（M1/M2/M3）搭載 Mac では、H.264・H.265 のハードウェアエンコード（&lt;code>h264_videotoolbox&lt;/code> / &lt;code>hevc_videotoolbox&lt;/code>）も利用できます。ソフトウェアエンコードと比べて大幅に高速です。&lt;/p>
&lt;h2 id="よく使うコマンド例">よく使うコマンド例&lt;/h2>
&lt;p>&lt;strong>MP4コンテナに変換する（既定設定）：&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">ffmpeg -i input.mov output.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>H.265（HEVC）に変換する：&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">ffmpeg -i input.mp4 -c:v libx265 -crf &lt;span class="m">28&lt;/span> output.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Apple Silicon のハードウェアエンコードを使う：&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">ffmpeg -i input.mp4 -c:v hevc_videotoolbox -q:v &lt;span class="m">50&lt;/span> output.mp4
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>手垢まみれのMacBookキーボードを『WHOOSH!』で新品同様に掃除する方法</title><link>https://yre.jp/post/macbook-keyboard-cleaning-whoosh/</link><pubDate>Mon, 16 May 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/macbook-keyboard-cleaning-whoosh/</guid><description>&lt;h1 id="悩みmacbookのキーボード手垢や指紋が目立ちませんか">悩み：MacBookのキーボード、手垢や指紋が目立ちませんか？&lt;/h1>
&lt;p>私は普段 MacBook を愛用しているのですが、唯一の不満が &lt;strong>「キーボードの汚れが目立ちやすいこと」&lt;/strong> です。&lt;/p>
&lt;p>こまめに手は洗っているつもりなのですが、私の手脂のせいなのか、黒いキートップにはすぐに手垢や指紋がベタベタと残ってしまいます。
「もっと簡単に、かつ安全に綺麗にする方法はないか？」と思案してたどり着いたのが、今回紹介する方法です。&lt;/p>
&lt;h1 id="解決策amazonで見つけたwhoosh">解決策：Amazonで見つけた『WHOOSH!』&lt;/h1>
&lt;p>
&lt;figure id="figure-whoosh-パッケージ">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="WHOOSH! パッケージ" srcset="
/media/WHOOSH/ILCE-7M4-_DSC1389_hu98206837892c374cd2028613e5b10c88_466784_c9e834e5ac83c54338765541f3590a69.webp 400w,
/media/WHOOSH/ILCE-7M4-_DSC1389_hu98206837892c374cd2028613e5b10c88_466784_4d32d0826c275889a5c74926eae681d1.webp 760w,
/media/WHOOSH/ILCE-7M4-_DSC1389_hu98206837892c374cd2028613e5b10c88_466784_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/WHOOSH/ILCE-7M4-_DSC1389_hu98206837892c374cd2028613e5b10c88_466784_c9e834e5ac83c54338765541f3590a69.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
WHOOSH! パッケージ
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>Amazonで評判の良いクリーナーを探していて見つけたのが、この &lt;strong>『WHOOSH!（ウーッシュ）』&lt;/strong> です。
実はこれ、以前はApple Storeでも公式に採用されていたクリーナーだそうで、期待が高まります。&lt;/p>
&lt;h1 id="whooshレビュー開封と同梱物">『WHOOSH!』レビュー：開封と同梱物&lt;/h1>
&lt;p>
&lt;figure id="figure-開封の様子">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="早速開封" srcset="
/media/WHOOSH/ILCE-7M4-_DSC1392_hu98206837892c374cd2028613e5b10c88_639435_becab8b2a4835fd34595494a3fb64b1e.webp 400w,
/media/WHOOSH/ILCE-7M4-_DSC1392_hu98206837892c374cd2028613e5b10c88_639435_de5cc11b3d59e1bd925ae195c23b6d3a.webp 760w,
/media/WHOOSH/ILCE-7M4-_DSC1392_hu98206837892c374cd2028613e5b10c88_639435_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/WHOOSH/ILCE-7M4-_DSC1392_hu98206837892c374cd2028613e5b10c88_639435_becab8b2a4835fd34595494a3fb64b1e.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
開封の様子
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>私が購入したのは、ボトル2本セット（大・小）で &lt;strong>3,840円&lt;/strong> のパッケージでした。&lt;/p>
&lt;a href="https://amzn.to/4cTNQU3" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/71&amp;#43;&amp;#43;NjsDd6L._AC_SL1500_.jpg" alt="WHOOSH 液晶クリーナー スマホ 液晶モニタ用 抗菌クロスセット Screen Shine">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">WHOOSH 液晶クリーナー スマホ 液晶モニタ用 抗菌クロスセット Screen Shine&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;p>商品紹介の日本語はいかにも「機械翻訳」といった感じで怪しいですが、パッケージによると &lt;strong>抗菌作用&lt;/strong> もあるとのこと。（効果のほどは不明ですが、気分的には安心です）&lt;/p>
&lt;h1 id="実践掃除の手順">実践：掃除の手順&lt;/h1>
&lt;p>使い方は非常にシンプルです。&lt;/p>
&lt;p>
&lt;figure id="figure-付属のクロスは汚れたら洗濯して繰り返し使えます">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="付属のクロス" srcset="
/media/WHOOSH/ILCE-7M4-_DSC1393_hu98206837892c374cd2028613e5b10c88_666222_63614742d93656a069ac57f9c09716d0.webp 400w,
/media/WHOOSH/ILCE-7M4-_DSC1393_hu98206837892c374cd2028613e5b10c88_666222_b193221bb6d6879bd39207a05ca2e54a.webp 760w,
/media/WHOOSH/ILCE-7M4-_DSC1393_hu98206837892c374cd2028613e5b10c88_666222_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/WHOOSH/ILCE-7M4-_DSC1393_hu98206837892c374cd2028613e5b10c88_666222_63614742d93656a069ac57f9c09716d0.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
付属のクロスは汚れたら洗濯して繰り返し使えます
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>付属のオレンジ色のクロスにクリーニング液をシュッと吹きかけ、キーボードを拭き上げるだけ。
&lt;strong>※直接キーボードに噴射すると故障の原因になるので、必ずクロスに吹きかけましょう。&lt;/strong>&lt;/p>
&lt;h2 id="必須テクニックkeyboardcleantoolで誤入力を防ぐ">必須テクニック：『KeyboardCleanTool』で誤入力を防ぐ&lt;/h2>
&lt;p>MacBookユーザーならご存知かと思いますが、Macは &lt;strong>電源OFFの状態でもキーボードに触れるだけで電源が入ってしまいます&lt;/strong> 。
普段は便利な機能ですが、掃除の時はこれが非常に厄介です。&lt;/p>
&lt;p>そこで活躍するのが、先人が開発してくれた神アプリ &lt;strong>『KeyboardCleanTool』&lt;/strong> です。&lt;/p>
&lt;blockquote class="blogcard" style="width:auto;border:1px solid #aaa;margin:1em 0;padding:1em;line-height:1.4;text-align:left;background:#fff;">&lt;a href="https://folivora.ai/keyboardcleantool" target="_blank" style="display:block;text-decoration:none;">&lt;div style="width:100%;margin:0 0 .5em;">&lt;span style="font-size:18px;font-weight:700;color:#333">KeyboardCleanTool&lt;/span>&lt;/div>&lt;div style="min-height:100px;">&lt;div style="float:left;width:100px;height:100px;margin:0 .5em;position:relative;">&lt;img src="https://images.weserv.nl/?w=100&amp;url=https://folivora.ai/folivora/static/media/keyboardcleantool.f01437e0335846cdfb43.png" alt="thumbnail" style="display:block;margin:0;padding:0;width:100%;height:auto;border:none;position:absolute;top:50%;transform:translateY(-50%);"/>&lt;/div>&lt;div style="padding:0 .5em;overflow:hidden;text-overflow:ellipsis;">&lt;span style="font-size:14px;font-weight:400;color:#666">KeyboardCleanTool is a super simple little tool which blocks all Keyboard and TouchBar input.&lt;/span>&lt;br/>&lt;span style="font-size:12px;font-weight:400;color:#373">folivora.ai&lt;/span>&lt;/div>&lt;/div>&lt;/a>&lt;/blockquote>
&lt;p>このアプリを起動してボタンを押すだけで、全てのキー入力を無効化（ロック）してくれます。これなら心置きなくゴシゴシ拭けます。&lt;/p>
&lt;p>
&lt;figure id="figure-click-to-start-cleaning-mode-を押すとキーボード入力がロックされます">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="アプリ画面" srcset="
/media/WHOOSH/ca2e8b65f0a968516a3dcc44f988b192_hud8aa24a410847fbdd1a4ff837ddfb9b9_212465_e192e4b77606736174c49f3f7d14c7c5.webp 400w,
/media/WHOOSH/ca2e8b65f0a968516a3dcc44f988b192_hud8aa24a410847fbdd1a4ff837ddfb9b9_212465_b1919b5b4125ec1d1e688677be8f3789.webp 760w,
/media/WHOOSH/ca2e8b65f0a968516a3dcc44f988b192_hud8aa24a410847fbdd1a4ff837ddfb9b9_212465_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/WHOOSH/ca2e8b65f0a968516a3dcc44f988b192_hud8aa24a410847fbdd1a4ff837ddfb9b9_212465_e192e4b77606736174c49f3f7d14c7c5.webp"
width="760"
height="341"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
[Click to start cleaning mode] を押すとキーボード入力がロックされます
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h1 id="結果ビフォーアフター">結果：ビフォーアフター&lt;/h1>
&lt;p>さっと拭いただけで、驚くほど綺麗になりました。
キーボードが綺麗だと、仕事へのモチベーションも上がりますね（私だけ？）。&lt;/p>
&lt;p>
&lt;figure id="figure-新品のような輝きが戻りました">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="掃除完了" srcset="
/media/WHOOSH/ILCE-7M4-_DSC1400-1_hu98206837892c374cd2028613e5b10c88_617092_d8fd0cb08f2a3788c9159d4697ebe2c9.webp 400w,
/media/WHOOSH/ILCE-7M4-_DSC1400-1_hu98206837892c374cd2028613e5b10c88_617092_eec61a60935756aa98d1931cec938d48.webp 760w,
/media/WHOOSH/ILCE-7M4-_DSC1400-1_hu98206837892c374cd2028613e5b10c88_617092_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/WHOOSH/ILCE-7M4-_DSC1400-1_hu98206837892c374cd2028613e5b10c88_617092_d8fd0cb08f2a3788c9159d4697ebe2c9.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
新品のような輝きが戻りました
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="掃除前との比較">掃除前との比較&lt;/h2>
&lt;p>百聞は一見にしかず。この差をご覧ください。&lt;/p>
&lt;h3 id="掃除前">掃除前&lt;/h3>
&lt;p>
&lt;figure id="figure-テカリと指紋汚れが目立つ状態">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="清掃前" srcset="
/media/WHOOSH/ILCE-7M4-_DSC1387_hu98206837892c374cd2028613e5b10c88_660090_461d2177fa925432c1f1e82fb3722e16.webp 400w,
/media/WHOOSH/ILCE-7M4-_DSC1387_hu98206837892c374cd2028613e5b10c88_660090_9229ccbce44efa3a1323beae874927f0.webp 760w,
/media/WHOOSH/ILCE-7M4-_DSC1387_hu98206837892c374cd2028613e5b10c88_660090_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/WHOOSH/ILCE-7M4-_DSC1387_hu98206837892c374cd2028613e5b10c88_660090_461d2177fa925432c1f1e82fb3722e16.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
テカリと指紋汚れが目立つ状態
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h3 id="掃除後">掃除後&lt;/h3>
&lt;p>
&lt;figure id="figure-マットな質感が復活しました">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="掃除後" srcset="
/media/WHOOSH/ILCE-7M4-_DSC1397_hu98206837892c374cd2028613e5b10c88_451213_b77faa48459caaf22bad9aec3299157e.webp 400w,
/media/WHOOSH/ILCE-7M4-_DSC1397_hu98206837892c374cd2028613e5b10c88_451213_a9f8741d3db6e6ced853d9f5415e798d.webp 760w,
/media/WHOOSH/ILCE-7M4-_DSC1397_hu98206837892c374cd2028613e5b10c88_451213_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/WHOOSH/ILCE-7M4-_DSC1397_hu98206837892c374cd2028613e5b10c88_451213_b77faa48459caaf22bad9aec3299157e.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
マットな質感が復活しました
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h1 id="注意点とコスパについて">注意点とコスパについて&lt;/h1>
&lt;h3 id="画面への使用は微妙かも">画面への使用は微妙かも&lt;/h3>
&lt;p>本来は「スクリーンクリーナー」なのですが、MacBookのディスプレイ（光沢液晶）に使用したところ、少し &lt;strong>拭き筋&lt;/strong> が残ってしまいました。
ノングレア（非光沢）のモニターであれば綺麗になるかもしれませんが、MacBookの画面に使う際は、乾拭きでの仕上げが必要になりそうです。&lt;/p>
&lt;h3 id="コスパは最強23年は持ちそう">コスパは最強：2〜3年は持ちそう&lt;/h3>
&lt;p>以前、一番小さいボトルを使っていましたが、それ一本で1年は持ちました。
今回購入したのは大容量セットなので、普通に使っていれば &lt;strong>2〜3年は余裕で持つ&lt;/strong> 計算です。初期投資は数千円ですが、ランニングコストで見れば非常に優秀だと思います。&lt;/p>
&lt;h1 id="まとめ">まとめ&lt;/h1>
&lt;p>今回は、MacBookのキーボード掃除に最適な『WHOOSH!』と『KeyboardCleanTool』を紹介しました。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>WHOOSH!&lt;/strong>: 洗浄力が高く、抗菌もできてコスパ良し&lt;/li>
&lt;li>&lt;strong>KeyboardCleanTool&lt;/strong>: 掃除中の誤入力を防ぐ必須アプリ&lt;/li>
&lt;/ul>
&lt;p>いつも触れる場所だからこそ、清潔に保っておきたいですね。気になった方はぜひ試してみてください。&lt;/p>
&lt;h1 id="よくある質問-faq">よくある質問 (FAQ)&lt;/h1>
&lt;h3 id="q-水拭きやアルコールではダメですか">Q. 水拭きやアルコールではダメですか？&lt;/h3>
&lt;p>A. 水拭きは故障のリスクがあり、一般的なアルコールは画面のコーティングを剥がしてしまう恐れがあります。専用クリーナーを使うのが最も安全で確実です。&lt;/p>
&lt;h3 id="q-どのくらいの頻度で掃除すべき">Q. どのくらいの頻度で掃除すべき？&lt;/h3>
&lt;p>A. 私は「汚れが気になったら」やっていますが、目安としては1〜2週間に1回程度で常にピカピカの状態を保てます。&lt;/p>
&lt;h3 id="q-日本語配列jisキーボードでも使えますか">Q. 日本語配列（JIS）キーボードでも使えますか？&lt;/h3>
&lt;p>A. はい、配列に関係なく全てのMacBookシリーズで使用可能です。&lt;/p></description></item><item><title>電波時計が受信できない部屋でM5StickC / ATOM LiteとJJYシミュレータを使って時刻合わせを自動化した</title><link>https://yre.jp/post/jjy/</link><pubDate>Thu, 12 May 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/jjy/</guid><description>&lt;p>引越しを機に電波時計が電波を受信しなくなった問題を、M5StickC / ATOM LiteとJJYアンテナ基板を使ったJJYシミュレータで解決した記録です。&lt;/p>
&lt;h2 id="問題引越し後に電波時計の時刻が狂い始めた">問題：引越し後に電波時計の時刻が狂い始めた&lt;/h2>
&lt;p>電波時計は電波で自動的に時刻を合わせてくれるため、手動調整が不要で便利です。ところが引越し後、自宅では電波を受信しなくなり、時刻が少しずつ狂うようになってしまいました。&lt;/p>
&lt;p>窓際に持っていけば受信できるものの、時刻合わせのたびに窓際まで運ぶのは手間です。何か恒久的な解決策を探すことにしました。&lt;/p>
&lt;h2 id="市販の電波送信機は高価">市販の電波送信機は高価&lt;/h2>
&lt;p>調べると「電波時計用送信機」という製品が存在します。NTPサーバーやGPSから正確な時刻を取得し、室内にJJY信号（日本の標準電波）を再送信するものです。&lt;/p>
&lt;a href="https://amzn.to/3OviZVw" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/51dhtr4Mv6L._AC_SL1000_.jpg" alt="共立電子産業 AC同期式時刻送信機 P18-NTPAC">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">共立電子産業 AC同期式時刻送信機 P18-NTPAC&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;a href="https://amzn.to/4sHgo93" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/515VVAwTGWL._AC_SL1000_.jpg" alt="ケイシーズ GPS式電波時計用リピータKEISEEDS P18-NTPGR">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">ケイシーズ GPS式電波時計用リピータKEISEEDS P18-NTPGR&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;a href="https://amzn.to/4tcEJod" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/71BT1PnUJIL._AC_SL1500_.jpg" alt="電波時計信号送信機能付き時計(白) P18-NTPLR">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">電波時計信号送信機能付き時計(白) P18-NTPLR&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;p>機能的には理想的ですが、どれも1〜3万円前後とそれなりの値段です。「電波時計1台のためにそこまで出すのは…」と躊躇していました。&lt;/p>
&lt;h2 id="解決策m5stickc--jjyアンテナ基板で自作する">解決策：M5StickC + JJYアンテナ基板で自作する&lt;/h2>
&lt;p>「安く自作できないか」と思い、&lt;a href="https://www.switch-science.com/" target="_blank" rel="noopener">スイッチサイエンス&lt;/a>で探したところ、まさにそのものズバリな製品を見つけました。&lt;/p>
&lt;h3 id="jjy-とは">JJY とは&lt;/h3>
&lt;p>JJYとは、情報通信研究機構（NICT）が送信している日本の標準電波の呼出符号です。40kHz（福島局）と60kHz（佐賀局）の2波で日本全国をカバーしており、電波時計はこの信号から正確な時刻を受け取っています。&lt;/p>
&lt;p>今回使うのは、この&lt;strong>JJY信号を模擬して室内に送信する&lt;/strong>ボード（シミュレータ）です。&lt;/p>
&lt;h3 id="必要な部品">必要な部品&lt;/h3>
&lt;p>&lt;strong>JJYアンテナ基板&lt;/strong>（M5StickCまたはATOM用）とM5本体を組み合わせて使います。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>製品&lt;/th>
&lt;th>リンク&lt;/th>
&lt;th>備考&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>M5StickC用JJYアンテナ基板&lt;/td>
&lt;td>&lt;a href="https://www.switch-science.com/products/6527" target="_blank" rel="noopener">スイッチサイエンス&lt;/a>&lt;/td>
&lt;td>M5StickC専用&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>M5Atom用JJYアンテナ基板&lt;/td>
&lt;td>&lt;a href="https://www.switch-science.com/products/6746" target="_blank" rel="noopener">スイッチサイエンス&lt;/a>&lt;/td>
&lt;td>ATOM Lite/Matrix用&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>M5StickC&lt;/td>
&lt;td>&lt;a href="https://www.switch-science.com/products/5517" target="_blank" rel="noopener">スイッチサイエンス&lt;/a>&lt;/td>
&lt;td>&lt;strong>現在販売終了&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>ATOM Lite&lt;/td>
&lt;td>&lt;a href="https://www.switch-science.com/products/6262" target="_blank" rel="noopener">スイッチサイエンス&lt;/a>&lt;/td>
&lt;td>現在も入手可能・推奨&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>ATOM Matrix&lt;/td>
&lt;td>&lt;a href="https://www.switch-science.com/products/6260" target="_blank" rel="noopener">スイッチサイエンス&lt;/a>&lt;/td>
&lt;td>現在も入手可能&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="alert alert-note">
&lt;div>
M5StickCは現在販売終了しています。新たに購入する場合は &lt;strong>ATOM Lite&lt;/strong> と &lt;strong>M5Atom用JJYアンテナ基板&lt;/strong> の組み合わせがおすすめです。
&lt;/div>
&lt;/div>
&lt;p>筆者が購入した時点では基板とM5本体を合わせても5,000円以内でした（価格は変動するため、購入時にご確認ください）。市販の専用送信機と比べると大幅に安価です。&lt;/p>
&lt;h2 id="セットアップ手順">セットアップ手順&lt;/h2>
&lt;p>スイッチサイエンスの製品ページに掲載されているGitHubリポジトリの手順に沿ってセットアップします。&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/botanicfields/BF-018A" target="_blank" rel="noopener">プロダクトページ（GitHub: BF-018A）&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/botanicfields/BF-018A/blob/main/BF-018A/BF-018A.ino" target="_blank" rel="noopener">JJYシミュレータ・プログラム（.ino）&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://qiita.com/BotanicFields/items/a78c80f947388caf0d36" target="_blank" rel="noopener">解説記事：標準電波 JJY もどきを M5StickC / M5Atom の Ticker で生成する（Qiita）&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>手順通りにプログラムを書き込むだけで、特にハマりどころなく完了しました。&lt;/p>
&lt;h2 id="動作確認">動作確認&lt;/h2>
&lt;p>プログラムを書き込んだM5StickCをJJYアンテナ基板に接続し、電波時計のそばで動かします。&lt;/p>
&lt;p>
&lt;figure id="figure-電波時計のすぐ横に置いて受信させる">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="M5StickCとJJYアンテナ基板を電波時計の横に置いた様子" srcset="
/media/jjy/ILCE-7M4-_DSC9136_hu98206837892c374cd2028613e5b10c88_58536_43bc2ce870154c5227402d96206f8f51.webp 400w,
/media/jjy/ILCE-7M4-_DSC9136_hu98206837892c374cd2028613e5b10c88_58536_abb0fd5f0bb8778fd9f895a7e7278219.webp 760w,
/media/jjy/ILCE-7M4-_DSC9136_hu98206837892c374cd2028613e5b10c88_58536_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/jjy/ILCE-7M4-_DSC9136_hu98206837892c374cd2028613e5b10c88_58536_43bc2ce870154c5227402d96206f8f51.webp"
width="760"
height="506"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
電波時計のすぐ横に置いて受信させる
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>電波の到達距離は短く、**時計のすぐ隣（数cm〜数十cm程度）**でないと受信しません。ただし電波時計は一度時刻合わせが完了すれば、次の合わせまでしばらくは正確な時刻を保持するため、実用上は問題ありませんでした。&lt;/p>
&lt;h2 id="課題">課題&lt;/h2>
&lt;p>一点だけ気になった点として、&lt;strong>電子レンジのそばで使用するとWiFi接続が切れ、再接続しない&lt;/strong>ことがありました。その場合は手動で再起動が必要です。電子レンジと離れた場所に設置するか、定期リセットを組み込む改良が考えられます。&lt;/p>
&lt;h2 id="まとめ">まとめ&lt;/h2>
&lt;p>市販の電波送信機を買わずとも、M5StickC / ATOM LiteとJJYアンテナ基板の組み合わせで、数千円台で電波時計の自動時刻合わせ問題を解決できました。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>コスト&lt;/strong>：数千円台（筆者購入時は5,000円以内、市販送信機の1/3〜1/6程度）&lt;/li>
&lt;li>&lt;strong>難易度&lt;/strong>：GitHubのコードを書き込むだけ、はんだ付け不要&lt;/li>
&lt;li>&lt;strong>注意点&lt;/strong>：電波の到達距離が短いため、時計のすぐ隣に設置が必要&lt;/li>
&lt;/ul>
&lt;p>電波が届かない部屋で電波時計を使いたい方の参考になれば幸いです。&lt;/p></description></item><item><title>【Mac】DjangoをHomebrewでインストールしてローカルサーバーを起動する方法【初心者向け】</title><link>https://yre.jp/post/jango_mac/</link><pubDate>Fri, 15 Apr 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/jango_mac/</guid><description>&lt;p>MacにDjangoをインストールしてローカルサーバーを起動するまでの手順を初心者向けにまとめます。Homebrewを使ったPythonの導入から、仮想環境の作成、Djangoプロジェクトの起動まで順を追って解説します。&lt;/p>
&lt;h2 id="検証環境">検証環境&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>項目&lt;/th>
&lt;th>バージョン&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>端末&lt;/td>
&lt;td>MacBook Pro (Apple Silicon)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>OS&lt;/td>
&lt;td>macOS Monterey 12.3.1&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="django-とは">Django とは？&lt;/h2>
&lt;p>&lt;a href="https://www.djangoproject.com/" target="_blank" rel="noopener">Django&lt;/a> は Python で書かれたオープンソースの Web フレームワークです。管理画面・認証・ORM（データベース操作）などの機能があらかじめ揃っており、Webアプリケーションを効率よく開発できます。Instagram や Disqus など大規模サービスでの採用実績もあります。&lt;/p>
&lt;p>この記事では、まず Django を起動するところを目標にします。&lt;/p>
&lt;h2 id="ステップ1homebrew-のインストール">ステップ1：Homebrew のインストール&lt;/h2>
&lt;p>Djangoは Python で動くため、まず Python を用意します。Mac への Python 導入方法はいくつかありますが、パッケージ管理が楽な &lt;a href="https://brew.sh/ja/" target="_blank" rel="noopener">Homebrew&lt;/a> を使う方法がおすすめです。&lt;/p>
&lt;p>ターミナルに以下のコマンドを貼り付けて実行します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">/bin/bash -c &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="k">$(&lt;/span>curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh&lt;span class="k">)&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>管理者パスワードを入力するとインストールが始まります。&lt;code>Installation successful!&lt;/code> が表示されれば完了です。&lt;/p>
&lt;h2 id="ステップ2python-のインストール">ステップ2：Python のインストール&lt;/h2>
&lt;p>Homebrew がインストールできたら Python をインストールします。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">brew install python3
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>インストール後、バージョンを確認します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">python3 --version
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Python 3.x.x と表示されればOK&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="ステップ3python-のパスを通す">ステップ3：Python のパスを通す&lt;/h2>
&lt;p>Homebrew でインストールした Python は &lt;code>/opt/homebrew/bin/&lt;/code> 以下に置かれます。システムのデフォルト Python（&lt;code>/usr/bin/python3&lt;/code>）より優先して使われるよう、パスを設定します。&lt;/p>
&lt;p>現在のパスを確認します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">which python3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># /usr/bin/python3 と表示される場合は設定が必要&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>~/.zprofile&lt;/code> にパスを追記します（macOS Monterey 以降、zsh ではこのファイルがログイン時に自動読み込みされます）。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s1">&amp;#39;export PATH=/opt/homebrew/bin/:$PATH&amp;#39;&lt;/span> &amp;gt;&amp;gt; ~/.zprofile
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>ターミナルを再起動後、確認します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">which python3
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># /opt/homebrew/bin/python3 と表示されればOK&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="ステップ4django-のインストール">ステップ4：Django のインストール&lt;/h2>
&lt;h3 id="作業フォルダの作成">作業フォルダの作成&lt;/h3>
&lt;p>任意の作業ディレクトリを作成して移動します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">mkdir myproject &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="nb">cd&lt;/span> myproject
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="python-仮想環境のセットアップ">Python 仮想環境のセットアップ&lt;/h3>
&lt;p>Python の &lt;strong>仮想環境（venv）&lt;/strong> とは、プロジェクトごとに独立したパッケージ環境を作る仕組みです。異なるプロジェクトで異なるバージョンのライブラリを使い分けられるため、開発では必ず利用することが推奨されています。&lt;/p>
&lt;p>&lt;code>django&lt;/code> という名前の仮想環境を作成し、有効化します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">python3 -m venv django
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">source&lt;/span> ./django/bin/activate
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># (django) がプロンプトの先頭に表示されれば有効化成功&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="pip-で-django-をインストール">pip で Django をインストール&lt;/h3>
&lt;p>仮想環境が有効な状態で Django をインストールします。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">pip3 install django
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>Successfully installed django-x.x.x&lt;/code> と表示されればインストール完了です。&lt;/p>
&lt;h2 id="ステップ5django-プロジェクトの作成と起動">ステップ5：Django プロジェクトの作成と起動&lt;/h2>
&lt;h3 id="プロジェクトの作成">プロジェクトの作成&lt;/h3>
&lt;p>&lt;code>django-admin startproject &amp;lt;プロジェクト名&amp;gt;&lt;/code> でプロジェクトの雛形を生成します。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">django-admin startproject firstproject
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> firstproject
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="ローカルサーバーの起動">ローカルサーバーの起動&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">python3 manage.py runserver
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>起動に成功すると以下のように表示されます。&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">Watching &lt;span class="k">for&lt;/span> file changes with StatReloader
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Performing system checks...
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">System check identified no issues &lt;span class="o">(&lt;/span>&lt;span class="m">0&lt;/span> silenced&lt;span class="o">)&lt;/span>.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">You have &lt;span class="m">18&lt;/span> unapplied migration&lt;span class="o">(&lt;/span>s&lt;span class="o">)&lt;/span>. Your project may not work properly &lt;span class="k">until&lt;/span> you apply the migrations &lt;span class="k">for&lt;/span> app&lt;span class="o">(&lt;/span>s&lt;span class="o">)&lt;/span>: admin, auth, contenttypes, sessions.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Run &lt;span class="s1">&amp;#39;python manage.py migrate&amp;#39;&lt;/span> to apply them.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Django version 4.0.4, using settings &lt;span class="s1">&amp;#39;firstproject.settings&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Starting development server at http://127.0.0.1:8000/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">Quit the server with CONTROL-C.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="alert alert-note">
&lt;div>
&lt;code>unapplied migration(s)&lt;/code> という警告が表示されますが、これはDjangoの内部データベース（管理画面・認証機能用）がまだ初期化されていないためです。動作確認だけなら無視して問題ありません。後で &lt;code>python3 manage.py migrate&lt;/code> を実行すると解消できます。
&lt;/div>
&lt;/div>
&lt;p>ブラウザで &lt;code>http://127.0.0.1:8000/&lt;/code> を開き、Djangoのウェルカムページが表示されれば成功です。&lt;/p>
&lt;h2 id="まとめ">まとめ&lt;/h2>
&lt;p>MacへのDjangoインストール手順をまとめます。&lt;/p>
&lt;ol>
&lt;li>Homebrew をインストール&lt;/li>
&lt;li>&lt;code>brew install python3&lt;/code> で Python を導入&lt;/li>
&lt;li>&lt;code>~/.zprofile&lt;/code> でパスを設定&lt;/li>
&lt;li>&lt;code>python3 -m venv&lt;/code> で仮想環境を作成・有効化&lt;/li>
&lt;li>&lt;code>pip3 install django&lt;/code> でインストール&lt;/li>
&lt;li>&lt;code>django-admin startproject&lt;/code> でプロジェクト作成&lt;/li>
&lt;li>&lt;code>python3 manage.py runserver&lt;/code> でサーバー起動&lt;/li>
&lt;/ol>
&lt;p>次のステップとして、&lt;a href="https://docs.djangoproject.com/ja/stable/intro/tutorial01/" target="_blank" rel="noopener">Django公式チュートリアル&lt;/a>を進めると、ビュー・モデル・テンプレートの基本が体系的に学べます。&lt;/p></description></item><item><title>ConoHa WingでGoogle Search ConsoleをDNS認証で設定する方法【TXTレコード手順】</title><link>https://yre.jp/post/google_search_console_conoha/</link><pubDate>Thu, 31 Mar 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/google_search_console_conoha/</guid><description>&lt;p>ConoHa Wing で独自ドメインを管理している場合に、Google Search Console のドメイン認証（DNS TXTレコード方式）を設定する手順をまとめています。&lt;/p>
&lt;h2 id="google-search-console-とは">Google Search Console とは？&lt;/h2>
&lt;p>&lt;a href="https://search.google.com/search-console/" target="_blank" rel="noopener">Google Search Console&lt;/a> は、Google が無料で提供しているウェブサイト管理ツールです。&lt;/p>
&lt;p>主にできることは以下のとおりです。&lt;/p>
&lt;ul>
&lt;li>自分のサイトが Google 検索に &lt;strong>何回表示されたか&lt;/strong> を確認できる（表示回数）&lt;/li>
&lt;li>検索結果から &lt;strong>何回クリックされたか&lt;/strong> を確認できる（クリック数・CTR）&lt;/li>
&lt;li>どんな &lt;strong>検索キーワード&lt;/strong> で訪問されているか把握できる&lt;/li>
&lt;li>&lt;strong>インデックス登録の状況&lt;/strong> やクロールエラーを確認・修正できる&lt;/li>
&lt;/ul>
&lt;p>ブログや個人サイトを運営するなら、ぜひ早い段階で導入しておくことをおすすめします。&lt;/p>
&lt;h2 id="料金は">料金は？&lt;/h2>
&lt;p>2026年3月時点で、&lt;strong>無料&lt;/strong>で利用できます。Google アカウントがあれば誰でも使用できます。&lt;/p>
&lt;h2 id="設定手順conoha-wing-でのdns認証">設定手順（ConoHa Wing でのDNS認証）&lt;/h2>
&lt;div class="alert alert-note">
&lt;div>
この記事では &lt;strong>ConoHa Wing で独自ドメインのDNSを管理している場合&lt;/strong> のドメイン認証手順をまとめています。
他のDNSサービスを利用している場合は、TXTレコードの追加方法が異なります。
&lt;/div>
&lt;/div>
&lt;h3 id="1-google-search-console-にアクセス">1. Google Search Console にアクセス&lt;/h3>
&lt;p>&lt;a href="https://search.google.com/search-console/" target="_blank" rel="noopener">Google Search Console&lt;/a> にアクセスし、Google アカウントでログインします。&lt;/p>
&lt;h3 id="2-プロパティタイプの選択">2. プロパティタイプの選択&lt;/h3>
&lt;p>
&lt;figure id="figure-プロパティタイプの選択画面">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Google Search Console の初期画面。「ドメイン」と「URLプレフィックス」の2種類のプロパティタイプが表示されている" srcset="
/media/Google_Search_Console_ConoHa/204b507b4f6fffc3182b3e4f1de3cc4e-1536x1232_hucefb5989f3151178c9f8e312cb77359a_192584_9231bff46c2f3b0293956a80dd98a867.webp 400w,
/media/Google_Search_Console_ConoHa/204b507b4f6fffc3182b3e4f1de3cc4e-1536x1232_hucefb5989f3151178c9f8e312cb77359a_192584_27dc49bfec4bc9952b1fcb006026e801.webp 760w,
/media/Google_Search_Console_ConoHa/204b507b4f6fffc3182b3e4f1de3cc4e-1536x1232_hucefb5989f3151178c9f8e312cb77359a_192584_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/Google_Search_Console_ConoHa/204b507b4f6fffc3182b3e4f1de3cc4e-1536x1232_hucefb5989f3151178c9f8e312cb77359a_192584_9231bff46c2f3b0293956a80dd98a867.webp"
width="760"
height="610"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
プロパティタイプの選択画面
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>ログイン後、「プロパティ タイプの選択」画面が表示されます。&lt;strong>「ドメイン」&lt;/strong> を選択してドメイン名を入力します。&lt;/p>
&lt;p>URLプレフィックスではなくドメインを選ぶと、&lt;code>http&lt;/code> / &lt;code>https&lt;/code> や &lt;code>www&lt;/code> あり/なしをまとめて計測できるため便利です。&lt;/p>
&lt;h3 id="3-dnsレコード用の確認コードをコピー">3. DNSレコード用の確認コードをコピー&lt;/h3>
&lt;p>
&lt;figure id="figure-txtレコードの確認コードが表示される">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="「DNSレコードでのドメイン所有権の確認」ダイアログ。google-site-verification から始まるTXTレコード値が表示されている" srcset="
/media/Google_Search_Console_ConoHa/ccca2d3e93931b5ab828506dd160a16a_hu316abda96132b87cb74150a31f9dfd26_212133_48344ff9da0e467235b1c1c779e4ed7a.webp 400w,
/media/Google_Search_Console_ConoHa/ccca2d3e93931b5ab828506dd160a16a_hu316abda96132b87cb74150a31f9dfd26_212133_7d234ccb02d8500a48cf50d43f40a170.webp 760w,
/media/Google_Search_Console_ConoHa/ccca2d3e93931b5ab828506dd160a16a_hu316abda96132b87cb74150a31f9dfd26_212133_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/Google_Search_Console_ConoHa/ccca2d3e93931b5ab828506dd160a16a_hu316abda96132b87cb74150a31f9dfd26_212133_48344ff9da0e467235b1c1c779e4ed7a.webp"
width="760"
height="697"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
TXTレコードの確認コードが表示される
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>「DNSレコードでのドメイン所有権の確認」ダイアログが表示されます。&lt;code>google-site-verification=&lt;/code> から始まる文字列を &lt;strong>[コピー]&lt;/strong> ボタンでコピーします。このコードを次のステップでConoHaに登録します。&lt;/p>
&lt;h3 id="4-conoha-wing-でdnsレコードを追加">4. ConoHa Wing でDNSレコードを追加&lt;/h3>
&lt;p>
&lt;figure id="figure-conoha-wingのdnsレコード編集画面">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="ConoHa WingのDNSレコード編集画面。タイプにTXT、名称に@を指定してTXTレコードを追加する" srcset="
/media/Google_Search_Console_ConoHa/280dcb41a5091f68978cb89892ed9511_hu59caabc7919333e7eeab39a9392f4caf_156156_16bb9329750671c10fd290e202e3a8f4.webp 400w,
/media/Google_Search_Console_ConoHa/280dcb41a5091f68978cb89892ed9511_hu59caabc7919333e7eeab39a9392f4caf_156156_f446abfa8e16e5883321faff5bc97b1f.webp 760w,
/media/Google_Search_Console_ConoHa/280dcb41a5091f68978cb89892ed9511_hu59caabc7919333e7eeab39a9392f4caf_156156_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/Google_Search_Console_ConoHa/280dcb41a5091f68978cb89892ed9511_hu59caabc7919333e7eeab39a9392f4caf_156156_16bb9329750671c10fd290e202e3a8f4.webp"
width="760"
height="423"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
ConoHa WingのDNSレコード編集画面
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>ConoHa にログインし、&lt;strong>Wing → DNS&lt;/strong> を開いて対象ドメインを選択します。「+追加」からTXTレコードを以下のように入力します。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>タイプ&lt;/th>
&lt;th>名称&lt;/th>
&lt;th>TTL値&lt;/th>
&lt;th>値&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>TXT&lt;/td>
&lt;td>@&lt;/td>
&lt;td>3600&lt;/td>
&lt;td>コピーした &lt;code>google-site-verification=...&lt;/code> の文字列&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>入力後、保存ボタンを押して完了です。&lt;/p>
&lt;h3 id="5-所有権の確認">5. 所有権の確認&lt;/h3>
&lt;p>DNSレコードを追加したら、Google Search Console の画面に戻り &lt;strong>[確認]&lt;/strong> を押します。&lt;/p>
&lt;h4 id="所有権を証明できませんでしたと表示される場合">「所有権を証明できませんでした」と表示される場合&lt;/h4>
&lt;p>
&lt;figure id="figure-所有権の確認に失敗した場合">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="「所有権を証明できませんでした」というエラーメッセージが表示されたGoogle Search Consoleの画面" srcset="
/media/Google_Search_Console_ConoHa/c7eda0fe6c7028e15160f249b79456bb_hud92275b2f015d8d55bc278f06fc4efe2_168873_dd93f5c3f1d3097a6ba78b64133a32af.webp 400w,
/media/Google_Search_Console_ConoHa/c7eda0fe6c7028e15160f249b79456bb_hud92275b2f015d8d55bc278f06fc4efe2_168873_30ae5550bc935e878303f9811eb3c477.webp 760w,
/media/Google_Search_Console_ConoHa/c7eda0fe6c7028e15160f249b79456bb_hud92275b2f015d8d55bc278f06fc4efe2_168873_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/Google_Search_Console_ConoHa/c7eda0fe6c7028e15160f249b79456bb_hud92275b2f015d8d55bc278f06fc4efe2_168873_dd93f5c3f1d3097a6ba78b64133a32af.webp"
width="760"
height="640"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
所有権の確認に失敗した場合
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>DNSの変更はインターネット全体に反映されるまで時間がかかります（DNSプロパゲーション）。追加直後は認証が通らないことが多いため、&lt;strong>10〜30分ほど待ってから再度 [確認] を押してみてください&lt;/strong>。&lt;/p>
&lt;h4 id="所有権を証明しましたと表示されたら完了">「所有権を証明しました」と表示されたら完了&lt;/h4>
&lt;p>
&lt;figure id="figure-所有権の確認に成功した場合">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="「所有権を証明しました」というメッセージが表示されたGoogle Search Consoleの画面" srcset="
/media/Google_Search_Console_ConoHa/fc0ba96676c4a36c88d800c44c590863_hu0ecba48653375282a2fafc176b5bcc3a_114933_2651d0750cdcb1d656b561802bcc193f.webp 400w,
/media/Google_Search_Console_ConoHa/fc0ba96676c4a36c88d800c44c590863_hu0ecba48653375282a2fafc176b5bcc3a_114933_aeb5e0d56cf349c89d34260c41a71dc6.webp 760w,
/media/Google_Search_Console_ConoHa/fc0ba96676c4a36c88d800c44c590863_hu0ecba48653375282a2fafc176b5bcc3a_114933_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://yre.jp/media/Google_Search_Console_ConoHa/fc0ba96676c4a36c88d800c44c590863_hu0ecba48653375282a2fafc176b5bcc3a_114933_2651d0750cdcb1d656b561802bcc193f.webp"
width="760"
height="367"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
所有権の確認に成功した場合
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>この画面が表示されれば設定完了です。Google Search Console でサイトのデータが収集されはじめます。&lt;/p>
&lt;h2 id="まとめ">まとめ&lt;/h2>
&lt;p>ConoHa Wing でのGoogle Search Console DNS認証の手順をまとめました。&lt;/p>
&lt;ol>
&lt;li>Google Search Console でプロパティを「ドメイン」で追加&lt;/li>
&lt;li>表示された &lt;code>google-site-verification=...&lt;/code> の文字列をコピー&lt;/li>
&lt;li>ConoHa の DNS 設定画面でTXTレコードを追加&lt;/li>
&lt;li>10〜30分待ってから確認ボタンを押す&lt;/li>
&lt;/ol>
&lt;p>初回設定後、Search Console にデータが蓄積されるまで数日〜1週間ほどかかります。設定できたら、まずは &lt;a href="https://support.google.com/webmasters/answer/7451001" target="_blank" rel="noopener">サイトマップの送信&lt;/a> も行っておくとクロールが促進されます。&lt;/p></description></item><item><title>望遠レンズの持ち運びに！くっつく保護クロス『Stick It Wrapper』実機レビュー【サイズ比較あり】</title><link>https://yre.jp/post/stick_it_wrapper/</link><pubDate>Thu, 31 Mar 2022 00:00:00 +0000</pubDate><guid>https://yre.jp/post/stick_it_wrapper/</guid><description>&lt;p>レンズ保護用として購入した、重ねるとくっつく不思議なクロス &lt;strong>『Stick It Wrapper』&lt;/strong> のレビュー記事です。
「MサイズとXLサイズ、どっちを買えばいいの？」と迷っている方の参考になるよう、実際のレンズとMacBookを使ってサイズ感を検証しました。&lt;/p>
&lt;h1 id="悩み巨大な望遠レンズをどう持ち運ぶか">悩み：巨大な望遠レンズをどう持ち運ぶか&lt;/h1>
&lt;p>先日、ミラーレス用レンズ &lt;a href="https://www.tamron.jp/product/lenses/a057.html" target="_blank" rel="noopener">TAMRON 150-500mm F/5-6.7 Di III VC VXD&lt;/a> を購入しました。
このレンズ、超望遠域をカバーするため結構な大きさがあります。持ち運びするときに裸のままだとバッグの中で擦り傷だらけになりそうだったので、保護ケースを探していました。&lt;/p>
&lt;h2 id="ハードケースは嵩張る風呂敷タイプが正解">ハードケースは嵩張る、風呂敷タイプが正解？&lt;/h2>
&lt;p>専用のハードケースも検討しましたが、ただでさえ大きなレンズがさらに大きくなってしまい、バッグの容量を圧迫するのが難点です。
「もっとコンパクトに、最低限の傷防止ができるものはないか？」とAmazonを物色してたどり着いたのが、&lt;strong>風呂敷タイプ&lt;/strong> の保護クロスでした。&lt;/p>
&lt;h1 id="解決策stick-it-wrapper">解決策：『Stick It Wrapper』&lt;/h1>
&lt;p>購入したのは、「重ねるとくっつく不思議な保護クロス」こと &lt;strong>Stick It Wrapper&lt;/strong> です。
マジックテープのようなバリバリ感はないのに、布同士を重ねるとピタッと張り付く特殊素材です。&lt;/p>
&lt;a href="https://amzn.to/4tYAdd7" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/41ScrrIsTgL._AC_SL1000_.jpg" alt="重ねるとくっつく不思議な保護クロス Stick It Wrapper (Mサイズ デジタル迷彩グレー)">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">重ねるとくっつく不思議な保護クロス Stick It Wrapper (Mサイズ デジタル迷彩グレー)&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a>
&lt;p>今回はサイズ選びで失敗したくなかったので、&lt;strong>Mサイズ&lt;/strong> と &lt;strong>XLサイズ&lt;/strong> の両方を購入してみました。&lt;/p>
&lt;p>
&lt;figure id="figure-汚れが目立ちにくいデジタル迷彩柄を選びました">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Stick It Wrapper デジタル迷彩グレーの外観" srcset="
/media/stick_it_wrapper/ILCE-7M4-_DSC6378_hu3f3b258b4089368a82d6f840ad56feaa_280539_a43277ef9766bf2490aa976919b18466.webp 400w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6378_hu3f3b258b4089368a82d6f840ad56feaa_280539_e1ce5eb293d7e7dea4472ef9c58e7ed7.webp 760w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6378_hu3f3b258b4089368a82d6f840ad56feaa_280539_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/stick_it_wrapper/ILCE-7M4-_DSC6378_hu3f3b258b4089368a82d6f840ad56feaa_280539_a43277ef9766bf2490aa976919b18466.webp"
width="507"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
汚れが目立ちにくいデジタル迷彩柄を選びました
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h1 id="stick-it-wrapper開封レビュー質感と特徴">『Stick It Wrapper』開封レビュー：質感と特徴&lt;/h1>
&lt;p>袋から取り出した第一印象は**「なんかゴワゴワしてる…」**でした。
「レンズを優しく包む＝フワフワ」な手触りを想像していると裏切られます。&lt;/p>
&lt;p>ただ、このゴワゴワ感こそが「くっつく仕組み」の秘密であり、クッション性も多少確保されている証拠でもあります。レンズが傷つく心配はなさそうです。&lt;/p>
&lt;p>
&lt;figure id="figure-パッケージ表面">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="パッケージ" srcset="
/media/stick_it_wrapper/ILCE-7M4-_DSC6390_hu3f3b258b4089368a82d6f840ad56feaa_145792_dc43c4532304b02cadc4e9a50d31b30b.webp 400w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6390_hu3f3b258b4089368a82d6f840ad56feaa_145792_9bbd9bfbf719ac8a154dc1b682dee1f0.webp 760w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6390_hu3f3b258b4089368a82d6f840ad56feaa_145792_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/stick_it_wrapper/ILCE-7M4-_DSC6390_hu3f3b258b4089368a82d6f840ad56feaa_145792_dc43c4532304b02cadc4e9a50d31b30b.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
パッケージ表面
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-パッケージ裏面の説明書き">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="パッケージ裏面" srcset="
/media/stick_it_wrapper/ILCE-7M4-_DSC6391_hu3f3b258b4089368a82d6f840ad56feaa_132111_ed2e470e50ad20742b260136cc03ea82.webp 400w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6391_hu3f3b258b4089368a82d6f840ad56feaa_132111_7c2173f57145002db967a4122d958c67.webp 760w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6391_hu3f3b258b4089368a82d6f840ad56feaa_132111_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/stick_it_wrapper/ILCE-7M4-_DSC6391_hu3f3b258b4089368a82d6f840ad56feaa_132111_ed2e470e50ad20742b260136cc03ea82.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
パッケージ裏面の説明書き
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-高堅というラベルがついています">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="「高堅」ラベル" srcset="
/media/stick_it_wrapper/ILCE-7M4-_DSC6387_hu3f3b258b4089368a82d6f840ad56feaa_88021_b55aaa1624533ff8a2aa020f41a196e2.webp 400w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6387_hu3f3b258b4089368a82d6f840ad56feaa_88021_64f6c71e1e610f902c9fb03489639d91.webp 760w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6387_hu3f3b258b4089368a82d6f840ad56feaa_88021_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/stick_it_wrapper/ILCE-7M4-_DSC6387_hu3f3b258b4089368a82d6f840ad56feaa_88021_b55aaa1624533ff8a2aa020f41a196e2.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
「高堅」というラベルがついています
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-裏側の拡大写真だとフワフワに見えますが実際はしっかりした質感です">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="生地の質感" srcset="
/media/stick_it_wrapper/ILCE-7M4-_DSC6386_hu3f3b258b4089368a82d6f840ad56feaa_81412_b7e31aef37878f78b96ac26c392c26fd.webp 400w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6386_hu3f3b258b4089368a82d6f840ad56feaa_81412_cc0fdefc21b89cd93c3064f33c99dc9a.webp 760w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6386_hu3f3b258b4089368a82d6f840ad56feaa_81412_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/stick_it_wrapper/ILCE-7M4-_DSC6386_hu3f3b258b4089368a82d6f840ad56feaa_81412_b7e31aef37878f78b96ac26c392c26fd.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
裏側の拡大。写真だとフワフワに見えますが、実際はしっかりした質感です
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h1 id="サイズ感の検証">サイズ感の検証&lt;/h1>
&lt;p>実際に機材を包んでみます。&lt;/p>
&lt;h2 id="検証1mサイズ-vs-望遠レンズ-tamron-150-500mm">検証1：Mサイズ vs 望遠レンズ (TAMRON 150-500mm)&lt;/h2>
&lt;p>まずは &lt;strong>Mサイズ (350mm x 350mm)&lt;/strong> で &lt;a href="https://www.tamron.com/jp/consumer/lenses/a057/" target="_blank" rel="noopener">TAMRON 150-500mm&lt;/a> をくるんでみました。&lt;/p>
&lt;p>
&lt;figure id="figure-mサイズだと寸足らずで完全に包むのは難しい">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="レンズにMサイズを使用した場合" srcset="
/media/stick_it_wrapper/ILCE-7M4-_DSC6384_hu3f3b258b4089368a82d6f840ad56feaa_118841_6928f8192f683826f8f698c5a95a0da3.webp 400w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6384_hu3f3b258b4089368a82d6f840ad56feaa_118841_e3ab80e94ef97648db369cc50e83b48a.webp 760w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6384_hu3f3b258b4089368a82d6f840ad56feaa_118841_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/stick_it_wrapper/ILCE-7M4-_DSC6384_hu3f3b258b4089368a82d6f840ad56feaa_118841_6928f8192f683826f8f698c5a95a0da3.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Mサイズだと寸足らずで、完全に包むのは難しい
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>
&lt;figure id="figure-広げた状態でのサイズ比較">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="TAMRON A057 を置いてみる" srcset="
/media/stick_it_wrapper/ILCE-7M4-_DSC6383_hu3f3b258b4089368a82d6f840ad56feaa_145462_e98ad302639a6214bbaafbdfeaa069a2.webp 400w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6383_hu3f3b258b4089368a82d6f840ad56feaa_145462_6c36f474051e295d360d5c21b2d998c0.webp 760w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6383_hu3f3b258b4089368a82d6f840ad56feaa_145462_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/stick_it_wrapper/ILCE-7M4-_DSC6383_hu3f3b258b4089368a82d6f840ad56feaa_145462_e98ad302639a6214bbaafbdfeaa069a2.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
広げた状態でのサイズ比較
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>&lt;strong>結果：ちょっと寸足らずです。&lt;/strong>
ギリギリ巻けなくはないですが、固定力が弱くなり不安が残ります。このクラスの大型レンズには不向きです。
Mサイズは、標準ズームレンズや小型の単焦点レンズ、あるいはコンパクトカメラに最適なサイズ感と言えそうです。&lt;/p>
&lt;h2 id="検証2xlサイズ-vs-望遠レンズ--macbook-pro">検証2：XLサイズ vs 望遠レンズ &amp;amp; MacBook Pro&lt;/h2>
&lt;p>次に &lt;strong>XLサイズ (580mm x 580mm)&lt;/strong> を試してみます。&lt;/p>
&lt;p>
&lt;figure id="figure-xlサイズなら大型レンズも余裕を持って包めます">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="XLサイズの使用感" srcset="
/media/stick_it_wrapper/ILCE-7M4-_DSC6381_hu3f3b258b4089368a82d6f840ad56feaa_202902_ed08a2b201cc15a613bc06ff5f9129e0.webp 400w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6381_hu3f3b258b4089368a82d6f840ad56feaa_202902_7cc44d83f8214f8a82543801f5030fa3.webp 760w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6381_hu3f3b258b4089368a82d6f840ad56feaa_202902_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/stick_it_wrapper/ILCE-7M4-_DSC6381_hu3f3b258b4089368a82d6f840ad56feaa_202902_ed08a2b201cc15a613bc06ff5f9129e0.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
XLサイズなら大型レンズも余裕を持って包めます
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>&lt;strong>結果：余裕です。&lt;/strong>
二重に巻けるほどの余裕があり、保護力も安心感も段違いです。望遠レンズ用なら迷わずXLサイズをおすすめします。&lt;/p>
&lt;h3 id="macbook-pro-16インチもいけるか">MacBook Pro 16インチもいけるか？&lt;/h3>
&lt;p>これだけ大きければノートPCもいけるのでは？と思い、&lt;strong>MacBook Pro 16インチ (2021モデル)&lt;/strong> を包んでみました。&lt;/p>
&lt;p>
&lt;figure id="figure-16インチのmacbook-proがジャストフィット">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="MacBook Pro 16インチ" srcset="
/media/stick_it_wrapper/ILCE-7M4-_DSC6388_hu3f3b258b4089368a82d6f840ad56feaa_78200_b75f7854d842ceb23ebc75c0915cafb1.webp 400w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6388_hu3f3b258b4089368a82d6f840ad56feaa_78200_b631bb8fe4494496b256b3eec389714c.webp 760w,
/media/stick_it_wrapper/ILCE-7M4-_DSC6388_hu3f3b258b4089368a82d6f840ad56feaa_78200_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://yre.jp/media/stick_it_wrapper/ILCE-7M4-_DSC6388_hu3f3b258b4089368a82d6f840ad56feaa_78200_b75f7854d842ceb23ebc75c0915cafb1.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
16インチのMacBook Proがジャストフィット
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>&lt;strong>結果：ジャストフィット！&lt;/strong>
まるで専用設計かのようにピッタリ包めました。PCインナーケースは嵩張るものが多いので、バッグの中身をスリムにしたい時にこの使い方はアリですね。&lt;/p>
&lt;h1 id="サイズ選びのまとめ表">サイズ選びのまとめ表&lt;/h1>
&lt;p>どちらを買えばいいか迷っている方向けに、サイズ別の用途目安をまとめました。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>サイズ&lt;/th>
&lt;th>寸法&lt;/th>
&lt;th>向いている機材&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>M&lt;/td>
&lt;td>350×350mm&lt;/td>
&lt;td>標準ズームレンズ、小型単焦点、コンデジ、小型ガジェット&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>XL&lt;/td>
&lt;td>580×580mm&lt;/td>
&lt;td>大型望遠レンズ、一眼レフボディ、15〜16インチPC&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>TAMRON 150-500mmクラスの大型望遠レンズは迷わず &lt;strong>XLサイズ&lt;/strong> 一択です。&lt;/p>
&lt;h1 id="品質コスパについて">品質・コスパについて&lt;/h1>
&lt;p>品質は「値段なり」といったところでしょうか。高級感はありませんが、機能性は十分です。
注意点として、あくまで「擦り傷防止」のためのアイテムであり、&lt;strong>耐衝撃性は期待できません&lt;/strong>。くるんだまま地面に落としたら、レンズもPCも無事では済まないでしょう。&lt;/p>
&lt;p>「バッグの中で他の機材とぶつかって傷がつくのを防ぐ」という用途に割り切れば、最高の選択肢です。&lt;/p>
&lt;h1 id="総評">総評&lt;/h1>
&lt;p>&lt;strong>「専用ケースほど大掛かりなものは要らないけど、裸でバッグに入れるのは怖い」&lt;/strong>
そんなニッチな悩みを解決してくれるアイテムでした。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Mサイズ&lt;/strong>: 標準レンズ、コンデジ、小物ガジェット向け&lt;/li>
&lt;li>&lt;strong>XLサイズ&lt;/strong>: 望遠レンズ、一眼レフボディ、15-16インチPC向け&lt;/li>
&lt;/ul>
&lt;p>使わない時は畳めばハンカチサイズになるので、カメラバッグに一枚忍ばせておくと重宝します。嵩張らない保護ケースをお探しの方にはおすすめです。&lt;/p>
&lt;a href="https://amzn.to/4tYAdd7" target="_blank" rel="noopener nofollow sponsored" class="amazon-card">
&lt;div class="amazon-card-image">
&lt;img src="https://m.media-amazon.com/images/I/41ScrrIsTgL._AC_SL1000_.jpg" alt="重ねるとくっつく不思議な保護クロス Stick It Wrapper (XLサイズ)">
&lt;/div>
&lt;div class="amazon-card-info">
&lt;div class="amazon-card-title">重ねるとくっつく不思議な保護クロス Stick It Wrapper (XLサイズ)&lt;/div>
&lt;div class="amazon-card-meta">
&lt;span class="amazon-btn">Amazonで見る&lt;/span>
&lt;/div>
&lt;/div>
&lt;/a></description></item></channel></rss>