記事一覧

【Kotoshiroヘルプ】拡張版リモコン制御スクリプトの書き方

  • このエントリーをはてなブックマークに追加

配布ページへ
Kotoshiroヘルプ目次


Kotoshiro v1.02.80.25から、拡張したリモコンの制御スクリプトが書けるようになりました。書き方は、基本的にリモコン制御スクリプトの書き方と同じです。

では、何が変わったのかというと、以下の3点です。

・引数に二つ目の温度湿度モジュールの温度・湿度情報が取れるようになった
・戻り値に複数のリモコン番号をカンマ区切りの文字列として返せるようになった
・今まで、5分ごとのサンプリングしかできなかったが1分ごとにできるようにした


※機能は拡張しましたが現在使用しているスクリプトはそのまま使用できます。

以前の方法

詳しく説明します。以前の方法だと関数の呼び出しは、以下のような感じでした。

関数呼び出し

function RemoconControl(temp, humid){
...
}


戻り値

戻り値は、リモコン番号かエアコン制御コードのみが使えました。

return 1 //リモコン番号

return "TempUp" //エアコンの温度を上げる
return "TempDown" //エアコンの温度を下げる

詳しくは/scripsフォルダの中の「エアコン操作サンプル.js」や「エアコン操作サンプル(設定温度を一段階上げる、下げる).js」を参照してみてください。


新しく拡張したスクリプトを書く方法

関数呼び出し

functionの名前はRemoconControlExで呼び出します。前回のものにExを付け加えたものです。
引数に、temp2, humid2が加わり温度湿度モジュールの二つ目の測定値を観測できるようになりました。

function RemoconControlEx(temp, humid, temp2, humid2){
...
}

戻り値

戻り値は、以前のものに加えて、マクロコマンドを返せるようになりました。
正の数に、リモコン番号指定し、待機させたい場合は負の数をカンマ区切りで記入します。

//複数のリモコン番号を返り値にする例(マクロのように実行)
//正の数 = リモコン番号
//負の数 = 待機時間(秒)
//整数を、コンマ(,)でつないだ文字列を返す。(スペースはあってもなくても良い)

return "1, -3, 1, -1, 81, -1, 81, -1, 10, -3, 13"

こうすることで、一度に複数の家電を操作することができるようになります。詳しくは/scripsの「エアコン操作サンプル(拡張版).js」を参照してください。
※家電の自動操作などは、設定をミスった場合、重大な事故にも繋がる恐れもありますので設定はくれぐれも気をつけて行ってください。もし、事故が起こった場合でも、作者は責任を取りかねますのでよろしくお願いいたします。


スクリプトの書き方サンプル

あと、今回のバージョンアップとは関係ないですが、日付、時間や曜日などをトリガーとしたスクリプトの書き方を記しておきます。このような構文を駆使してスクリプト記入することにより、綿密な家電のスケジュールを設定することもできます。

//datetime文字列から日時情報を取得する例
//var dp = Date.parse(datetime)
var now_time = new Date()
var year = now_time.getYear()
var month = now_time.getMonth() + 1
var date = now_time.getDate()
var hour = now_time.getHours()
var minute = now_time.getMinutes()
var second = now_time.getSeconds()
var w = ["日","月","火","水","木","金","土"]
var day = w[now_time.getDay()]
//日時情報の利用例
if (day == "月") {}//曜日で分岐
if (hour >= 21) {}//時間で分岐(例:21時以降))
//dt = year + "年" + month + "月" + date + "日" + "(" + day + ")" +
// " " + hour + "時" + minute + "分" + second + "秒"

制御スクリプトの設定・テスト方法

制御スクリプトの設定・テスト方法は、リモコン制御スクリプトの書き方の「制御スクリプトの設定・テスト方法」の項を参照してください。

タグ:Kotoshiro iRemocon

  • このエントリーをはてなブックマークに追加

ブログにもらうメール・コメントはいつも参考にさせてもらってます。要望をもらって、スクリプトから複数の家電を操作できるようKotoshiroに機能を追加

  • このエントリーをはてなブックマークに追加

