Hobby Science&Experiment

愛と工作の日々

趣味でやっている工作や勉強したことのメモ書きです。

「Alexa、おやすみ」でTVはオフのままで良いのにオンになってしまう件

「Alexa、おやすみ」等のコマンドで家電を一括してオンオフする方は多いのではないかと思います。エアコンやテレビ、シーリングを布団の中からでも音声操作できるのは非常に楽チンですよね。
しかし困るのが一部の家電がすでにオフなっており、かつリモコン信号がオン/オフの区別をしない場合です。例えばテレビがオフの状態で「Alexa、おやすみ」というとテレビがついてしまうようなことが起こります。これは非常に困ります。テレビがオフの状態で「Alexa、お休み」が使えないのです。

どうすればいいのか

テレビを改造することは出来ないので、何とかしてAlexaにテレビがONなのかOFFなのか区別してもらう必要があります。

情報調査中

面白そうな記事がいくつかヒットしました。ハッカーたちはその程度楽勝でやってのけているようです。これは希望が見えてきました。
www.reddit.com
community.smartthings.com
github.com
harizanov.com
flows.nodered.org

支払額別 エポスゴールドからプラチナに乗り換えるべきか?還元率ガチ比較

ここ何年か、エポスプラチナカードへのインビテーションが届くようになりました。年会費2万円がかかりますが、エポスゴールドでは1万ポイント止まりであったボーナスポイントが更に増額されます。ぶっちゃけどっちがお得なのか?プラチナに乗り換えるべきなのか?純粋な還元率のみから比較した記事がないようだったので、自分で計算してみることにしました。

ボーナスポイント

ゴールドとプラチナのボーナスポイントは年間支払額に応じて付与されます。ゴールドは100万円の1万ポイントで頭打ちですが、プラチナは1500万円までボーナスポイントが増額されます。

f:id:tara-chang:20210115224659p:plain
https://www.eposcard.co.jp/platinum/main.html

年間使用額に応じて、どちらのカードがお得なのか(=より還元率が高いのか?)が決まるはずです。

プラチナに乗り換えるべきラインは?

「どちらがお得か」という観点で比較したいため、エポスプラチナの年会費2万円分を差し引きした"実質の還元率"を算出することで、年会費無料のエポスゴールドと同じ土俵で比較しました。
f:id:tara-chang:20210116000152p:plain
年会費2万円分を差し引きしてもプラチナがゴールドより高還元になるのは、支払額200万円からとなることが分かりました。その際還元率は1.5%となり、クレジットカードの中でも非常に高還元な部類であることが分かりました。また支払額100万円以上でゴールドカードと同じ還元率となっているため、100万円以上の支払額であればプラチナに乗り換えても損することはないこともわかりました。これはすなわち、100万円の支払額があればボーナスポイントで年会費を相殺し、なおかつゴールドカードと同じポイント還元、ゴールドカード以上の待遇を受けられることを意味します。逆支払額が100万円以下であれば、年会費を相殺することが出来ず還元率がマイナスとなってしまう点にも注意です。

●年間支払額50万円未満の場合

エポスプラチナの年会費2万円を相殺することが出来ず還元率がマイナスとなってしまいます。乗り換えるべきではないでしょう。

●年間支払額100万円以上200万未満の場合

ボーナスポイントで年会費を相殺し、なおかつゴールドカードと同じポイント還元(1.5%~1.0%)が得られます。ポイントの観点では乗り換えても損でも特でもありません。しかしプラチナの特典である国際ラウンジ利用やプライオリティパスの特典を受けられるため、乗り換えるメリットは十分にあると言えます。

●年間支払額200万円以上の場合

ゴールドの還元率が1%以下に落ちてくる一方、プラチナでは1.2~1.5%の高い還元率が得られます。ポイントの観点からはぜひ、乗り換えるべきと言えます。

結論

毎年年間支払額100万円を超えるならばプラチナに変えて問題はないことが分かりました!

おまけ

プラチナとゴールドのポイント還元額の差額です。もし支払額が500万円であれば、プラチナに変更することで30,000ポイント増量することが出来ます。
f:id:tara-chang:20210115234253p:plain

3行で分かる武田信玄・・・実はエリート為政者!

武田信玄とは誰なのか、いったい何をした人なのか。大河ドラマ麒麟が来る」では信長との戦いを目前に籠の中で死んでしまいましたね(^^;)勉強しましたので簡単にまとめました。

f:id:tara-chang:20210105172847p:plain
ドラマ「麒麟が来る」の武田信玄

