tag:blogger.com,1999:blog-84041291906101951152024-02-12T19:35:38.431+09:00なおさんの iPhone 日記iPhone を中心とした話題ですが、時々その他の趣味の話も紛れ込みます(笑)
毎日更新とはなかなかいきませんね。なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.comBlogger224125tag:blogger.com,1999:blog-8404129190610195115.post-76337479935216662342024-01-28T17:17:00.000+09:002024-01-28T17:17:14.721+09:00ServoBlaster が使えない。<p> めちゃくちゃ久しぶりの書き込みです。</p><p>たまたま、家の玄関の電灯を制御しているサーボの動作に異変が起きたので、サーボモーターを交換しました。</p><p>とは言え全く動かなくなった訳ではないので、別のRaspberry piに接続して動きを見ようと思いました。が、新たにダウンロードした Raspbian にServoBlaster が上手くインストール出来ません。</p><p>で、色々調べた結果かなり前に開発が停止して全くメンテナンスされておらず、最新のOSでは動作不能という結論に達しました。我が家のサーバーは特に必要もないので古いOSのままで運用しているので問題はないのですが、一応最新版ではどうすれば良いのかだけ調べておきました。</p><p>結論方言えば、Python でプログラムを書けば良いだけの話でした。私の場合 iPhone を使用しているので HomeBridge とシェルで利用していたのでサーボのコントロール部分だけ Python にしてそこを呼べば良い様です。まっ、今の所新しいOSに載せ替える気もないのでそのまましばし放置する予定ですが、備忘録として Python からの制御の仕方を書いておきます。</p><p><br /></p><p>先ずはこんな形で必要なライブラリの読み込みなどを行なっておきます。</p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">import RPi.GPIO as GPIO</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">from time import sleep</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px; min-height: 13px;"><span style="font-variant-ligatures: no-common-ligatures;"></span><br /></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">servo1 = 17 ← 単純にサーボを接続するGPIOのピン番号を定義しておきます。</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">servo2 = 18 ← 同上</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">frequency = 50 ← サーボへのPWD信号の周波数を設定</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px; min-height: 13px;"><span style="font-variant-ligatures: no-common-ligatures;"></span><br /></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">angle_0 = 2.5 /20 * 100 #duty: 12.5% ← 角度をPWMのDuty比で定義する。</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;">angle_90 = 1.5 /20 * 100 #duty: 7.5% ライブラリにして角度を算出した方が実用的でしょうけれど、</p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;">angle_180 = 0.5 /20 * 100 #duty: 2.5% 私の場合今回はあくまでテストなので。</p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px; min-height: 13px;"><span style="font-variant-ligatures: no-common-ligatures;"></span><br /></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">GPIO.setmode(GPIO.BCM) </span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">GPIO.setup(servo1, GPIO.OUT) ← 出力ピンの数(サーボの数)だけ定義する。</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">GPIO.setup(servo2, GPIO.OUT)</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px; min-height: 13px;"><span style="font-variant-ligatures: no-common-ligatures;"></span><br /></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px; min-height: 13px;"><span style="font-variant-ligatures: no-common-ligatures;"></span><br /></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">pwm1 = GPIO.PWM(servo1, frequency) ← サーボと出力先を紐付ける。</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">pwm2 = GPIO.PWM(servo2, frequency)</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;"><br /></span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">pwm1.start(angle_90) ← 初期位置を設定する。</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;">pwm2.start(angle_180)</p><div><span style="font-variant-ligatures: no-common-ligatures;"><br /></span></div><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px; min-height: 13px;"><span style="font-variant-ligatures: no-common-ligatures;"></span><br /></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">pwm1.start(angle_90) ← こんな感じで適時サーボの角度を設定する。</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">pwm2.start(angle_0)</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;"><br /></span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">pwm1.stop() ← 最後に解放して終わり。</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">pwm2.stop()</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">
</span></p><p style="font-family: Menlo; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size-adjust: none; font-size: 11px; font-stretch: normal; font-style: normal; font-variant-alternates: normal; font-variant-caps: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal; margin: 0px;"><span style="font-variant-ligatures: no-common-ligatures;">GPIO.cleanup()</span></p><div><span style="font-variant-ligatures: no-common-ligatures;"><br /></span></div><div>以上です。</div>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-38036773342214124192022-12-31T21:02:00.001+09:002022-12-31T21:03:56.619+09:00PiCar-Xで遊んでみました:ロボットカー(子供向けビジュアル・プログラミングの件)<p> 少し前に「子供向けのプログラミング教室を開催したい」という話をとある会社さんからいただきました。</p><p>普通に考えたら今小学校で教えている「スクラッチ」を使った教室という事になるのでしょうが、既に大手教育教室が先行して開催していますので、もう少し特色のある教室にしないとダメなのでは? という事でネットを探したらちょっと面白い<a href="https://www.sunfounder.com/collections/raspberry-pi-robot-for-intermediate/products/picar-x" target="_blank">ロボットカー</a>を見つけました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSZixtVbXj90OZgAyqjywsJ8LPiuJh80JooOnZcrb5xp39ZRkka4tFcgm8NeCQk3b7PZ2MWPbBBjQqc5xtDTcdxFkfO0NHm_k_H_7N9gPyRQcOAtjvzebfLfnv1JihxomY46AFSDilMG5xcVfsKPor70XmrExj46GdjAbIOLbBclyA4UMQPxk0o8vK/s4032/IMG_0650.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSZixtVbXj90OZgAyqjywsJ8LPiuJh80JooOnZcrb5xp39ZRkka4tFcgm8NeCQk3b7PZ2MWPbBBjQqc5xtDTcdxFkfO0NHm_k_H_7N9gPyRQcOAtjvzebfLfnv1JihxomY46AFSDilMG5xcVfsKPor70XmrExj46GdjAbIOLbBclyA4UMQPxk0o8vK/s320/IMG_0650.jpg" width="320" /></a></div><br /><p><br /></p><p>スクラッチ似の「EzBlock」という言語でプログラミングできるのですが、特徴としてPythonでもプログラム出来るところにあります。</p><p>子供の成長に合わせてビジュアル・プログラミングの考え方をそのままに、本格的なプログラミング言語に移行出来るってことです。</p><p>あるいは親子で一緒にプログラミングを学べるって事にもなります。同じ動作をするロボットを、子供はビジュアル・プログラミングで、親はそれを元に本格的な Pythonでという形ですね。</p><p>という事で話を進めたのですが、残念ながら応募に対して参加者数が少ないと教室の話は流れてしまいました。小規模なエンジニアの派遣会社なので、当初は反応が悪いのは当たり前。</p><p>最初は少々の赤字覚悟で初めてその反応などを利用して宣伝しないとと思うのですが、最初からそこそこの人数を集めるつもりだった様です。</p><p>というわけでプログラミング教室の話はぽしゃったのですが、このロボットカーがあまりにも面白かったので個人的にも購入してしまいました。</p><p>制御の中心となるのは私のブログではお馴染みの Raspberry pi です。なので今回は最新の Raspberry pi 4ではなく、手持ちの3で組み上げました。</p><p>で、会社で購入して組み上げた時の経験からRaspberry pi の搭載向きを前後逆にしています。これはロボットのカメラケーブルが Robot Hat のスピーカーからのノイズが元でかなりノイズが乗ってしまうから。会社のものはノイズの事をメーカーに聞いたところ「Robot Hatのスピーカーが原因」との回答を得たのでちょっと特殊なアルミテープと絶縁ケーブルで対策をしましたが、ふと前後逆に載せてやればケーブルがスピーカーの下を通らないと気づいて試してみました。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEienn5DAZwQNJB8GDn6KG9uPyRuuzR_ty24JvkPQz2D7snixkxDoVmmJR8fZc8C-EF_SuMG-nSAG3sJBLdqW-4AVTsDUSQbJ9B6iUDnpMoZGaUpvXKlycTymAH14yfnIp5_aFamy8Xpt_E4JBpDwX9huqgLxg8nsUZgtosY4Fkx5yzd-NHFKxCWueyx/s4032/IMG_0639.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEienn5DAZwQNJB8GDn6KG9uPyRuuzR_ty24JvkPQz2D7snixkxDoVmmJR8fZc8C-EF_SuMG-nSAG3sJBLdqW-4AVTsDUSQbJ9B6iUDnpMoZGaUpvXKlycTymAH14yfnIp5_aFamy8Xpt_E4JBpDwX9huqgLxg8nsUZgtosY4Fkx5yzd-NHFKxCWueyx/w320-h240/IMG_0639.jpg" width="320" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFXFSmyEwrcWBy-3yzuX-JLZC_TxXN2VSoTCOpiqizFsvQlRIXRcxdj2kZ7Nf8njbvAmyb-7lVWvbYcTp1gloUiXtIj-nhZPCGQZs_SWE3h0UDHWiJr2xSrMafWDqpvENguslGuwATnmt0vz5Kye4YFiryPi8fjs4IIZjU3BxLC8FzePRm9s-Va-96/s4032/IMG_0651.jpg" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFXFSmyEwrcWBy-3yzuX-JLZC_TxXN2VSoTCOpiqizFsvQlRIXRcxdj2kZ7Nf8njbvAmyb-7lVWvbYcTp1gloUiXtIj-nhZPCGQZs_SWE3h0UDHWiJr2xSrMafWDqpvENguslGuwATnmt0vz5Kye4YFiryPi8fjs4IIZjU3BxLC8FzePRm9s-Va-96/w320-h240/IMG_0651.jpg" width="320" /></a></div><p>その結果ノイズ対策が不要になっただけでなく、Raspberry pi のSDカードのすぐ上をカメラケーブルが通過しているということで取り出しや取り付けがやり難かったSDカードのポートが真後ろになって扱いやすくなりました。難を言えばカメラケーブルが長すぎてちょっと邪魔なこと。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPePh8SjjweftpPZjjOAuB6TX4xpS6MWzSTNBlYLjFaumV9K3Z8kh4Yufufhi-8OStMXBiZEz3f2u0LiGdSPK5baeZY5gRYDQIXQ6sUgKBCfFjCUR6aObe4Vzz_UIkSdn5_UWaZ8Xkwj5P9px8V2rSRph2k0EHz4k4oHPDC6-YVJEuK_0ZDbs9Xs3S/s4032/IMG_0652.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPePh8SjjweftpPZjjOAuB6TX4xpS6MWzSTNBlYLjFaumV9K3Z8kh4Yufufhi-8OStMXBiZEz3f2u0LiGdSPK5baeZY5gRYDQIXQ6sUgKBCfFjCUR6aObe4Vzz_UIkSdn5_UWaZ8Xkwj5P9px8V2rSRph2k0EHz4k4oHPDC6-YVJEuK_0ZDbs9Xs3S/w320-h240/IMG_0652.jpg" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpqgcMabyizRtOwzwKFPLIQ8U5eIO5W0O49feLebQMaTvJ8CVWBb6fc8JwMcgj6X7j3t0zmffkfQtyPMJFUVJWAqRcoN91y3MTuYKo3RYZmgg_eHmRQWksmLfmeJt7Qyo8DNnA9Tg4M9VA3gPq39g9iqEqzORJqQ-bFq6e8w7dSe5OFV7-GFCE5Srk/s4032/IMG_0653.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpqgcMabyizRtOwzwKFPLIQ8U5eIO5W0O49feLebQMaTvJ8CVWBb6fc8JwMcgj6X7j3t0zmffkfQtyPMJFUVJWAqRcoN91y3MTuYKo3RYZmgg_eHmRQWksmLfmeJt7Qyo8DNnA9Tg4M9VA3gPq39g9iqEqzORJqQ-bFq6e8w7dSe5OFV7-GFCE5Srk/w200-h150/IMG_0653.jpg" width="200" /></a></div><p>また中央側のUSBポートは使い難くなりましたが、中央側はまず使う事はないので良しとしました。面倒なノイズ対策を考えたらこの方が実用的です。特にSDカードへのアクセスの容易さはちまちまいじる私にはとても便利。たまにつかうキーボードやマウスも無線式なので小さなアダプターを付けるだけですし、右側の前はほぼ空いているので気になりません。</p><p>で、例題のプログラムをちょっと弄って赤いボール(色)を見つけると追いかけるロボットにしてみました。ある程度の大きさ(カメラの画面上ある程度の幅で認識された赤色)以上なら近づき、余り近付きすぎるとちょっとバックする。色が見つからないとカメラを左右に振って赤い色を探す様にしただけで、まるで猫か何かが戯れ付く様な動きになりました。</p><p>これで遊ばせてあげた子供からも「猫みたいで可愛い」と好評でした。</p><p></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/9sS8a8vtXRA" width="320" youtube-src-id="9sS8a8vtXRA"></iframe></div><p style="text-align: center;">遊んだ時の動画です。</p>サポートと何度かやりとりをした結果、早々にオンライン上のチュートリアルの日本語化に動いてくれている様です。<p></p><p>英語のチュートリアルでは変に初心者向けと言いながらも、ある程度の知識がないと迷いそうだというところが散見されたので、その点も注釈を増やす様要望しておいたので改善が期待できそうです。</p><p>大人でも結構遊んでしまえるロボットが作れて、プログラムの勉強にもなるって事で、個人的にちょっとおすすめの教材になっています。</p><p>日本のAmazonや楽天などで購入可能ですが、Raspberry pi 同様に取り扱い業者によっては結構価格差があるので要注意です。</p><p>またサポートを受けるのに注文番号が必要なので、どこから購入するにしても注文番号は必ず控えておいた方が良さそうです。サポートの方は親切で日本語がお上手なので少なくとも日本語のメールでのやり取りで苦労する事が無いのも良いですね。</p><p>今日はちょっと面白かったロボットカーの紹介です。</p><p><br /><br /></p><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><br /><p></p><div><br /></div>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-3370491626717737052022-07-03T15:56:00.000+09:002022-07-03T15:56:49.456+09:00AUの通信障害について感じた事。<p> 今回のAU通信障害、このブログを書いている時点ではまだ復旧していません。</p><p>利用者の皆さんはさぞ不便な思いをされている事でしょう。</p><p>逆にいえば私たちの生活はそこまで携帯通信機器に依存してしまう様になりました。</p><p>少し前まではこんな事はなかった気がします。</p><p>で、今回の障害で一番驚いた事が気象庁のAMEDASがその影響を受けて一部の気象データが取得できなくなってしまった事。私が過去に関わったシステムのほとんどが通信回線を含めたシステムの冗長化がされているのが常識の世界だっただけにこれには驚かされました。</p><p>気象データは災害の防止の為の基礎的なデータとして非常に重視されていると思っていましたが、たかが1通信会社のミス(機器交換時の新しい機器の不具合から切り戻し作業時に輻輳が発生したとNHKのニュースでは伝えています)で通信が途絶えるとは災害発生時に重要なデータが収集できない可能性が高いわけです。</p><p>なぜ、複数社の回線を契約していなかったのか?</p><p>素人の「無駄経費」という指摘でもあったのか?</p><p>ぜひ気象庁の説明を知りたいですが、なぜかこう言った事には普通のメディアは無関心の様で困ります。</p><p>先日の観光船の「業務無線」代わりに「携帯電話でも良い」とか、しかも現場ではそれすら無視して「アマチュア無線」を使っていたなんて件でも「アマチュア無線局」では本当の緊急時を除いて「業務通信」をする事が違法行為であることを伝えたニュースも見ていません。</p><p>ついでに言えばアマチュア無線技士の免許とアマチュア局の免許も取っていたのかすら報道無しですね。ログも取っているとは思えませんから一体どれだけ法律違反を重ねているのやら。</p><p>これは山登りなどする人が「人命が掛かっているんだ」とか言って最初から無免許でアマチュア無線きを連絡に使うなんてケースも同じ。小学生でも合格する様な免許するら取らずに胸を張って違法行為を正当化する人もいる一方、普通に携帯電話が使える様な山登りであっても安全のため複数キャリアの携帯電話を携帯するまともな考えの人もいます。</p><p>閑話休題:話が逸れてしまいました。</p><p>気象庁はAMEDASのデータの重要性をどう考えているのでしょうかね?</p><p>というのはさておき、今回の事故を考えると仕事で使うスマホなどはメインの回線の他に格安SIMで良いのでもう1回線別キャリアのサブ回線を用意しておかないといけないかなと。</p><p>AUの社長が会社と連絡取るのに自分の会社の通信回線が通じなくて苦労した旨の発言もあった様なのでやはり冗長化は大事だなとしみじみ思いました。</p><p>幸い今使っているスマホ(iPhone 13 Mini)はe-SIMと通常のμ-SIMの両方が使えるので別会社の格安SIMを入れようと思います。</p><p>だからどうしたって話ではありますが・・・</p><p><br /></p>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-19800729966308326542021-11-13T17:13:00.003+09:002021-11-14T18:03:05.037+09:00ガレージのシャッターの汚れ<div style="text-align: left;"><h2 style="text-align: left;"><span style="font-size: medium;"> </span><span style="font-size: large;">既に20年近く経つ我が家のガレージのシャッター。</span></h2><span style="font-size: medium;">時折水で流したりはしたもののかなりくたびれた感は免れません。<br />で、車のコート材を塗ったら綺麗になるのかなと思い試してみることに。<br />当然普通はシャンプー洗車してから使うのもですが、試すだけならとわざと水洗いもせずに塗りやすそうな位置の横1本分だけに塗りたくって軽く磨いてみました。<br />塗るのに使ったのはワックスが染み込んだティッシュ型のものを使用後に軽く洗って干してあったウェス。<br />そこに<span face="Roboto, Arial, sans-serif" style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); color: #030303; white-space: pre-wrap;">グラニタイズという会社の</span><span face="Roboto, Arial, sans-serif" style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); color: #030303; white-space: pre-wrap;">クリアコートグレイズという一応コーティング剤になるのかな? これを付けて汚れ落としとコーティングを一遍にしてみました。<br /></span><span face="Roboto, Arial, sans-serif" style="color: #030303;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;">使ったウエスには汚れと共に劣化した塗料と思える色がべっとりと。</span></span></span></div><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW_TQGP71a2Uk8-4kIHC_MQNLrbEwyXnHRMtNevKtx3VZHshZOzZlgkaPnaixlXvI4hOvWhwjdAde2n8nV4KaNeEmKznKXO3e7aKSPSNPaTnDyfeu8Ne2QAsQlTUJPtr82uzLvLG9K0Yo/s2048/IMG_0240.jpeg" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: medium;"><img border="0" data-original-height="1536" data-original-width="2048" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW_TQGP71a2Uk8-4kIHC_MQNLrbEwyXnHRMtNevKtx3VZHshZOzZlgkaPnaixlXvI4hOvWhwjdAde2n8nV4KaNeEmKznKXO3e7aKSPSNPaTnDyfeu8Ne2QAsQlTUJPtr82uzLvLG9K0Yo/w640-h480/IMG_0240.jpeg" width="640" /></span></a></div><p style="text-align: left;"></p><div style="text-align: left;"><span style="font-size: medium;"><span face="Roboto, Arial, sans-serif" style="color: #030303;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;">流石に下地自体が荒れていて色むらもあるので綺麗な光沢とは言えませんが、一部はそこそこ綺麗になりました。<br /></span></span><span face="Roboto, Arial, sans-serif" style="color: #030303;"><span style="caret-color: rgb(3, 3, 3);">1本だけ綺麗でちょっと変ですが、これだけ綺麗だと効果は十分ですね。</span></span></span></div><div style="text-align: left;"><span face="Roboto, Arial, sans-serif" style="color: #030303; font-size: medium;"><span style="caret-color: rgb(3, 3, 3);">壁がうっすらと写っています。</span></span></div><div style="text-align: left;"><span face="Roboto, Arial, sans-serif" style="color: #030303; font-size: medium;"><span style="caret-color: rgb(3, 3, 3);">端の方が塗れていませんけどまぁとりあえずはいいかなと。</span></span></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><span face="Roboto, Arial, sans-serif" style="color: #030303; font-size: medium;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEKrtDjI7ic51mYiRNN8CSLhcbZqJHqoBkhP1rxaDZJKZVNzwGMdc5xStw-WUWmrd1zUjGxz-daxIT_W82NDIFN75d-_wSxFOKASsJ4zEypV64pKC-teQVZEKWnQQgBqabAUChYg8x6IQ/s2048/IMG_0242.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEKrtDjI7ic51mYiRNN8CSLhcbZqJHqoBkhP1rxaDZJKZVNzwGMdc5xStw-WUWmrd1zUjGxz-daxIT_W82NDIFN75d-_wSxFOKASsJ4zEypV64pKC-teQVZEKWnQQgBqabAUChYg8x6IQ/w640-h480/IMG_0242.jpeg" width="640" /></a></span></div><div class="separator" style="clear: both; text-align: center;"><span style="font-size: medium;"><br /></span></div><span face="Roboto, Arial, sans-serif" style="color: #030303; font-size: medium;"></span></div><span face="Roboto, Arial, sans-serif" style="color: #030303; font-size: medium;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;"><br /></span></span><p></p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbFlKy2GasL9SfthENLmdZttlGn1dmSpqsTyctOi0dhGx_aK0t5SZwks9zwgYgIEMczhPknYhm_-A3UwGyYn8yPKRDDpNK6HjTagtZlrrlIQslzENmJWsj7Bj1-b6tGb96_xaUu3j94LA/s2048/IMG_0243.jpeg" style="clear: left; float: left; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMeCAi6-eg6L32_qHZ0mBVWq3uYgf-isNe1fTrPrmXnqGOts9o8Q-K8dgai_svueMwRoAhr3k2VEQSvYtfUWrW1CFLhpR-fnSHQuNW-6pWbAlj0ZHbWxAb1LQBq0MpIjOrBa6taYgolnc/s2048/IMG_0244.jpeg" style="clear: right; display: inline; float: right; margin-bottom: 1em; margin-left: 1em; text-align: center;"><span style="font-size: medium;"><img border="0" data-original-height="2048" data-original-width="1536" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMeCAi6-eg6L32_qHZ0mBVWq3uYgf-isNe1fTrPrmXnqGOts9o8Q-K8dgai_svueMwRoAhr3k2VEQSvYtfUWrW1CFLhpR-fnSHQuNW-6pWbAlj0ZHbWxAb1LQBq0MpIjOrBa6taYgolnc/s320/IMG_0244.jpeg" width="240" /></span></a><span style="font-size: medium;"><img border="0" data-original-height="2048" data-original-width="1536" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbFlKy2GasL9SfthENLmdZttlGn1dmSpqsTyctOi0dhGx_aK0t5SZwks9zwgYgIEMczhPknYhm_-A3UwGyYn8yPKRDDpNK6HjTagtZlrrlIQslzENmJWsj7Bj1-b6tGb96_xaUu3j94LA/s320/IMG_0243.jpeg" width="240" /> </span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbFlKy2GasL9SfthENLmdZttlGn1dmSpqsTyctOi0dhGx_aK0t5SZwks9zwgYgIEMczhPknYhm_-A3UwGyYn8yPKRDDpNK6HjTagtZlrrlIQslzENmJWsj7Bj1-b6tGb96_xaUu3j94LA/s2048/IMG_0243.jpeg" style="clear: left; float: left; margin-bottom: 1em; margin-left: 1em;"><span style="font-size: medium;"><br /></span></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbFlKy2GasL9SfthENLmdZttlGn1dmSpqsTyctOi0dhGx_aK0t5SZwks9zwgYgIEMczhPknYhm_-A3UwGyYn8yPKRDDpNK6HjTagtZlrrlIQslzENmJWsj7Bj1-b6tGb96_xaUu3j94LA/s2048/IMG_0243.jpeg" style="clear: left; float: left; margin-bottom: 1em; margin-left: 1em;"><span style="font-size: medium;"><br /></span></a></p><p><span style="font-size: medium;">これでこの状態がどの程度続きますかね?</span></p><div><span style="font-size: medium;">良さそうなら全体に塗るけれど1本で足りるかな?<br />全体をやるならまずは洗剤付けて洗って、軽く下地処理して・・・ となると面倒だな。<br />洗う程度で下地処理は省略かな?</span></div><div><span style="font-size: medium;"><br /></span></div><div><span style="font-size: medium;">2021/11/14(翌日)の追伸:</span></div><div><span style="font-size: medium;">見直したら1本だけ変にツヤがあるのもおかしいので、全体をざっと洗濯洗剤(泥汚れを落とす時とか、古いワックスカスを落とすので色々なところに応用が効く)でざっと洗ってやったら、それだけで劣化した塗装汚れがかなり流れ出して来ました。</span></div><div><span style="font-size: medium;">で、水ですすいで</span><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); color: #030303; font-size: large; white-space: pre-wrap;">グラニタイズを軽く伸ばしました。</span></div><div><span style="color: #030303; font-size: medium;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;">前日ほど気合を入れていたら途中で挫折するのは目に見えていたので、本当にざっと伸ばしただけ。</span></span></div><div><span style="color: #030303; font-size: medium;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;">でもかなり汚れが目立たなくなりましたね。</span></span></div><div><span style="color: #030303; font-size: medium;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;">写真で変に黒く垂れているのは間に入り込んだ水が垂れているところですね。</span></span></div><div><span style="color: #030303; font-size: medium;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;">乾けば気にならないはず。</span></span></div><div><span style="color: #030303; font-size: medium;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;"><br /></span></span></div><div><span style="color: #030303; font-size: medium;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_QY0FVPqySABzk4AWN8najpANFVSFv91sSnt8Xs1y0IUdaEdTK1OIajEcZTQIvgrNlQ7iy2kZZPeMRPLezkSFOxKbdC5E9Aytbj7kUnhtJLBjtyKcEcYaBe8-BHCCNm_8zbFHsQXm3F4/s2048/IMG_0246.HEIC" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1536" data-original-width="2048" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_QY0FVPqySABzk4AWN8najpANFVSFv91sSnt8Xs1y0IUdaEdTK1OIajEcZTQIvgrNlQ7iy2kZZPeMRPLezkSFOxKbdC5E9Aytbj7kUnhtJLBjtyKcEcYaBe8-BHCCNm_8zbFHsQXm3F4/w640-h480/IMG_0246.HEIC" width="640" /></a></div><br /><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;"><br /></span></span></div><div><span style="color: #030303; font-size: medium;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;">夕方に見直したらムラもほとんど目立たないし、これで様子見することにしました。</span></span></div><div><span style="color: #030303; font-size: medium;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;">ただし、やはり昨日気合を入れて磨いてみた1本だけは写真でも判別可能ですね。</span></span></div><div><span style="color: #030303; font-size: medium;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;">後はなんとなく、撥水性のある</span></span><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); color: #030303; font-size: large; white-space: pre-wrap;">グラニタイズよりも親水性の簡易スプレーのコーティング剤の方が雨で汚れが流れていいのかなって気もします。</span></div><div><span style="color: #030303; font-size: medium;"><span style="background-color: #f9f9f9; caret-color: rgb(3, 3, 3); white-space: pre-wrap;">でもとりあえずなのでわざわざ買ってくるのもね。</span></span></div><p></p><p></p>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-72033401068652612982021-10-03T17:57:00.001+09:002021-10-03T18:47:15.933+09:00Raspberry pi の設定など(その6:シャットダウンスイッチ)<p> <a href="https://snow-digital.blogspot.com/2021/10/raspberry-pi-homebrdge.html" target="_blank">前回までの話</a>でほぼホームアプリ用の設定の話は終わったなと思っていたのですが、シャットダウン・スイッチの話を忘れていました。</p><p>昔 WatchDog のプログラムを書いて実装したのですが、ちょっと面倒だったりしていたのと、最近は変に通信が不安定になってリモートからシャットダウン出来なくなることもなく、あまり不便を感じていませんでした。</p><p>でもやっぱり何かの時にはボタンひとつでシャットダウン出来たり、電源の抜き差しなしで起動できたほうが便利ですよね?</p><p>で、Raspberry pi のシャットダウンの話をググってもほとんどが「プログラム書いて・・・」って話ばかりですが実は今ではそんなことは必要ないんですね。</p><p>設定ファイルに1行書き加えるだけ。ついでなのでランプ動作中は点滅する様にしちゃいましょうかね? Zeroの方は停止すると赤ランプも消えるので必要ないですけど。</p><p>設定は /boot/config.txt にそれぞれの設定を1行書き加えるだけです。</p><p>シャットダウンスイッチの方は、</p><p>dtoverlay=gpio-shutdown,gpio_pin=21,debounce=2000</p><p>電源の方は</p><p>dtparam=pwr_led_trigger=heartbeat # 動作中は電源の赤ランプが点滅</p><p>または</p><p>dtparam=act_led_trigger=heartbeat # 動作周波アクセスの緑ランプが点滅</p><p><br /></p><p>LEDランプの方は説明不要ですよね。</p><p>シャットダウンスイッチの方は、gpio_pin=21 で使用するGPIOピンを指定しますけど、この番号は gpio readall で一覧表示した時のBCMの項目の番号です。21番ならば物理ピンの最後、40番のピンになります。</p><p>で、debounce=2000 はボタンが反応するまでのm秒での指定。2000msですから2秒ですね。</p><p>デフォルトは100なのでちょっと触っただけでシャットダウンしてしまいそうなので2秒にしてみました。</p><p>配線は21番ピンをプッシュオンのスイッチを経由してグランドに繋げるだけ。</p><p>隣のピンがちょうどグランドなので隣同士を繋げば良いということでこのピンにしました。</p><p>ついでに言うと起動時には基盤上の「RUN」と書かれたところをちょっとショートさせれば起動します。ZeroだとちょうどGPIOの最後のすぐ横に並んでいるので良いかなと。</p><p>こっちは動作中に不用意に触れるとリセットがかかるので注意が必要です。</p><p>ボタンを付けておくと便利ですが、不用意に触れても良い様にカバー付きのスイッチか何かの方が良いですね。</p><p>で、動作ランプの方ですが、ちょっと煩わしいほどに点滅してくれるので、別途 LED を追加した方が良さそうな気がしますね。</p><p>その場合は /boot/config.txt に下記を書き加えるだけ。gpiopin=20 で動作中に点灯させるLEDを接続するピン番号を指定してください。20番だとシャットダウンスイッチの1つ上のピンなのでちょうど良いかなと。</p><p> dtoverlay=gpio-poweroff,gpiopin=20,active_low=1</p><p><br /></p><p>とりあえずこんなものかな?</p><p>まだ何か書き忘れていたら続きを書きます。</p>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-70890354622571036502021-10-02T13:27:00.002+09:002021-10-03T18:42:58.649+09:00Raspberry pi の設定など(その5:Homebrdge)<p> さて<a href="https://snow-digital.blogspot.com/2021/09/raspberry-pi_29.html" target="_blank">前回</a>、<a href="https://snow-digital.blogspot.com/2021/10/raspberry-pi.html" target="_blank">前々回</a>で<a href="https://snow-digital.blogspot.com/2021/09/raspberry-pi_29.html" target="_blank">赤外線リモコン</a>と、<a href="https://snow-digital.blogspot.com/2021/10/raspberry-pi.html">サーボモーター</a>の設定を終えたので、そろそろ Homebridge の設定の話に移りましょう。</p><p>何のための赤外線リモコンやサーボモーターなんだと言えば自宅の自動化が基本。</p><p>iPhone ユーザであれば Apple のホームキットにないものもホームアプリからコントロールしたいですからね。</p><p>で、こちらも<a href="https://snow-digital.blogspot.com/2016/09/raspberry-pi-mac-homekit-siri-siri-l.html" target="_blank">昔設定した時</a>からは大幅にバージョンアップしていて設定では結構迷いました。</p><p>まずはインストールから。<a href="https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Raspbian" target="_blank">GitHabのこちらのページ</a>を参照にしてインストールします。</p><p>単純で、<a href="https://snow-digital.blogspot.com/2021/09/raspberry-pi_29.html" target="_blank">node.jsは既にインストール済み</a>のはずなので、</p><p>$ sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x</p><p>で本体のインストールは終了。</p><p>で、設定用のGUIがウェブサイトの形で利用できる様になっています。</p><p>そのインストールが</p><p>$ sudo hb-service install --user homebridge</p><p>ってこれだけ。なお赤字の homebridge のところは利用したい(管理させたい)ユーザー名にします。</p><p>私はそのままpiで利用することにしました。homebridge 専用マシンにするので。</p><p>他のパソコンから http://ラズパイのIPアドレス:8581 で設定画面に入れます。</p><p>Raspberry pi Zero でも問題なく動作してくれます。流石にZeroをGUIで起動して、そこから自分自身にアクセスなんて話だと遅くなりそうですけど。</p><p>ZeroをGUIで起動していても他のPCから繋ぐ分には気になりません。</p><p>以下の様な画面が表示されます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTzMb1SCZzXRNKxdkpBmF27MTDCblKfaI1rSPOxZbiQ3a7oR0FTNI4qFQzImcanD4qHzopF0w_mfVbRw-zPgHxCJ7ivMYntF0f1qA7c6NL-q5WQ38d0moQtkfLgdIMsQQoazoBvR01fzc/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1137" data-original-width="1238" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTzMb1SCZzXRNKxdkpBmF27MTDCblKfaI1rSPOxZbiQ3a7oR0FTNI4qFQzImcanD4qHzopF0w_mfVbRw-zPgHxCJ7ivMYntF0f1qA7c6NL-q5WQ38d0moQtkfLgdIMsQQoazoBvR01fzc/w400-h368/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-10-01+20.19.46.png" width="400" /></a></div><p>デフォルトで「admin」ユーザーでパスワードも「admin」でログインできます。早々にパスワードだけは変えておきましょう。</p><p>ここで各種の設定を行い、homebridgeの再起動やログのチェックができます</p><p></p><p><span face="ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace" style="color: #24292f; font-size: x-small;"><span style="caret-color: rgb(36, 41, 47);"></span></span></p><div class="separator" style="clear: both; text-align: center;"><span face="ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace" style="color: #24292f; font-size: x-small;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR1ZrW1-E9_ANVUy-FXmi8XjFQPCN1KX9_EnZ2GixteP0ll8EP1wXaYP9WlKAxNznKYUNVavbNRMdDNpn5oVwwHPqpLj38Ayv0jbKoPoQ7V1KjDw3mah1vzw17fGbFDnKKheJA5ksSInc/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="957" data-original-width="1257" height="488" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR1ZrW1-E9_ANVUy-FXmi8XjFQPCN1KX9_EnZ2GixteP0ll8EP1wXaYP9WlKAxNznKYUNVavbNRMdDNpn5oVwwHPqpLj38Ayv0jbKoPoQ7V1KjDw3mah1vzw17fGbFDnKKheJA5ksSInc/w640-h488/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-10-01+20.25.29.png" width="640" /></a></span></div><p style="text-align: left;"><br /></p><p style="text-align: left;">左上に「プラグイン」が見えますのでここをクリックして以下の画面を表示してください。</p><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5yPZHxnMCgOHAnlejN7IjuKX1cfcldp9eKgW96da8XRu01u3NhnqhQ_gqR8PcHAIozcDLGCRoeprNfQK93_qj4edzd7jyOQXjR9CDzYFe_iRMloPnob9oWwIxpVniAcUqHqvIOgsK4l0/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="515" data-original-width="1250" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5yPZHxnMCgOHAnlejN7IjuKX1cfcldp9eKgW96da8XRu01u3NhnqhQ_gqR8PcHAIozcDLGCRoeprNfQK93_qj4edzd7jyOQXjR9CDzYFe_iRMloPnob9oWwIxpVniAcUqHqvIOgsK4l0/w640-h264/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-10-01+20.30.10.png" width="640" /></a></div><p style="text-align: left;"><br /></p><p>最初は左上のHomebridge UIだけがインストールされているので、上部のところにプラグインの名前を入れてサーチします。</p><p>特定の製品向けのものもありますが、とりあえず「cmd」で検索すると色々出てきますので、上記の二つ「homebridge Cmd」と「Homebridge Cmdswitch2」をインストールしましょう。</p><p>「Cmd」は単純なオン・オフスイッチです。「Cmdswitch2」はステータスも取れたりします。</p><p>でインストールしたらそれぞれの「設定」ボタンでホームアプリのスイッチに対応するコマンドなどを設定します。</p><p>私の例を以下の示します。まずはエアコンの赤外線リモコン。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnzRgHBh8ADog2L_561ucYt2B9Ee83rvPjBinsLZB7g5x9iGm1FLt2UMsS87eNb6hSaMyiCGPycnXxHYN0Urif1irLejaO0CQkAv1qohkjfRdKRzRcziKhxJH0VtvX5Ym2045S6kCns80/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="778" data-original-width="785" height="635" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnzRgHBh8ADog2L_561ucYt2B9Ee83rvPjBinsLZB7g5x9iGm1FLt2UMsS87eNb6hSaMyiCGPycnXxHYN0Urif1irLejaO0CQkAv1qohkjfRdKRzRcziKhxJH0VtvX5Ym2045S6kCns80/w640-h635/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-10-01+20.37.05.png" width="640" /></a></div><p><br /></p><p>こんな感じでスイッチの名前とオンオフに対するプログラム名(私の場合はシェルスクリプトですけど)を書き込みます。</p><p>下にある「+ ADD ACCESSORY」をクリックして次のスイッチを作成します。</p><p>単純なスイッチはここでできます。で、ステータスも確認するケースは以下です。</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6_xGUtxW650zOSwZ3a5F6emxqiQ9I9uDcBdh9nHDpobIhcK7T-16LNF9CLxzqMYSeuia69anjO7PFWLqUDfe29j48ug8q9dHpgULe6G-95D3ixYpzi5oWaBupHvWLKU0UECqzAVEIAsE/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="707" data-original-width="791" height="571" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6_xGUtxW650zOSwZ3a5F6emxqiQ9I9uDcBdh9nHDpobIhcK7T-16LNF9CLxzqMYSeuia69anjO7PFWLqUDfe29j48ug8q9dHpgULe6G-95D3ixYpzi5oWaBupHvWLKU0UECqzAVEIAsE/w640-h571/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-10-01+20.40.46.png" width="640" /></a></div><span face="ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace" style="color: #24292f;"><span><p style="caret-color: rgb(36, 41, 47); font-size: small; text-align: left;"><span face="ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace" style="color: #24292f; font-size: x-small;"><span style="caret-color: rgb(36, 41, 47);"><br /></span></span></p><p>中身はほぼ同じですね。ステータスのコマンドが増えただけって感じになります。</p><p>終わったら保存しますが、文法上のミスがあると保存できず、その行に赤い印が表示されます。</p><p>設定が終わったら画面右上の電源ボタン風のスイッチをクリックします。homebridgeが再起動して動き出します。</p><p>自動的に最初の画面に戻ってログを表示しますので、動作が安定したらもう使えます。</p><p>iPhoneのホームアプリで右上の「+」ボタンを押して登録を開始してください。カメラで画面のQRコードを読み込んでしまされた手順に従って登録すればOKです。</p><p>私の部屋の照明はステータスを監視しているので、手動でオン・オフしてもちゃんと反映してくれます。</p><p>でもエアコンの方はステータスが取れないので専用リモコンで起動したり停止した場合、iPhone上の表示と異なってしまいますので注意してください。</p><p>次回は<a href="https://snow-digital.blogspot.com/2019/01/it-beebottifttt.html" target="_blank">NODE-RED</a>の話になるかなと思いましたが、これも<a href="https://snow-digital.blogspot.com/2019/01/it-beebottifttt.html" target="_blank">古い記事で問題なく設定できる</a>ので省略(笑)。</p><p>あくまでも自分の備忘録として書いているので。</p><p>さて次は?</p></span></span>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-57847315858272309832021-10-01T19:26:00.008+09:002024-01-28T17:18:15.190+09:00Raspberry pi の設定など(その4:サーボモーターの設定)<p> <a href="https://snow-digital.blogspot.com/2021/09/raspberry-pi_29.html" target="_blank">前回は赤外線リモコンの設定</a>を行いました。</p><p>ということで今回はサーボモーターの設定。</p><p><span style="color: red;"><span style="caret-color: rgb(255, 0, 0);">2024年1月追記:</span></span></p><p><span style="color: red;"><span style="caret-color: rgb(255, 0, 0);">20241年時点の最新 Rasbian において ServoBlaster に対応しなくなっていました。</span></span></p><p><span style="color: red;"><span style="caret-color: rgb(255, 0, 0);">ですので、以下の記事は古い Rasbian OS 利用者だけの限定情報となってしまいました。</span></span></p><p><span style="color: red;"><span style="caret-color: rgb(255, 0, 0);">どの時点で使用出来なくなってしまったかは定かではありませんが、比較的新しいOSの方へは別記事で対応方法を書きますので、こちらをご参照ください。</span></span></p><p><a href="https://draft.blogger.com/blog/post/edit/8404129190610195115/7633747993521666234">https://draft.blogger.com/blog/post/edit/8404129190610195115/7633747993521666234</a></p><p><br /></p><p>ここからは古いOSの利用者限定情報です。</p><p>こちらも昔書いたものと大きく違うところはありません。</p><p>英語ですが<a href="https://mime.co.uk/blog/2016/01/26/mearm-on-the-raspberry-pi/" target="_blank">$ git clone git://github.com/richardghirst/PiBits.git</a>が役立ちます。</p><p>$ git clone git://github.com/richardghirst/PiBits.git</p><p>$ cd PiBits/ServoBlaster/user</p><p>$ make servod</p><p>この3つのコマンドで終了。</p><p>で、今回は起動時のパラメータを説明します。</p><p>実はここもかなりトラブりました。その3で説明した「Node.js」絡みのトラブルだった様です。</p><p>これもオシロスコープでGPIO端子から出ているパルス波形を見ていて気が付きました。</p><p>パルスが間延びしていて変。で起動パラメータをいじって何とか動かしたりはしたものの、Node.js を直したらこちらのトラブルもすっかり治りました。おかげでパラメータの知識も増えました。</p><p>追記:</p><p>その後も同様のトラブルが発生。Raspberry pi 3Bに最新 OSを再インストールした状態で再びサーボが動かなくなりました。</p><p>オシロを見ながら色々調整して「sudo /home/pi/PiBits/ServoBlaster/user/servod --p1pins=11,12 --min=200us --max=10000us --cycle-time=10000 --idle-timeout=2000」なんて設定で、$ echo 0=1180us > /dev/servoblaster で左いっぱい、$ echo 0=280us > /dev/servoblaster で右いっぱいで動きます。</p><p>何だこりゃ?</p><p>再度 PiBits を削除して再インストールしてみたら「sudo /home/pi/shell/PiBits/ServoBlaster/user/servod --p1pins=11,12 --min=200us --max=2400us --idle-timeout=2000」って設定で、190usと1260usで左右目一杯になりました。</p><p>どこがどう影響しているのか皆目検討が・・・ って<a href="https://snow-digital.blogspot.com/2021/09/raspberry-pi_29.html" target="_blank">その3にも書きました</a>が、ほぼ Node.js が悪そうなんですけどね。</p><p>:記追 # どこかのプログラム風に追記してみました(笑)</p><div><br /></div><p>今現在私のサーバーでの起動パラメータは以下の通り。</p><p>$ sudo /home/pi/PiBits/ServoBlaster/user/servod --p1pins=11,12 --min=500us --max=2400us --idle-timeout=2000</p><p>最初の --p1pins=11,12 を指定する事で、サーボの出力を11と12のピンに制限しています。</p><p>デフォルトのままだと 7,11,12,13,15,16,18,22の各ピンに出力されます。</p><p>このピンの番号はGPIO端子だと、GPIO-4、17、18、27、22、23、24、25に相当します。</p><p>でこれがサーボ番号の0から7番に記載順に割り振られます。</p><p>私の場合ピン11(GPIO-17)がサーボ番号0となり、12(GPIO-18)がサーボ番号1になります</p><p>で、次の --min=500us が出力パルスの最小値。0% で指定した時のパルス幅になります。</p><p>出力をμ秒で指定した時にこの数値以下の出力は無視される様です。</p><p>私は「Tower Pro SG90」という一般的なサーボを利用していますが、このデータシートを見ると最小値が500μsecなのでそのまま指定しています。ちなみにμの文字はASCIIにないので小文字のuを使用しているみたいですね。</p><p>デフォルトも500μsecなので指定しなくても大丈夫なのですが、念のため。</p><p>同様にして --max=2400us が最大値側の設定。デフォルトは2500μsecなので100%近くでは飽和してしまうので100%で2400μsecとなる様に指定しています。</p><p>これで%で指定した時にSG90のアームが左右ともフルに振れてくれます。</p><p>最後が --idle-timeout=2000 です。これは出力を指定した時に2000msec、つまり2秒間パルスを出し続けるという事になり、モーターには2秒の間力が加わり続けます。</p><p>とりあえずここだけ押さえていれば大丈夫でしょう。</p><p>私の設定の場合GPIO-17番に繋いだサーボは</p><p>$ echo 0=0% > /dev/serviblaster または $ echo 0=500us > /dev/serviblaster でサーボモータは上から見て右回りに回り切った位置になります。</p><p>左に回し切るには、$ echo 0=100% > /dev/serviblaster または $ echo 0=2400us > /dev/serviblasterとなります。</p><p>中間位置であれば $ echo 0=50% > /dev/serviblaster または $ echo 0=1350us > /dev/serviblaster ですね。</p><p><br /></p>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-69891532703421208842021-09-29T20:03:00.016+09:002021-10-23T16:43:15.123+09:00Raspberry pi の設定など(その3:Node.js の問題と赤外線リモコンの設定)<p> <span style="background-color: white; caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;"> <a href="https://snow-digital.blogspot.com/2021/09/raspberry-pi_20.html" target="_blank">その2</a>ではRaspberry piの基本設定と日本語入力設定、外部へのメール送信設定までを書きました。</span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">で、その続きを書こうとしたらトラブル続出。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">こっちのセットアップが終わって、次のセットアップしたら、こっちが動かなくなったとか色々。ソフトのバージョンの問題とCPUの世代の問題に、いい加減な半田付けのツケが回ってハードのトラブルもあって訳がわからん状態に。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">デスクトップも使って設定したいし、動作が遅いのも嫌だからとRaspberry Zeroで動かす予定のセットアップをRaspberry 3で行っていたのもいけませんでした。ZeroはCPUの世代が古いのでサポートされないものがあって、Zeroに載せ替えたら動かなくなったり。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">と言うことでまずはZeroに載せる予定ならば「Node.js」の問題から。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">Zeroでは最新の Node.js がサポート外になりました。そのためNode.js絡みの問題が発生します。私の場合、NODE-RED のインストールが出来なくなりました。で、こちらは開発元(の有志なのかな?)が未公認のZeroでも動く最新版を公開しています。って何のこっちゃ?</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">社内的には未公認だけど、ユーザーから見りゃ半公認って感じですかね。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;"><a href="https://gist.github.com/Koenkk/11fe6d4845f5275a2a8791d04ea223cb" target="_blank">ここに元ネタ</a>がありますが、基本は以下のコマンドを入れれば良いだけ。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">とりあえずは古いものを削除します。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ which node でnodeのインストール先を調べて、</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ sudo rm -rf /usr/bin/node</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ sudo rm -rf ~/.npm ついでにこっちも</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">でインストールは</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ wget https://nodejs.org/dist/v10.17.0/node-v10.17.0-linux-armv6l.tar.xz</span></span></p><p><span style="caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;">$ t</span><span style="color: #292929; font-family: Lora, serif;"><span style="font-size: 20px;">ar -xvf node-v10.17.0-linux-armv6l.tar.xz</span></span></p><p><span style="caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;">$ </span><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">sudo cp -R node-v10.17.0-linux-armv6l/* /usr/local/</span></span></p><p><span style="caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;">$ </span><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">rm -rf node-v10.17.0-linux-armv6l node-v10.17.0-linux-armv6l.tar.xz</span></span></p><p><span style="background-color: white; caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;">最初のURLはそのうちにバージョンが進めばまた変わる(サポートしてくれるなら)ので、ちゃんとトレースしておくべきなんでしょうけど、まあその時はその時。というよりZeroのCPUのバージョンアップを期待していたりして。(笑)</span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">しかしたったこれだけの事にかなり労力を使ってしまいました。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">多分他の作業に先立って行えば楽なのではないかと・・・ 私はトラブってから対応したのですけど。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;"><br /></span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">で、Node.js が片付いたので、赤外線リモコンに移りましょう。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">こっちのハードウェアの話などは<a href="https://snow-digital.blogspot.com/2016/09/siri.html" target="_blank">昔の情報のままで良い</a>ので割愛。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">で、設定の方は少し変わります。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">英語ですが<a href="https://devkimchi.com/2020/08/12/turning-raspberry-pi-into-remote-controller/" target="_blank">このサイトが詳しくて</a>分かりやすかったです。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">私も苦手な英語ですが、私以上に苦手な方もいる様なのでとりあえず手順に沿って必要な箇所だけ書き出させて頂きます。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">まずは lirc のインストール。原文では古いapt-getになってますがここではaptにしておきます。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="background-color: white; caret-color: rgb(41, 41, 41); font-size: 20px;">$ </span><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">sudo apt install lirc</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">インストールはこれだけ。次に設定ですが、</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ sudo nano /boot/config.txt 別にnano でなくても好きなエディタで編集してください。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">で、以下の部分コメント行のコメント(#)を外します。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">#dtoverlay=gpio-ir,gpio_pin=17</span></span></p><p></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">#dtoverlay=gpio-ir-tx,gpio_pin=18</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">なお、17と18は原文では逆に設定し直していますが実際に送受信に使うピン番号(BCMの番号)を指定してください。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">私は22と23にしています。物理ピン番号では15、16番、GPIO番号だと3と4になりますね。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">ちなみに私の場合17と18はサーボモーター用に使っています。問題がない限り先に製作したサーバーで使用した番号を使って、混乱を避ける様にしています。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">次がlircのオプション指定。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ sudo nano /etc/lirc/lirc_options.conf</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">で次の部分を修正します。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">#driver = devinput</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">#device = auto</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">driver = default</span></span></p><p></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">device = /dev/lirc0</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">上の2行をコメントアウトして、下の2行を追加します。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ sudo reboot で再起動すればlircが利用可能になります。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ sudo systemctl status lircd</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">コマンドでステータスが見れる様になります。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">で、とりあえず赤外線リモコンのコードを読み込んでみます。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ sudo mode2 -m -d /dev/lirc0</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">でここで以下の様なエラーに見舞われた方(参考にしているサイトの方も私もエラーが出ました)はとりあえず /boot/config.txt を編集して以下の行をコメントアウトしてください。</span></span></p><p><span style="color: #292929; font-family: Lora, serif;"><span style="font-size: 20px;">#dtoverlay=gpio-ir-tx,gpio_pin=18</span></span></p><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">要するにとりあえず出力側は無視して使おうと言う事です。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">修正後に再度リブートし、さらに</span></span><span style="background-color: white; caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;">一度</span><span style="caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;">lircdを停止します。</span></div><div><span style="caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;">$ </span><span style="caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;">sudo systemctl stop lircd</span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">これでもう一度リモコンを読み込んでみましょう。</span></span></div><div><p><span style="color: #292929; font-family: Lora, serif;"><span style="font-size: 20px;">$ sudo mode2 -m -d /dev/lirc0</span></span></p></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">画面にバラバラと数字の羅列が出てきていたら読み込み成功です。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">停止は ctl + c で強制的の止めてください。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;"><a href="https://youtu.be/WrTlpCHl1ZA" target="_blank">ここに元のサイトの動画があります。</a></span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;"><br /></span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">で私の場合ここでも上手く読めませんでした。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">原因はGPIOの設定。どこかで間違って設定したのか・・・</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">GPIO 3が出力になっていました。上の例だとGPIO 0に相当しますね。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">悩んだ挙句 $ gpio mode 3 in ってこれだけで解決。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;"><br /></span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">どこで気がついたかと言うと、受信素子にオシロスコープを繋いで波形を見ていて気がつきました。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">素子単体で測定するとちゃんと信号が出ている。しかしGPIOに接続すると信号が出ない。信号線はプルアップされているはずなのに、なぜかほぼゼロ。ん? 何で? って $ gpio readall で眺めていて気がつきました。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">自分でもアホだなーと思います。でも在宅勤務のおかげで客先デモ用のオシロスコープが家にあって助かりました。普段は邪魔だ!と言っていましたけど。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">以下の様に表示されればOKです。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">この中で重要なのは赤字の部分。後で説明します。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;"><br /></span></span></div><div><span style="font-family: Lora, serif;"><span><div style="color: #292929;"><span style="font-size: 20px;">$ sudo mode2 -m -d /dev/lirc0</span></div><div style="color: #292929;"><span style="font-size: 20px;">Using driver default on device /dev/lirc0</span></div><div style="color: #292929;"><span style="font-size: 20px;">Trying device: /dev/lirc0</span></div><div style="color: #292929;"><span style="font-size: 20px;">Using device: /dev/lirc0</span></div><div style="color: #292929;"><span style="font-size: 20px;">Running as regular user pi</span></div><div style="color: #292929;"><span style="font-size: 20px;"> 16777215</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div><span style="font-size: 20px;"><span style="color: #292929;"> </span><span style="color: red;">3208 1537 443 360 465 1129</span></span></div><div><span style="font-size: 20px;"><span style="color: red;"> 443 361 441 1152 444 358</span></span></div><div><span style="font-size: 20px;"><span style="color: red;"> 444 1153 465 335 444 1160</span></span></div><div><span style="font-size: 20px;"><span style="color: red;"> 459 343 466 1131 466 335</span></span></div><div><span style="color: red; font-size: 20px;"> </span><span style="color: red;"><span style="font-size: 20px;">・</span></span></div><div><span style="color: red; font-size: 20px;"> </span><span style="color: red;"><span style="font-size: 20px;">・</span></span></div><div><span style="color: red;"><span style="font-size: 20px;"> ・</span></span></div><div><span style="color: red; font-size: 20px;"> 467 1130 451 324 493 343</span></div><div><span style="font-size: 20px;"><span style="color: red;"> 467 1130 466 336 466 335</span></span></div><div><span style="font-size: 20px;"><span style="color: red;"> 466 336 466 1130 466 336</span></span></div><div><span style="font-size: 20px;"><span style="color: red;"> 467 336 466 1126 465</span><span style="color: #292929;"> 139479-pulse^C</span></span></div><div style="caret-color: rgb(41, 41, 41); color: #292929; font-size: 20px;"><br /></div></span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;"><br /></span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">さてちゃんと信号が取れるのを確認したら次のステップ。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ sudo irrecord -d /dev/lirc0 --disable-namespace</span></span></div><div><span style="caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;">のコマンドで赤外線を読んで行きますが、ここが分かりにくかったです。</span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">最初にごちゃごちゃと説明が出てきてとりあえずボタンを押せと言われます。ボタンを押すたびにドット(.)が表示されるのですが一体何?</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;"><br /></span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">実はこの時はリモコンの色々なボタンを準不動で押しまくってください。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">実際の機器が動かない様に送受光部分を塞いでおく方がいいですね。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">ともかく同じリモコンの色々なボタンを押す事で、リモコンのパルスの出力精度と受信精度のばらつきを測定している様です。</span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">コマンドを叩くと以下の様にごちゃごちゃとメッセージが表示されます。</span></span></div><div><span style="font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;"><span style="color: #292929;">赤字が入力。で、単なるリターンの入力は赤字で「</span><span style="color: red;">rt</span><span style="color: #292929;">」としておきました。</span></span></span></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">TV用のリモコンを登録している様子です。</span></span></div><div><br /></div><div><span style="font-family: Lora, serif;"><span><div><span style="font-size: 20px;"><span style="color: #292929;">$ </span><span style="color: red;">sudo irrecord -d /dev/lirc0 --disable-namespace</span></span></div><div style="color: #292929;"><span style="font-size: 20px;">Running as regular user pi</span></div><div style="color: #292929;"><span style="font-size: 20px;">Using driver default on device /dev/lirc0</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">irrecord - application for recording IR-codes for usage with lirc</span></div><div style="color: #292929;"><span style="font-size: 20px;">Copyright (C) 1998,1999 Christoph Bartelmus(lirc@bartelmus.de)</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">This program will record the signals from your remote control</span></div><div style="color: #292929;"><span style="font-size: 20px;">and create a config file for lircd.</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">A proper config file for lircd is maybe the most vital part of this</span></div><div style="color: #292929;"><span style="font-size: 20px;">package, so you should invest some time to create a working config</span></div><div style="color: #292929;"><span style="font-size: 20px;">file. Although I put a good deal of effort in this program it is often</span></div><div style="color: #292929;"><span style="font-size: 20px;">not possible to automatically recognize all features of a remote</span></div><div style="color: #292929;"><span style="font-size: 20px;">control. Often short-comings of the receiver hardware make it nearly</span></div><div style="color: #292929;"><span style="font-size: 20px;">impossible. If you have problems to create a config file READ THE</span></div><div style="color: #292929;"><span style="font-size: 20px;">DOCUMENTATION at https://sf.net/p/lirc-remotes/wiki</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">If there already is a remote control of the same brand available at</span></div><div style="color: #292929;"><span style="font-size: 20px;">http://sf.net/p/lirc-remotes you might want to try using such a</span></div><div style="color: #292929;"><span style="font-size: 20px;">remote as a template. The config files already contains all</span></div><div style="color: #292929;"><span style="font-size: 20px;">parameters of the protocol used by remotes of a certain brand and</span></div><div style="color: #292929;"><span style="font-size: 20px;">knowing these parameters makes the job of this program much</span></div><div style="color: #292929;"><span style="font-size: 20px;">easier. There are also template files for the most common protocols</span></div><div style="color: #292929;"><span style="font-size: 20px;">available. Templates can be downloaded using irdb-get(1). You use a</span></div><div style="color: #292929;"><span style="font-size: 20px;">template file by providing the path of the file as a command line</span></div><div style="color: #292929;"><span style="font-size: 20px;">parameter.</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Please take the time to finish the file as described in</span></div><div style="color: #292929;"><span style="font-size: 20px;">https://sourceforge.net/p/lirc-remotes/wiki/Checklist/ an send it</span></div><div style="color: #292929;"><span style="font-size: 20px;">to <lirc@bartelmus.de> so it can be made available to others.</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div><span style="font-size: 20px;"><span style="color: #292929;">Press RETURN to continue. </span><span style="color: red;">rt</span></span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Checking for ambient light creating too much disturbances.</span></div><div style="color: #292929;"><span style="font-size: 20px;">Please don't press any buttons, just wait a few seconds...</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">No significant noise (received 0 bytes)</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div><span style="font-size: 20px;"><span style="color: #292929;">Enter name of remote (only ascii, no spaces) :</span><span style="color: red;">TV</span></span></div><div style="color: #292929;"><span style="font-size: 20px;">Using TV.lircd.conf as output filename</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Now start pressing buttons on your remote control.</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">It is very important that you press many different buttons randomly</span></div><div style="color: #292929;"><span style="font-size: 20px;">and hold them down for approximately one second. Each button should</span></div><div style="color: #292929;"><span style="font-size: 20px;">generate at least one dot but never more than ten dots of output.</span></div><div style="color: #292929;"><span style="font-size: 20px;">Don't stop pressing buttons until two lines of dots (2x80) have</span></div><div style="color: #292929;"><span style="font-size: 20px;">been generated.</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Press RETURN now to start recording.</span></div><div style="color: #292929;"><span style="font-size: 20px;">(注:ここでリモコンの色々なボタンを押すと以下の様にドットが表示される)</span></div><div style="color: #292929;"><span style="font-size: 20px;">................................................................................</span></div><div style="color: #292929;"><span style="font-size: 20px;">Got gap (74399 us)}</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Please keep on pressing buttons like described above.</span></div><div style="color: #292929;"><div><span style="font-size: 20px;">(注:ここでもリモコンの色々なボタンを押す。前回は反応しなかったボタンも反応する様になってくる。)</span></div><div><span style="font-size: 20px;"><br /></span></div></div><div style="color: #292929;"><span style="font-size: 20px;">...............................................................................</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Please enter the name for the next button (press <ENTER> to finish recording)</span></div><div><span style="font-size: 20px;"><span style="color: red;">on</span></span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Now hold down button "on".</span></div><div style="color: #292929;"><span style="font-size: 20px;">(注:入力した文字に対応するボタンを押す。)</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Please enter the name for the next button (press <ENTER> to finish recording)</span></div><div><span style="font-size: 20px;"><span style="color: red;">bs</span></span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">(注:以下同様にボタンの名前と対応するボタンを押すのとのセット)</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Now hold down button "bs".</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Please enter the name for the next button (press <ENTER> to finish recording)</span></div><div><span style="font-size: 20px;"><span style="color: red;">ch1</span></span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Now hold down button "ch1".</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Please enter the name for the next button (press <ENTER> to finish recording)</span></div><div style="color: #292929;"><span style="font-size: 20px;">ch2</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Now hold down button "ch2".</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">・</span></div><div style="color: #292929;"><span style="font-size: 20px;">・</span></div><div style="color: #292929;"><span style="font-size: 20px;">・</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">Please enter the name for the next button (press <ENTER> to finish recording)</span></div><div><span style="font-size: 20px;"><span style="color: red;">rt</span></span></div><div style="color: #292929;"><span style="font-size: 20px;">Checking for toggle bit mask.</span></div><div style="color: #292929;"><span style="font-size: 20px;">Please press an arbitrary button repeatedly as fast as possible.</span></div><div style="color: #292929;"><span style="font-size: 20px;">Make sure you keep pressing the SAME button and that you DON'T HOLD</span></div><div style="color: #292929;"><span style="font-size: 20px;">the button down!.</span></div><div style="color: #292929;"><span style="font-size: 20px;">If you can't see any dots appear, wait a bit between button presses.</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div><span style="font-size: 20px;"><span style="color: #292929;">Press RETURN to continue. </span><span style="color: red;">rt</span></span></div><div style="color: #292929;"><span style="font-size: 20px;">Timeout (10 sec), giving up</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">、で ls をかけると以下の様なテンポラリファイルが出来上がっています。</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">-rw------- 1 pi pi 1540 10月 1 08:25 irrecord-tmp-mP051A</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">中身を cat してやるとこんな感じです。</span></div><div style="color: #292929;"><br /></div><div style="color: #292929;"><span style="font-size: 20px;"># Please take the time to finish this file as described in</span></div><div style="color: #292929;"><span style="font-size: 20px;"># https://sourceforge.net/p/lirc-remotes/wiki/Checklist/</span></div><div style="color: #292929;"><span style="font-size: 20px;"># and make it available to others by sending it to</span></div><div style="color: #292929;"><span style="font-size: 20px;"># <lirc@bartelmus.de></span></div><div style="color: #292929;"><span style="font-size: 20px;">#</span></div><div style="color: #292929;"><span style="font-size: 20px;"># This config file was automatically generated</span></div><div style="color: #292929;"><span style="font-size: 20px;"># using lirc-0.10.1(default) on Fri Oct 1 08:22:49 2021</span></div><div style="color: #292929;"><span style="font-size: 20px;"># Command line used: -d /dev/lirc0 --disable-namespace</span></div><div style="color: #292929;"><span style="font-size: 20px;"># Kernel version (uname -r): 5.10.60-v7+</span></div><div style="color: #292929;"><span style="font-size: 20px;">#</span></div><div style="color: #292929;"><span style="font-size: 20px;"># Remote name (as of config file): TV</span></div><div style="color: #292929;"><span style="font-size: 20px;"># Brand of remote device, the thing you hold in your hand:</span></div><div style="color: #292929;"><span style="font-size: 20px;"># Remote device model nr:</span></div><div style="color: #292929;"><span style="font-size: 20px;"># Remote device info url:</span></div><div style="color: #292929;"><span style="font-size: 20px;"># Does remote device has a bundled capture device e. g., a</span></div><div style="color: #292929;"><span style="font-size: 20px;"># usb dongle? :</span></div><div style="color: #292929;"><span style="font-size: 20px;"># For bundled USB devices: usb vendor id, product id</span></div><div style="color: #292929;"><span style="font-size: 20px;"># and device string (use dmesg or lsusb):</span></div><div style="color: #292929;"><span style="font-size: 20px;"># Type of device controlled</span></div><div style="color: #292929;"><span style="font-size: 20px;"># (TV, VCR, Audio, DVD, Satellite, Cable, HTPC, ...) :</span></div><div style="color: #292929;"><span style="font-size: 20px;"># Device(s) controlled by this remote:</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">begin remote</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;"> name TV</span></div><div style="color: #292929;"><span style="font-size: 20px;"> bits 48</span></div><div style="color: #292929;"><span style="font-size: 20px;"> flags SPACE_ENC</span></div><div style="color: #292929;"><span style="font-size: 20px;"> eps 30</span></div><div style="color: #292929;"><span style="font-size: 20px;"> aeps 100</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;"> header 3505 1691</span></div><div style="color: #292929;"><span style="font-size: 20px;"> one 484 1256</span></div><div style="color: #292929;"><span style="font-size: 20px;"> zero 484 384</span></div><div style="color: #292929;"><span style="font-size: 20px;"> ptrail 484</span></div><div style="color: #292929;"><span style="font-size: 20px;"> gap 74399</span></div><div style="color: #292929;"><span style="font-size: 20px;"> toggle_bit_mask 0x0</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;"> begin codes</span></div><div style="color: #292929;"><span style="font-size: 20px;"> on 0x40040100BCBD</span></div><div style="color: #292929;"><span style="font-size: 20px;"> bs 0x400401400E4F</span></div><div style="color: #292929;"><span style="font-size: 20px;"> gd 0x400401402E6F</span></div><div style="color: #292929;"><span style="font-size: 20px;"> ch1 0x400401900293</span></div><div style="color: #292929;"><span style="font-size: 20px;"> ch2 0x400401908213</span></div><div style="color: #292929;"><span style="font-size: 20px;"> ch4 0x40040190C253</span></div><div style="color: #292929;"><span style="font-size: 20px;"> ch5 0x4004019022B3</span></div><div style="color: #292929;"><span style="font-size: 20px;"> ch6 0x40040190A233</span></div><div style="color: #292929;"><span style="font-size: 20px;"> end codes</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><span style="font-size: 20px;">end remote</span></div><div style="color: #292929;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929;"><br /></div></span></span></div><div><span style="color: #292929; font-family: Lora, serif;">しかし私の場合、そのままでは上手く動作しませんでした。</span></div><div><div style="color: #292929; font-family: Lora, serif;">別途 $ <span style="font-size: 20px;">sudo mode2 -m -d /dev/lirc0 のコマンドをリダイレクトして適当なテキストファイルに書き出した生データを編集してやる必要がありました。</span></div><div style="font-family: Lora, serif;"><span style="font-size: 20px;"><div style="caret-color: rgb(0, 0, 0); font-family: -webkit-standard;"><span style="font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41);">$ <span style="color: red;">sudo mode2 -m -d /dev/lirc0 > 「適当なファイル名」</span></span></span></div><div style="color: #292929;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41);"><br /></span></span></div></span></div><div style="color: #292929; font-family: Lora, serif;"><span style="font-size: 20px;"> begin codesと</span><span style="font-size: 20px;">end codesの代わりに</span><span style="font-size: 20px;">begin raw_codesと</span><span style="font-size: 20px;"> </span><span style="font-size: 20px;">end raw_codesで挟んで</span></div><div style="color: #292929; font-family: Lora, serif;"><span style="font-size: 20px;">各ボタンに対応する先ほど赤字で示した生データ部分を書き込みます。</span></div><div style="color: #292929; font-family: Lora, serif;"><span style="font-size: 20px;">以下の様な感じです。</span></div><div style="color: #292929; font-family: Lora, serif;"><span style="font-size: 20px;"><br /></span></div><div style="color: #292929; font-family: Lora, serif;"><div><span style="font-size: 20px;"> begin raw_codes</span></div><div style="font-size: 20px;"><br /></div></div><div><div style="color: #292929; font-family: Lora, serif;"><span style="font-size: 20px;"> name on</span></div><div style="color: #292929; font-family: Lora, serif;"><span style="font-size: 20px;"><br /></span></div><div style="font-family: Lora, serif;"><div style="caret-color: rgb(0, 0, 0); color: black;"><span style="font-size: 20px;"><span style="color: #292929;"> </span><span style="color: red;">3208 1537 443 360 465 1129</span></span></div><div style="caret-color: rgb(0, 0, 0); color: black;"><span style="font-size: 20px;"><span style="color: red;"> 443 361 441 1152 444 358</span></span></div><div style="caret-color: rgb(0, 0, 0); color: black;"><span style="font-size: 20px;"><span style="color: red;"> 444 1153 465 335 444 1160</span></span></div><div style="caret-color: rgb(0, 0, 0); color: black;"><span style="font-size: 20px;"><span style="color: red;"> 459 343 466 1131 466 335</span></span></div><div style="caret-color: rgb(0, 0, 0); color: black;"><br /></div><div style="caret-color: rgb(0, 0, 0);"><span style="color: red; font-size: 20px;"> </span><span style="color: red;"><span style="font-size: 20px;">・</span></span></div><div style="caret-color: rgb(0, 0, 0);"><span style="color: red; font-size: 20px;"> </span><span style="color: red;"><span style="font-size: 20px;">・</span></span></div><div style="caret-color: rgb(0, 0, 0);"><span style="color: red;"><span style="font-size: 20px;"> ・</span></span></div><div style="caret-color: rgb(0, 0, 0); color: black;"><span style="color: red; font-size: 20px;"> 467 1130 451 324 493 343</span></div><div style="caret-color: rgb(0, 0, 0); color: black;"><span style="font-size: 20px;"><span style="color: red;"> 467 1130 466 336 466 335</span></span></div><div style="caret-color: rgb(0, 0, 0); color: black;"><span style="font-size: 20px;"><span style="color: red;"> 466 336 466 1130 466 336</span></span></div><div style="caret-color: rgb(0, 0, 0); color: black;"><span style="font-size: 20px;"><span style="color: red;"> 467 336 466 1126 465</span></span></div><div style="caret-color: rgb(0, 0, 0); color: black;"><span style="font-size: 20px;"><span style="color: red;"><br /></span></span></div></div><div style="color: #292929; font-family: Lora, serif;"><span style="font-size: 20px;"> end raw_codes</span></div><div style="color: #292929; font-family: Lora, serif; font-size: 20px;"><br /></div><div><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">end remote</span></span></div></div><div><p style="font-stretch: normal; line-height: normal; margin: 0px;"><br /></p><p style="font-stretch: normal; line-height: normal; margin: 0px;">最後にこのファイルを /etc/lirc/lircd.conf.d/<span style="color: #d73a49;"><span style="caret-color: rgb(215, 58, 73);">適当なファイル名</span></span>.conf にコピーしてやります。</p><p style="font-stretch: normal; line-height: normal; margin: 0px;">後もう一つ、同じフォルダに devinput.lircd.conf というファイルがあるのでこの最後の拡張子を適当なものに変更しておきます。</p><p style="font-stretch: normal; line-height: normal; margin: 0px;">ここのフォルダにある .conf というファイルは全て読み込まれる様です。</p><p style="font-stretch: normal; line-height: normal; margin: 0px;">で、上記の例だと最初にあるName である TV と各生データの名前、on を組み合わせて送信に使用します。</p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><br /></p><p style="font-stretch: normal; line-height: normal; margin: 0px;">$<span style="color: red;"> irsend SEND_ONCE TV on</span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><br /></p><p style="font-stretch: normal; line-height: normal; margin: 0px;">という感じですね。</p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><br /></p><p style="font-stretch: normal; line-height: normal; margin: 0px;">おっと、受信時にエラーを起こして<span style="caret-color: rgb(41, 41, 41); color: #292929; font-family: Lora, serif; font-size: 20px;">/boot/config.txt を編集した方は元に戻してリブートするのをお忘れなく。</span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">また編集していなかった方は lircd の再起動をお忘れなく。</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">いっそリブートしたほうが早いかな?</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;"><br /></span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">追記:</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">忘れかけておりましたが、私は時々時間指定でコマンドを発行します。</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">通常は Crontab で設定すれば良いのでしょうが、私の場合 Crontab で毎日の日の出・日の入り時刻をチェックし、その日の入り時刻をベースにしたコマンドを実行したりしています。</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">そのために必要なコマンドが「at」コマンドですが、Rspberry pi では標準ではインストールされておりません。</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">なので、</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">$ sudo apt install at</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">でインストールしています。</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">普通の方にはあまり縁のない話とは思いますが、備忘録として。</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;">先ほどもatコマンド叩いて「あれ? 動かない」ってなったもので。</span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;"><br /></span></span></p><p style="font-stretch: normal; line-height: normal; margin: 0px;"><span style="color: #292929; font-family: Lora, serif;"><span style="caret-color: rgb(41, 41, 41); font-size: 20px;"><a href="https://snow-digital.blogspot.com/2021/10/raspberry-pi.html" target="_blank">続き</a>はまた。</span></span></p></div></div>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-66969973599990758572021-09-25T08:39:00.002+09:002021-09-25T08:41:45.602+09:00iPhone 13 Mini の話<p> 今まで使っていた iPhone XS ですが、最低4年は使うつもりでいました。</p><p>iPhone 3Gから2年ごとに買い替えていたのですが、0円どころか大幅値引きも禁止され、ゲーマーやカメラマニアには意味のあるアップデートでも、日常の使い勝手は指紋認証から顔認証に変わった以外大きな進歩というほどの変化は無くなりました。</p><p>で、もうそろそろ長く使う方向に変更しようということで。ただし12 Miniにはちょっと惹かれましたけど。</p><p>ところが昨年の晩秋あたりからランニング中にポケットから飛び出して何度も落とすという事があり、初めて画面に傷が入るという事故を経験しました。とは言え注意深く見れば隅の方に少し傷があるという程度で、ちょっと見には画面に汚れがついているかな?という程度。</p><p>ただ今までも時折出ていたゴーストタッチが目立つ様になってきていてかなり悩みながらも買い替えを決意。問題はMiniなりSE3?なりの小型版がどうなるか。6で画面が大きくなってからは5sの画面が手狭というよりも6の本体が少し大きすぎるという印象を拭えなかったので。なにせ一度は6から5sに乗り換えた(妻がガラケーからiPhoneにしたいというので安くなった5sを買わせて私の6と交換した)ほどでしたので。</p><p>今回は13 Miniがきちんとラインナップされていたので迷わずアップルで予約。昨日届いたので早々に乗り換え。今では乗り換えの準備のメッセージが旧機種の方に表示されるという徹底ぶりで、バックアップも一時的に無料容量アップでより安全で手間がかからなくなりましたね。</p><p>でもたった130円を惜しんでバックアップしないユーザーが多いのは理解できません。そのくせ本体容量の大きい(高価な)本体は平気で買う。いやいやそれより小さめの要領でもiCloudを追加購入する方が安全で使い勝手も良いだろうと思えるのですけど・・・</p><p>実際に次女のiPhoneが帰宅途中の電車の中でいきなりブラックアウト。どう見ても本体は動作しているので一晩充電器に繋いで寝かせ、自動バックアップで直前のデータを全て拾い上げ、予備で保存してある旧型によく朝一番で復元。SIMも入れ替えて翌日からは旧型を使い、壊れた本体は直ぐに修理に出しました。</p><p>こんな事ができるのもiCloudでの自動バックアップのおかげ。当時はPCでもバックアップできましたが、画面が反応しない(反応していても全くわからない)iPhoneのバックアップは取れませんからね。</p><p>閑話休題:</p><p>iPhone 12 Miniは思った通りの操作性というか、手に馴染むサイズ。</p><p>ホームボタンがない分5などよりも画面が広いので画面の狭さも今のところ気になりません。</p><p>老眼が進んでメガネがない時に若干見にくいかなという気はしますけど。</p><p>ただ気になったのがワイヤレス充電。XSで使用しているワイヤレス充電機がAnkerのスタンド型。充電器の位置が合わない様で、昨晩枕元でセットした際に充電を開始したので安心していましたが、今朝になったら充電されていませんでした。</p><p>置く位置などを確認したところ1cm ほど持ち上げれば安定して充電できる様子。</p><p>周りを見渡したら消しゴムの大きさが良さそうって事でiPhoneの下に消しゴムを置いて充電中。今のところ安定して充電できています。とりあえず安心しました。</p><p>で気がついたのはLighttningケーブルの電源側の端子がUSB-Cになった事。EUでは各種充電用ケーブルをUSB-Cに統一しようとしていてアップルが反対していますが、少なくとも電源側はUSB-Cにして充電器本体は同じものを使えますね。PCでもPD対応なら急速充電もできそうだし、本体がLightninngでもかなり使い勝手が良くなりそう。</p><p>むしろホテルとか、新幹線とか、いまのところはリニア新幹線もUSB-Aだってことの方が問題かも。ホテルはなんかは枕元にワイヤレス充電器を備え付けてくれる方が実用的ですね。</p><p>もうそろそろ機種に拘らずに使えそうだし。</p>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-13912028952414932492021-09-20T19:35:00.006+09:002021-10-01T20:55:02.227+09:00Raspberry pi の設定など(その2:日本語の設定と外部へのメール送信の設定)<p> その1では Raspberry pi のインストールまでを書きました。</p><p>今回は私がRspberry piを使う際に基本とな考えている設定から。</p><p>まずRaspberry piでも日本語は必須でしょう。素のままでも日本語表示はできますが、入力はできないので。それとメールの送信機能。何かあった時にスマホなどにメールを送信できればすごく助かります。私はリブートした時などにサーバー名とIPアドレス、それにCPUの温度などをメールさせています。なんらかの設定を修正してリブートさせた時に、わざわざログインしなくてもちゃんと起動したのがわかります。それとSSHの設定。普段はディスプレイも、キーボードもマウスも接続していません。SSHと時にはVNCでGUIを使ったりもしています。</p><p><br /></p><p>と言うことでまずはSSHとVNCの設定から。画面左上のラズパイマークからプルダウンメニューで「設定」「Raspberry pi の設定」を選択します。</p><br /><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2Jvu5kk5Awc9TxseIVvifSOaSnrLl9MDgqvWcYE5354cA9MFcTurk34-VF3g7FzTKTtComdxqLnyFhdUg5BVhVcczjeGCtdyOT52bAyzXKsn0eSwVhvrvT-sCC1_DEBfRzkock4CAmBQ/s651/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.28.20.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="651" data-original-width="508" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2Jvu5kk5Awc9TxseIVvifSOaSnrLl9MDgqvWcYE5354cA9MFcTurk34-VF3g7FzTKTtComdxqLnyFhdUg5BVhVcczjeGCtdyOT52bAyzXKsn0eSwVhvrvT-sCC1_DEBfRzkock4CAmBQ/w501-h640/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.28.20.png" width="501" /></a></div><p></p><p>下のメニュー画面が開くので「インタフェース」のタブを選択。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1mdpcLuTnB6RKkO7qG26J2VEZbuBcp86IWgvnopr2Z3rbCJK1KxzVJ4Cik-nf5YP70E6xcuAMBjCgmbe5is65vhupdEvLEGS2h4E5H0VeF5lIfSjmFlNoueqfaA8SmzpMXbdcooEjmMo/s901/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.32.13.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="468" data-original-width="901" height="332" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1mdpcLuTnB6RKkO7qG26J2VEZbuBcp86IWgvnopr2Z3rbCJK1KxzVJ4Cik-nf5YP70E6xcuAMBjCgmbe5is65vhupdEvLEGS2h4E5H0VeF5lIfSjmFlNoueqfaA8SmzpMXbdcooEjmMo/w640-h332/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.32.13.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">もしPCの名称を変更したい場合はこのタブの「ホスト名」を好きなものにしておいてください。</div><div class="separator" style="clear: both; text-align: left;">例では「rpi」となっています。この場合「rpi.local」で他のPCからアクセスできる様になります。</div><div class="separator" style="clear: both; text-align: left;">また今後GUIは不要。コマンドラインで全部処理するぞって人は「ブート」の項目を「CUI」にして自動ログインも切っておく方が良いでしょう。私みたいにRaspberry pi zero で主にサーバーとして使うにはGUIに無駄にパワーを使っても仕方ないので。とはいえ私の場合設定はRaspberry pi 3でGUIも使いながら設定して、最後にCUIに切り替えてますけど。</div><p style="text-align: center;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh99qFamErnUsqKipP0Z-lr8J2-fBCAdrtqj1vZFuAVtR-6hSVkl16-BNXY4u1OiY1G2xqt0-aObgXLh-898D6hdZ3Z42pwDB5WXYZ07bq5R8AdIC9EQhWbcGg-JDcNuQAPGVBoow1img/s901/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.33.00.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="460" data-original-width="901" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh99qFamErnUsqKipP0Z-lr8J2-fBCAdrtqj1vZFuAVtR-6hSVkl16-BNXY4u1OiY1G2xqt0-aObgXLh-898D6hdZ3Z42pwDB5WXYZ07bq5R8AdIC9EQhWbcGg-JDcNuQAPGVBoow1img/w640-h326/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.33.00.png" width="640" /></a></div><p></p><p></p><div class="separator" style="clear: both; text-align: left;">表示の様にSSH、VNCにチェックを入れてください。</div><div class="separator" style="clear: both; text-align: left;">「OK」をクリックすれば再起動してそれぞれが有効になりますが、VNCは再起動後にもう一つ設定を。</div><div class="separator" style="clear: both; text-align: left;">画面右上の「VNC」<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZcistKOorES3pLSsazFSUnwtB0bceQ_jPlUZT7jVJHal9BLKzITlC6leK5d52i30JlBN8zlxo0AM1wRRbA4YKiTg1hBY03vwvquTaDE-gSz0GuElbgg01eG5AeHuunnIX3pbWNn3dl5Y/s311/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.38.16.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="68" data-original-width="311" height="68" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZcistKOorES3pLSsazFSUnwtB0bceQ_jPlUZT7jVJHal9BLKzITlC6leK5d52i30JlBN8zlxo0AM1wRRbA4YKiTg1hBY03vwvquTaDE-gSz0GuElbgg01eG5AeHuunnIX3pbWNn3dl5Y/s0/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.38.16.png" width="311" /></a>のアイコンをクリックしてください。下の画面が表示されたら右上のリスト風のアイコンから「Options...」を選択。</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkRT7_Lj74BqvL_xEhhqZyzJ_MpUocWrvRnb5C85wfgBFBy4YUPfgil7UGiUDL9JrXFDI3uwfC4_FAIq198VipraImTKW7TD3WQ-Unt9otgtpEM5iUwn4rz8Nn7mNUYbtEJEYcMcJnihI/s787/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.40.54.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="464" data-original-width="787" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkRT7_Lj74BqvL_xEhhqZyzJ_MpUocWrvRnb5C85wfgBFBy4YUPfgil7UGiUDL9JrXFDI3uwfC4_FAIq198VipraImTKW7TD3WQ-Unt9otgtpEM5iUwn4rz8Nn7mNUYbtEJEYcMcJnihI/w400-h236/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.40.54.png" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUS8ZGuU3FnOFmGcEYcZOPQJXh95MJN1_wdxOujXMNytq5-GDatQMQQAr-mKYyfDliN7EltY-9OeVN-2Z7joAwJyOvVep9DERmZtpaLJotuoBoht375sJgvydj0AaFCNz3SrM6O0cV3ZM/s295/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.41.46.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="295" data-original-width="236" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUS8ZGuU3FnOFmGcEYcZOPQJXh95MJN1_wdxOujXMNytq5-GDatQMQQAr-mKYyfDliN7EltY-9OeVN-2Z7joAwJyOvVep9DERmZtpaLJotuoBoht375sJgvydj0AaFCNz3SrM6O0cV3ZM/w320-h400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.41.46.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">「Security」の項目を以下の様に「Prefer off」「VNC password」に設定してください。</div><div class="separator" style="clear: both; text-align: left;">ひょっとするとWindowsの方は不要なのかもしれませんけど。</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqDWrXT4Edw04L5UHCxyc4ARe3E09AWPbLd76RszeetLvbQORLwFuiCORqXYlpe_29IXlKg_htbubtO3OGSCqNrFwJ3btwPTURYSusztocIwVG8flnl0rcmzlWlISqZ0_nVb3zuFDdRC8/s670/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.42.11.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="568" data-original-width="670" height="542" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqDWrXT4Edw04L5UHCxyc4ARe3E09AWPbLd76RszeetLvbQORLwFuiCORqXYlpe_29IXlKg_htbubtO3OGSCqNrFwJ3btwPTURYSusztocIwVG8flnl0rcmzlWlISqZ0_nVb3zuFDdRC8/w640-h542/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+18.42.11.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: left;">最後に「OK」をクリックすればOKです。</div><p></p><p>これで普段使っているパソコンからVNCでデスクトップを表示してGUIで使うこともできますし、SSHでコマンドベースでの操作もできます。</p><p><br /></p><p>で、次にやるのが日本語入力。</p><p>これは iBusとMozcをインストールします。</p><p>ターミナルからコマンドで、</p><p>$ sudo apt install ibus-mozc</p><p>でインストールできますので、インストール後に再起動してください。</p><p>$ sudo reboot</p><p><br /></p><p>最後がメールの送信ですね。これは基本的に<a href="https://snow-digital.blogspot.com/2017/03/linuxraspberry-pi-g-mail_25.html" target="_blank">前に書いたもの</a>そのもの。そのまま<a href="https://snow-digital.blogspot.com/2017/03/linuxraspberry-pi-g-mail_25.html" target="_blank">こちら</a>をご覧ください。現在はでは設定のメニューが日本語化されていますが、記事を書いたときはまだ英語のまま。特に支障はないと思うので直していませんが分かるはずです。</p><p><br /></p><p>次回はサーボモーターの制御とか、赤外線リモコン、そして iPhoneからコントロールできるスマートフォーム用のサーバの話などをする予定です。</p>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-91513213544727167642021-09-19T09:18:00.003+09:002021-10-03T18:33:58.767+09:00Raspberry pi の最新版のインストールや設定など(その1)<p> 今まで Raspberry pi 関連の備忘録を書いてきましたが、Raspberry pi のソフトウェアもかなり進歩しました。</p><p>インストールの仕方から設定方法もだいぶ変わりました。前回の「<a href="https://snow-digital.blogspot.com/2021/08/raspberry-pi-3ads1115-ad.html" target="_blank">Raspberry pi 3とADS1115 A/Dコンバーターのトラブル</a>」でも設定方が大きく変わり、おかげで無駄な苦労をしてしまいましたので、2021年9月時点でのOSのインストールからメールの送信設定、サーボの使い方などをまとめて記録しておこうと思います。</p><p>● まずはOSのインストールをするためのSDカードの準備とSDカードへのインストール。</p><p> SDカードの初期化はWindowsでもMacでも基本機能でできますが、SDカードの初期化専用に「<a href="https://www.balena.io/etcher/" target="_blank">balenaEtcher</a>」というアプリを使うのも楽でよいです。ダウンロード/インストールしておけば起動するだけで勝手にSDカードを探し出してくれますので作業ミスが少なくなります。</p><p>そしてOSのインストールですが、「<a href="https://www.raspberrypi.org/software/" target="_blank">Raspberry pi imager</a>」を使うのが一番楽。特殊な使い方をするのでなければこれ一つで色々なOSの最新版を自動的にダウンロードしてインストールしてくれます。</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZfAFCXSwF2BAhpeAv4biupjLfwgZB3Ra5Yrv3j4tDpdGCN2uN_ePjps7vq13U3MuisYXnf7u20vSAzK7-CrozUk28r5py7ESVGRbtylj7uMbn3lX27THCV0-6VGQ1bjR5dPNbCFzkzfg/s792/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+14.36.48.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="560" data-original-width="792" height="453" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZfAFCXSwF2BAhpeAv4biupjLfwgZB3Ra5Yrv3j4tDpdGCN2uN_ePjps7vq13U3MuisYXnf7u20vSAzK7-CrozUk28r5py7ESVGRbtylj7uMbn3lX27THCV0-6VGQ1bjR5dPNbCFzkzfg/w640-h453/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+14.36.48.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivFusFRxTkhIMSX8HaWRGO9-uFtf6EB_CQX9xmkFlxqVAKC4g8WgT__k6f_XJRrtNn9Si2ppwzunBrsZ1YSEHaMjRH_UJgnBt5EZ5625FDNEkvb61CVWVo88CkQ9t__rzo6UTlPk8pxVI/s792/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+14.37.24.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="560" data-original-width="792" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivFusFRxTkhIMSX8HaWRGO9-uFtf6EB_CQX9xmkFlxqVAKC4g8WgT__k6f_XJRrtNn9Si2ppwzunBrsZ1YSEHaMjRH_UJgnBt5EZ5625FDNEkvb61CVWVo88CkQ9t__rzo6UTlPk8pxVI/w640-h452/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-09-20+14.37.24.png" width="640" /></a></div><br /><p style="text-align: center;"><br /></p><p style="text-align: center;"><br /></p><p>このどちらのアプリも「起動すりゃ分かる」という程簡単に扱えるので詳細な手順などは省略。ここで使い方に迷う様ではここから先は諦めた方が・・・(笑)</p><p>● OSをインストールしたSDカードをRaspberry pi にセットします。キーボード、マウス、ディスプレイを繋いで電源を入れるところも巷に情報が溢れているので省略。あくまでも自分の備忘録としての記録がメインなので・・・初心者の方ごめんなさい。</p><p> で、電源を入れると設定プログラムが自動的に起動してくれます。画面が表示されるまでに少々時間がかかりますが、デスクトップが起動して設定プログラムの画面が表示され、言語の設定、パスワードの設定、Wi-Fi の接続、各種アップデートなどを行います。画面の指示に従って入力してゆくだけです。とりあえずの設定が終わると再起動する旨のメッセージが表示されるので、慣れていなければそのまま再起動しましょう。再起動すると自動的に「pi」という名前のユーザーで自動ログインしたデスクトップが表示されます。PCとしての名称は「raspberry」です。PCの名称の変更とか、インタフェースの変更は左上のラズベリーマークからプルダウンメニューで「設定」「Raspberry piの設定」を選択すれば設定画面が表示されます。</p><p>「システム」設定タブでPCの名称を変更できます。また起動直後にデスクトップを表示するかとか、現在のユーザー(pi)で自動ログインするとかの設定も変更できます。</p><p>「インターフェイス」のタブで使用するインタフェースを指定できます。私はSSH、VNC、I2C、を有効にしていますが、各自の使い方でここは変わりますね。分からない方はとりあえずはそのままでしょいでしょう。</p><p>セキュリティを強化するのであれば標準の pi のユーザーは別のユーザー名に変更すべきでしょうが、個人的には十二分に考えた、ある程度以上複雑なパスワードの設定だけでも十分な様な気がします。ただし、個人宅(基本的にサーバーなどを外部公開していない)であればルーターで外部から直接PCにアクセスできない様になっています。ただしウィルスとかマルウェアには十分な対策と注意が必要です。</p><p>とりあえずの起動まではここまでです。私は自宅の家電などのコントローラーとして色々な設定をするのですが、その話は<a href="https://snow-digital.blogspot.com/2021/09/raspberry-pi_20.html" target="_blank">次回</a>(<strike>時期未定:暇を見つけて</strike>)に書く予定です。</p>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-73251679786513926792021-09-17T21:29:00.001+09:002021-09-17T21:29:06.348+09:00雑な「詐欺メール」<p> このところ続けて会社のメールアドレスになんとも雑な詐欺メールが届きました。</p><p>内容は以下です。(全文)</p><p><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">やあ!</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">残念ながら、あなたのモバイルストレージについてデータ侵害がありましたことをお知らせいたします。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;"><span style="color: #741b47;">発生の理由について説明したいと思います。</span><span style="color: red;">あなたがアカウントを持つ私達のウェブサイトがハッキングされました。</span></span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #2b00fe;"><span style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">そのセキュリティ侵害から私はあなたのパスワードにアクセスできました。そして高度なハッキングのテクニックとブルート・フォースの使用により、私はバックアップに使用されているクラウドストレージからあなたのバックアップデータを取り出すことができました。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">二段階認証でさえも、これを防げなかったでしょう。</span></span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">私がダウンロードしたデータにはあなたの写真や動画、チャットの記録、文書、メール、連絡先、ネットの閲覧履歴、メモ、ソーシャルメディアの履歴、それから一部の削除済みのファイルが含まれています。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">基本的に、あなたのモバイルデバイスの完全なコピーがここにあるということです。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">どのようなデータでも第三者には見られたくないはずです。 そのような事態は防ぐことが可能です。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">こちらが求めているものが得られない場合は、この情報をあなたに対して使用します。 私にとっては面白いメディアコンテンツ(何のことかおわかりでしょう)でも、あなたのご友人や同僚は同じ風には思わないでしょう。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">私が一体何ができるのかわからないのであれば、あなたのメールアドレスや電話番号から、見られたくないプライベートコンテンツを知人に送信するとどうなるか想像してみてください。 また、あなたの閲覧履歴を利用することもできます。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">その結果、あなた個人に大きな損害が生じることになります。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">ですが、解決方法をお知らせします。顧問料を支払うことで私が所持するファイルを削除し、この混乱を回避できます。 </span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">支払いを受領後、こちら側のファイルは削除され、この件に関して二度とご迷惑をおかけしないことを保証します。 パスワードも変更が必要です。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">ですから、シンプルな道を選びましょう。 私に1700 米ドルをビットコインで支払ってください。 </span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">ウォレットアドレスは 1CBdkZtFseRGjafHhyAjN4te3jQT8eHm2c です。これは固有のアドレスです。支払いが完了すると直ちに知らせが入ります。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">送金には2日ありますが、妥当だと思われます。ビットコインを使用して送金してください。</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">(送金時の為替レートに応じたビットコイン相当額)</span><br style="font-family: Calibri, sans-serif; font-size: 14.666666984558105px;" /><span style="color: #741b47; font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">気を付けて</span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">ここまで。</span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">赤字の部分を見ると「私が利用しているウェブサイトの管理者(運営者)」から、ウェブサイトがハッキングされた(被害にあった)と言ってます。</span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">でそれに続く青字の部分は「私はあなたの利用しているウェブサイトにハッキングをしてあなたのデータを盗んだ」と言ってますよね。</span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">つまり、「自分が管理運営しているウェブサイトにハッキングをかけてあんたのデータを盗んだよ」って言っているわけ。「</span></span><span style="caret-color: rgb(116, 27, 71); font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">だから俺に顧問料を払ってデータを開示されない様にしてね」って。</span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">いや自分が運営しているんだからハッキングもへったくりもないだろうって話ですけど・・・</span></span><span style="caret-color: rgb(116, 27, 71); font-family: Calibri, sans-serif; font-size: 14.666666984558105px;">で、いったいどこのウェブサイトなんだそんなバカな運用者たちが管理しているのはって事ですが、どこのウェブサイトかは不明。</span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">これで信用する奴がいるのかなぁ?ってほど雑。</span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">でも多分いるんだろうなぁ。手間かけても収支が見合うんだろうから。</span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">昔郵送されてきた詐欺のメール(シンプルにポルノサイトの利用料の未払い請求書)なんてすごく金が掛かってましたけど、それでも見合うんだろうから。</span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">ただ、そちらのメールはすごく良く出来ていて、思わずドキッとするほど。</span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">仕事先に持って行き、女性陣にこんな郵便が来ても旦那を責めちゃダメだよって見せたら、「私知らずにこんなのみたら信じそう」って言ってました。</span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">奥さんに見つからないうちに処理しちゃおうって払い込む人が結構いるんでしょうね。そりゃこんな事で夫婦喧嘩にしたくないし、ちょっと痛いけど小遣いで支払えない範囲でないしという微妙な請求額もなかなかの設定でした。</span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;"><br /></span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;">だからなんなのって聞かれても困るけど、詐欺には気をつけましょうって話です。</span></span></p><p><span style="font-family: Calibri, sans-serif;"><span style="caret-color: rgb(116, 27, 71); font-size: 14.666666984558105px;"><br /></span></span></p>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-69490439652309110262021-08-24T20:34:00.001+09:002021-08-24T20:35:15.461+09:00Raspberry pi 3とADS1115 A/Dコンバーターのトラブル<p> 今日はパラリンピック開会式</p><p>我が家からブルーインパルスの飛行が2回(西からの侵入から北への展開と東京タワーを回った後の北への展開)を見る事が出来ました。</p><p>残念なのはお天気がイマイチでカラースモークが綺麗に見えなかった事。ブルーとグリーンの差がよく見えない。</p><p>一昨日の予行は雲は多いものの青空もあり、白のスモークながら綺麗に見えました。</p><p>ちょっと遠目ではありますが、二度目は5機の機影が綺麗に見えてました(最初はごちゃっとしていて、2機ずつに展開して初めてわかる程度の遠方)。</p><p>さて、そのさらに2日前、自宅サーバーとして玄関回りの灯りを一手に引き受けているサーバーをバックアップしようかと思い、うっかりしてapt updateに続いてapt gradupを行なってそのままバックアップ。</p><p>であとから気が付いたらA/Dコンバーター(i2c接続)のデータが読み出せなくなっていました。戻そうにも気がついたのはバックアップも作り直した後。</p><p>焦りまくり、土日は丸々原因究明というか、復旧処置を調べるも手がかり無しで、バージョンダウンというか、古いバージョンの再インストールを試みたらaptコマンドでエラーが出まくるとかともかくどうにもならない。最新バージョンをインストールしてもダメ。</p><p>ブルーインパルスの予行を見て気分転換するもどうにもなりませんでした。</p><p>で、月曜日の仕事の後にふと気がつきました。どう見てもドライバーはちゃんとインストールされている。ならばドライバーの読み取り結果を吐き出すディレクトリ変更したのでは?</p><p style="text-align: left;">元々のバージョンはJessie、バージョンアップされてStretch。</p><p style="text-align: left;">データの読み出しは /sys/class/kwmon/kwmon0/device/ に作成される in4-input(私の場合は0-1端子の作動で見ているので4:この数字は接続などで変わります)を cat コマンドで読み出すだけ。</p><p style="text-align: left;">んー 一応最初の頃にファイル名で検索したのだけど・・・</p><p style="text-align: left;">で探し回ったら /sys/devices/platform/soc/2080400.i2c/i2c-1/1-0048/in4_in4_put を発見。</p><p style="text-align: left;">元々ファイルのあるディレクトリにリンクを貼って読みだしていたので、リンクを貼り直しただけであっさりと読み出せる様になりました。</p><p style="text-align: left;">で、念のため最新バージョンの Buster でも試しておこうと試したところ、またまた行方不明に。今度も検索しても出てこない。</p><p style="text-align: left;">なんと、/sys/devices/platform/soc/20804000.i2c/i2c-1/1-0048/ に in_voltage0-voltage1_raw とディレクトリどころかファイル名まで全く変わっていました。</p><p style="text-align: left;">今後のアップデートでも大幅に変更されるかも。ファイル名長すぎですものね。</p><p style="text-align: left;">誰かの助けになれば幸いです。</p><p><span style="background-color: #fef8c6; caret-color: rgb(32, 33, 34); color: #202122; font-family: sans-serif; font-size: 15.104000091552734px; text-align: right;"><br /></span></p>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-10421888149528894232021-07-15T22:32:00.001+09:002021-08-24T21:03:35.005+09:00バッテリーの話<p> う〜ん。めちゃくちゃ久しぶりに書き込みます。</p><p>色々あって(特に仕事に関して)ブログの方は完全に放置状態。</p><p>それでも時々はアクセスしてくださる方もいた様で感謝しております。</p><p>で、このところiPhoneの方もXSに乗り換えてからずっとそのまま使っていますが、最近ランニング中にポケットから落ちる事数回。</p><p>画面の端が僅かにかけてしまいました。</p><p>私が iPhone3Gを使い始めて早・・・ 何年だ?</p><p>2007年7月11日に発売で、確か8月末か9月初めに入手したからそろそろ14年か。</p><p>この間落としまくって来たけれど一度も傷つけたことがなかったのに・・・</p><p>と同時にタッチの反応が少し悪くなって来た気がするのと、ゴーストタッチも発生している気がします。</p><p>年取って指の乾燥がひどくなっただけなのかも・・・ ちょっと寂しい。</p><p>という事で今年の秋には新型の iPhoneにしようかなと・・・・</p><p>でよくよく考えてみたら、今のバッテリーって2年半以上使っている事になります。</p><p>その割に劣化していないなーと。</p><p>やはりこまめに充電しているのが良いのかなとか思いながら、MacBook Airはどうなんだと思ってシステム情報を見てみました。</p><p>そうしたら・・・</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheLY4lAKnFl-WH3lacIv6O0ofztkFqLyhk9R_d5lXF6s2Rij52a0QKQkk7Bu06pHIkDR5M4Yfc6-0pC-iDwpk9s5myp2eO7oGxGQY1I_9Vf7Gg4GHChGtl0k_w6LTQNqg5ygNFOFm42rs/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="1070" data-original-width="828" height="908" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheLY4lAKnFl-WH3lacIv6O0ofztkFqLyhk9R_d5lXF6s2Rij52a0QKQkk7Bu06pHIkDR5M4Yfc6-0pC-iDwpk9s5myp2eO7oGxGQY1I_9Vf7Gg4GHChGtl0k_w6LTQNqg5ygNFOFm42rs/w702-h908/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2021-07-15+22.04.45.png" width="702" /></a></div><p></p><p><br />分かりますかね?</p><p style="font-family: "Hiragino Sans"; font-stretch: normal; line-height: normal; margin: 0px 0px 0px 68.4px; text-indent: -68.5px;">充電量情報<span style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal;">:</span></p><p style="font-family: "Hiragino Sans"; font-stretch: normal; line-height: normal; margin: 0px 0px 0px 162.8px; text-indent: -142.9px;"><span style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal;"> </span>フル充電済み<span style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal;">:<span class="Apple-tab-span" style="white-space: pre;"> </span></span>いいえ</p><p style="font-family: "Hiragino Sans"; font-stretch: normal; line-height: normal; margin: 0px 0px 0px 162.8px; text-indent: -142.9px;"><span style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal;"> </span>充電中<span style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal;">:<span class="Apple-tab-span" style="white-space: pre;"> </span></span>いいえ</p><p style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal; margin: 0px 0px 0px 162.8px; text-indent: -142.9px;"> <span style="font-family: "Hiragino Sans"; font-stretch: normal; line-height: normal;">完全充電時の容量(</span>mAh<span style="font-family: "Hiragino Sans"; font-stretch: normal; line-height: normal;">)</span>:<span class="Apple-tab-span" style="white-space: pre;"> </span>4065</p><p style="font-family: "Hiragino Sans"; font-stretch: normal; line-height: normal; margin: 0px 0px 0px 162.8px; text-indent: -142.9px;"><span style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal;"> </span>バッテリーの状態(<span style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal;">%</span>)<span style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal;">:<span class="Apple-tab-span" style="white-space: pre;"> </span>87</span></p><p style="font-family: "Hiragino Sans"; font-stretch: normal; line-height: normal; margin: 0px 0px 0px 68.4px; text-indent: -68.5px;"><span style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal;"> </span>状態情報<span style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal;">:</span></p><p style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal; margin: 0px 0px 0px 88.4px; text-indent: -68.5px;"> <span style="font-family: "Hiragino Sans"; font-stretch: normal; line-height: normal;">充放電回数</span>:<span class="Apple-tab-span" style="white-space: pre;"> </span>38</p><p style="font-family: "Helvetica Neue"; font-stretch: normal; line-height: normal; margin: 0px 0px 0px 88.4px; text-indent: -68.5px;"> <span style="font-family: "Hiragino Sans"; font-stretch: normal; line-height: normal;">状態</span>:<span class="Apple-tab-span" style="white-space: pre;"> </span><span style="font-family: "Hiragino Sans"; font-stretch: normal; line-height: normal;">正常</span></p><p style="text-align: left;"><span style="font-family: inherit;">となっています。</span></p><p style="text-align: left;">これもう何ヶ月も電源に繋いだままです。</p><p style="text-align: left;">でもフル充電されていなくて充電もしていない。</p><p style="text-align: left;">つまり、この機器は電源に繋ぎっぱなしだから完全充電にせず、適当な状態になるまでバッテリー駆動しているか、バッテリーは切り離してケーブルからの電気で動作しているって事。</p><p style="text-align: left;"><br /></p><p style="text-align: left;">前に書いた気もしますが、一時期 iPhoneの充電表示が充電中と電源接続中の2種類がありました。</p><p style="text-align: left;">いまはなぜその表示をやめたか理由は分かりませんが、当然 iPhoneでも同じ様になっているはず。</p><p style="text-align: left;">つまり、100%充電されたからって慌てて電源を外す必要などないって事。</p><p style="text-align: left;">あまり新味のない話でしたが、ブログ再開への第一歩になってくれるかな?</p><p style="text-align: left;">またこのまま長期休養だったりして(笑)</p><p><br /></p>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-7508155280191169402019-06-01T15:12:00.000+09:002019-06-01T15:12:04.043+09:00iPhone の画面サイズ(iPhone SEの新型?)極一部の根強いファンに熱望されているiPhone SEの新型(通称SE2)の画面サイズについてちょっと検討してみました。<br />
1ファンの戯言とお聞き流しして頂ければと思います。<br />
さて以下の画面、私が引退させたiPhoneを卓上時計として使う際の愛用のアプリで「NHK時計」という昔のTVでは毎朝お世話になっていた画面です。<br />
その頃はTVで時報を流していたんですね。<br />
それで皆さん家の時計とか腕時計の時刻合わせをしていました。<br />
腕時計などは日に数分違うなんてのが当たり前の時代。<br />
その後時計の精度が上がって来た頃のコマーシャルでセイコーが「月曜日の朝時計を合わせましょう🎶」というコマーシャルを流せば、シチズンが「月曜の朝ピタリ!」と対抗したコマーシャルを流したりなどしていました。<br />
<br />
で、その時計をNHKがアプリとして作成したんですね。<br />
なお当時のTV画面の縦横比は4:3でしたから3G〜4sの画面だとぴったり。<br />
64ビット化で一旦は姿を消したものの、その後に64ビット化されて再度登場。<br />
で、その画面を見ながらサイズ感を確認してみました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBBtDAO5psJWnorRRyO98TJ_jm0FwcG6IpctQU9X6-rJPnEnqFpP6pR6vFhQOS1Hn8rmIRJNff2PFJTUnosj0GPtzfvafsCjhP7HLMAbKnzCXjuAIQEldZ_Ctti5MQjV3Fa6AikY6Vhac/s1600/NHK.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="867" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBBtDAO5psJWnorRRyO98TJ_jm0FwcG6IpctQU9X6-rJPnEnqFpP6pR6vFhQOS1Hn8rmIRJNff2PFJTUnosj0GPtzfvafsCjhP7HLMAbKnzCXjuAIQEldZ_Ctti5MQjV3Fa6AikY6Vhac/s640/NHK.jpg" width="346" /></a></div>
<br />
上から XR、7、5、4sとなります。<br />
上の三台はおおよそ中心を合わせてありますが、4sだけは意図的に左端(画面上部)を合わせています。<br />
5と7では全体的に少し大きくはなっているものの縦横比は変わりません。<br />
7とXSは横幅はそのままに縦が伸びています。(解像度的には1.5倍になってますが)<br />
そして注目すべきは4sと5。<br />
もともと縦横比を変えただけの画面ですが、この差が重要。<br />
右側に伸びた分のサイズがほぼホームボタンのサイズに匹敵しているのです。<br />
皆さんご存知の様にiPhone SE/5s/5は全て本体サイズが同じです。<br />
となると、iPhone 4/4sからホームボタンを取り去ると、iPhone SEの画面が収まってしまうという事。<br />
単純に考えれば、フェースIDを採用すれば本体の幅(画面の幅)をSEサイズにした時に、本体の高さ(画面の高さ)はほぼ4/4sサイズで収まる事になります。<br />
まぁ、4シリーズは5シリーズに比べると厚みがあって、縦に伸びた分バッテリーの厚みなどを抑える事で薄さを実現していますが、本体サイズ的には問題の無い程度の厚みです。<br />
今風の少し丸みを帯びたデザインならば手へのなじみやすさは結構良いと思います。<br />
ジョブズがこだわった「携帯電話としての最適なサイズ」と言われた初代〜4sのサイズ感から少し縦に伸びた5/5sのサイズ感で今の画面比を再現するのは無理なく出来そうですね。<br />
<br />
って事で今月のWWDC(世界開発者会議)の前の戯言でした。<br />
<div>
<br /></div>
<br />
<br />なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-48983518436974855272019-05-20T21:05:00.000+09:002019-05-20T21:05:02.251+09:00電気屋さんでの話大型電気店での話です。<br />
先日プリンタ用紙が切れて電気店に買いに行ったのですが、ついでに店内を覗いていたら、サーフェースのキーボードが何やら良い雰囲気のデザイン。<br />
思わず触ったら「ん?」<br />
すかさずドコモのジャンパーを着た若い(そりゃ私から見たら全員若いか:笑)店員さんが声をかけて来ました。<br />
なんと高級レザーでキー周りを覆った製品ということで、それだけでノーマルより5千円ほど高いとか。<br />
でも良いデザインだなーと触りながら話していて気が付いたのはクリックする場所がないこと、そしてMac 並みに二本指タップが使える事。<br />
で、さらにその店員さんとああだこうだと試していたら隣同士で反応が違う。<br />
デモ機なので設定変更ができない様になっている様ですが、色々試したら4本指のジェスチャーにも対応。<br />
思わず二人で他のWindowsパソコンも試したりして、結構話が盛り上がりました。<br />
今の windows 10 の高級機は結構いけてますね。<br />
で、早速会社の Windows 10 でも試そうとしたら、安物なのでダメでした。<br />
残念!<br />
しかし、今まで仕事ではほとんど必要がないので使っていなかった仮想デスクトップの機能を改めて確認。<br />
Windows だとフリーソフトを入れないとデスクトップ毎に背景の絵を変えられないんですね。<br />
これじゃどのデスクトップにいるのかわからないから使い難いですね。<br />
かなり良い線いったと思ったけど、やはり今一歩足りてない。<br />
<br />
で、店員さんとはそのまま iPhone の話に突入。<br />
彼は2年ごとに調子も悪くなって機種変して来たとの事。<br />
で、驚いたのはリセット(強制再起動)は知っていても、不調になって試した事が無いとの事。<br />
だから iPhone は2年でだいたい壊れると思っていたそうです。<br />
さらにそこからGPSを使うとバッテリーの消費がという話になり、そんな事はない事を教え、バッテリーの消費が多くなる最大の原因などを話しました。<br />
<br />
ドコモの店員さんと言え、やはりこのての知識は不足していますね。<br />
<br />
このブログを読んでいる方は是非私の以下の話も参考にしてください。<br />
<a href="http://snow-digital.blogspot.jp/p/blog-page_8.html">http://snow-digital.blogspot.jp/p/blog-page_8.html</a><br />
<br />
ただ面白かったのはやはり契約内容の話などはよく知っています。<br />
で、言われたのは勉強するほどドコモの契約は高いと教えてくれました。<br />
<br />
昔、ドコモが iPhone の取り扱いを始めた頃ですが、渋谷のアップルでたまたまドコモの人が通信速度が出ないという話をしていて、そこにたまたま居合わせた、auとソフトバンクの3社が揃っていたので、3G回線でみんなで同じウェブサイトに同時にアクセス。<br />
ソフトバンクに続いてauが僅差でアクセス完了。<br />
ドコモの方は「えっ! もう?」と絶句。<br />
その後3倍程の時間が掛かってようやく読み込み完了。<br />
あまりの遅さに一同唖然でした。<br />
まだまだドコモ神話が台頭しており、ドコモの iPhone 発売とともにソフトバンクやauのiPhoneユーザーが大勢ドコモに乗り換えたりもしていましたが、それでソフトバンクやauの回線が余計に空いたのかも知れませんね。<br />
<br />
格安SIMでも早いと噂が広がるとその会社にユーザーが集中する様ですが、そうすると結果として遅くなるので、バカみたいな話ですよね。<br />
<br />
だからなんなんだというとりとめもない雑記でした。<br />
<br />
<a href="http://snow-digital.blogspot.jp/p/blog-page_8.html" target="_blank">iPhone の話</a>や <a href="https://snow-digital.blogspot.com/p/raspberry-pi.html" target="_blank">Raspberry piの話</a>とかも良かったら覗いて見てくださいね。<br />
<br />
<br />なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-35945684923469534332019-04-23T22:22:00.001+09:002020-11-24T08:40:14.126+09:00Raspberry pi の設定(Stretch版)覚書 その2WatchDog TimmerのインストールWatchDogTimmer のインストール<br />
何らかの理由でサーバーが止まってしまった時にそれを感知してシステムをリブートする為にウォッチドック(番犬)を飼っておきます。<br />
<br />
先ずはLinuxカーネルにウォッチドックを追加します。<br />
<br />
$ sudo modprobe bcm2835_wdt<br />
$ echo "bcm2835_wdt" | sudo tee -a /etc/modules<br />
<br />
次にwatchdog のデーモンをインストールします。<br />
<br />
$ sudo apt-get install watchdog<br />
$ sudo update-rc.d watchdog defaults<br />
<br />
watchdog のデーモンの設定を行います。<br />
自分の好きなエディタで以下のファイルを編集します。<br />
私の場合はnanoですから、<br />
<br />
$ sudo nano /etc/watchdog.conf<br />
<br />
#watchdog-deviceで始まる行のコメント(#)をはずします。<br />
<br />
同様に#max-load-1 = 24 の行もコメントをはずし、最後に以下の行を追加します。<br />
watchdog-timeout = 15<br />
<br />
最後にデーモンを起動します。<br />
<br />
$ sudo systemctl start watchdog<br />
<br />
ここまで終わればサーバーとしての基本の設定は出来たと言えると思います。<br />
後はそのサーバー上で何を動かすかですね。<br />
<br />
もしIPv6でも使いたい人は以下のブログを参照してください。<br />
Linux で IPv6 の名前解決が出来ない<br />
https://snow-digital.blogspot.com/2017/03/linux-ipv6-can-not-access-by-host-name.html<br />
<br />
後、sshですアクセスした場合にいちいちパスワードを入れるのが面倒な人はパスワード無しでログイン出来るようにしてしまいましょう。<br />
セキュリティー的にも不正アクセスし難いのでお勧めです。<br />
実際に運用するサーバー名などが決まってから作業した方が良いですね。<br />
<br />
以下のブログを参照してください。<br />
Raspberry pi の設定 その2(SSHをパスワードなしで)<br />
https://snow-digital.blogspot.com/2017/01/raspberry-pi-homebridge_35.html?m=1<br />
<br />なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-75591683877029943482019-04-20T08:41:00.000+09:002019-05-18T14:49:06.911+09:00Raspberry piの設定(Stretch版)覚書 その3 HomebridgeのインストールRaspberry piの基本設定が終わったら、順次アプリ関係をインストールします。<br />
<br />
(1)Homebridgeのインストールに先立ち、先ずはNodejsをインストールします。<br />
<br />
取り敢えずバージョンを確認してインストールされていない様ならば<br />
$ node --version<br />
<br />
インストールします。<br />
$ sudo apt install nodes<br />
<br />
<br />
(2)Homebridgeをインストールするためのnpmをインストールします。<br />
<br />
$ sudo apt install npm<br />
<br />
(3)homebridgeをインストールします。<br />
<br />
$ sudo npm install -g homebridge<br />
$ sudo npm install -g homebridge-cmd<br />
$ sudo npm install -g homebridge-cmdswitch2<br />
<div>
<br /></div>
<div>
(4)homebridgeを設定します。</div>
<div>
ホームディレクトリに「.homebrige」と言う隠しファイルを作成し、その中に「config.json」というファイルを作ります。</div>
<div>
$ cd .homebridge</div>
<div>
$ nano config.json</div>
<div>
<br /></div>
<div>
中身はこんな感じで<br />
<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"bridge": {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"name": "HomeBridge",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"username": "AB:CD:EF:FE:DC:BA",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"port": 51826,<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"pin": "034-45-567"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>},<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"description": "This is an example configuration file with one fake accessory and one fake platform. You can use this as a template for creating your own configuration file containing devices you actually own.",<br />
<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"platforms": [{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"platform": "cmdSwitch2",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"switches": [{<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> "name": "書斎(クーラー)",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> "on_cmd": "sudo /home/pi/shell/Cooler_sw.sh on 28",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"off_cmd": "sudo /home/pi/shell/Cooler_sw.sh off 28",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> "state_cmd": "sudo /home/pi/shell/Aircon_status.sh 28 Cooler_on"<br />
}, {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"name": "書斎(ヒーター)",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> "on_cmd": "sudo /home/pi/shell/Heter_sw.sh on 28",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> "off_cmd": "sudo /home/pi/shell/Heter_sw.sh off 28",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"state_cmd": "sudo /home/pi/shell/Aircon_status.sh 28 Heter_on"<br />
}, {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"name" : "スタンド",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"on_cmd": "sudo /home/pi/shell/Lamp_on.sh",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"off_cmd": "sudo /home/pi/shell/Lamp_off.sh",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"state_cmd": "sudo /home/pi/shell/Lamp_status.sh"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> }, {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> "name": "書斎(照明)",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"on_cmd": "sudo /home/pi/shell/Light_on.sh 7 15",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"off_cmd": "sudo /home/pi/shell/Light_off.sh 7 15",<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>"state_cmd": "sudo /home/pi/shell/Light_status.sh 15"<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}]<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}]<br />
}</div>
<div>
<br /></div>
<div>
最初のport以外の値は適当に設定して、iPhone のホームアプリが上手く認識出来ない時は適当に変更すると認識したりします。</div>
<div>
その後は自分の環境に合わせて適当に。</div>
<div>
私はシェルスクリプトで作成したものを呼び出していますが、CでもPythonでも好きなプログラムを呼び出す様にすれば良いです。</div>
<div>
<br /></div>
<div>
最後にこれをデーモン化します。</div>
<div>
<br /></div>
<div>
/etc/systemd/system/homebridge.service というファイルを作成します。</div>
<div>
<br /></div>
<div>
$ sudo nano /etc/systemd/system/homebridge.service</div>
<div>
<br /></div>
<div>
内容は</div>
<div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">[Unit]</span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">Description=Node.js HomeKit Server </span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">After=syslog.target network-online.target</span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal; min-height: 16px;">
<span style="font-variant-ligatures: no-common-ligatures;"></span><br /></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">[Service]</span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">Type=simple</span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">User=pi</span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS</span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">Restart=on-failure</span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">RestartSec=10</span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">KillMode=process</span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal; min-height: 16px;">
<span style="font-variant-ligatures: no-common-ligatures;"></span><br /></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">[Install]</span></div>
<div style="background-color: white; font-family: Menlo; font-size: 14px; font-stretch: normal; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;">WantedBy=multi-user.target</span></div>
</div>
<div>
<span style="font-variant-ligatures: no-common-ligatures;"><br /></span></div>
<div>
<span style="font-variant-ligatures: no-common-ligatures;"></span><br />
<div>
<span style="font-variant-ligatures: no-common-ligatures;"><br /></span></div>
<span style="font-variant-ligatures: no-common-ligatures;">
</span>
<div>
<span style="font-variant-ligatures: no-common-ligatures;">デーモンを起動します。</span></div>
<span style="font-variant-ligatures: no-common-ligatures;">
<div>
<br /></div>
<div>
$ sudo systemctl daemon-reload</div>
<div>
$ sudo systemctl enable homebridge</div>
<div>
$ sudo systemctl start homebridge</div>
</span></div>
<div>
<br /></div>
<div>
これでデーモンが起動され、次回からはRaspberry pi の起動とともにデーモンも起動されます。</div>
なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-81964873832937726942019-04-14T13:56:00.000+09:002019-04-14T13:57:09.235+09:00ブログの内容を少しまとめてみました。なかなか更新の進まないブログですが、iPhone の使い方を中心に少しまとめてみました。<br />
<br />
<a href="https://draft.blogger.com/goog_1579689420">まとめ</a><br />
<a href="https://snow-digital.blogspot.com/p/blog-page_8.html">https://snow-digital.blogspot.com/p/blog-page_8.html</a><br />
<br />
<a href="https://draft.blogger.com/goog_1579689424">取扱説明書?</a><br />
<a href="https://snow-digital.blogspot.com/p/google-hangout-httpsnow-digital.html">https://snow-digital.blogspot.com/p/google-hangout-httpsnow-digital.html</a><br />
<br />
<a href="https://draft.blogger.com/goog_1579689426">バックアップ、復元、同期など</a><br />
<a href="https://snow-digital.blogspot.com/p/lineline-httpsnow-digital.html">https://snow-digital.blogspot.com/p/lineline-httpsnow-digital.html</a><br />
<br />
話題はダブったりしていますがご勘弁のほどよろしくお願いいたします。<br />
<br />
<br />
また、Raspberry pi の話を中心に、自宅のIT化の話も自分の備忘録としてまとめ始めましたので、よろしかったら参考にしてください。<br />
<a href="https://draft.blogger.com/goog_1579689418">Raspberry Pi 覚書</a><br />
<a href="https://snow-digital.blogspot.com/p/raspberry-pi.html">https://snow-digital.blogspot.com/p/raspberry-pi.html</a>なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-85481317576933791832019-04-13T11:17:00.003+09:002019-04-20T08:42:04.133+09:00Raspberry pi の設定(Stretch版)覚書 その1Raspbian のインストール今までRaspberry piの設定などで色々書いてきました。<br />
で、昨年そのRaspberry piのOSであるRaspbianがバージョンアップし、色々変わりました。<br />
そこでもう一度初期設定までを最新版の覚書として残しておこうと思います。<br />
<br />
まずはそのRaspbianですが、バージョンがJessie(Debian 8.0)からStretch(Debian9.0)に上がっていました。<br />
メジャーバージョンアップでリリースノートは<br />
<a href="https://www.raspberrypi.org/blog/another-update-raspbian/">https://www.raspberrypi.org/blog/another-update-raspbian/</a><br />
を参照してください。<br />
SD card copier という何か役立ちそうなものとか、pigpio というちょっと気になる物がありますね。<br />
<br />
さて、その他にもRaspberry pi Zero W ではMacと<a href="https://www.indetail.co.jp/blog/170512/" target="_blank">USB接続でヘッドレスで最初から使えるなんて記事</a>も、多分 Windowsでも使える技だろうと思います。<br />
幸い手元にも Zero Wがあるので、今回はその記事を元に最初からMacだけで設定してみようと思います。<br />
後から考えたら、Ethernetのポートがある通常のモデルでもEther で繋げば出来るのではないかと思いましたので、後日試しところ、Ethernet ケーブルを使えばちゃんと出来ました。<br />
この手法を使えば、最初からヘッドレスで全て出来ますから、私の様に自室にTVが無い、居間のTVは普段家族が使っているから、深夜とか、家族がいない時しか使えないなんて人には大助かりです。<br />
<br />
それにしても今回のバージョンアップでNTPの使い方なんかも変わって来ていますね。<br />
で、今までの手順でも無駄な手順があるのが見えて来ました。<br />
セットアップは最低限の手間で済ませたいので、出来るだけ楽をしようと思います。<br />
<br />
ではまず手始めにRaspberry piのダウンロードのページから最新のRaspbianをダウンロードします。<br />
今回はNoobosではないRaspbianのフルバージョンを選択します。<br />
最初はNoobosでトライしたのですが、これは失敗に終わりました。<br />
で、通常のRaspbianのフルバージョンなら上手く行きます。<br />
ファイル構成などが違い起動のプロセスが違うのですね。<br />
<br />
で、Lightバージョンにしていないのは、最初にSSHで繋げたらつぐにVNCで繋いでGUIでのセットアップを試そうという魂胆なのと、普段GUIは使わなくても最初のセットアップ時ぐらいは使った方が楽そうだという事、使いたい機能をいちいちインストールせず、楽しようという魂胆です。<br />
まぁ、その分余計なアプリも入って来ますが、SDカードをケチっている訳でもないから実用上の問題はほとんどないでしょう。<br />
<br />
とりあえずディスクイメージである「2018-11-13-raspbian-stretch.img」をダウンロード。<br />
それとSDカードにコピーするために「balenaEtcher-1.5.19.dmg」というアプリも一緒にダウンロードしました。<br />
今回はSDカードへのコピーもこのアプリを使います。<br />
<br />
(1)SDカードの作成<br />
SDカードをスロットに挿入してbalenaEtcherを起動します。<br />
以下のような画面が表示されるので、<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyPWS1box7wynPi_5t4K6fqCtffzEemV3AHzidhAyzkQz4bRBtRR-_-NtWgg6KNsi8XK3fkhU-nkHcQuRUnjDMiVIoC5QBS8psh2GSACLzvT8BZAMRV7nOpffxIg3uhC0cnsfAep1rzfY/s1600/balenaEtcher.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="800" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyPWS1box7wynPi_5t4K6fqCtffzEemV3AHzidhAyzkQz4bRBtRR-_-NtWgg6KNsi8XK3fkhU-nkHcQuRUnjDMiVIoC5QBS8psh2GSACLzvT8BZAMRV7nOpffxIg3uhC0cnsfAep1rzfY/s640/balenaEtcher.tiff" width="640" /></a></div>
<br />
<br />
Select imageをクリックして、ダウンロードしたディスクイメージを選択します。<br />
既にSDカードをセットしてあれば、Select drive は素通りしてFlash!のボタンをクリックするだけです。<br />
USB接続のカードリーダーの場合は自分で選択しないとダメなのかも。<br />
私のMacはSDカードリーダーが内臓の旧型なので。<br />
少し時間がかかりますが、無事書き込めました。<br />
<br />
一度SDカードを取り出して、再度挿入してカードを認識させます。<br />
<br />
<br />
(2)SSHでログイン出来る様にします。<br />
<br />
まずは、起動後に ssh 接続が使えるようにするために、下記のようにファイルを作成します。<br />
これによりデフォルトではオフになっている SSHでのアクセスが可能になります。<br />
<br />
$ touch /Volumes/boot/ssh<br />
<br />
次に、/Volumes/boot/cmdline.txt を編集します。<br />
<br />
rootwait と quiet の間に modules-load=dwc2,g_ether を追記します。<br />
<br />
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet init=/usr/lib/raspi-config/init_resize.sh quiet splash plymouth.ignore-serial-consoles<br />
<br />
一行の文となっているので、間違って改行しないよう注意して下さいと。<br />
<br />
最後に/Volumes/boot/config.txt の末尾に、dtoverlay=dwc2 を追記します。<br />
エディタで直すより以下の様にした追記する方が楽でミスがないと思います。<br />
<br />
$ echo "dtoverlay=dwc2" >> /Volumes/boot/config.txt<br />
<br />
<br />
最後にSDカードを抜き、 Raspberry Pi Zに挿します。<br />
<br />
(3)いよいよRaspberryを起動します。<br />
<br />
USBケーブルを、Macと Raspberry Pi の電源でない方のUSBに接続します。<br />
Zeroならばこれで電源も供給されます。<br />
Zero以外の機種はEthernetを繋げてから電源を繋げは良いです。<br />
<br />
電源を入れると緑色のLEDが点滅し、しばらくすると落ち着きます。その後はMacのターミナルから以下のコマンドでログイン出来る筈です。<br />
<br />
$ ssh pi@raspberrypi.local<br />
<br />
パスワードは raspberry ですね。<br />
これでログイン出来る筈です。<br />
<br />
(4)次回からは Wi-Fi で接続できる様にします。<br />
今後もEthernetで接続するならばこの作業は不要です。<br />
こちらは、WiFiの接続情報をファイルに記載すれば良いですね。<br />
<br />
/etc/wpa_supplicant/wpa_supplicant.conf にアクセスポイント情報を記述します。<br />
<br />
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev<br />
update_config=1<br />
country=JP<br />
<br />
network={<br />
ssid="接続先のSSID"<br />
psk="接続先のPassword"<br />
key_mgmt=WPA-PSK<br />
}<br />
<br />
<br />
(5)次にVNCでもログイン出来るようにします。<br />
<br />
$ sudo raspi-config<br />
<br />
を実行します。<br />
ここで普通はパスワードの再設定とかも行うのですが、設定しても次回VNCで接続した際に自動起動されるGUIの設定処理で再度入力させられるのでここではVNCの設定と画面の解像度変更だけ行います。<br />
解像度を変更しておかないと、VNC接続した時の初期設定用の画面が切れてしまい、操作不能の状態になります。<br />
ご自分のパソコンに適した解像度にしてください。<br />
<br />
<br />
(6)設定したら、一度 Raspberry Pi Zero の電源を切ります。<br />
<br />
$ sudo shutdown -h now<br />
<br />
しばらく待つと、 Raspberry Pi Zero のLEDが消えるので、そのタイミングでUSBケーブルを抜きます。<br />
Zero以外は赤のLEDだけが消えて緑のLEDは点灯しっぱなしになるのでちょっと分かりにくいです。<br />
<br />
W 無しのZeroならばここでWi-Fi のドングルをUSBに挿し直しますが、そもそもWi-Fi無しのZeroにドングルを追加するなら最初からWi-Fi付きのWを買ってますよね?<br />
古いボードを再利用する人限定の話かと思います。<br />
<br />
<br />
(7)再度電源を入れ直せば、今度は Wi-Fi経由で接続可能となります。<br />
<br />
なおMacにはVNC機能が有りますが、何故かraspberry piのVNCとは相性が悪くて繋がらないので、別途 <a href="https://www.realvnc.com/en/connect/download/viewer/" target="_blank">VNC Vewer</a>をインストールして使います。<br />
<br />
これでVNCを起動して先程のSSHと同様にしてアクセスします。<br />
無事ログインの認証画面が表示されればWi-Fi接続は出来てます。<br />
ログインすると自動的に初期設定の画面が表示されますから、指示に従いパスワードの設定から言語の設定などまで済ませて下さい。<br />
日本語のフォントの設定なども自動で行なってくれる様になってるので手間が掛かりません。<br />
これが今回VNCを使って楽したかった事です。<br />
<br />
流石にZeroだとGUIは重い処理となってます。<br />
でも aptのアップデートなど迄一気に処理出来てしまいますから、楽です。<br />
その後の必要な処理はSSHでアクセスした方がGUIの中でターミナルを使うよりも軽くて楽ですね。<br />
モデル3などはそのままGUIでも問題なく利用可能です。<br />
<br />
今回はここまで。<br />
単にパソコンとして使うなら基本的な設定はこれで設定は終わりですね。<br />
次回はサーバー系の処理をさせるならば必須と思われるメールの設定などの話になります。<br />
<br />なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-16098518016889557632019-01-15T22:04:00.001+09:002019-01-15T22:04:32.467+09:00Siri とショートカットアップルの相談窓口に相談して、なぜショートカットから実行するとEメールが送信出来るのに、それをSiriで実行させると送信出来ないのか問い合わせました。<br />
で、担当者として技術部門に問い合わせてくれていますが、回答には一週間は掛かるとの事。<br />
で、私に言われたので、自分でも試してみて、やはり送信出来ないことも確認出来たそうです。<br />
また同時にMMSだとメッセージが送信できるのですが、ショートカットからだと件名を入力出来ません。<br />
そのためタグを利用できず、これまた使い物になりません。<br />
<br />
で、色々調べていたら、ショートカットから直接 URLを叩けることがわかりました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjplCOUsfoXYBFcBaBucgGYq5TNr67gslcxy1bZHIV7g8llSBLXQY-b26_IH96CgJXm4G-YZuh-WdifhAtJhyNC5NE7YUD9QWRpzQMaevrBDz2sdzlDa49JKsbSkfveB337jk7vufglRjI/s1600/IMG_0297.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjplCOUsfoXYBFcBaBucgGYq5TNr67gslcxy1bZHIV7g8llSBLXQY-b26_IH96CgJXm4G-YZuh-WdifhAtJhyNC5NE7YUD9QWRpzQMaevrBDz2sdzlDa49JKsbSkfveB337jk7vufglRjI/s640/IMG_0297.png" width="294" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
で、上図の様な形でショートカットから直接BeebotteにURLを投げてやります。</div>
<div class="separator" style="clear: both; text-align: left;">
これならSiriからもちゃんと起動してくれます。</div>
<div class="separator" style="clear: both; text-align: left;">
その上Eメールの送受信と、IFTTTでの処理を飛び越して、直接Beebotteにデータを投げるので、反応時間がかなり短くなります。</div>
<div class="separator" style="clear: both; text-align: left;">
それでもSiriを使うと、Siriがショートカットを判断して実行するまでの時間がそこそこかかるのですが、これなら待ち時間がほとんど無くなります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
アップルの相談窓口はiPhoneの一般的な使い方以外には全くの素人なので、Beebotteは勿論、そこそこ有名と思うIFTTTも全く知りませんでしたので、ともかくSiriから定型文章のメールの送り方しか聞けませんでした。</div>
<div class="separator" style="clear: both; text-align: left;">
もしBeebotte というか、URLを叩いてデータを送るという事を理解出来れば『とりあえず、メールのことは調べますけど、やりたいことは直接URLを叩けば良いので・・・」とショートカットの機能を紹介してくれたのでしょうけどね。</div>
<div class="separator" style="clear: both; text-align: left;">
回り道をしてしまいました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
しかし、こう言ったことが簡単にできるなら、「ホーム」アプリを使う必要も薄れますね。</div>
<div class="separator" style="clear: both; text-align: left;">
何もホームアプリを使わず、ショートカットを使って自宅内のサーバーに好きな指示が送れますから。</div>
<div class="separator" style="clear: both; text-align: left;">
ますます楽しみが増えそうです。</div>
<br />
<br />なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-46547165170334008042019-01-06T08:22:00.000+09:002019-01-15T22:06:52.254+09:00自宅のIT化(その5)iPhone とSiriのショートカット大詰めとして、iPhone からIFTTTに如何に簡単にメールするかと言う作業を行います。<br />
iOS 12で実装された「ショートカット」を使います。<br />
以下のアイコンのアプリですね。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://zukkazu.com/wp/wp-content/uploads/2018/09/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2018-09-20-23.36.57-800x360.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="" border="0" class="attachment-large size-large wp-post-image" height="144" sizes="(max-width: 800px) 100vw, 800px" src="https://zukkazu.com/wp/wp-content/uploads/2018/09/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2018-09-20-23.36.57-800x360.png" srcset="https://zukkazu.com/wp/wp-content/uploads/2018/09/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2018-09-20-23.36.57.png 800w, https://zukkazu.com/wp/wp-content/uploads/2018/09/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2018-09-20-23.36.57-500x225.png 500w, https://zukkazu.com/wp/wp-content/uploads/2018/09/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2018-09-20-23.36.57-768x346.png 768w" width="320" /></a></div>
<br />
起動すればショートカットの一覧画面になりますが、まだ何も登録されていないはずです。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1woMlDoQ1mbWpPuFd24-9V23nFiFNHp1xeUjGG1VHqC61wogi1_v5oUFodBQOf3Q9pwMKbnj0JGsxzhFJPUgGh2x4ry6MxDiXk39Imlmv2FppUOrOUekAhIrmobZisog68z2RXtqges/s1600/IMG_0277.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1woMlDoQ1mbWpPuFd24-9V23nFiFNHp1xeUjGG1VHqC61wogi1_v5oUFodBQOf3Q9pwMKbnj0JGsxzhFJPUgGh2x4ry6MxDiXk39Imlmv2FppUOrOUekAhIrmobZisog68z2RXtqges/s640/IMG_0277.png" width="292" /></a></div>
<br />
私のライブラリには既にいくつか登録されています。<br />
とりあえず「ショートカットを作成」を選択して、ショートカットを作成して見ましょう。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKe8sf_ZQ3ImkzeFrpksJCaYFUadj_lk5TQrXNRBGpz8YEPSyBmAcgFaYXnjrD6FpPxAibdDzLccd6eAl1evgJHwdFK8eF7_t70SPUee-c3yWo8dDis5lH_nxSvsAGG6fAWtftuMrT1iY/s1600/IMG_0278.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKe8sf_ZQ3ImkzeFrpksJCaYFUadj_lk5TQrXNRBGpz8YEPSyBmAcgFaYXnjrD6FpPxAibdDzLccd6eAl1evgJHwdFK8eF7_t70SPUee-c3yWo8dDis5lH_nxSvsAGG6fAWtftuMrT1iY/s640/IMG_0278.png" width="292" /></a></div>
<br />
この作成画面から、検索欄に「メール」と入力して、表示された一覧から「メールを送信」を選択します。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuX3ZenCDK_kEqddWgNNivHIqCOJzlZ9C2K2FVQk1ZSskssDIqgSkaiezwiZwP9HNNhhYQWVFQO_T0b2eijC7WXLkWzszK8V2BiLJR3TzQRAjgjYFm1acg9mcnKcYr0MlYL1Tj_Q4TfXM/s1600/IMG_0279.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuX3ZenCDK_kEqddWgNNivHIqCOJzlZ9C2K2FVQk1ZSskssDIqgSkaiezwiZwP9HNNhhYQWVFQO_T0b2eijC7WXLkWzszK8V2BiLJR3TzQRAjgjYFm1acg9mcnKcYr0MlYL1Tj_Q4TfXM/s640/IMG_0279.png" width="294" /></a></div>
<br />
上記の画面が表示されますから、作成シートのスイッチをオフにして、送信元には自分が IFTTTに登録したメールアドレスを、宛先にはIFTTTの送信先メールアドレスである「trigger@applet.ifttt.com」を入力し、件名には前にWebhookで設定したキーワードの「#Open」を入力します。<br />
もちろんキーワードは自分で設定したものを入力してください。<br />
で、右上に表示されている<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXUGcvXpW35uc7Ya0OK5IehmE_XFVjV-qh35cyhmHUCmydxZ87KRiuoGUiFLrIEv1rp8wK9sOofjntkoD3sdL7UXyqN3ci5t65ga5nPid2jFCgJ7evwsBXyETs2ST_Emwhy8rey0NsRdo/s1600/SW.jpg" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="94" data-original-width="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXUGcvXpW35uc7Ya0OK5IehmE_XFVjV-qh35cyhmHUCmydxZ87KRiuoGUiFLrIEv1rp8wK9sOofjntkoD3sdL7UXyqN3ci5t65ga5nPid2jFCgJ7evwsBXyETs2ST_Emwhy8rey0NsRdo/s1600/SW.jpg" /></a><a href="about:invalid#zClosurez" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><span style="text-align: left;">のマークをタップします。</span></a><br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSQfmFSCvitPKmG7DviDr_JxmMMMAQ4ZXlUu9Dzo0klkdTgc9FF8K_edIacalxm6-0iGug8GDdR159JAfLVDAvM3SKfXyUIL6uRglRfcnGzoURjhFzSmafbFJb6-jV2CNhTdHtnWO7yDg/s1600/IMG_0280.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="739" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSQfmFSCvitPKmG7DviDr_JxmMMMAQ4ZXlUu9Dzo0klkdTgc9FF8K_edIacalxm6-0iGug8GDdR159JAfLVDAvM3SKfXyUIL6uRglRfcnGzoURjhFzSmafbFJb6-jV2CNhTdHtnWO7yDg/s640/IMG_0280.png" width="292" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
の画面が表示されるので、ショートカットの名前をつけ、必要に応じて「ホーム画面に追加」や「Siriに追加」を選択してください。</div>
<div class="separator" style="clear: both; text-align: left;">
アイコンも選択肢があるのでそこから選択してください。</div>
<div class="separator" style="clear: both; text-align: left;">
私は上矢印風のアイコンを利用してみました。</div>
<div class="separator" style="clear: both; text-align: left;">
上のショートカットの画面に表示されていますね。</div>
<div class="separator" style="clear: both; text-align: left;">
同時にホーム画面にも同じアイコンが追加してあります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
で、このアイコンをタップすれば、IFTTTに「#Open」という表題のメールが送信され、そこからWebhook経由でRaspberry piのBeebotteに通知され、アプリ(私の場合はシェルスクリプト )が起動されます。</div>
<div class="separator" style="clear: both; text-align: left;">
で、スクリプトが動いてサーボを動かし、リモコンのスイッチを押してくれます。</div>
<div class="separator" style="clear: both; text-align: left;">
同様にしてシャッターを閉めるのも「#Close」と言う件名のメールをショートカットで送信してやれば良いだけ。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
で、Siriに「開けて」と頼むとちゃんとショートカットの「開けて」を呼び出して実行して・・・ ? くれません。</div>
いや正確に言うとショートカットの起動はしている様なのですが、メールを送信する前にショートカットの実行を終了してしまっている様です。<br />
う〜ん 困ったぞ。<br />
ショートカットは間違いなく動きます。<br />
ショートカットのアイコンをタップすれば、多少の時間はかかりますが、メールが送信されるのに、ほんの数秒も空けず送信でき、すぐにサーボがリモコンのスイッチを押してくれ、シャッターが開きます。<br />
でもSiriに頼んでもダメです。<br />
私のショートカットに「これから帰ります」と言うのがありますが、こちらは帰るコールのメッセージの送信のショートカットです。<br />
こちらは送信までにもう少し間が空きますが、それでも送信してくれる様です。<br />
じゃあ、仕方がないのでと言う事で、メッセージを使ってIFTTTに登録したGメールの方にメールを送ればって事で、試したのが「Garage Open」の方のショートカット。<br />
で、これなら少々余計な時間はかかるけどちゃんと送信できると言う事で、こちらを使う事にしてテスト開始。<br />
ガレージの前に立って、「ヘイ Siri !、ガレージ開けて!」でガレージのシャッターが、ちょっと待てば・・・ちょっと・・いや少し待てば・・・ まだ開かないぞ。<br />
って30秒ぐらいは待ちましたかね。<br />
で諦めかけた途端に開きだしました。<br />
で、色々と試したのですが、ともかく安定しません。<br />
ひどいと1分ぐらい待たされます。<br />
で、さらに色々と試していたら、「「ヘイ Siri !、開けて!」と IFTTTへのメールのショットカットでも開く時もある事に気が付きました。<br />
ただこれも当てにはなりませんけど。<br />
<br />
って、画面のショートカットを使えばとりあえず使えますけど、Siriを使うのはもう少し先になるのかな?<br />
<br />
なんとなく、Siriが気を利かせて本文の入力を待っていて、タイムアウトして送信してしまうのか、それとも本文が無いからと送信せずに終わるのか、そのどちらのケースもある様に思えますね。<br />
<br />
アップルストアのジーニアスに相談するしかないかなぁ?<br />
ホームキットの時の様に、純正じゃないからとにべもなく相談に乗ってもらえないのと違って、純正のショートカットを、純正のメールアプリで送信できないと言う話だから、大丈夫とは思うのですが、行く時間が取れるかな?<br />
<br />
追記:<br />
アップルの相談窓口に相談しましたが、いまだ解決の糸口は見つかりません。<br />
が、もっと良い手段を見つけました。<br />
<a href="https://snow-digital.blogspot.com/2019/01/siri.html" target="_blank">こちら</a>で説明します。<br />
<br />なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-11734607881116302112019-01-05T10:17:00.001+09:002019-05-13T22:51:43.269+09:00自宅のIT化 その4 BeeBottとIFTTTの設定実際の設定の話となります。<br />
先ずはデータを仲介するBeeBotteの設定からです。<br />
こちらのウェブサイトから新規ユーザーとして登録します。<br />
https://beebotte.com/<br />
<br />
ユーザ登録後にログインすると以下の様な画面になっているはず。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3fOOoPx67QXLWe_JJl71NwGCV3_fzY8JKyGhyphenhyphenfxNqoLmBom69zyoMhwCBHeTr5DX9OVQjI27DHPJayKEBlOJvd5V97b9yb5LxP6sffBoG7O-AXJGU-SdH2M4-fL7fMLw3JAZLQTH13C0/s1600/Beebotte-1.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"><img border="0" data-original-height="706" data-original-width="1516" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3fOOoPx67QXLWe_JJl71NwGCV3_fzY8JKyGhyphenhyphenfxNqoLmBom69zyoMhwCBHeTr5DX9OVQjI27DHPJayKEBlOJvd5V97b9yb5LxP6sffBoG7O-AXJGU-SdH2M4-fL7fMLw3JAZLQTH13C0/s640/Beebotte-1.tiff" width="640" /></a></div>
<br />
右上の「Create New」のボタンを押して新しいリンクを作ります。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjTN_zDahb3lMwt6Edv6dlSTOrEt8E9p8ai-6U4G9vg_2mtL-ysKj5QZjHUJgAjZ5JmqwfAFU4GosMh_uRwMM_kNF-2fBMNhZ_5wALgZ47BeUrq1-_U_ZttU9a-ta88wwwdFkJNY60Bkc/s1600/Beebotte-2.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"><img border="0" data-original-height="671" data-original-width="1525" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjTN_zDahb3lMwt6Edv6dlSTOrEt8E9p8ai-6U4G9vg_2mtL-ysKj5QZjHUJgAjZ5JmqwfAFU4GosMh_uRwMM_kNF-2fBMNhZ_5wALgZ47BeUrq1-_U_ZttU9a-ta88wwwdFkJNY60Bkc/s640/Beebotte-2.tiff" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
ここで Cannel Name には好きな名前を。<br />
私の場合はガレージのシャッタのコントロールだったので「Garage」にしています。<br />
Cannel Description は説明書きなので好きな文言を。<br />
Resource name は今回はShutter としました。<br />
Resource Description はこれも説明書きなので好きな文言を、<br />
その次の選択肢はよく分からなかったのでとりあえずString を選択しました。<br />
で、Create Cannel してできたのが最初の画面の Garage のチャンネルです。<br />
test は最初から出来ていました。<br />
<br />
で、この Garage をクリックすると出来上がったチャンネルが表示されます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx188q-NS1914G0qq6kT1aZYWVSm87lh3DGRkP3-5DM8z8-wI2CIkh2Y67Vp4h1N1JWA-aQkQN5ZjlLcJqi22i0rZrAGcLG1wHWhyphenhyphengnRt7kPAqpyIQYR_lu0UbtVupeRGu7yzcy-KSKqk/s1600/Beebotte-3.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"><img border="0" data-original-height="696" data-original-width="1516" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx188q-NS1914G0qq6kT1aZYWVSm87lh3DGRkP3-5DM8z8-wI2CIkh2Y67Vp4h1N1JWA-aQkQN5ZjlLcJqi22i0rZrAGcLG1wHWhyphenhyphengnRt7kPAqpyIQYR_lu0UbtVupeRGu7yzcy-KSKqk/s640/Beebotte-3.tiff" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
で大事なのが赤字で表示された「<strong style="background-color: whitesmoke; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Open Sans", sans-serif; font-size: 12px;">Channel Token:</strong>」です。<br />
要するにこれがこの「Garage」のチャンネルに対するパスワードになります。<br />
<br />
次にIFTTTの設定ですが、こちらは使った方が多いのでは?<br />
以下のウェブサイトからログインします。<br />
初めての方はIDを取得してください。<br />
<br />
https://ifttt.com/<br />
<br />
ログインして New Appletを選択すると以下の作成画面となります。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizIrmRV8LPlP5hiH9nVFgXYb5YfD80qU9QxtpTF_nfePP8s9WhuQ1VgbbZhCFi-o6AdaAU0hbbE8-w_R1lUO14n0Bay15-tf2jYZW8cKeVZV7Ko5sTsoo0b4D3M5cJbgy_wNt5tPhGHi0/s1600/ifttt-1.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"><img border="0" data-original-height="922" data-original-width="1508" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizIrmRV8LPlP5hiH9nVFgXYb5YfD80qU9QxtpTF_nfePP8s9WhuQ1VgbbZhCFi-o6AdaAU0hbbE8-w_R1lUO14n0Bay15-tf2jYZW8cKeVZV7Ko5sTsoo0b4D3M5cJbgy_wNt5tPhGHi0/s640/ifttt-1.tiff" width="640" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizIrmRV8LPlP5hiH9nVFgXYb5YfD80qU9QxtpTF_nfePP8s9WhuQ1VgbbZhCFi-o6AdaAU0hbbE8-w_R1lUO14n0Bay15-tf2jYZW8cKeVZV7Ko5sTsoo0b4D3M5cJbgy_wNt5tPhGHi0/s1600/ifttt-1.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizIrmRV8LPlP5hiH9nVFgXYb5YfD80qU9QxtpTF_nfePP8s9WhuQ1VgbbZhCFi-o6AdaAU0hbbE8-w_R1lUO14n0Bay15-tf2jYZW8cKeVZV7Ko5sTsoo0b4D3M5cJbgy_wNt5tPhGHi0/s1600/ifttt-1.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;"><br /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
まずは動作条件を設定するので、ブルーで表示されている「+this」をクリックして、以下の画面からE-Mailをタップします。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_Iz9xF51z243nPOBo-wPUpS3wdNiSjC0zF_7E_AAsb-PIszB-j8tTJeH2JFONhh25zhWEj_CaH44vU0NjYnZ5PZfuQiIL3yXTSBuLId1jwQ69KSRu4MRRazqfnpQVVCX_n9DYUFqclVA/s1600/ifttt-2.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="808" data-original-width="1514" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_Iz9xF51z243nPOBo-wPUpS3wdNiSjC0zF_7E_AAsb-PIszB-j8tTJeH2JFONhh25zhWEj_CaH44vU0NjYnZ5PZfuQiIL3yXTSBuLId1jwQ69KSRu4MRRazqfnpQVVCX_n9DYUFqclVA/s640/ifttt-2.tiff" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
右のタグ付きのメールの方を選択します。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3uzo5l7a9UKJTLHTlYrus9CgXDaKRQ2IKHO1Bx-7LfR6A_-rFEZb6S1PaI3tVyFmyA4VtmX_-4BQrI8TCCFEQmDGpHREbh_rJbZhC-Zs0qIRuhfA-iYeFkjM1zA6pqh-5W9XpMl8z6cU/s1600/ifttt-3.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="882" data-original-width="1507" height="374" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3uzo5l7a9UKJTLHTlYrus9CgXDaKRQ2IKHO1Bx-7LfR6A_-rFEZb6S1PaI3tVyFmyA4VtmX_-4BQrI8TCCFEQmDGpHREbh_rJbZhC-Zs0qIRuhfA-iYeFkjM1zA6pqh-5W9XpMl8z6cU/s640/ifttt-3.tiff" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
まずがシャッターを開ける方の設定なので、Tagには「#Open」としました。</div>
<div class="separator" style="clear: both; text-align: left;">
締める方は「#Close」ですがここも自分のシステムの都合で適当なタグをつけてください。</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaAWqW23y3v-o8tY5wDh_Zp3buKuQHxcThF5kSfks4GzzHoHKa-g8ku3n0l75-daiN4M7JEXL0RkSwQe9NDV-A7dswcTmmtJl5UtzW8K-8s6ShepfM7m52NqtnNL9iVItTzbEJ6tQ5ehQ/s1600/ifttt-4.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="904" data-original-width="1515" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaAWqW23y3v-o8tY5wDh_Zp3buKuQHxcThF5kSfks4GzzHoHKa-g8ku3n0l75-daiN4M7JEXL0RkSwQe9NDV-A7dswcTmmtJl5UtzW8K-8s6ShepfM7m52NqtnNL9iVItTzbEJ6tQ5ehQ/s640/ifttt-4.tiff" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
これで作成ボタンを押すと、今度は</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisGL4WlWcd6dmURGtR4TUf6IIlDCTwCas1s-p0eEY4WFE8Yck7l2SXgHV3Zi-WfIK0DJuO50IZ3i2d6_WUD4-NkzsYHgyt42_JrdzFkWXlX5RQ2-djI-d_FyNez9IsHTXy8C4xjEx0PIk/s1600/ifttt-5.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1491" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisGL4WlWcd6dmURGtR4TUf6IIlDCTwCas1s-p0eEY4WFE8Yck7l2SXgHV3Zi-WfIK0DJuO50IZ3i2d6_WUD4-NkzsYHgyt42_JrdzFkWXlX5RQ2-djI-d_FyNez9IsHTXy8C4xjEx0PIk/s640/ifttt-5.tiff" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
先の条件から今度はどう処理するかの選定です。</div>
<div class="separator" style="clear: both; text-align: left;">
検索欄に「web」と入力すると、Webhooks が表示されるので、これを選択。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBq4wD6aqBA6jGo8MuFjYPNyhONIrzwbKsjb6WZGAy2-bynyOEgL6ED3xWu12cVd7LCP4li5lJK6vSb098DXT6kEDUuSgvMxitsfLdvXEd7g72Vd3Zz_jO0g-l4RJR6P-yD8uhwpv9xqI/s1600/ifttt-6.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="909" data-original-width="1501" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBq4wD6aqBA6jGo8MuFjYPNyhONIrzwbKsjb6WZGAy2-bynyOEgL6ED3xWu12cVd7LCP4li5lJK6vSb098DXT6kEDUuSgvMxitsfLdvXEd7g72Vd3Zz_jO0g-l4RJR6P-yD8uhwpv9xqI/s640/ifttt-6.tiff" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBR0Rj7kE6wideoRia8g39pNnEirZCkOvfdHJWHvfzT8zSnbr2SIL4imNexWy7vf0-e9qVwYwQw3a8bgBSqIzJotRNVnriXhomQvzT5NfeMqtSnOcBAU6XMVMjwpcJsO_NskcJBm8-c5I/s1600/ifttt-7.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="841" data-original-width="1512" height="353" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBR0Rj7kE6wideoRia8g39pNnEirZCkOvfdHJWHvfzT8zSnbr2SIL4imNexWy7vf0-e9qVwYwQw3a8bgBSqIzJotRNVnriXhomQvzT5NfeMqtSnOcBAU6XMVMjwpcJsO_NskcJBm8-c5I/s640/ifttt-7.tiff" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
そのまま表示されたものを選択して処理を入力します。<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4JRRT6_9XqQxvDPRxrNxBJlreh_GhOegPMIK0H3aberhyphenhyphenVac5m7qB81Ua9qMYvdyJtu8GMCzouCSKtLLBpIgM1r5zWfR5k3A5lpAI9XBGAVqSj3v4gk2gaRLjVEXIs13vGLEl3U2nbbs/s1600/ifttt-8.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1046" data-original-width="562" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4JRRT6_9XqQxvDPRxrNxBJlreh_GhOegPMIK0H3aberhyphenhyphenVac5m7qB81Ua9qMYvdyJtu8GMCzouCSKtLLBpIgM1r5zWfR5k3A5lpAI9XBGAVqSj3v4gk2gaRLjVEXIs13vGLEl3U2nbbs/s640/ifttt-8.tiff" width="342" /></a></div>
<br />
<br />
<br />
URLの欄は以下のURLの「=」の後ろにbeebotteで指定された<strong style="background-color: whitesmoke; box-sizing: border-box; caret-color: rgb(51, 51, 51); color: #333333; font-family: "Open Sans", sans-serif; font-size: 12px;">Channel Token</strong> の文字列をそのまま追加します。 <br />
http://api.beebotte.com/v1/data/publish/Garage/shutter?token=<br />
<br />
後は画面と同じ様に入力します。<br />
Body の項目はメールの本文の文字列などを入力できるはずですが、よく分からなかったのでとりあえず固定の文字列を入れています。<br />
ここのところを変数にできれば作業はもっと楽になるはずです。<br />
これで「Create action」を押して完了となります。<br />
同様にして「Close」のアクションも作成しますが、上記のBodyにメール本文の変数が使えればアクションは1つで複数の動作に対応可能となりますね。<br />
時間が有る時に調べようと思っています。<br />
これで IFTTT のアクションで、Beebotte にOpen か Close の指示が飛ばせる様になりました。<br />
<br />
次が、Raspberry pi 側で Beebotte からのプッシュ通知を受けるところになります。<br />
これにはNode-REDというものを使います。<br />
先ずは Raspberry にインストールしますが、それはNode-RED日本ユーザ会さんのウェブサイトを参照するのが一番でしょう。<br />
以下になります。<br />
<br />
https://nodered.jp/docs/hardware/raspberrypi<br />
<br />
で、無事にインストール出来たら設定ですが、起動すると以下の様な画面が表示されます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT4CB8rs1ceeATg-qVpp0uvXQ96G5czYmJh79PnzbVnym5VK14pTA8dSyujtK4wPlpmrpnBRYeyd5fiJPcKZPJ08KcIfe-BDJ-2dqn1zvKbCGVraOqaNir57IZSvrVmrgSSdq8NoIQGhI/s1600/node-1.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1051" data-original-width="1530" height="438" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT4CB8rs1ceeATg-qVpp0uvXQ96G5czYmJh79PnzbVnym5VK14pTA8dSyujtK4wPlpmrpnBRYeyd5fiJPcKZPJ08KcIfe-BDJ-2dqn1zvKbCGVraOqaNir57IZSvrVmrgSSdq8NoIQGhI/s640/node-1.tiff" width="640" /></a></div>
<br />
まず左の input の項目から「mqtt」をドラッグして中央のマス目のところに適当にドロップします。<br />
次に左の欄を下にスクロールすると「function」という項目があるので、その中の「swich」を同じ様にドラッグ&ドロップします。<br />
次はさらに下の「advanced」から「exec」を2つドラッグ&ドロップします。<br />
最後に上に戻り、「output」から「debug」を3つドラッグ&ドロップします。<br />
下の図はすでに各処置を線で結んでいますが、とりあえず各項目を同じ様な感じで配置しておいてください。<br />
これから個々の項目に処理内容を書き込んで行きます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS7vx4WzcCXfw1LQa7KFA67ucrVdfARuMNQETK38jSyXs9xmJix2DNiNQtpsT3HKB200j-2FVlvSC1w4tgiJUuymq_aviVAt1-uwffNDCuBPAe7ao572F0dERzEvu76m4JOl7_4IiaDQE/s1600/node-5.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="176" data-original-width="925" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS7vx4WzcCXfw1LQa7KFA67ucrVdfARuMNQETK38jSyXs9xmJix2DNiNQtpsT3HKB200j-2FVlvSC1w4tgiJUuymq_aviVAt1-uwffNDCuBPAe7ao572F0dERzEvu76m4JOl7_4IiaDQE/s640/node-5.tiff" width="640" /></a><br />
<br />
まず最初はmqtt。上の図では已にGarage/shutterと名前が変更されていますが、色でどれか判断できますね?<br />
これをダブルクリックすると以下の画面が表示されますので、同じ様に入力してください。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfZq3MU3_JD-K97feTegl392hXrqbeIiCt_zk4ksJn_xdtor0iVrnrcxA5PlLVc0Gdz2XpY_8YGO6WgiyZ9GIXweR5QwxG2xW0kGA3offWa40prmA71YBqu4uQeTTH-NQ-bmixh3BthAo/s1600/node-2.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="363" data-original-width="504" height="459" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfZq3MU3_JD-K97feTegl392hXrqbeIiCt_zk4ksJn_xdtor0iVrnrcxA5PlLVc0Gdz2XpY_8YGO6WgiyZ9GIXweR5QwxG2xW0kGA3offWa40prmA71YBqu4uQeTTH-NQ-bmixh3BthAo/s640/node-2.tiff" width="640" /></a></div>
<br />
Topic 欄の「Garage/shutter」は自分のBeebotteで使用した名前にしてください。<br />
名前は「<span style="background-color: white; caret-color: rgb(51, 51, 51); color: #333333; font-family: -apple-system, "Segoe UI", "Helvetica Neue", "Hiragino Kaku Gothic ProN", メイリオ, meiryo, sans-serif; font-size: 16px;">token:[Channel Token]」</span>にしてください。<br />
Done を押したら次はswitchを同じ様に開きます。<br />
処理の条件を決めます。<br />
IFTTTでメールのタイトルのタグを判断してデータにOpenとCloseを書いてBeebotteに投げていますので、その文字を判断条件として利用します。<br />
以下の様にデータにはOpenとCloseの文字が入っているのでそれによって処理1と2に分けます。<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijjIGn8k3BvCW1Q1fAuvI0ttYo09BLWLSz9xG-N-atiJdmAgYdTxF89Rf_MO405CKXgEl6gYwJHomsTebP_oqxGsdXhkWPa_BF_JQ_RcbKFKJc9wpRvzQw-ubm0X658GBnPSi_SQS5h-s/s1600/node-4.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="390" data-original-width="500" height="497" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijjIGn8k3BvCW1Q1fAuvI0ttYo09BLWLSz9xG-N-atiJdmAgYdTxF89Rf_MO405CKXgEl6gYwJHomsTebP_oqxGsdXhkWPa_BF_JQ_RcbKFKJc9wpRvzQw-ubm0X658GBnPSi_SQS5h-s/s640/node-4.tiff" width="640" /></a></div>
<br />
この文字は自分の設定合わせて適切に設定してください。<br />
<br />
最後がexecですが、これは自分がRaspberry pi上で実行したいプログラムやシェルを指定します。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv1ynDJteGxOUXHAtLoeK3ItwINpjeGliejzgg-s-oUyEtNMYgCPmBXj9xAgfIGLUQO8M0JNlKQxUInwx-v_69vH15zll6IZ9RA8j3K_nbIownJ_WQKnGd53FW4AAH4Ug3Czy1c22nEpk/s1600/node-6.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="452" data-original-width="501" height="576" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv1ynDJteGxOUXHAtLoeK3ItwINpjeGliejzgg-s-oUyEtNMYgCPmBXj9xAgfIGLUQO8M0JNlKQxUInwx-v_69vH15zll6IZ9RA8j3K_nbIownJ_WQKnGd53FW4AAH4Ug3Czy1c22nEpk/s640/node-6.tiff" width="640" /></a><br />
ここで実行するプログラムなどを指定します。<br />
私の場合はシェル・スクリプトですので、上記の様にシャッターを開けるシェルと、閉めるシェルをそれぞれのexecに指定します。<br />
最後に各処理の出力を次の入力として繋いで処理全体をつなぎます。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTXlBF61-Xu5VrZZx05EWtJNGoPVMlz_KeiY5viB7C-Ojw2XzkqrZRJQymsCgqFK4pSrtgPtRO0B5fVRhLYcEOQ4EL9XZ75ydob_0i3xOXusRZjqPZJLUnUMh4LJtcv3w4WN6au3pfJ1Y/s1600/node-5.tiff" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="176" data-original-width="925" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTXlBF61-Xu5VrZZx05EWtJNGoPVMlz_KeiY5viB7C-Ojw2XzkqrZRJQymsCgqFK4pSrtgPtRO0B5fVRhLYcEOQ4EL9XZ75ydob_0i3xOXusRZjqPZJLUnUMh4LJtcv3w4WN6au3pfJ1Y/s640/node-5.tiff" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
緑色のdebugは自動的に設定されますし、繋がなくても良いのですが、処理結果が右のdebugのタブに表示されるので、上手く動かない時には役立ちます。<br />
<br />
これで、IFTTTにメールを投げれば目的のプログラムが動作するはずです。<br />
後はiPhoneの方で<a href="https://snow-digital.blogspot.com/2019/01/itiphone-siri.html" target="_blank">ショートカットを作り、それをSiriに登録</a>するだけ。<br />
<br />なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-89048856205788156312019-01-03T15:44:00.001+09:002019-01-05T10:18:15.797+09:00自宅のIT化 その3(iPhone のショートカットの利用)もともとガレージのシャッターは音声で開け閉めできたら面白いし便利(車の中ではスイッチを押すより、声で動かせれば便利のはず)と言う事(一応リモコンの数を増やしたいと言う表向き(家族向け言い訳は本音とは別))で始めた事でもありますので、もう一度原点に戻ってみようと。<br />
iPhone のホームアプリでの利用は何故かSiriが上手く反応しないし、ホームアプリの動作も純正品でないのが問題なのか、動作が不安定だしその時々で反応時間が全く違ってしまいます。<br />
<br />
で、iOS12になって追加された機能が「ショートカット」色々な事が組み合わせて実行できます。<br />
今までも帰るコールなどはメッセージを利用して声だけで「今から帰る」とか「何処何処を出発」なんてSiriに頼んで送信していました。<br />
提携のメールならこのショートカットでホーム画面に登録したアイコンをタップするだけで済みそうです。<br />
しかもSiriにもショートカットを直接教え込んで動かしてくれる機能も付きました。<br />
<br />
これを利用すれば、IFTTTに定型メールが送れる。<br />
それを起点にIFTTT から自宅のサーバーに指示が出せるはずとなれば後は色々ググってみるだけ。<br />
なんとなくそれっぽいのが出てきます。<br />
Google HOMEを使って、本来は対応品でない家電を動かしたい人は大勢いますね。<br />
とりあえずは IFTTTからWebhookを利用してBeebotte経由で自宅サーバー(Raspberryなど)という経路が見えてきました。<br />
<br />
ところでWebhookってなんじゃ? と言う人は多いと思います。<br />
REST通信の話ですが、良い説明はないかと探したらこんな面白い説明を見つけました。<br />
これならば素人にもわかりやすい!<br />
<br />
<a href="https://kintone-blog.cybozu.co.jp/developer/000283.html" target="_blank">Webhookって何?を子どもでもわかるように描いてみた</a><br />
<br />
だん吉さんありがとうございます。<br />
<br />
って訳で、「IFTTTから投げたデータをどうやって受けるの?」と言うところがBeebotte以降ですね。<br />
というか、自宅からWebアクセスする先がBeeBotteのサーバーと言う形。<br />
<div>
<br /></div>
REST通信を素人が気楽に使えるとは思っていませんでした。<br />
いやー最近のサービスの充実はすごいですね。<br />
<br />
自宅のネットワークのサーバーにインターネット側からデータを送りつけようとすると、DMZの設計は勿論、外部からアクセスするためのDDNSとかの仕組みも必要とかでちょっと面倒だし、セキュリティ的にかなりきちんと作り込まないと、いつ攻撃されるかわかりませんからね。<br />
その点自宅のLANの内部から外部のサーバー(今回は Beebotte)へアクセスしてその結果を受けるHTTPの仕組みならば比較的安全に利用可能です。<br />
<br />
と言う事で、自宅側からインターネット上のBeebotteにあるサーバーにデータを要求しておけば、IFTTTからデータをBeebotteに送ってきた時にそのデータを自宅のウェブ画面にプッシュしてくれると言う感じです。<br />
で、そのデータを要求して、プッシュされたデータを簡単に処理出来るのがNode-REDというものです。<br />
ウェブサイト上(といっても自分のPC上で動いている)で、データ処理の流れを簡単に設定できます。<br />
Beebotteから送られてきたデータの内容に応じて自作のプログラムを起動するとか、シェルを起動するとかを、プログラムではなく、機能をパズルの様に組み合わせて実現してくれます。<br />
これならば素人でも簡単に自分用に処理するアプリを作れます。<br />
<a href="https://snow-digital.blogspot.com/2019/01/it-beebottifttt.html" target="_blank">詳細な設置などはこの次に。</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0tag:blogger.com,1999:blog-8404129190610195115.post-60526286324928025802019-01-02T21:09:00.002+09:002019-01-03T15:45:32.425+09:00自宅のIT化 その2(Bluetooth Low Energy)ガレージのシャッターの開閉に合わせて電灯を点けたりするのは玄関の電灯を点けたりするのとほぼ同じ手法。<br />
違うのは点けるタイミングが時間(日没時間が基準)そのものなのか、シャッターが開いた時に日没後か、日没前かを判断して点けるかどうかの違いだけ。<br />
ですから基本的には玄関の照明の記事の内容そのまま。<br />
あとはスイッチが玄関は押す度にオン・オフが切り替わるタイプだから、いま点灯しているかの判断が必要(手動でもオンオフできる様にするため)ですが、ガレージはシーソー式。オンならともかくオン側を押すし、オフならオフ側を押すだけ。<br />
今点灯しているのか、消灯しているかの判断は不要。<br />
天気が悪くて薄暗い時は手動で点灯している事もありますから、シャッターが閉まる時は常に消灯させ(ついていなければ空振りするだけ)、開けるときだけは夜かどうか判断して点けるかどうかを決めるだけ。<br />
より単純になるだけですね。<br />
<br />
で、問題はリモコンの数を増やそうという方。<br />
ダイソーで三百円で売っているリモコンシャッターは音量を上げる信号を出せます。<br />
これを利用してスマホの写真機能で音量ボタンでシャッターを切っているのですが、簡単な改造で Android 用の押しボタンを音量を下げる様にも出来るのです。<br />
この2種類の信号を使って、ガレージのシャッターの上げ下げを行わせようという魂胆。<br />
改造記事はこちらを参照しました。<br />
<br />
<a href="https://japanese.engadget.com/2017/10/26/bluetooth/" target="_blank">ダイソーでスマホ用Bluetoothリモートシャッターを発見→分解→ちょい改造:ウェブ情報実験室</a><br />
<br />
宮里圭介様 ありがとうございました。<br />
<br />
<br />
で、これを1台だけではリモコンを増やすという形にはならないので、複数個用意して使おうという魂胆です。<br />
これまた複数のBLE機器(この場合はサーバーが複数という形)を利用するとなると、単純に Arduino のサンプルプログラムでは使い物になりません。<br />
そこで見つけたのが、こちらの記事。<br />
<br />
<a href="http://d.hatena.ne.jp/wakwak_koba/20181114" target="_blank">ダイソー BLE リモートシャッター で SwitchBot を操る</a><br />
<br />
こばさん ありがとうございます。<br />
<br />
しかしこの記事を参考に2台のリモコンをつないでみると・・・なんか変。<br />
1台はスムーズにつながるのですが、もう一台がうまく繋がらない。<br />
とりあえず1台だけ繋ぐ様に弄ってみても特定の1台は上手く繋がりません。<br />
でもiPhoneにつないで見ると2台とも問題なく動作します。<br />
うーん! どうして?<br />
とりあえず、実験という事でもう1個買ってきて見ると、ちゃんと2台繋がります。<br />
どうも個体差(か改造ミス)でうまく繋がらない模様。<br />
でもiPhoneで普通にリモートシャッターとして繋ぐには全く問題なし。<br />
よく分からん、ということにはなりますが、まぁそれは置いておき実験の続きを。<br />
<br />
で、2台とも繋がっている状況では問題ないのですが、1台のリンクが切れると突然繋がっている方もおかしくなります。<br />
色々と試したら、30秒後に突然反応したりという事で、原因が判明。<br />
<br />
元々の製作記事の方は、Bluetoothリモコンで、別のBluetoothの機器をコントロールしようというもの。<br />
リンクが切れて(BLEでは動作しない時はさっさと電源を落としてバッテリーの消費を防ぐ)もリモコン側のアクセスがない間はそのままリモコン側からのアクセスだけをみていれば良く、アクセスされてリンクが確立したら、コントロールされる機器にリンクを貼り直せば良いだけ。<br />
私の様に2台のリモコンを常時監視している必要はありません。<br />
<br />
なので、一方を監視して、見つかってからもう1台を確認という手順で問題ないわけです。<br />
しかし私が使う時は複数を監視していて、1台がアクセスしてきたら直ぐに対応。<br />
その間は他のリモコンがアクセスしても無視して良いというのとは違います。<br />
そのまま使うと1台目のリモコンを探して30秒間はそのまま。<br />
見つからないと別のリモコンを探して30秒。<br />
で、その間に片方が見つかっても、もう一方を探して30秒のタイムアウトが起こるまでは処理を待たせてしまっていたのです。<br />
原因がわかれば早速・・・ と言いたい所ですが、実務ではアセンブラーでの開発と、近年は少々bashでシェルスクリプトを組むのがせいぜいの私にとって、このハックは難しすぎると白旗を上げることとなりました。<br />
とは言え、やはりなんとかしたいですよね。<br />
ということで<a href="https://snow-digital.blogspot.com/2019/01/itiphone.html" target="_blank">続き</a>はまた。<br />
<br />なおさんhttp://www.blogger.com/profile/10262662138742531014noreply@blogger.com0