最近、こんな寝たきりの生活についてばかり書いているブログでも、ありがたいことに結構メールをいただきます。メールの内容は、質問、相談、要望、いろいろありますが、どんなメールでも、僕の知らない情報が含まれていて逆に教えてもらっているなんてことが結構あります。

先日も、Aさん(仮名)から、Kotoshiroの機能について要望をいただきました。内容は以下。

はじめまして〇〇と申します。
介護が必要な母の生活を少しでも改善したくて、遠隔でも介助の一部を行っています。
今年の夏からiremoconとkotoshiroを使い、エアコンの制御を始めたおかげで元気に夏を乗り越えられました。
この様な素晴らしいソフトを作って公開して頂き、大変感謝しております。ありがとうございました。

そして、今年の冬にも暖房の制御を行いたいと思っているのですが、「寝ている時間帯やデイサービスの日は暖房をけしたい」「デイサービスから帰ってきた後、母が真っ暗な中で座っているのでエアコンを入れると同時に照明をつけたい」等の制御も行いたいと思っています。
kotoshiroは大変よくできているのですが、私の欲張りでわがままな制御には現状では難しいようです。
つきましては、下記のように仕様を変更して頂けないかと思い、連絡させて頂きました。

僕の場合、フリーソフトを開発していて嬉しいことは、ユーザーにソフトを使ってもらえることです。しかもそれが、役に立っていると言ってもらえるなんてありがたいことじゃないですか。国から障害年金をもらって、いつも人から一方的にお世話になっている者としては、多少なりとも他の人の役に立てたなら、ちょっとうれしくなっちゃうといった思考ロジックです。


そんなわけで、AさんからのKotoshiroに対する主な要望は、まとめると以下の二点。

①スクリプトで複数のリモコン信号を操作したい
②二つ目の温度センサーの値もスクリプトで取得できるようにしたい

ということでした。要望の理由についても教えていただきました。

①のスクリプトで複数のリモコン信号を操作したいについては

今冬でしたいのは、湿度を監視しながらリモコン付加湿器(気化式)の制御と、室
温を監視しながらエアコンの制御が中心です。
具体的には、

寝ている時間帯はエアコンを出来るだけ使わないようにして、とんでもなく冷え
込んだ時だけ使いたい。その際には加湿器も動作させたい。
デイサービスのない日は、暖房と加湿器で室温と湿度を一定に保ちながら、日の
入り30分前までには照明を点灯させたい。
デイサービスがある日は、デイサービスの時間帯は暖房の制御などは行わずに、
帰ってくる30分前から制御したい。

みたいな事を考えています。


②の二つ目の温度センサーの値もスクリプトで取得できるようにしたいについては

「USB温度・湿度計モジュール」の二つ目
も引数にあれば、床付近の室温が低い場合にはサーキュレーター で空気を対流
させる等の運用もしたいと考えています。


「なるほどな-、こういう使い方もあるのかー。」正直、作った作者自身、「スクリプトを使用してまで利用してくれているユーザーはいないだろう」と思っていたので、まずスクリプト利用ユーザーがいたことに驚き、さらに作者の想定以上に有効利用をしてくれていることに驚きました。フリーソフトを公開していて、自分以上に使ってくれるユーザーさんが現れると、「このソフトを作って良かったな。」といつもうれしく思います。


というわけで、上記の要望を含めて、Kotoshiroをバージョンアップしました。

ルームリモコン Kotoshiro 配布ページ (iRemocon用音声認識アプリ)


今回のバージョンアップの詳しい解説は以下。

【Kotoshiroヘルプ】拡張版リモコン制御スクリプトの書き方


今回のバージョンアップにより、以下の時間取得関数を組み合わせることによって、さらに家電の動作を詳細にプログラミングできることになりました。

  //datetime文字列から日時情報を取得する例