3行でまとめると

●甲斐(今の山梨県)の武将で、戦を重ね勢力を大きく広げた有力武将の一人だった。
●為政者として優れ、金山開発、治水などに取り組み産業を大きく発展させた。
●上洛目前にして病死。その後武田家は織田・徳川軍に敗れ滅亡してしまう。

出生~父親の追放

甲斐(今の山梨県)を統治していた武田信繁の子として生まれました。武田家は代々甲斐の守護家であり、名家と言ってよい家柄でした。
信繁は領民の負担を顧みず戦を始めたり、意見の合わない家臣を斬ったりする独裁気質があったようです。当時の記録には「信虎平常悪逆無道也」とあり、家臣や領民からの支持も低かったようです。
信玄は駿河今川義元に協力を頼み父・信虎を追放し、新たな領主となりました。

政治

信玄は独裁気質の父とは対照的に様々な人の意見を政治に取り入れました。優れた人材の発掘に秀でており、身分にかかわらず重臣に取り立てました。
それぞれの分野の専門家の力を生かすことで、金山の開発、植林、製紙、漆器の普及など産業を大きく発展させました。
また河川の氾濫による被害が深刻だった甲府盆地で治水事業を進め、農業の発展に貢献しました。
産業、農業ともに甲斐の国が豊かになることで人々の生活は向上し、戦にも強くなったと考えられますね。

