目次
はじめに
ここでは、Llamaの一番基本的な機能である、「場所によって音量などの設定を変える」設定方法を紹介します。
…でも、ちょっと状況はややこしいです。Llama が設計された当時は、まだ携帯電話は 3G の時代で、4G は「次世代技術」でした。
3G 通信では、通信される情報には「電波塔のID」が含まれています。これを使って位置を特定する、というのが Llama の基本動作です。
しかし、4G では話が簡単でなくなります。LTE でも ID はあるのですが、「唯一無二の」ID ではなくなります。地図の塗り分け問題のように、近隣の地域とかぶらなければ ID の使い回しが行われるためです。(具体的には、504個しかIDがありません)
さらにいえば、3Gだったら位置が特定できるのかといえば、そうではないのです。
通信は、通話とデータ通信に分かれます。通話は呼び出されるかも知れない必要上、常に端末の位置を把握する必要があります。しかし、データ通信は通信時しか接続する必要がありません。
これは、データ通信では「端末位置が特定される必要が無い」ことを意味してもいます。つまり、3G であっても、データ通信専用 SIM では位置が特定できない可能性があります。
さらには、Android のバグの問題があります。
Android では、データ通信専用 SIM は想定外で、動作が多少おかしくなります。WiMAX もまだ十分にプログラムが作りこまれていないようで、ID が取れるはずなのに、一切取れないようです。
端末メーカーが独自にバグを修正したり、作りこんでいたりするために、「絶対無理」とは言えないところがまたややこしい。端末と SIM の組み合わせによって、うまくいったりいかなかったり…
そんなややこしい状況を全部考慮していると、説明が非常にややこしくなってしまいます。
ここでは、普通の方法で3G で接続していることを前提として、「基本設定でうまくいくはず」だとして話を進めることにします。
家と外出を切替える
家にいる時と、外出時で設定を切り替えてみましょう。
まずは、次のような基本方針を立てます。
家にいる時:
音量は普通モード。
WiFi を使う設定にする。
画面の明るさは 10% 。(屋内だから暗くても大丈夫。)
ロック画面を出さない。
(家にいる時に、使うたびにロック解除するのは面倒だ)
外出時:
音量は大声モード。(騒音の中でも着信に気づくため。)
WiFi は使わない。(使えない)
画面の明るさは「自動」。
ロック画面を表示する。(セキュリティのためには必要。)
場所の学習
この方針でプログラムを作る前に、Llama に「家の場所」を覚えさせなくてはなりません。
この方法は2つあります。
方法1。
「場所」タブを開いて、「家」を長押しします。するとメニューが開くので「場所の学習を始める」をタップします。
今家にいますか? 家にいるなら、これからどれくらい家にいられるか、時間を選んでください。
余り短すぎても学習できません。学習中は少し電池を多めに使いますので、長すぎも良くありません。
次に書く方法で修正もできるので、30分~1時間くらいで十分じゃないかと思います。
方法2。
「近況」タブを開くと、最近電波を受信した電波塔(セル)のID一覧が見られます。
時間も一緒に表示されているので、「確実に家にいた時間」のセルIDを見つけてください。
これで、セルID をタップすると、「場所に追加」というメニューが開きます。
「家」を選択すれば、そのセルは家で受信できる電波を出している、と覚えます。
Llama は、ここで覚えた「セル」を使って、今いる場所を認識します。
…電波塔からの電波は、最大で2kmほど届きます。家だけでなく、直径4kmの範囲は、同じ場所として扱われることになります。
僕の場合は、毎日確実に外出する範囲が 1km 程度で、これでは精度不足です。
その場合は別の方法で場所を識別できますが、ややこしくなるのでその話はまた後ほど。
位置によるイベント
では、位置によるイベントを作りましょう。
家に入ったときと出たとき、2つセットで作る必要があります。
セットなので、同じグループ名を付けておきましょう。
グループ:場所
条件:
場所に入った/居る > 家
動作:
モード変更 > 普通
WiFi > WiFi使用
画面の明るさ > 10%
ロック画面(動作不良) > 手動解除後は表示しない
イベント表示:
家で - 普通モードにする, WiFi有効, 10%の明るさ そして 手動解除の後、ロック画面表示しない
グループ:場所
条件:
場所を出た > 家
動作:
モード変更 > 大声
WiFi > WiFi使わない
画面の明るさ > 自動
ロック画面(動作不良) > 表示する(強制)
イベント表示:
家を出た - 大声モードにする, WiFi無効, 明るさを自動調整 そして ロック画面表示(強制)
動作の順番(イベント表示も)は違っていても構いません。順番には特に意味はなく、とにかく「全部」が実行されます。(順番を並び替える方法も用意されていません)
「モード」と「モード固定」の場合、順番だけでなく微妙な問題もあるけどね…
イベントの編集画面で、右下の「動作のテスト」ボタンを押すと、動作部分の動作を確認できます。
ちゃんと動作することを確認できたら、次は実際の動作試験です。
外出してみましょう。ちゃんと「家を出た」の設定は動いたでしょうか?
帰宅しましょう。ちゃんと「家に帰った」設定は動いたでしょうか?