//var dp = Date.parse(datetime)
var now_time = new Date()
var year = now_time.getYear()
var month = now_time.getMonth() + 1
var date = now_time.getDate()
var hour = now_time.getHours()
var minute = now_time.getMinutes()
var second = now_time.getSeconds()
var w = ["日","月","火","水","木","金","土"]
var day = w[now_time.getDay()]
//日時情報の利用例
if (day == "月") {}//曜日で分岐
if (hour >= 21) {}//時間で分岐(例:21時以降))


※家電の自動操作などは、設定をミスった場合、重大な事故にも繋がる恐れもありますので設定はくれぐれも気をつけて行ってください。


冒頭に、ブログでいただいたメールはものすごく参考になると書きましたが、Aさんのメールでも自分の知らなかった情報を知ることができました。それは、VPNサーバとKotoshiroとiRemocon、WEBカメラを利用した外出先からの家電の操作です。僕自身、VPNサーバという存在を知らないに等しかったので「へー、こんな方法もあるんだ!」とビックリ。

ちなみに、Aさんの構成。

接続元(PC又はiPad mini)---インターネット---VPNサーバ
(ipsec)---PC(Kotoshiro)---iRemocon
「USB温度・湿度計モジュール」が一つ
「iRemocon専用IRケーブル」が一つ
「webカメラ」が一つ

僕は、iRemocon本来のスマホ機能からしか遠隔操作できないものと思っていたので、また一つ勉強になりました。今度調べてできそうならやってみようかなと。ブログをやっていると、自分の発信している以上のものを教えてもらえることがあるので、ありがたいです。


※メールの内容はAさんに許可をいただいて掲載しています。

タグ:Kotoshiro iRemocon

  • このエントリーをはてなブックマークに追加

Kotoshiroをv1.0.78にバージョンアップ

  • このエントリーをはてなブックマークに追加

Kotoshiroをバージョンアップしました。

最近Windows 8搭載パソコンを購入しました。これまでの、 Windows 7までなら、特に問題もなかったのですが、 Windows 8環境になると長時間、 Kotoshiroを起動していると、エラーダイアログが大量に出てしまう不具合が出たため、これを修正しました。

Windows 8でもごく稀にしか出ない不具合なので、完全に修正されたかは、わかりませんが、この修正をしてから数週間使用して、今のところ、不具合も出てないので、たぶん大丈夫じゃないかなと。

あと、個人的には、こちらの方が今回のバージョンアップのメインなんですが、エアコンの「設定温度を1段階あげる」 「決定温度1段階下げる」ボタンを、手軽に押せるツールボタンを作成しました。

これまでは、温度を1、 2度だけ変更したいときでも、いちいちエアコンリモコン画面を表示させ、温度変更する必要がありましたが、テレビリモコン画面を表示させながらも、エアコンの温度設定をすることができるようになりました。 ↑ が「設定温度を上げる」 。 ↓が「設定温度を下げる」です。


ルームリモコン Kotoshiro β版 配布ページ (iRemocon用音声認識アプリ)

タグ:Kotoshiro iRemocon

  • このエントリーをはてなブックマークに追加

ぼくのかんがえたさいきょうのねたきりべや!完成

  • このエントリーをはてなブックマークに追加

僕は、首の怪我の後遺症で手足が動きません。
これが結構不便で、普通のリモコン操作で家電が使えません。指でリモコンのボタンを押したりができないので。

そこで、使えないなら使えるようにすればいいじゃない!ということで、過ごしやすい寝たきり部屋を作ってみることにしました。


さて、僕が考える、良い寝たきり部屋に必要な要素は、次の3点だと思います。


まずは、有り余る時間を暇つぶしするため有効に利用するためのエンターテイメント機器
体調管理は、体の温度管理からということで室温(室内)調整機器
そしてそれらを総合的に管理する制御機器


です。これらの機器が充実していれば、体調を崩すことなく、そこそこ楽しく生活していくことができるでしょう。これらを実現するために、これまでいろいろなものを試してきました。


それで最近、ようやく地デジ対応テレビを購入したことにより、以前から思い描いていたような部屋を、ようやく完成させることができました。


エンターテイメント機器

