スキップしてメイン コンテンツに移動

投稿

11月, 2016の投稿を表示しています

声で家電の操作(Mac編)

先日Mac の OSを最新の 10.12.1 (Sierra)にアップデートしました。
で、Mac でも Siri が使える様になりました。
ただ iPhone みたいに「ヘイ シリ」で起動できないんですね。

で、裏技的に Mac のアクセシビリティの機能から音声入力の機能を使って Siri を起動出来ます。

で、ここでちょっと気がつきました。
じゃあ、音声でプログラムを起動できるよね?
音声コマンド自体の起動を音声で出来るんですね。
「ヘイ」で音声コマンドの入力待ちになって「シリ」でSiriが起動。
そして音声でSiriに命令って手順なんですが、今までやってきた HomeBirdge の関係はシェルスクリプトで Raspberry pi のリモートシェルを起動してやればいいって事。

シェルスクリプト自体は音声コマンドで起動出来ませんが、途中に「Automator」ってMacの自動実行の仕組みを取込めば可能です。

Automator でシェルスクリプトの起動をアプリケーションとして作成してやれば、そのアプリを音声コマンドで起動出来ます。

音声コマンドの起動は標準の「コンピュータ」のまま。
これに「ランプオン」という音声コマンドを追加して、アプリの「音声オン」を起動。
そのアプリがリモートシェルを起動して、Raspberry pi にシェルを実行させてくれます。

Mac に向かって「コンピュータ、ランプオン」で手元のスタンドが点灯する様になりました。
この「コンピュータ」って呼びかけは、スタートレックと同じですね。
「2001年宇宙の旅」風にしたいなら「HAL」だし、スターウォーズ風なら「R2!」とか「C3-PO」ですね。

Siri で家電を操作(その4) 部屋の電灯の操作