f:id:tara-chang:20210106212359p:plain
信玄堤 (https://ja.wikipedia.org/wiki/%E4%BF%A1%E7%8E%84%E5%A0%A4)

戦国武将として

信玄は信長らと天下を争っていた有力武将の一人でした。有名な「川中島の戦い」では越後の上杉謙信と12年、5回に渡って戦いました。また1572年の「三方ヶ原の戦い」では徳川・織田軍に勝利します。最終的には信玄の勢力は長野、静岡、群馬など広大な範囲に及びました。将軍足利義昭に上洛を依頼されますが、結局上洛を果たせず病により亡くなります。信玄の死後、息子勝頼が後を継ぎますが、1572年の「長篠の戦い」と「天目山の戦い」で織田・徳川連合軍に敗れ、武田家は滅亡しました。
信玄が上洛を実現していたら、もしかしたら天下統一も有り得たのかもしれません。

その他メモ

・信玄と名乗りだしたのは39歳で出家してから。それまでは晴信という名前でした。
・父・信虎を追放したため荒々しいイメージがついたそうです。
・父親は甲斐に帰ろうとしますが、結局かなわず駿河で一生を終えました。

感想

領民から広く意見を取り入れて産業やインフラを強化したのが信玄軍の強さだったのではないかと思います。

春日局って誰?底辺から頂点まで上り詰めたつよつよウーマン

春日局の伝記まんがを見つけました。「ピンで描かれるほどの人物なの?なんか大奥の偉い人だっけ?」程度の知識でしたが、実は底辺から頂点まで上り詰めたつよつよウーマンであることが分かりました。Wikipediaで調べた情報と併せて記録しておきます。

4行要約

●謀反人・明智光秀の家臣、斎藤利三の子として生まれ、幼少は逃亡生活を送る。
小早川秀秋の家臣、稲葉正成に嫁ぐ。秀秋の関ヶ原での裏切りにより、夫・正成はやさぐれてしまう。
●公募で将軍家の乳母になり、家康に直談判するなどの行動力で家光を将軍にする。
●将軍の乳母として権力を強め、最終的に従二位まで上り詰める。

中々の波乱万丈ぶりです。もう少し細かく見ていきましょう。

激動の一生

春日局の出自~謀反人の子

1579年、丹波亀山(現在の京都府亀岡市)にて斎藤利三とおあんの間に福(後の春日局)は生まれます。父・利光大河ドラマでも活躍した斎藤道三とは別の系譜で、母・おあんは稲葉良通の娘だそうです。

f:id:tara-chang:20210104145835p:plain
ドラマ「麒麟が来る」の稲葉良通(一鉄)

丹波明智光秀の所領であり、利三は光秀から領地を与えられていました。
そして1582年、本能寺の変斎藤利三明智光秀とともに織田信長を倒します。明智軍は山崎の戦いにて秀吉軍に破れ、謀反人となった利三も切腹します。
幼い福と母・おあんは秀吉による残党狩りを恐れ逃亡。親戚である長宗我部元親を頼り高知に6年間隠れることになります。春日局の生まれ、幼少はまさに底辺だったと言っていいでしょう。

武家に嫁ぐ~関ヶ原の裏切者

1591年転機が訪れます。福は亡き父・利光の友人である海北友松に助けられ京に戻ることが出来ました。更に彼の紹介で三条西家に侍女として仕えることになりました。福はここで礼儀作法、茶の湯香道、手習い(習字)、和歌など教養を身に付けます。3年間の三条西家での修行で立派になった福は、備後の小早川秀秋の家来、稲葉正成に嫁ぐことが出来ました(この時17歳)。正成は稲葉良通の養子でもあります。
福と母・おあんの結婚目的は落ちぶれた斎藤家の再興であり、この結婚の後に福の兄達は小早川家に仕えることができました。
そして天下分け目の関ヶ原の戦いでは小早川秀秋の裏切りにより東軍が有利となり勝利しますが、この寝返りを進言した一人が稲葉正成です。
秀秋と正成は武功と引き換えに、裏切り者として世間から裏切り者として蔑まれることになります。

f:id:tara-chang:20210105131529p:plain
漫画「風雲児たち」の小早川秀秋

将軍家の乳母になる

主君秀秋の元を離れ、正成のふるさと美濃に戻ることを決意した福と正成。しかし正成は昼間から酒を飲むダメ人間になってしまう。福は夫・正成と息子たちの為に何とかしたいという思いに駆られる。謀反人の子で隠れ住む身から武家に嫁ぎ斎藤家を再興した福ですから、主体性が半端ないですね。

f:id:tara-chang:20210105132931p:plain
集英社版・学習漫画春日局」より

福は京都を訪れた際、将軍家の乳母募集の高札を見つける。稲葉家再興のチャンスと考え、正成に断りなく応募してしまいます。
このころ身分の高い人物は乳母によって育てられることが一般的でした。乳母選考の過程では福の家柄及び公家の教養と、正成の戦功が評価されました。福は後の二代将軍、家光(幼名:竹千代)の乳母となりました。
正成と孫・竹千代の乳母である福に恩を感じていた家康は、福の息子の稲葉正勝を家光の小姓に取り立たてました。その後正勝は元和9年(1623年)に老中に就任、寛永9年(1632年)には相模国小田原藩主となりました。
※正成との離縁と乳母になるまでのプロセスは諸説あるみたいです

女性政治家として活躍

●将軍後継争いに勝利
竹千代が鈍臭かったのに対して、弟・国松(後の徳川忠長)は文武ともに優れ、江戸城内では次期将軍と持て囃されていました。傷心の家光は自殺しようとしますが、福はこれを阻止。何としても竹千代を将軍にすると思い立った福は、駿府で隠居する家康に直談判します。家康は竹千代派と国松派による争いを防ぐため、長男である竹千代を支持します。この結果跡継ぎ争いは竹千代有利となり、1623年竹千代は元服して名を家光と改め三代将軍となります。
福の直談判がなければ三代将軍は忠長だったかもしれません。福の家光への愛情は異常なまでに大きく、福が家光の実母なのではないかという説もあるそうです。ちなみに弟・忠長は1633年幕命により自刃してしまいます。

f:id:tara-chang:20210104190251p:plain
漫画「シグルイ」の徳川忠長

●大奥総取締役になる
家光が将軍になったことで育ての親である福の地位も上がりました。大奥の決まりを定めた「大奥法度」の制定に協力したり、家光の結婚相手を見つけ、4代将軍家綱の誕生に貢献しました。
またお江与の方(家光、忠長の産みの母)が亡くなると、福は大奥の総取締役(最高責任者)となりました。将軍の権威を背景に老中をも上回る実質的な権力を握ったそうです。
紫衣事件
紫衣事件(幕府と朝廷のいざこざ)の際、福は幕府の使者として後水尾天皇に謁見しました。また天皇に会うにあたり官位が必要になり、三条西家に縁組します。同時に春日局に名前を変えました(この時51歳)。
天皇は「乳母ごときを使者に立ておって…(#^ω^)」と腹を立てます。幕府が朝廷を下に見ていること、そして春日局の地位の高さが良く分かる出来事です。

頂点に上り詰める

最終的に春日局は従二位まで上り詰めました。これは北条政子に比肩する位階であり、女性としてはほぼ頂点(テッペン)まで上り詰めたと言っても良いのではないかと思います。徳川家光により「参勤交代」「鎖国」などの制度が敷かれたのち、春日局は65歳で息を引き取りました。始まって間もない時期の徳川政権の安定化に貢献しました。

春日局は「悪女」なのか

春日局の生き方から学べる事

Zoomのマルチエフェクター用スイッチャーを作りたい(2)【部品調達】

前回記事の続きです。Zoomのマルチエフェクターを操作するスイッチャーを自作したいと考えています。再現可能そうなチュートリアルを見つけたのですが部品が高価で困っておりました。別アプローチ記事を新たに見つけたので記録しておきます。

USB Arduino Midi Shield for ZOOM Effects

こちらのinstructableとなります。こちらもCarraN氏による投稿で、もともとはLawrence Doss氏のアイデアのようです。Hobby Tronic製のUSBホストの替りに、Aliexpressで入手できるUSBホストシールドを利用するようです。またこの場合、Arduino nanoではなくUno等での使用が前提になりそうです。

f:id:tara-chang:20210101230216p:plain
CarraN氏のinstructableより

残念ながらこちらの記事からリンクされている商品はすでに販売していないようでした。代替品を探す必要がありそうです。

類似品を探す

Alioexpressにて類似の商品を発見することが出来ました。プリントの色などは違いますが、ICの配置などはクリソツです。まぁ多分同様の機能でしょう!価格は$4.5+$4.3(送料)=$8.7=¥899と安価でした。
ja.aliexpress.com
ついでに格安のArduino uno互換品も購入しておきました。あとは届くのを待つだけです。

その他メモ

instrutableにてCarraN氏の工作を再現した方による投稿がありました。参考になりそうです。

I am a beginner. To achieve the project I had to install this library https://github.com/felis/USB_Host_Shield_2.0#how-t... and add this 2 lines in the ino file :
#include <usbh_midi.h>
#include <usbhub.h>

Zoomのマルチエフェクター用スイッチャーを作りたい【下調べ】

マルチストンプやGシリーズ等を始めとするZoomのマルチエフェクターは沢山のパッチを記憶できます。しかし使い方によっては特定の狙ったパッチをワンボタンで呼び出すことが難しいのが不便に感じるのではないでしょうか。外部入力のスイッチャー(フットスイッチ)でそういったことが出来ればいいのに…そう思って私の調べた感じでは安価でそういう商品はなく、また有用性も高いことから自作する価値は非常に高いと考えます。ネット上での情報収集を行いましたのでまとめます。

イイ記事を見つけました

こちらのinstructableで正に!といったものがありました。

f:id:tara-chang:20201231233432p:plain
CarraN氏のinstructableより

Arduinoをフットスイッチのインプットとし、USBホストなるものでマルチストンプへ信号を送るようです。コメント欄には実施した方のレポートもあり、再現は可能なように思われます。非常にシンプルな構成であり、安価に構築できそうです。

USBホストについて

ところでこの工作のキーとなるHobby Tronic製のUSBホストですが、価格は£16.2+送料£9.45=25.65£で日本円にして3,608円となります。ちょい高いですね…。
www.hobbytronics.co.uk
どうにか安く入手することはできないでしょうか。急ぎでもないのでしばらく検討することにします。

複合センサーBME680をRaspberry Pi3+で使う

BOSH製複合センサーBME680は、1つのモジュールで温度、湿度、大気圧に加えてまで測れてしまう優れモノです。
I2CレベルコンバータIC搭載のセンサーモジュールが秋月電子で1320円で入手可能です
akizukidenshi.com
ガスセンサにしては少し高価ですが、昨日の高さとシンプルなセンサーであることが利点と考え、購入することにしました。

f:id:tara-chang:20200621183623p:plain
こんな感じで届きます
f:id:tara-chang:20200621183418p:plain
1円玉よりも小さいです。0603のMLCCも小ささに驚きです。

配線

まずピンヘッダを基盤に半田付けします。ブレッドボードで引用したかったので、付属のピンヘッダを半田付けしました。

f:id:tara-chang:20200621183244p:plain
半田付けした様子
ラズパイとは以下の表のような対応で配線します。

センサー側 ラズパイ側
CN1(Vin)
3V3
CN2(SCL)
SCL1(3pin)
CN3(SDA)
SDA11(2pin)
CN4(GND)
GND

※pinはGPIO番号です。

ライブラリのインストール

こちらの記事を参考にインストールを行いました。
こちらの記事とは使用しているモジュールが違うようですが(汗)、一応動きました。
githubからライブラリをクローンします。

@raspberrypi:~ $ git clone https://github.com/pimoroni/bme680
Cloning into 'bme680'...
remote: Enumerating objects: 32, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 416 (delta 12), reused 20 (delta 10), pack-reused 384
Receiving objects: 100% (416/416), 448.33 KiB | 447.00 KiB/s, done.
Resolving deltas: 100% (185/185), done.

ディレクトリに移動し、インストールを行います。

@raspberrypi:~ $ cd bme680/library
@raspberrypi:~/bme680/library $ sudo python setup.py install
running install
running bdist_egg
running egg_info
creating bme680.egg-info
writing bme680.egg-info/PKG-INFO
writing top-level names to bme680.egg-info/top_level.txt
writing dependency_links to bme680.egg-info/dependency_links.txt
writing manifest file 'bme680.egg-info/SOURCES.txt'
reading manifest file 'bme680.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'bme680.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_py
creating build
creating build/lib.linux-armv7l-2.7
creating build/lib.linux-armv7l-2.7/bme680
copying bme680/constants.py -> build/lib.linux-armv7l-2.7/bme680
copying bme680/__init__.py -> build/lib.linux-armv7l-2.7/bme680
creating build/bdist.linux-armv7l
creating build/bdist.linux-armv7l/egg
creating build/bdist.linux-armv7l/egg/bme680
copying build/lib.linux-armv7l-2.7/bme680/constants.py -> build/bdist.linux-armv7l/egg/bme680
copying build/lib.linux-armv7l-2.7/bme680/__init__.py -> build/bdist.linux-armv7l/egg/bme680
byte-compiling build/bdist.linux-armv7l/egg/bme680/constants.py to constants.pyc
byte-compiling build/bdist.linux-armv7l/egg/bme680/__init__.py to __init__.pyc
creating build/bdist.linux-armv7l/egg/EGG-INFO
copying bme680.egg-info/PKG-INFO -> build/bdist.linux-armv7l/egg/EGG-INFO
copying bme680.egg-info/SOURCES.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying bme680.egg-info/dependency_links.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
copying bme680.egg-info/top_level.txt -> build/bdist.linux-armv7l/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/bme680-1.0.5-py2.7.egg' and adding 'build/bdist.linux-armv7l/egg' to it
removing 'build/bdist.linux-armv7l/egg' (and everything under it)
Processing bme680-1.0.5-py2.7.egg
Copying bme680-1.0.5-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Adding bme680 1.0.5 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/bme680-1.0.5-py2.7.egg
Processing dependencies for bme680==1.0.5
Finished processing dependencies for bme680==1.0.5

無事完了したようです!

動作確認

xexamplesディレクトリ内にある、read-all.pyを実行します。

pi@raspberrypi:~/bme680/library $ cd /home/pi/bme680/examples
pi@raspberrypi:~/bme680/examples $ python read-all.py
read-all.py - Displays temperature, pressure, humidity, and gas.

Press Ctrl+C to exit!


Calibration data:
par_gh1: -14
par_gh2: -8970
par_gh3: 18
par_h1: 712
par_h2: 1022
par_h3: 0
par_h4: 45
par_h5: 20
par_h6: 120
par_h7: -100
par_p1: 35546
par_p10: 30
par_p2: -10422
par_p3: 88
par_p4: 4829
par_p5: 40
par_p6: 30
par_p7: 26
par_p8: -650
par_p9: -3416
par_t1: 26319
par_t2: 26386
par_t3: 3
range_sw_err: 1
res_heat_range: 1
res_heat_val: 46
t_fine: 139551


Initial reading:
gas_index: 0
gas_resistance: 12917167
heat_stable: False
humidity: 46.681
meas_index: 0
pressure: 1008.18
status: 32
temperature: 27.26


Polling:
27.26 C,1008.16 hPa,46.69 %RH
27.27 C,1008.17 hPa,46.65 %RH,5490 Ohms
27.31 C,1008.21 hPa,46.59 %RH,9369 Ohms
27.35 C,1008.21 hPa,46.55 %RH,13682 Ohms
27.39 C,1008.20 hPa,46.47 %RH,18865 Ohms
27.43 C,1008.20 hPa,46.40 %RH,25194 Ohms
27.46 C,1008.17 hPa,46.34 %RH,32489 Ohms
27.50 C,1008.17 hPa,46.28 %RH,40690 Ohms
^Z
[2]+  停止                  python read-all.py

温度、大気圧、湿度、そしてガス検出の指標となると思われる抵抗値が得られました!
抵抗値はだんだんと増加し一定値に落ち着きます。