まず、寝たきりにも、引き篭もりにも共通していえることなんですが、両者には膨大な有り余る時間があります。これを、ただぼーっと過ごすだけでは、まず発狂します。発狂しないまでも、確実に脳は衰える。

ということで、その膨大な時間を有効に過ごすために必要なものたち。


まずは、当然ですがパソコン。これがあるとないとでは、生活の質が全然違います。仕事などにも使えますし。

これは安物で十分。メモリを多少多めに積んで、システムドライブをSSDにしておけば完璧。


そしてパソコンに外部モニターを接続して、ベッドで寝ながら使用できるようにします。

モニターは、24インチモニター。モニター設置にはライブクリエータのものを使用しています。アームには、ARM-12AP50、ボールは、PTS-2324、ジョイント部分には、PTS-2540を使用しています。


そして、もう一つは先日購入したテレビ。テレビは最近それほど見ることもなくなりましたが、それでも朝や、夜のNHKのニュースなどは、よく見るので、まだまだ必要。最近は、テレビ以外にもいろいろな使い方ができるので、いい薄型テレビがあればいろいろとはかどります。

とりあえずテレビは、コスパが最も良さそうだったのでSONY BRAVIA 55V型 KDL-55HX850。値段の割には画質がとても良いテレビです。このテレビを壁掛けユニット SU-WL500で壁に取り付けました。ただ、このテレビ、音はあまり良くないので、パソコンのスピーカーとして使っているONKYO GX-500HDYAMAHA YST-FSW050に繋ぎました。パソコンからの音も、ここから出力しています。映画やアニメを見るときに、1000円のスピーカで聞くよりは、ある程度良い音で聞いたほうが作品を何倍も楽しめます。そのために、ちょっとくらいはお金をかけようじゃないか!という感じです。そりゃ、何十万もするオーディオには適わないけど。


これらを、以下のように配置します。

図にするとこんな感じ。

こうすることで、ベッド上寝姿勢で見ると、パソコンモニターが上、テレビが下という位置取りになります。そうすると視線移動をあまりせず、パソコンで作業しながらテレビを見たりすることもできます。また、パソコンとテレビはHDMIケーブルで接続しているので、テレビをパソコンのサブモニターとして利用することもできます。

ベッド視点でモニターとテレビを見ると以下のような感じになります。


これらの家電は、制御装置となるルームコントローラーKotoshiroで制御します。制御装置の詳細については後述します。

とりあえずKotoshiroでBRAVIAを動かすと、こんな感じになります。声で操作しなくても、普通のPCリモコンとしても使えます。


室温(室内)調整機器

近頃、季節の変わり目で気温の変化が激しいです。僕みたいな、後遺症で体温調整機能がぶっ壊れている者にとって、この気温の変化は非常に堪えます。こういった時期は体調を崩して医者の世話になったりすることもしばしばです。そういった体調不良を防ぐためにも、部屋の温度管理はとても重要です。"室温を制するものが健康を制す"と言っていいくらい、僕は部屋の温度調整・体温調整を重視しています。以下は、そのために揃えた機器たちです。


暖房機器

まずは、部屋を暖めたり、体を温めたりするための機器たちです。

とりあえずは、エアコン。これがないと始まらない。

もう十数年選手で年季が入っている。これもできれば取り替えたい。


あとは、少ない電力でパフォーマンス最高の電気毛布。

上の電気毛布は、なかぎし 敷き毛布

これのコンセントにリモコンコンセントOCR-05 07-0155を接続することによって、リモコンから電気毛布を操作できるようにします。

図にするとこんな感じ。

こうすることで、多少寒いくらいならば、電気毛布を使うことによって大幅に電気代を節約できます。


冷房機器

寒いのもきついけど、暑いのもきつい。夏になると今度は体温を下げることを考えなければなりません。

とりあえず書くまでもないけど、エアコン。


あとは扇風機、風を体に当てて体温を飛ばします。

個人的には、壁掛け式扇風機が場所をとらないのでベスト。


窓をリモコンで開閉できるようにする装置。

オートクローザー。初夏の夜は窓は開けているだけで十分涼しいです。


