【IoT】4.Node-REDの設定をしてみる
黒豆とRaspberry Piがつながったので、Node-REDの設定を進めてみる。
1.Node-RED Alexa Home Skill Bridgeの登録をしてみる。
前回に引き続きこちらのサイトを参考に進めていきます。
1.まずはサイトにアクセスする。
Node-RED Alexa Home Skill Bridge
2.Registerを選択する。
3.諸情報をいれて登録する。
4.登録が終わったら、Devicesを押してデバイス登録画面にする。
5.Add Deviceを押してデバイス登録画面を出す。
ライトのON/OFFを登録してみます。
6.画面下のOKを押すと、デバイスが1つ登録されます。
2.Echosimで疑似的にAlexaを使えるようにする。
7.今度はEchosim.ioでAlexaを使えるようにする。Echoがないからブラウザ上でAlexa使うしかないのだ。
Alexa Skill Testing Tool - Echosim.io
8.サイトにアクセスしたら、Amazonアカウントでログイン。ログイン後は言語を日本語にすること。
9.続いてhttp://alexa.amazon.co.jpにアクセスし、Amazonのアカウントでログインする。
10.利用規約を確認したら、「続行」する。
12.画面が開いたら、設定を押す。
13.echosimを選択する。
14.「タイムゾーン」「単位」などの情報を更新する。
15.続いて、スマートホーム→デバイスを開く。スマートホームスキルが「無効」になっていると思うので、そこを選択。
16.「スマートホームスキル」を選択して
17.Node-REDを追加する。
18.「有効にする」を選択すると別ウィンドウでNode-REDのログイン画面が表示されるため、先ほど作成したアカウントでログインする。
なお、Chromeでうまく動作しなかったら、IE使ってみるといいかも。
19.ログインするとデバイス検出が始まるので、しばし待つ。すると先ほどのlightが表示される。
3.Raspberry PiでNode-REDを動作させる。
20.ここまでいったら再びラズパイに戻ります。まずはRaspberry PiのNode-RED機能をアップデートするために、下記のコマンドを入力。
update-nodejs-and-nodered
アップデートする?って聞かれるので、yを入力後、10分ほど放置。
なお、アップデートはなかった模様。
21.続いて、Node-REDを起動するためにコマンドを実行
Node-red-start
めっちゃ動き出した。
22.画面内にこんな感じでアドレスが表示されていると思うので、一旦Raspberry Piから離れて、同一ネットワーク内のPCなどからアクセスする。
23.そうするとこんな画面が表示されます。ヤットココマデキタヨ・・・
5.Node-REDでスキルを連携させる。
24.右上の三本線を開き、「設定」を選択
25.Pallete→ノードを追加を選択して、検索欄に下記を記入。
node-red-contrib-alexa-home-skill
表示されたら、「ノードを追加」を押す。
ポップアップがでたら、「追加」を押す。
26.しばし待って処理が終わった後、「閉じる」を押してトップ画面に戻る。
すると左の一番下に「Alexa」が追加されている。
27.左側の「alexa home」を右側にドロップ。
28.右側の「Alexa Home」をダブルクリックするとウィンドウが出てくる。
29.「Account」の隣の鉛筆マークを選択すると、アカウント入力状態になるので、「Node-RED Alexa Home Skill Bridge」に登録したアカウントを入れる。
※このページで一番最初に作ったアカウントね!
30.追加してちょっと待つと、先ほどの画面にアカウントとSkill Bridgeに登録したデバイス名が出てくるので、完了を押す。
31.先ほどのアイコン名が「Light」に変わったと思うので、その隣に「switch」を配置。
32.switchをダブルクリックして編集画面を表示。
「==」を選択し、「is true」と「is false」を突っ込んで完了する。
33.「その他」のカテゴリにある「exec」を「switch」の隣に2つ配置する。
34.うち1つをダブルクリックして開き下記のように入力する。
コマンド:sudo /home/pi/python-broadlink/cli/room
引数 :LIGHT.on
名前 :LIGHT.on
35.「is true」側に、LIGHT.onを接続する。
36.右上の「デプロイ」で保存する。
6.Echosim ioからAlexaを起動して動かしてみる。
37.Alexa Skill Testing Tool - Echosim.ioにアクセスする。
38.音声入力状態(マイクを長押しorスペースキー)でコマンドを入力する。
「Trun ON LIGHT」
うまくいっていれば、これで動くはず!
7.まとめ
echoが購入できていないので、疑似的にではありますが何とか使えました!
次の課題は日本語入力可能な状況に持っていくこと。
今日はここまで。
【IoT】3.Raspberry Piと黒豆(rm mini3)をつないでみる
黒豆をRaspberry Piで制御できるようにつないでみる。
1.python-broadlinkをラズパイにインストール
こちらのサイトを参考に「python-broadlink」をインストールします。
1.まずはgitからコピーしてくる。
git clone https://github.com/mjg59/python-broadlink.git
2.続いて、ライブラリのインストール。
sudo pip install broadlink
ぶっちゃけよくわかってないので、参考サイト様の思し召しの通り。
2.rm mini3と接続する
3.フォルダを移動する。
cd python-broadlink/cli
4. 状態を確認する。
./broadlink_discovery
赤枠内の192.168.0.XX 17aXXXXXX34という数字を保存します。
5.エディタを起動
sudo nano
起動したらさっきの数字を打ち込む
「Ctrl+x」を押すと、保存するか聞いてくるので、
「Y」を押して、ファイル名を「ROOM.device」に設定して保存する(Enter)
3.Raspberry Piでrm mini3から赤外線を送る
6.黒豆に赤外線情報を学習させるため、学習モードにする。
./broadlink_cli --device @ROOM.device --learnfile LIGHT.on
うまくコマンドが通ると下記のように「Learning...」と表示されるので、黒豆に向けてリモコンを発射し、学習させる。
7.学習させた内容を利用するには、下記の内容を打ち込む。
./broadlink_cli --device @ROOM.device --send @LIGHT.on
うまくできていれば、これで先ほど学習した内容は動くはず!
8.コマンド短縮のため、シェルスクリプトを用意する。下記のコマンドでエディタを起動
sudo nano
9.下記の内容を記載する。
#!/bin/sh
cd /home/pi/python-broadlink/cli
./broadlink_cli --device @ROOM.device --send @$1
10.「room.sh」という名前を付けて保存する。(5項参照)
11.room.shに実行可能なパーミッションを付与
sudo chmod u+x room.sh
12.下記コマンドを実施し、room.shが正常に動作していることを確認する。
sudo ./room.sh LIGHT.on
4.まとめ
冒頭参考サイト様のおかげで、なんとかRaspberry Piとの連動はできた模様。
感謝感激。再度記載。
次はNode-REDでAlexaとつないでいきます。
まだEcho届いてないけどね!
今日はここまで。
【IoT】2.黒豆(rm mini3)が届いたので初期設定をしてみる
黒豆(rm mini3)が届いたので、動作確認のために初期設定を。
eRemoteを買ったほうが手軽だったかなぁ。
と、若干反省。
1.注文から到着まで2週間くらい(AliExpress利用)
今回、安く済ませようと思ってAliExpressを利用しました。
配送無料コースで頼んだ結果、大体2週間程度。
まぁ許容範囲ですよね。
ちなみに、発送元はシンガポールでした。
2.開封の儀
とにかく小さい。
説明書きはもちろん中国語
内容物は、
・本体
・充電用ケーブル
・説明書的なもの
説明書も中国語だから読めない。
本体の高さは親指よりちょい大きいくらい。
親指と中指で周囲を囲えるくらいなので、ほんとに小さい。
3.WiFi接続初期設定(iPhone版)
まず、前提といてrm mini3は日本国内での利用は非推奨です。
そんななか、何とか使ってみよう。ということで、四苦八苦。
こちらのページを参考に進めていきます。
1.本体のWiFi設定を行うために、下記のアプリをiPhoneにダウンロードする。
「BroadLink e-Control」
2.iPhoneのWiFi接続先を、rm mini3の接続したい先と合わせておく。
※rm mini3は5Gは接続できないため、2.4GHzにしておくことが大事。
3.rm mini3に電源ケーブルを接続する。
※前面の青いランプが高速点滅し始める。
4.「BroadLink e-Control」を起動して、「デバイス追加」を押す。
5.表示されているWiFiが接続したいNWであることを確認して、「SET」を押す。
6.無事にWiFi設定が終わると、本体の点滅がゆっくりになるのでそこで判断する。
7.よし、じゃあ使ってみよう!と思って、設定しようとすると、こんな画面がでて使えない。
8.なので、一度iPhoneの本体設定から、「言語」を「英語」に切り替える。
設定→一般設定→言語と地域→iPhoneの使用言語
9.英語化が終わったら、再度「BroadLink e-Control」アプリを起動する。
すると、メニューから「Add remote」が選べるようになる。
10.「Add Remote」を開いたら、自分が欲しいリモコンに近いものを選択すると、先ほどのトップ画面にそれが表示される。
11.例えばTVを選択するとこんな画面が表示される。
12.登録したいボタンを長押しし、「Learn single」を選択する。
13.すると、赤外線入力待機状態になるので、リモコンを向けて該当のボタンを押すと学習完了。使えるようになる。
一度登録しても、iPhoneを日本語状態に戻すとまた使えなくなってしまうので利用するたびに、言語を「英語」にする必要がある。
※上記紹介ページにおいて、「アプリを終了しなければ大丈夫」というコメントもあったが、iOS11において試した中では、言語切り替え後にアプリをタスク履歴から立ち上げても、一回再起動が入ってしまったので、「日本語=使えない」と認識しておいたほうがいいかも。
4.まとめ
・最初のWiFi設定は「日本語」で大丈夫。
・その後のリモコン設定は「英語」じゃないとできない。
・「日本語」だと、登録済みのリモコンも使えない。
といったところでしょうか。
使い物にならない感が半端ない。
これがRaspberry Piと連動することでどんな風になるのかは、未知数。
なお、「Intelligent Home Center」アプリを使う方法もあるようですが、APP Storeの国変更が必要だったりするので、今回は試していません。
必要に応じて下記のサイトなどをご参考にどうぞ。
【IoT】1.ラズベリーパイの初期設定、NOOBSを使ってRasbianをインストール
まだ黒豆(rm mini3)とEchoは届いていないんだけど、Rasberry pi3は手元にあるのでインストールをして受け入れ準備を。
1.Rasbian(ラズベリーパイのOS)をインストール
Raspberry Pi3の初期設定にあたっては、購入した本を参考に実施したので、特段問題なくサクサク終わりました。
(ダウンロード等に時間がかかったので、物理的な時間は1時間くらいかな?)
「NOOBS」というものを使って、インストールしました。
手順としては、
1.Windowsパソコンを使って、SDカードをフォーマット
2.Windowsパソコンを使って、ラズビアンの公式ページからNOOBSをダウンロードする
3.WindowsパソコンでSDカードに「NOOBS」を回答した状態でぶっこむ
4.SDカードをラズパイに突っ込んで、ケーブル類を接続し、最後に電源ケーブルを接続する
5.初回起動時に、OSインストール選択画面が出てくるので、「Rasbian」を選択する(多分一番上にある)
6.インストール終了までしばし待つ(1時間くらいかな)
といったところです。
自分は本を見ながらやりましたが、下記のサイトでもわかりやすく解説しているので、こちらを見ながらやってもいいかも。
2.OSを最新版にアップデートする
インストールしてデスクトップが表示されたら、次は最新版にアップデートします。
どこらへんが新しくなるかとかよくわからないけど、とりあえず呪文を入れてアップデート。
1.デスクトップの黒い四角(赤枠のやつ)を起動する。
2.そうするとこんなコマンドプロンプト的な画面が表示されるので、1つ目の呪文をいれる。
呪文:sudo apt-get update
3.ざーっと画面が動き始めて、しばらくたつとまた入力画面になるので、それまでしばし待つ。
4.ふたたび入力可能状態になったら、次の呪文を打つ
呪文:sudo apt-get update
ちょっと待つと「アップデートする?」って聞かれるので、「Y」を入れてEnter。
これも少し時間がかかるので、気長に待つ。
5.再びコマンド入力可能な状態になったら、最後に日本語環境のアップデートをするために呪文を打つ
呪文:sudo apt-get install uim uim-anthy
これもちょっと待つと「アップデートする?」って聞かれるので、「Y」を入れてEnter。
またまた少し時間がかかるので、気長に待つ。
そんな感じでアップデートは終了。
3.初期設定をする
最後に初期設定まで終わらせよう。
なお、画面キャプチャは既に日本語化されているが、たぶん最初は英語だと思うので
同じ当たりのボタンをちょいちょい設定するがよろしいかと。
1.左上のラズベリーマークを選択し、メニュを開く。
2.設定→Rasberry Piの設定を選択する。
※英語の場合、「Preferences」→「Raspberry Pi Configration」になってるかも。
3.ロケール(Localisation)のタブを開いて、日本語設定をする。
Set Locale : ja(Japanese)
Set Timezone:Japan
Set Keyboard:Countory→Japan、Variant→Japanese
Set WiFi Countory:JP Japan
あとは再起動すれば日本語化されているはず。
4.そのほかに実施したこと
そのほかに実施したことを、備忘録的にメモ。
・Sambaのインストール
Raspberry Pi 3 にファイル共有「Samba」をインストール | 大-はなまるの絵日記ブログ
・スクリーンキャプチャ用のソフトをインストール
Raspberry Pi でスクリーンショットを撮る | Yuka Life
思いついたらまた追記する。
【雑記】dポイントクラブの「会員番号」の調べ方
イオンカードのポイントをdポイントに変換しようとしたら、「会員番号」がわからなくて戸惑ったので、メモ。
「会員番号」の調べ方
1.dポイントクラブのサイトにアクセスする。
2.画面一番下の「会員証を表示」を選択する。
3.遷移先ページの赤丸部分が「会員番号」
「会員番号」と「カード番号」の見分け方は?
画面上にカード番号と会員番号のどっちをいれたらいいんだか分からないんだけど?
というときは、
12桁:dポイントクラブ会員番号
15桁:dポイントカード番号
で覚えておけば良さそう。
まぁ桁数が違うので、両方どっちか入れてみてダメだったらもう片方でもいいかもね。
【雑記】JAL特典航空券予約画面での「キャンセル待ち」と「満席」の違い
JAL特典航空券の予約画面でこんな「満席」という表示を見たことありませんか?
キャンセル待ちすらできないこの「満席」について、どういう状況かコールセンターに聞いてみました。
「満席」と「キャンセル待ち」って?
キャンセル待ちは画面上で選択可能なので、「キャンセル待ち」画面に進ます。
満席の場合、選択できるボタンが表示されないため、何も手続きができません。
ちなみに、日付選択すら活性化されていないため、特典航空券検索時に「満席」の日付を選択していないと、表示すらお目にかからないかも。
「満席」と「キャンセル待ち」の違いって?
コールセンターに確認したところ、「満席」と「キャンセル待ち」の違いは、
キャンセル待ち:座席は埋まってるけど、順番待ちできるよ。
満席 :キャンセル待ちすらいっぱい。
ということでした。
要は
「キャンセル待ちが多すぎて、もう見込みないからこれ以上はキャンセル待ちすら受け付けないわ。」
ってことなので、その日を狙うのはあきらめたほうがいいかも。
こういうのを公式HPに書いておけば、問い合わせも減るんだろうに。
【IoT】ラズベリーパイとかスマートスピーカーとか使ってスマートホームを実現してみたい(準備)
最近のもっぱらの興味は、「スマートスピーカー」。
国内ではGoogle、Amazon、LINEなどがそれぞれ取扱を始めているがその中でも特に気になっているのが、Amazonの「Amazon Echo」シリーズ。
公式「スキル」が充実していることもさることながら、自分でスキルを作れちゃうのとか、もうワクワク感しかない。
作れる実力があるのか?と言われたら、あれなんですけどね。
勉強あるのみ。
じゃあどんなことがしたいのか?というのが、今日のお話。
Amazon Echoで実現したいこと
実現したいのは、
・声で家電の制御をしたい。
まぁ平凡っちゃ平凡ですけどね。
既存商品でできないの?
「既存製品でできるんじゃないの?」という声がありそうですが、確かに家電操作をできるリモコンはあるのですが、ちょっと痒いところに手が届かない。
例えば、
「RS-WFIREX3」の場合、デフォルトで登録されているリモコン機器と、そうでない学習させた機器の2つを操作することができるのだが、
前モデルの「RS-WFIREX2」の場合、Alexaに対応するのは「デフォルトで登録されているリモコン機器」のみで、
「学習させた機器」はEcho経由では使えないとの情報を聞いた。
たぶん「RS-WFIREX3」でも同様になるだろうから、おうちの一部しか対応できなさそう。
※人づてに聞いたので、誤りの場合はご指摘ください。
「eRemote」の場合はどうかというと、音声制御では「オン/オフ」しかできないとのこと。
アプリを起動すれば操作できるかもしれないけれども、音声だけでは機能不足。
これじゃあ結局リモコンは捨てられない。
なお、「iRemocon」は高すぎる(2万円前後)ので調べていない。
じゃあどうするのか?
なんとかならないものかなー。と調べていたら、「eRemote mini」の海外版である「rm mini3」と「Raspberry Pi」を使って、家電制御を実現しているという記事をちらほらと発見。
Echosim.ioを使うと日本でもAlexaでSmart Homeを実現できるので、安価なBlack Beanで照明やエアコンを制御してみた - 知的好奇心 for IoT
Google Homeとスマートホームの組み合わせが超便利で最高すぎる! – NEWSTALKER
Google Homeとスマートでない家電を接続する - Qiita
こんな記事たちに触発されちゃって、
「ちょっと頑張って自分でやってみようかな?」
と思った次第。
なお、現在のスキルレベルとしては
・「Raspberry Pi」というものは知っているが触ったことない。
・「Linux」の存在は知っているが、触れたことはない
・コマンドプロントに抵抗はないが、コピペしかできない。
という散々たる状況である。
自己研鑽サボってたツケですね。
今回のために用意したもの
まだ一部届いていない商品もありますが、今回用意したものはこちら。
現時点でだいたい9,000円ぐらい。
1.Raspberry Pi3 MODEL3
2.公式アダプタ
ラズベリーパイ3 (Raspberry Pi 3B made in JAPAN) 技適対応 日本製 + 5.1V/2.5A ラズベリー財団公式アダプタ 【本体+アダプタ セット品】
3.microSDカード 16GB
4.rm mini3(Amazon)(AliExpress)
5.ラズベリーパイで遊ぼう! 改訂第2版
6.マウスとキーボード
1,2,3はRaspberry Piを使うために必要な物品。
3のSDカードは昔スマホで使っていた中古品を使用しました。
4のrm mini3は、費用を抑えたかったのでAliExpressで購入しましたが、到着までに2~3週間かかったり、もろもろ注意点もあるので、
5,000円差が気にならなければAmazonで「eRemote mini」を買ったほうが無難かもしれません。
5は 本屋でいくつか読み比べた中で、一番分かりやすかったものを選択。
Raspberry Piをすでに使いこなしている人にはいらないかな。
6はPCで使っていたものをその都度流用。
LogicoolのUnifying対応品なんだけど、Windowsと同じように特別な設定なしで使えたので便利。
一応これね。
え、Echoが入ってないって?
まだ招待状が届かなくて買えないんだよ!
まとめ
○Alexaを使って、スマートホーム化をしたくなったので、「Rasberry Pi」と「リモコン」を買ってみた。
○ど素人のチャレンジなので、最後まで完走できるか不明。
年内にはある程度形にしたいなぁ。