さて、なんとか部屋の電気(というより最終的には玄関先と、玄関の電気を自動的にオン・オフさせたいなと考えていますが、ひとまず荒っぽい手法で自室の部屋はなんとか動く様に出来ました。
こちらは赤外線リモコンは使っておらず、有線での配線(これもLANケーブルを流用)です。

前にもちょっと書きましたが、部屋の電気のスイッチは、押す度にオン・オフが切り替わるタイプです。
ですから、遠隔でオン・オフする為には今電気が点いているのか消えているのか判断しないと、スイッチを押して良いのかの判断が出来ません。
なので、何処かにセンサーが必要ですが、電灯そのものにセンサーをつけるとなると、これまた配線の問題が出てきます。
自室なら天井に無粋なケーブルが一本くらい走っても良いのですが、玄関外となるとどうやって屋内に引き込むかなどの問題が出てきます。

で、考えたのは「蛍スイッチ」と呼ばれるスイッチ部にLEDが入っていて状態によって点灯するタイプ。
ただ、実際に玄関にあるスイッチは、オフで緑色に点灯し、オンで赤色に点灯します。
特に昼間はドアの外で電気が点いていても判断出来ないので、赤色の点灯は必須。
夜間暗い中でもスイッチの操作が出来る様にオフの時は緑色に光るのですが、こっちはいるのかな?

とりあえず、自室のスイッチをLED付きにしましたが、これはオフの時に緑に光るだけのタイプ。
試験は条件を簡単にしないとね。

で、LEDの点灯は光スイッチを使いましたが、これはとりあえず「秋月電子」さんが扱っている光センサースイッチキットを流用しました。
これが正解。
普通に売っているセンサーは小さいもので直径が5mm。このキットに入っているセンサーは直径が少し小さい4mmです。
これを蛍機能付きのスイッチのLEDの窓の透明プラスチックを外した穴の横幅4mmにピッタリ。

見にくいですけど、こんな感じでセンサーが付きました。


青いスイッチの動作部分の左に見える、青と白の二本のケーブルがセンサーに繋がるケーブルでその先の小さな丸いのがセンサーです。
で、ひとまずは壁に直接サーボモーターを貼り付け、余っていたフラットなLANケーブルで直接 Raspberry Pi 3 とつないでいます。

Raspberry Pi 3 の左側に見えるLANケーブルがそのまま壁づたいでスイッチに繋がっています。

センサーの出力は、オ…

Siri で家電を操作(その3)自宅内の配線

さてさて、自宅の色々なものを Siri(iPhone)で操作出来る様にという事で、一先ずはガレージのシャッターと、エアコンなどを先行させて整備しています。
で、サーバー(Raspberry Pi 3)のある自分の部屋と、ガレージ用に用意した Raspberry Pi Zero はともかく、他の部屋のエアコンはどうやって操作しましょうか。
ガレージのセンサーの検討で、下手に無線でシグナルを飛ばすよりは Raspberry Pi Zero を購入した方が安上がりという結論になりましたが、他の部屋は?
まさか部屋毎にサーバーを用意してってのは幾ら何でもやりすぎ。

そこで目をつけたのは LAN 回線。
と言っても Raspberry Pi Zero の様に Wi-Fi ではなく、有線LAN です。
なおさんの自宅にはもともと有線LANが配線されていたのですが、今や誰も使っていません。

という事で、そのLANのケーブルを別の通信と電源のケーブルとして再利用しようという訳です。
ただ壁の中の LAN ケーブルには一切手をつけない様にします。
という事で、HUBの代わりに以下の写真の様に、百均で買ってきた LAN ケーブルコネクタをバラして各ケーブルを直接つなぐ、ものを作りました。
内部のケーブルが短いのでお互いを決戦するのが少々大変でした。


これを押し入れの中の HUB の代わりにつないでやれば、なおさんの部屋から各部屋にケーブルが伸びた形になります。
で、各部屋のLANポートに赤外線送信機をつないでやれば  Raspberry Pi 3 の GPIO 端子の出力と電源を送出できます。


自分の部屋の赤外線送信機はR2-D2の肩に乗せてあります。
その他の部屋の赤外線は 5V 電源を別に用意して各部屋に送ります。
電源とアースで2本線を使いますが、後6本の信号用に使えるので、6個までは送信機やステータス取得に使えますね。
これで食堂と居間のエアコンの操作が出来る様になりました。

ラズベリー・パイ・ゼロ(その2)

まずは届いたラズパイです。

ひとまず郵便の外観。


中身はこんな感じ。


インボイス

セット割が少々入って、30ポンド弱。
日本円で4千円弱ですから、米国からラズパイゼロを1枚だけ買うのとほぼ同じ値段。
確かに輸送中の保証は無いけど、注文価格を考えたら、その保障のためだけには割が合いませんよね。
数回に1回行方不明や破損にあってもイギリスから買う方が安上がり。

って事で早速セットアップですが、今回は GUI 無しでセットアップ。
で、配線もしてセットアップされたのがこの写真。


まだ基盤もちゃんと固定していないし(養生テープで仮止め)、シャッターのセンサーも、照明のスイッチ駆動用のサーボもまだ購入していません。
しかし、一応リモコンはちゃんと操作できるので操作は可能。
ただし、相変わらず Siri は気まぐれで、声での操作は難航しています。普通に照明やエアコン(暖房とか冷房で登録)は聞き取って操作してくれるのですけどねぇ。
なんでシャッターとかドアとかになるとダメなんだろう?


ラズベリー・パイ・ゼロ

家電操作の追記です。

ある程度操作出来るのが分かって来たので、ガレージのシャッターのコントロールをもう少し充実させようと考えました。
で、ガレージのシャッターはちゃんと閉まったかの確認を取りたいので、そのセンサースイッチとかを考えないといけませんし、夜なら電気も付けたいし。
となるとガレージの中からセンサーの信号を取り出して、電灯のスイッチもコントロールしたいって事になりますが、問題はどうやって配線を伸ばすか。
簡単じゃないので、それならばいっそ無線で繋げばという事になります。
実は既にシャッターが閉まっていなくてってことが度々あって、シャッターが開いていると居間の模型のライトが点滅するようになっています。
でもやはり配線の問題があったので、安物のラジコンのおもちゃを買ってきて、送信機にマイクロスイッチでボタンを押させ、室内の方は車が走る代わりにLEDが点滅するようになっています。
そうはいえ、センサーSWとかサーボをとなるとそう単純には行きません。
で、下手に無線かを考えるより、ガレージにラズベリーパイの本体を置いて、普通に Wi-Fi で繋いだ方が簡単で安上がりに成るって結論に。

ただ、ラズパイのゼロは日本じゃ入手困難。
時折売っていても3千円ほどのぼったくり価格です。

米国なら5ドルで売っていますので、って思ったら
『送料が29ドル!』 ふざけるなっ! 
って言いたくなる値段ですけど、国際貨物だとこんなに成る様です。
しかもゼロは一人1枚しか売ってくれないので・・・

でも英国からなら本体4ポンドに対して、郵送料が5ポンド。
それでも本体より郵送料の方が高いですが、こちらは国際郵便扱いで送ってくれます。
で、ついでに少々買い込んで、送って貰う事にしました。

既に届いたのですが、詳細の話はまた後日書きますね。