電動カーテンレール TV24でカーテンをリモコン操作。

夏の外からの熱気は、カーテンを閉めることにより、かなり減少します。それと冬の冷気も防いでくれます。

ATEX エアコンマット そよ。ファンを回してマット内に風を通して熱や湿度を排気することにより、体温の調整を行ってくれるマット。

多少の暑さなら、このマットで十分なので電気代の節約になる。


これらを図のように配置します。

体がうつ熱などで暑い時などには、パソコンのCPU並みに強力に冷やすことができます。


これらの家電を、先程のKotoshiroで音声操作すると次のようになります。


その他の室内調整機器

室内環境を良くするために、その他として加湿器、空気清浄機などを使用しています。


加湿器は、冬に乾燥防止とインフルエンザ対策として使用しています。

ZOJIRUSHI EE-RD50-HAを使用しているのは、ほとんど手間がかからないから。


空気清浄機は、部屋の空気循環のために使用しています。あと部屋に舞っている埃が取れればと。結構埃も取れます。

プラズマクラスターとかナノイーとかイオン何とかとかいらんので、純粋に強力な空気循環機能がある三菱の機種を購入。ただ、三菱は空気清浄機事業から撤退した模様。


その他には、以下のページにあるようなものを使用しています。
寝たきり生活15年の経験から選んだ、寝たきり生活がはかどるアイテム集


制御機器

これらの家電の制御は、パソコンとiRemocon、あとは自作したKotoshiroというソフトで制御しています。

iRemoconは、スマホやパソコンから使える学習リモコンです。

これまでいろいろな学習リモコンを試してきましたが

ネタキリラボ - ラボ(実験室)
ついに念願の声で家電をコントロールできる夢のお部屋を手に入れた

エアコンのような長い赤外線信号でも登録できるという点においてiRemoconがすぐれていたので使用しています。


その、iRemoconの制御ソフトとしてKotoshiroを使用しています。

図にするとこんな感じ。


先程、Kotoshiroを音声認識リモコンとして使用し家電を操作した動画を載せました。しかし、その他にもKotoshiroを使用する目的があります。それは、エアコン、家電などを自動で操作して、常に快適な室温となるように室内をコントロールすることです。

また、Kotoshiroにはタイマー機能、温度自動制御機機能、スクリプト制御機能があり、これらの機能を使うことで各人それぞれに最適な室温に自動コントロールすることもできます。

タイマーの設定方法
エアコンを自動制御して室温を一定にする方法
機能強化された制御スクリプトの書き方


例えば、寒暖差の激しいこの季節の変わり目に室温を25度にキープしたいと思ったとします。そういう時は、クリック一発で暖房をを自動制御して室温を25度に一定にするなんてこともできます。暖房の温度は、Kotoshiroが自動的に管理してくれます。


夜中などはタイマー機能が有効です。例えば、明け方が寒い春の朝は、「暖かめの暖房にして、電気毛布のスイッチを入れておく」なんて設定もできるようになります。


このようにして、徹底的に室温を管理することで体調不良になることも減り、部屋が常に快適な環境になりました。


快適部屋を作ったその後

以上のように、常にベッドにいながらも快適な生活ができるように部屋を作ったあと、しばらく生活してみました。

寝ながらパソコンやり放題だし、アニメを見れば大画面で見れて楽しいし、部屋の温度は常に快適な温度だし、体調不良になることも減ったしで、以前よりほんと居心地の良い部屋になりました。まーーー居心地がいいです。


ただ快適さと引き換えに問題点も。


部屋が快適すぎて外に出る気がしない。
堕落した生活を送ってしまい、やる気が出ない。


なんて弊害も出てくるようになってしまいました。


僕のような堕落に弱い人は、自室をあまりにも快適にするのは考えものかもしれません。


関連記事
ルームリモコン Kotoshiro β版 配布ページ (iRemocon用音声認識アプリ)
Kotoshiroヘルプ
スマホで家電を操作するiRemoconを購入、スマホ持ってないけど
部屋の環境制御に使うためノートパソコン「Note Galleria QF880」を購入
【寝PC環境】介護用ベッドにPCモニターを設置する(ベッド柵にポールで設置編)
【寝たきりPC環境向け】ベッド周り音響向上計画(音質編)
季節の変わり目の体温調節に最適、自動温度調節機能付き日本製電気敷毛布「なかぎし 電気敷毛布 NA-02S」
リモコンのない家電を、コンセントのON/OFFで操作できるようにする「リモコンコンセントOCR-05」
リモコンを使って窓を開け閉めできるようにしたいという念願を叶えてくれる装置「オートクローザー」をついに購入
電動カーテンレールの「パワートラック」が届いたので取りつけました
【暑さ対策】風が背中を通り抜けるエアコンマット「そよ(SOYO)」を衝動買い
手間いらずの加湿器「象印 加湿器 EE-RD50-HA 」を購入

タグ:Kotoshiro iRemocon

  • このエントリーをはてなブックマークに追加

【Kotoshiroヘルプ】ドラゴンスピーチ11のボイスコマンド機能でKotoshiroを音声操作する方法

  • このエントリーをはてなブックマークに追加

配布ページへ
Kotoshiroヘルプ目次


Windowsの音声認識も結構精度がいいですが、まだまだ本家音声認識ソフトのドラゴンスピーチなどにはかないません。

ここでは、高性能なドラゴンスピーチのボイスコマンド機能を使って、Kotoshiroを操作する方法を紹介します。

ここの手法を行うには、当然ながらドラゴンスピーチ11もしくはドラゴンスピーチ11Jが必要です。


Kotoshiro側の設定

まずは、Kotoshiro側でホットキーの設定が必要です。以下を参考に、呼び出しキー、最小化キー、ショートカットキーを設定してください。

リモコンをキーボードでザクザク操作変更できるようにしたので、そのやり方

今回は、以下のように設定してみました。

テレビリモコンのショートカット設定


コマンド実行後に音声による返信が欲しい場合は、オプションから「ショートカットキーで動作時に返答を返す」にチェックを入れてください。


設定し終わったら、ドラゴンスピーチ側の設定です。Kotoshiroを動かしたままだと誤動作してしまうので、一旦、Kotoshiroアプリを終了してください。


ドラゴンスピーチ側の設定

今回は、テレビリモコンの電源ボタンを押す設定をしてみたいと思います。

ドラゴンスピーチメニューから「ツール」→「新規コマンドの追加」を選択してください。


すると以下のマイコマンドエディタが表示されます。


マイコマンドエディタに次のように入力します。


まず、コマンド名を入力します。

今回、ドラゴンスピーチにテレビ電源を操作してもらうので「ドラゴンテレビ電源」としました。

コマンド名を入力すると、「トレーニング」ボタンを押してコマンドのトレーニングをしてください。


次に「コマンドタイプ」を「マクロの記録」にしてください。

「記録」ボタンを押して、

Shift+Ctrl+A
P
Shift+Ctrl+B

と入力してください。


「マクロの記録」でなくても、「ステップ・バイ・ステップ」から

Shift+Ctrl+A
P
Shift+Ctrl+B

と、登録してもOKです。


「保存」ボタンを登録すればボイスコマンドが登録されます。


最後に、ドラゴンスピーチのモードを「コマンドモード」にしておけば、音声コマンドのみ拾ってくれます。

あとは、ドラゴンスピーチのマイクをオンにし、Kotoshiroを起動し「ドラゴン、テレビ電源」発声すればリモコン操作できます。


ドラゴンスピーチでのKotoshiroの使用について

ドラゴンスピーチでKotoshiroを使用する場合、Windowsのものより認識率が高くなりますが、次のような難点もあります。

・登録が面倒くさい
・ドラゴンスピーチの「コマンドモード」とかの切り替えが面倒臭い


と、あまり実用的ではありませんが、一応やり方を残しておきます。

タグ:Kotoshiro iRemocon

  • このエントリーをはてなブックマークに追加

ページ移動