iTag BLEトラッカーを非常ボタンとして流用

ボタン付きBLEトラッカーを非常ボタンとして流用できないか考えてみた。

非常ボタンとして流用できるBLEトラッカー

最近Apple純正の紛失防止タグAirTagが発売されて話題になった。しかしBLEことBluetooth Low-Energyを利用した紛失防止タグというのは随分前から存在していて,自分もiTagと呼ばれているものを少なくとも数年以上に購入していた(Bluetoothスキャンした際には “MLE-15” と表示される)。分解写真。もちろん,AirTagの「世界中のiPhoneで形成されるネットワークで探してくれる」とか,「iPhone 11以降でサポートされる超広帯域無線 (UWB) でより細かい位置を探せる」などといった「エライ」機能は全くない。紐付けされたスマホとのBLE通信だけが命綱でそれだけでできることしかできない。ただし,タグ自身にボタンがある,極めて安価(AirTagが4,000円近くなのに対しiTagはAliExpressで探せば$2 USDしない)という点がAirTagに勝る。このボタンを非常用ボタンとして流用できないか,というのが根底のアイディア。

AirTag以前にもTileブランドの製品群があった。これらも,Tileユーザによるコミュニティーによる忘れ物探しができるという点ではAirTagと同じで,かつボタンを備えている。しかし,いかんせん高い。電池交換できるものだと2,000円ほどする。Mate (2020) など使い良さげなサイズなのに残念。あと,後で述べるようにトラッカーが本来想定していないような使い方をするために,それが実現できるサードパーティ製アプリが必要になるが,Tileに関してはそういったものが見つけられなかった。その他Nutブランドの製品も目にする。

追記: 2021年末に家族見守りサービスのLife360がTileを買収した(Tileのサービスはそのまま継続)。その後Life360が数百万人の正確な位置情報データを販売していることが報じられた。日本ではSMBCが忘れ物トラッカーTile内蔵クレジットカード「三井住友カードTile」を提供し始めた

なぜ非常用ボタン?

お世話しているご老人が非常時に他人に助けが求められるよう。携帯電話が手元にあればそれでいいのでは,と思う人は多いだろうが,そうとは限らない,と最近自分が理解したことがこのことを考えるきっかけになった。

実は私も携帯電話を持ち歩いておりさえしてくれればよいと思っていた。ただ先日ご当人に新しいスマホ機種の使い方を教えている際,それは決して当然のことではない,ということを思い知った。ご本人曰く,指紋認証はなかなか通らないとのことでセキュリティー手段としては論外。代わりに4桁の暗証番号による画面ロックを使用しているが,それを解除すること自体がスムースにはできていなかった。指先が乾いているせいか,あるいは指の腹でタップしようとせず,肉の部分が狭い指先を真上から当てようとするせいか,なかなかタッチスクリーンが思うように反応しないからだ。ご本人は「何回かやればできることだから」と極めて軽く考えていたが,私の目には「非常時に体や頭がいつものように動かない状態ではアンロックすらできず全く使い物にならない」ということを示しているのだというふうにしか映らなかった。

その意味では子供向けみまもりケータイの類はよく考えられている。特に,紐をひっぱると大音量の音が鳴ったり,しかるべき連絡先に連絡が行ったりするのは,地味だが本質的な機能を実現する,大変有効なユーザインタフェースだと言える。

とはいえ,スマホとみまもりケータイの2台持ちを期待するのはさすがに無茶だろう。実はご当人は現状では外出時でも必ずしもスマホを持ち歩いていらっしゃるわけではないのだが,どうせ持ち歩くならスマホを選択するのは当然のことだ。

だとしたら,スマホは常時持ち歩くという前提のもと,場合によっては意識がはっきりしない,体が思うように動かない,という状況であっても,確実に助けを求められるようにはどうしたらできるだろうか。そう考えて,以前買っていたiTagを流用することを思いついた。やはり物理ボタンは頼りがいがある。特に自分が持っているiTagの物理ボタンは,ゆるやかな凹状になっていて親指の腹が気持ちよく収まるいいサイズだし,しっかりしたクリック感もある。なにかの際に,スマホの画面操作はなかなかできない状態になってしまっていても,ともかくiTagのボタンを押すことさえできればSOSを発信することができる。

もちろん近くにそれに接続したスマホがあるのが大前提になる。その大前提のために,必ずスマホを持ち歩く習慣を身に着けてもらうことも課題になるのだが,それはここでは深くは立ち入らない( “人間そう都合よくあっさり死なない” はそれを説得するための材料として書いた)。

iTagのマニュアル

マニュアルは以下などで読める。他にもあるようだ

ただ,ここではiTagを非標準なやり方で利用したいわけだから,あまりマニュアルは役に立たない。

カスタムアクションを実現するアプリ

iTagのためのAndroidアプリはいくつかあるが,ここでしたいのはカスタムアクションを実現することなので,その要件は満たさないものが多い。結論としてはオープンソースの iTracing2がよい (Wiki)。1. 接続時,2. レンジ外になったとき,3. ボタンが押されたとき,4. ボタンがダブルクリックされたとき,の4種のイベントにつきそれぞれアクションを定義できる。デフォルトではダブルクリックの判定はシビアでよほど早く二度押ししないとダブルクリックとみなされない。これは判定基準が300msになっているからで, preferences の Double click delay を500msに変更すると,思うように動作してくれるようになった。

アクションは,写真撮影を含まない単純なものしか用意されていないが(ただしそれらの組み合わせは可),任意のブロードキャスト・インテントを出せるので,それを受け取れる他の自動化アプリと組み合わせればいろいろできるだろう。

このアプリはPlay Storeにあったようだが現在はないアーカイブ)。ロケーションをアクセスする権限の要求のしかたがよろしくないとして削除されたらしい。現時点で2020年12月27日の2.5.6が最新版。アプリはいろいろなところから入手できAPKpureからも最新版が入手できる

フォアグラウンドで走らせることも可能だが,バックグラウンドで走らせ,ただし,端末の機能で自動起動を防ぐ設定になっていないようにすること,また,電池節約のため自動でタスクがキルされないように設定しておくことが肝要。

しかし今までテストした範囲では大きな問題がある: iTagの電源を落とした後電源を入れ直しても,スマホに自動的に再接続してくれないことが多い。これはiTag自身の問題なのか,iTracing2のアプリの出来の問題なのかはわからない。 “Manipulating iTags with Third-Party Software” の最初に載せたBLE機器の再接続の問題についてのページを読むと,このあたりの処理にはコツがあるようで,それが原因なのかもしれない。

JG iTag Alarmはサードパーティ製のアプリだが非常に優れており,以下の連携ができる…と思いきや,なんとどうも実はiTagにスイッチが入ったときにしかアクションを起こせないもよう。それだと使い物にならない。

その他に, F-Droidから入手できるオープンソースの Gadgetbridge: A free and cloudless replacement for your gadget vendors’ closed source Android applications. See the list for supported devices というアプリがある。Amazfit Band 5のコンパニオンアプリとして知ったのだが,これがなんとiTagにも対応しているらしい。ただし,具体的に何ができるかについては全く言及がなく,実際に試してみてもそもそもアプリからiTagが全く見つけられないため何もできない。⇐ 後で購入したiTagで試したところ無事にGadgetbridgeからアクセスすることができた。ただGadetbridgeには非常に基本的な機能しかないことがわかったので,ここでの目的にはそぐわない。

想定するiTagの使用法

ご当人が外出するときに使用する可能性があるものにiTagを取り付ける。家の鍵に付けることが負担でなければもちろんそれでもよいし,そうでないなら他の外出用バッグの類にはiTagを取り付ける。安価なのだから費用は気にせずつけまくる。

通常電源は入れておかないので電池は長く持つはず。非常時にはボタン長押しで電源を入れてもらう。それだけでSOSが発信されるようにする。さらに,その後もボタンが押されるたび,新たなSOSが発信されるようにする。

iTagで外出時スマホを持ち出ることをリマインド

外出時スマホを持ち出ることをリマインドするのにもiTagが利用できるかもしれない。家の鍵など必ず外出時に持ち出すものにiTagをつけ,それは常時電源を入れておく。もし,スマホを家に置いたまま家を出ようとすると,iTagがスマホから離れていくのを検知して,警告音を出すように設定できる。

ただ,このようにすると,スマホとiTagの位置関係や,家が木造か鉄筋コンクリート造りかによっては,双方が家の中でも警告音が出る可能性がある。もしそうだと煩わしい。この辺の微調整は難しそうだ。うまくいったらもうけもの,程度の期待が現実的。

 

Android TV準拠ストリーミング・メディア・プレーヤAmigo 7xJP

2021年12月追記: サイトの統計を見るとこの記事がなぜか多く読まれている。Amigo 7xJPについては後日使用印象を “ストリーミング・メディア・プレーヤAmigo 7xJPを使ってみて” にまとめたのでご興味あればそちらもどうぞ。Amigo 7xJPに関して書いた他の多数の記事の索引にもなっているので。


お世話しているおうちの話。eo光で固定電話とTVサービスもご利用で,Androidスマホ,Androidタブレットをご使用中。大型液晶TVをお持ちだがスマートTVではないので,Chromecastのようなものがあると便利ではないかと考えた。

Android端末を利用している人が大型TVの広い画面でメディアを視聴したいときにはやはりChromecastやAndroid TV機が相性がいい(正確にはGoogle CastというGoogleのキャスティング技術に対応したレシーバ)。自分はたまたまセールでChromecast (v2, あるいは2015)を安く購入できた。Appleの相当する技術AirPlayに対応したChromecastパチもんは安く売られていて自分もEzCastという名のデバイスを所有している( “How to Use Your EZCast Device with Your iPhones/iPads” )。しかし直接Google CastでAndroidスマホないしタブレットから,ボタン一発でキャスティングできる簡便な操作性は得られない。

さて,eo光の利用が10年目にかかったばかりのこの方はシルバーメンバで,年1度eoチケットが1枚付与される。使用者はセールスマンの口車に乗せられてeo光多機能ルーター(無線ルーター機能)をレンタルしており(手持ちの機器で十分まかなえたのに…),それにチケット1枚/年消費しており,付与分が相殺されている。現在4枚チケットを保有しているので,3枚までは他のことに消費できる。タイミングによるがeo光をやめることにする際には4枚目も使用できよう。

このeoチケット2枚でストリーミング・プレーヤAmigo 7xJP が無料。このストリーミングメディアプレーヤーはリモコン付きのAndroid 10デバイスのよう。自分でアプリが自由に追加できるとのこと。 Android TV Remote ControlアプリをAndroidデバイスに入れてリモコンとして使うこともできそうだ。”eo光117” に簡単な使用レポートあり:

シルチケ2枚とメディアプレーヤ Amigo7xJP交換してもろたで。
感覚的にはFireTVstick4kより快適。アプリの起動は速い。
送料660円でもらえるならアリ。
チケットの有効期限が切れる前にもらっておくべき。

端子 : USB3/USB2/microSD/有線LAN/音声出力/HDMI/電源

リモコンのテレビ操作は学習方式。
プレーヤとGooglePlayの両方に 設定 あり。

日本の開発元の情報「素人が作った」感の強いパンフレット。本家のイギリスAmino社のAmigo 7X – Amino Communicationsの情報データシートAmino社は北米にも進出したいようだから,これから伸びる企業なのかもしれない。

テレビで動画配信サービスと4K放送を楽しめる3つのデバイスを提供開始|株式会社オプテージのプレスリリース” によればeo光の新しい4K対応チューナは動画配信サービスにも対応しているもよう。これはご当人は現在使用していないはず(TVは4K対応ではない)だが念のため要確認。

個人的には,Androidスマホの使用に慣れていて,実際にほぼ常時携帯している人にはAndroid TVは必要なく,古いChromecastのようにGoogle Castレシーバ機能があれば十分だと思う。とはいえ,①TVの前にある専用リモコンを使用して,スマホを併用する必要なく単独使用できる,②音声アシスタントを利用できる,という追加機能は地味に便利かもしれない。

いずれにせよただでもらえるのならもらっておくのも悪くない。以下のような追加の利点もある:

eoプレミアムクラブのチケットはそもそもあまり有用な使いみちがない。使いでがあるとすると,このストリーミング・メディア・プレーヤ以外には,eo光ネットNetflixパック 割引,Mineo関係の割引,あとは工事のときの作業費に充てるぐらいだろうか。

この分野の製品はAmazon FireTV ブランドの製品,GoogleのChromecastブランドの製品がある(Apple製品は省略)。これらとAmigo 7xJPとの最大の違いはサポートおよびアップデート。Amazon,Google製品は長い期間に渡ってアップデートがあることが期待できるが,Amigo 7xJPにはそれは全く期待できない。売り切りぐらいのつもりがよいのだろう。付属リモコンの品質もあまり期待できそうにない。

Amazon Fire TV Stick (2020)のRAMは1GBらしいので,2GB積んでるAmigo 7xJPの反応の方がよいのは頷ける。

Amazon FireTV ブランドの製品やGoogleのChromecastブランドの製品のことは知らなかったので “【買うならどっち?】Chromecast With Google TVとFire TV Stick 4Kをガチ比較してみた結果。 – YouTube” を見てみた。ちなみに,AndroidアプリからFire TV製品にキャストするにはどうするのかと思っていたが, “HOW TO SCREEN MIRROR AND CAST USING AMAZON FIRE TV STICK | NOV 2019 – YouTube” によれば要はMiracastを利用する,という理解で正しいのか。Google Castを利用するほうがやはりスマートな解に思える。

 

AirScreen: A Google Cast Receiver App for Android

AirScreen (on Google Play store) is an Android app which acts as a receiver for AirPlay, Google Cast, Miracast, and DLNA. They have a YouTube channel.

The info of the app on APKMirror seems to suggest Android 4.2 and up. You could potentially turn your old Android device into a cheap Chromecast knockoff if it supports outputting video to an external monitor.

What is to note is that it supports Google Cast because we have not seen any Google Cast receiver apps recently. There was one called Cheapcast, but not any more. AirServer supports AirPlay and Google Cast too, but their commercial offerings are for Macs and Windows PCs, not Android devices.

I tried it a little, and my verdict is that it is not ready for day-to-day use. It freezes a lot, particularly when you switch the sender app. I am hoping the developers will remove those kinks soon.

Also, the whole screen ads are very annoying. You can remove them by paying, but they offer either a limited-time plan, or subscription plans (see image). When the subscription plan fees can easily surpass the price of a Chromecast, I doubt many people will choose to pay.

Micro SDカードのA1/A2アプリケーションパフォーマンスクラス

こういうことを日頃からフォローしているわけではないのだが,気づくとApplication Performance Class | SD AssociationというレーティングがSDカードに導入されていた。

アプリ向けA1規格SDカードで内部ストレージ化のパフォーマンス低下を解消。Androidスマホ | ONK Blog” 実際に測定したりは全くしていない,その意味では少し信頼性が疑われる情報。しかし,同じLexarの633xシリーズで,A1レーティングがあるかないかを除けば,32GB microSDHC UHS-I Class10 U1というスペックは全く同じの2枚のSDカードで比較すると,同じAndroid機で動作に顕著な差が出た,というのはそれでも驚いた。かつてXperia XZのMicro SDカードの内部ストレージ化で思うようなパフォーマンスが得られず悩んだが,ひょっとしたらそういう理由だったのだろうか。

一方, “microSDカードの「A2規格対応」にパフォーマンス向上の意味はないとエンジニアが主張 – GIGAZINE” という話もある。ただし,これはA2レーティングに意味がないと言っているのであって,A1レーティングにも意味がないとは言っていない。実際ベースになった記事 “A2-class microSD cards offer no better performance for the Raspberry Pi | Jeff Geerling” のフォローアップ記事 “Raspberry Pi microSD follow-up, SD Association fools me twice? | Jeff Geerling” では末尾で以下のように述べている:

So unless and until more devices and operating systems support A2 functionality, it’s best to avoid purchasing any A2 cards. If you buy an A1 card, you’ll get better performance now, and quite possibly forever. A2 might not technically be marketing BS, but in the real world, I stand by my assertion that it still is.

A2に対応したカーネルサポートが得られるまでA2のSDカードは意味がない,としている。 “SD card – Wikipedia” では “Knowledge/A1_and_A2_rated_SD_cards.md at master · ThomasKaiser/Knowledge · GitHub” を引用しながら,A2が能力を発揮できるには,ホストドライバーがcommand queuing and write cachingをサポートしている必要があるが,サポートしていなければA1よりパフォーマンスは落ちる,としている。Jeff Geerlingの記事はRaspberry Pi上での使用を前提にしていて,AndroidがA2をどの程度サポートしているかは調べてみてもわからなかった。ただ,どうやらA1レーティングのmicro SDカードを使うのは意味がありそうだ。ただ,彼のテストではSamsung EVO Plus(A1/A2レーティングなし)のコスパがそれを上回ることになっている。

その知識を前提に以下の2枚のマイクロSDカードを注文した。

Huawei Nova Lite 3用128GB

価格.com – SANDISK SDSQUA4-128G-GN6MN [128GB] スペック・仕様ドスパラで1,558円で購入。そこからLINE@友だちクーポンで300円引き。それに楽天ペイ支払いでいくらかポイント還元があるはず。UHS-I Class1, CLASS10, A1, 公称最大転送速度120 MB/s。

その後のNova Lite 3のセットアップに関する細々したことは “Huawei Nova Lite 3のセットアップ” に。

Xiaomi Redmi Note 10 Pro用256GB

Xiaomi Redmi Note 10 Pro用に一旦は価格.com – Lexar LSDMI256BB633A [256GB] を買おうかと思った。価格.comがメーカ公式の製品ページとしているもの: Lexar® High-Performance 633x microSDHC™/microSDXC™ UHS-I カード – Lexar逐次読み込みで100MB/s近く,逐次書き込みで90MB/s近く出るという口コミを見て決めた。耐久性の方は不安だが…。アマゾン並行輸入品をひかりTVショッピングで購入。保証期間は1年とのこと。Amazon.co.jpのカスタマーレビューを見ると,使用途中で読み取り専用になった,というのが多く見られる。

一旦は上記を注文したかけたが,結局価格.com – SANDISK SDSQUA4-256G-GN6MN [256GB] スペック・仕様(A1)をドスパラで3,088円で購入(海外パッケージ品 [並行輸入品])。アプリ初使用の300円割引で2,780円。結局は128GBのと同じシリーズのものを同じ販売業者から買うことになった。アマゾンでSamsung MC256GA/APC 256GB Evo Plus Class 10 UHS-I microSDXC U3 アダプター付き(国内正規品?)の在庫があればこちらにしていたのだが…。

余談: 風見鶏

一部の人に知られているようであるフラッシュメモリ専門店風見鶏は,実は神戸市長田区に本社があると知って驚いた。

 

フルのかけ放題必須のご老人の携帯電話プラン

追記:


お世話している親子お二人の今後の携帯契約作戦” はまだ実施していない。

ソフトバンク・UQモバイルのその後のプラン変更

その後「親」の方に関係する以下のニュースがあった。

老人のスマホデビューを助けるには” で,ご本人の近くにショップがあるキャリアを選択することを勧めたが,UQにしろソフトバンクにしろ,その点は問題ない。

ソフトバンクはAndroid端末を選択した際のIMEI制限がやはり問題Redmi Note 9Tなど乗り換えで1円なら(ワイモバイルからの番号移行については未確認)よさそうなんだが…。Hulu1ヵ月間無料トライアルキャンペーンもあるし?

UQならOPPO A54 5Gが狙いどころか。

UQの製品ページには言及がないが,そこから直接リンクの貼られているオウガ・ジャパンの製品紹介ページには「トリプルスロットSIM1(nanoSIM) + SIM2(nanoSIM) + microSD」との記載があるのでDSDV機,しかも独立したmicro SDカードスロットつき,と見てよかろう ⇐ “UQモバイルのOPPO A54 5Gのレビューと詳細スペック、安い5G対応スマホ” によればAu版/UQ版ともシングルSIMとのこと。 また,LTEバンドを見る限り,日本の4 MNOのどのネットワークでも使えそうだ。

ただし,ご本人には他の機種をご用意したほうがいいように思っている。というのは6.5インチのディスプレーを有し,190gのこの機種はご老人にはかえって大きすぎると思うからだ。

どうせ別端末を使っていただくことが前提なら,端末購入は止めてSIMカードのみ購入するのもあり。MNPだと10,000円分キャッシュバックがあるが,

といった違いがある。ゲオモバイルのオンラインでの申込みの中ででんきセット割に対応した入力はないが,そもそもでんきセット割は回線契約とは別にオンラインで行えるので支障ない(条件あり; 後記)。ゲオはかつて店舗で「格安SIMエントリーパッケージ 1円セール」を実施し,格安SIMのエントリーパッケージが1円になっていたようだが今は行われてないもよう。アマゾンで【DL版】『事務手数料3,300円が無料! 』UQ mobile ウェルカムパッケージ/SIMカードのみが350円だが,ヤフオクでさらに安く出てたりするらしい。

ゲオのオンライン申し込み手続きを途中までやってみた範囲ではエントリーコードを入力する箇所はなかった。UQ本家では比較的早い段階で入力を求められるようなので,ゲオはオンライン申し込みではエントリーコードは使えないのかもしれない。だとするとUQ本家でエントリーコードを使って申し込んだほうが安く上がりそうに思うが,「初期費用」の実態はSIMパッケージ代(3,300円)らしく,ゲオはSIMカードのみ購入の際には,「SIMカード代が0円!」としているので,ゲオの場合はエントリーコードを用意する必要なしに初期費用は0円なのかもしれない

UQモバイルのでんきセット割の適用を受けるには

さて

  • 契約者(子)と使用者(親)は家族だが住居は別。
  • 使用者(親)宅でAu/UQでんきに切り替えることは可能。
  • 現在の電気契約は既に亡くなった親の配偶者名義になっている。

という状況で,でんきセット割および60歳以上通話割の重複適用を受けることが可能か,UQのカスタマーサービスにチャットで何度も問い合わせた。結論としては可能なんだが,いろいろ条件がつく(リンク先は当事者のみ閲覧可)。

  • 契約者(子)と使用者(親)の親子関係を示す,続柄記載のある住民票又は戸籍謄本の提示が必要マイナンバーカードを使ったコンビニでの取得方法)。
  • でんきと携帯電話の料金の合算請求に同意しなくてはならない。
  • オンラインで手続きを完結させるには,電気契約者,携帯電話回線契約者の名義が一致する必要がある。子に揃えるのであれば,電気契約の名義をUQでんきに乗り換える前に事前に子に変更しておく必要がある。子名義のクレジットカードでの支払い。回線契約は今までと同様に子名義のままで,親を使用者登録する。
  • 親名義のクレジットカードで支払いをしたい場合は店頭での手続きが必要。店頭手続きの場合は,契約者(子)と使用者(親)の双方が来る必要あり。
  • UQでんきの申込みは合わせて店頭で行うことができる。
  • 子ではなく親に揃えることは可能ではあるが考慮しない。電気契約,携帯電話回線契約の双方の名義を親に変更する必要があるため。
  • (コロナ禍で営業時間がイレギュラーになっていることがあるので事前に問い合わせるのが吉)

UQ電気については “UQでんきの電気料金プランのメリットは?解約金の有無など | 電力比較サイト エネチェンジ | 電力・ガス比較サイト エネチェンジ” 参照。

電気料金プラン全般まで調べると

今「親」は「大阪ガスのでんき」から電気供給を受けてる。「家庭用ガス発電プラン」で,それは「大阪ガスのエネファーム・エコウィルを設置している家庭に向けたプラン」らしい。

電気代見直しNo.1サイト「エネチェンジ」 / 電気とガスのかんたん比較でいろいろ比較してみた。「親」のお住まいの場所で,1人ぐらし,電気使用量は「5月 250kWh」,1年使用という前提で。

UQでんき+UQモバイルのでんきセット割と,eo電気+eo光の料金割引はほぼ同額になる。11,000円ほど。ただし前者が永年なのに対し,後者は最初の1年のみ。ただし,キャッシュバックのあるものだと初年度20,000円以上の節約になるものがある。これらは電気料金そのものの節約幅はびっくりするほどではないが,キャッシュバックにより大きく底上げされる印象。こういったプロバイダの筆頭はエルピオでんき

UQモバイルのでんきセット割は最大10回線までその恩恵に預かれる上,それが期間限定でないのが大きな特徴。回線を家族で多数持っているような場合に大きなメリットとなる。しかし今は「親」の1回線しか考慮していないので効果は限定的。「子」もこれを利用することは可能だが,かけ放題は全くいらないとして3GB/月で990円/月は悪くはないものの,MVNOならもっと安くあげられるので今ひとつうまみがない。MVNOには太刀打ちできないUQの高い回線品質が欲しい場合や,あるいは制限の緩い低速通信を活用したい場合を除くと,「MVNOでいいじゃん」という判断になろう。

結論としては,UQモバイルのでんきセット割を利用するよりも,電力供給についてはエルピオでんきに切り替えるのがお得そう。UQ加入については,店頭で手続きするのではなくオンラインで済ます。端末購入は避けてSIMのみでキャッシュバックをもらうのもよいだろう。

キャッシュバックのある電気供給会社からはほぼ1年後キャッシュバックが得られることが多いようなので,それがあるたび別の供給会社に切り替えて行けばさらに節約できる。なお,エルピオでんきに限ると,サポートがいまいちというクチコミがあり,そこは多少不安。

各種該当電気料金プランの詳細

大阪ガス 家庭用ガス発電プラン

Auでんきの「でんきMプラン」

eo電気

キャッシュバックがきいて初年度20,000円以上の節約になるプロバイダ

 

低速だがデータ通信無制限の携帯プラン

携帯電話料金プランでは,データ通信量がある総量を超えると速度制限が課せられ,200kbps等までに落とされることが多い。MVNOなどでは,自分から低速通信にすることもできたりする。その間の通信量は,自分の持分から差し引かれないことが多く,それがメリット。

以前UQのサブスクライバだったときには,300kbpsの低速モード(「節約モード」)でSkypeなどを使うインターネット電話が全く支障なく使えた。最近IIJmioの低速モード(ギガプランだと最大300kbps)で試してみると,New PipeというFOSS YouTubeビューワで最低解像度144Pを指定すると,普通にYouTubeビデオが見れてしまい驚く。音声もクリア。もちろん画像は粗いし,最初にバッファリングのため多少待たされるが,一旦再生が始まれば途中止まることもなく見続けられる。

世の中は5Gがどうのと騒いでいるが,カジュアルなスマホの使用法ならこういった低速通信で実は結構用が足りるのではないかと常々思っている。もちろん,可能な限り事前ダウンロードする必要はある。マップ情報,ポッドキャスト,(どれを視聴するか事前にわかっていれば)YouTubeビデオなど。ただ,低速で構わないとしても,それによる通信量はやはりそれなりになるはずで,そういった制限のない選択肢があるか調べてみた。

以下料金は全て税込み。

2021年9月下旬から提供予定のAuのPovo 2.0が基本料0円128Kbps。ただし回線維持のためにいくらかは費用が発生する(現時点では詳細は不明)。

リンクスメイトの最安プランがデータ通信100MB/月でデータのみで165円/月,SMSつきで297円/月,音声回線で517円/月「節約モード」が用意されており,これを有効にすると小容量プランでは接続スピードが200Kbpsに制限される。場合によっては高速通信が少量でも必要,というユースケースにはピッタリ。ただし「低速時に3日間でデータ通信量が300MBに達した場合データ通信規制状態になる場合があり」ということで無制限ではない。

リンクスメイトについて特筆すべきなのは,新規契約事務手数料,SIMカード発行手数料等の多くの手数料が0円であること。ただし送料が1,100円かかる。データ通信容量シェアできるグループを組んだ場合,追加SIMカードは1枚データのみで110円/月,SMSつきで242円/月,音声で462円/月解約料金は3,300円だが,回線ごとに取られるのではなく,「ご契約グループの最後の1枚のSIM削除お申し込み時に発生」という変わったルール。ともかく安価に契約でき解約できるため,いわゆる「MNP弾」の作成方法として勧められているぐらい

残ったデータ通信容量を翌月に繰り越すこともでき,普通に良心的。プランの変更ができるだけでなく,SIMタイプ(データのみ/SMS付き/音声)の変更もできるだなんて素晴らしい,と思いきや,後者についてはSIMカードの取替が必要で送料が1,000円発生する。

上下最大200Kbpsという触れ込みのロケットモバイルの「神プラン」はドコモ回線,Au回線のデータのみの場合328円/月音声付きで1043円/月(ソフトバンク回線の場合多少高い) ⇦ 2021年11月1日にドコモ回線の神プラン(音声通話SIM)が値下げされ,490円例えば3日間の通信総量などによって神プランに速度制限がかかることはないことは明記されている。しかし,価格.comのレビューではモバイルルータに入れホームLANを構築した猛者が速度制限にあったと言っている。「通話プランには、1年間の最低利用期間が設定されています。最低利用期間中の解約には、9,500円(非課税)の契約解除料が発生します」は要注意。データ通信専用プランの利用が無難か。

エキサイトモバイルのFitプランだと音声回線でも低速通信しかしなければ,ドコモ回線,Au回線とも495円/月でこれは特筆すべき安さ。データ通信のみの場合も同条件で385円だから,常識的には100円強追加で音声回線にするだろう。安く携帯電話番号を維持する方法については, “なるたけ安価に携帯電話番号維持” や “安価に携帯番号を維持する” をかつて書いた。

そのSIM単独で高速通信する必要があったとしても3GBまで880円で,まぁ妥当な料金。で,なかなかいいプランだと思ったが,「3日あたりの低速データ通信量が366MBを超えると、通信速度を終日制限する場合があります」というのが大変惜しい。

速度切り替えのできる格安SIMのおすすめ8選 – 各モバイルの低速モードを比較 – インターネット・格安SIMのソルディ” を見ると同様な制限が通常存在することがわかる。以下の例外があるが,いわば「本体」の料金が格安ではないので私にとってはあまりうまみはない。

まとめると,無制限に低速通信したいのなら神プラン一択328円/月は無敵で,IoT用途のSIMカードクラスの安さ(もちろんそちらにはIoT用途に特化したサービスが付帯しているのだろうが)。楽天モバイルの新料金プランUn-Limit VIを使って0円かけ放題回線を実現するお供にもよい。がしがしデータ通信しないのであれば,他の選択肢も候補になってくる。

神プランについては,ときどきロケットモバイルが初期事務手数料割引クーポンをTwitterで流すらしい。

ちなみに,冒頭図はIIJmioで低速通信に対して速度制限がかかった状態。このときの速度は下り20kbpsほどで,さすがにここまで遅いと全く使い物にはならない感じ。

 

Scrypted: ホームオートメーション用Androidアプリ

Scrypted Home Automationというホームオートメーション用Androidアプリがある( “Scrypted is a home automation Android app that integrates with Google Assistant” )。自動化スクリプトをJavaScriptないしTypeScriptで記述する。Android 5.0 Lollipop以上を要求。明らかにNode.jsを使って実装されている ⇐ おそらくDuktapeを使っていると思われるのだが確信なし。ソースにはQuickJS Javascript Engineも触れられている。操作はPCからWeb UIですることが前提なので,スマホの小さい画面上で苦労しながら文字入力する必要はない。VS Codeを使うことも可。Home Assistant等メジャーなホームオートメーションシステムとも連携するもよう。プラグインはNPMライブラリに

サーバなので持ち歩くスマホで使うものではない。Android TVのような据え置き使用されるもので走らせることを想定している。Android Thingsという「リソースの乏しい」スマート機器用のAndroidでも動作するらしい。といっても,サポートされているのはRasberry Pi 3 Model Bとあと1機種のみ

狙っているところは興味深いが,2019年夏に更新されて以降更新がないのが不安なのとそうでもなさそう,Scryptedを走らせるAndroid端末そのものは自動化対象とあまりみなしていないようで(Android TVのようなものであれば確かにそうかもしれない),Android端末に関する機能としてはインテントの送受信程度しかないのが残念。

雨センサー

Rain Sensor Tutorial for Arduino, ESP8266 and ESP32 – DIYI0T” 腐食を抑える工夫を最後に述べているが,限定的効果しかないのではないか。

Xiaomi Mi Flora Monitorが意外といいのではないかと思った。もともと植物を育ててる培土に直接挿し込むことを前提に作られているので,防水はしっかりしているし,CR2032ボタン電池1個で1年間稼働してくれる。

ただ,ちょっとテストしてみたところ(写真),雨センサーとしては効果が疑われる結果。水滴を1, 2滴垂らすぐらいでは全く反応せず,数滴以上やったところでやっと微妙に反応。判断としては0を上回ったら即,雨,と判断しても良かろうが反応の遅さは気になる。Mi Floraで使用されているcapacitive sensorについては “TTGO T-Higrow” 参照。

第二十三弾 雨検知器を作ってみた | CIMA LAB | 株式会社シーマ” よくある安価な雨センサーはすぐ腐食してしまうので,長期には使い物にならない。鉛筆の芯を使うこの方法はそういう心配がない。ESP32を通常deep sleepさせ,このセンサーによってwakeupをトリガさせるようにすれば,電池消費も抑えられるのではないだろうか(参照: “ESP32 External Wake Up from Deep Sleep | Random Nerd Tutorials” )。

で…電子回路の知識があればこれをESP32ボードに応用すればよいのだろうがその知識がない…。

Mini Rain Sensor Automatically Interrupt Watering System for Garden Water Timer Home Irrigation #21103 ー マニュアル。自動潅水システムに接続して使うことを前提に作られている。最小感度設3mm (1/8″)。だがマニュアルには “Note: Avoid using the 1/8” setting in high-humidity conditions.” との記載がある。

電気的特性については以下の記述が:

The Rain Sensor is designed to work with Normally Closed or
Normally Open sensor circuits. If connecting the Rain Sensor to the
timer’s sensor terminals, first verify which type of sensor circuit is
required by referring to the timer user guide. The Rain Sensor is set for
Normally Closed sensor operation.

斜体字は筆者によるもの。で,どっちやねん…。少なくともマニュアル内に,normally closedかnormally openで動作するか変更する手続きは出ていない。

WH SP RG Rain Gauge Meteorological Test Rain Gauge Meteorological Equipment Accessories for Misol ー 日本人にはししおどしを想起させる,“Tipping bucket” 式。おそらくmisol / Spare part for weather station to measure the rain volume, for rain meter, for rain gauge [WH-SP-RG] – $11.69 のこと。

これはMisolのweather station MISOL Professional Wireless Weather Station Touch Panel w/ Solar sensor, w/ PC interface [WA-1091-1] – $83.99用のスペアパーツ。アウトドアユニットはソーラーパーネルで駆動し,電池不要なところがメリット。このWA-1091-1はAliExpressで送料込みで$105 USDほど。アウトドアユニットとインドアユニットは433MHzで通信。Windows PCからは専用アプリでUSB接続されたインドアユニットからデータを読み出せる。

これに限らず,Misolは完成キットのみならず,なぜかスペアパーツも各種用意している

Wireless rain meter rain gauge w/ thermometer, Weather Station for indoor/outdoor temperature, temperature recorder ー おそらくmisol wireless rain meter w/ thermometer, rain gauge Weather Station for in/out temperature [WH-0531-1] – $14.39。上記雨量計WH-SP-RGを使用していると思われる雨量計。インドアユニットとは433MHzで交信。送料合わせて$20 USD強で,現時点で雨量計だけ欲しければもっと安価な選択肢。アウトドアユニット,インドアユニットとも電池駆動なのが少し残念。

 

WS1040 Professional Weather Station With PC Link Household Wireless Thermometer Hygrometer Barometric Pressure Weather Forecast|Temperature Instruments| – AliExpress ちゃんとしたweather station。”WS1040 Professional Wireless Weather Station with solar Power &PC; Link User Manual WS-1041专业气象站 Shenzhen TianKan Electronic Technology” 433MHzで交信するようだがプロトコルが解析できるか。 “”

WeeWX: Supported Hardware” には入ってない。

weather station 433Mhz protocol – Google Search

GitHub – dgomes/homeGW: RF433Mhz decoding library

#209 How to Hack your 433 MHz Devices with a Raspberry and a RTL-SDR Dongle (Weather Station) – YouTube

GitHub – merbanan/rtl_433: Program to decode radio transmissions from devices on the ISM bands (and other frequencies)

 

 

Mini X Plus H24 TV Box MK805 Linux

Mini X Plus H24 TV Box MK805

Mini X Plus H24 TV Box MK805

2011年頃?に購入したポータブルAndroidメディアプレーヤMini X Plus H24 TV Box (MK805)でLinuxを走らせるための情報。


[OLD] Choosing an Android-Based Media Player

Miniand – Wiki – Mini Xplus TV Box H24” (Internet Archive)

BerryBoot – bootloader / OS installer for Allwinner A10 devices

a thread on a Russian forum…包括的なんだが外部リンクがことごとく切れている。

linux-sunxi.org…詳しい

BerryBoot – bootloader / OS installer for Allwinner devices [BerryTerminal]をAndroid apkとしてインストールし,Add-OSで使えそうな選択肢が提示されるか試す⇒アプリの少なくとも最初のステップではSDカードにブーロローダーを書き込もうとするだけのようだった。

“The Android installer is universal and automatically patches the image with the hardware settings copied from Android (script.bin and u-boot SPL memory settings).”

Cubieboard – Wikipedia” によればCubieboard1はAllWinner A10 SoCを採用しRAM 1GBということなので,MK805のスペックとその点では同じはず。Cubieboard1についてはマニュアルインストレーション用イメージが用意されているのでこれが流用できるか?

Ubuntu Installation Guide” の “2.1. Supported Hardware” にPineRiver Mini X-Plusがリストされている。 “4.2. Downloading Files from Ubuntu Mirrors” 読むと既にビルドされたバイナリをダウンロードして使用することが前提の模様。しかもリンクが切れてて,おそらくFocalに関して指したかった先はIndex of /ubuntu-ports/ubuntu-ports/dists/focal/mainだと思われるが…。

PicUntuというUbuntuベースのPicUntu · sgjava/byoc Wiki · GitHub 7年前とかで古い。

Gun — “the Database for Freedom Fighters”

This article is absolutely not finished. I’m publishing it anyway. I will probably take another look at Gun when it matures; this could be a total game changer in the field, but as it is now, it appears to be only for those who are willing to get their hands dirty and dive in the source code.


Local-first database: gun.js | Jared Forsyth.com

Gun, “the database for freedom fighters,” seems to be a nascent database system implemented in JavaScript. The feature set looked very appealing, so I’ve spent quite a lot of time trying to understand it, but now I am having doubts about its merits and maturity.

Funding and Realworld Applications

The company behind GUN raised more than $1.5M in 2018, so at least there was high expectations for Gun in the past. Has it delivered? That’s the thing — I’m not really sure.

Allegedly it has been used to make a decentralized version of the Internet Archive, accessible at dweb.archive.org; a decentralized variant of Reddit called Notabug; and Iris, a P2P social networking site. Some functionality of Hacker Noon is also supposed to be powered by Gun. These are good signs, although none of them is a well-known big-scale application.

At the same time, some software systems which allegedly employed Gun originally, no longer do seemingly. For example, D.Tube, a decentralized YouTube, as it were, seems to have used Gun in the past, now uses Avalon Blockchain as a database and IPFS as a static file storage. This might be a bad sign, when they once decide to use your service but quickly abandon it for a different one.

Documentation

The offered documents are a complete mess. At least some of the contents are automatically extracted from their Github wiki. The search function does not work; you have much better luck with Github’s wiki (click on “Pages”). They are not well organized and relevant information is often scattered over multiple places, which makes it hard to find the information you are looking for. Some do not seem to be kept current; a portion of them was merely copied and pasted from chat exchanges elsewhere without much clean-up, and are thus rather hard to read and understand. There are a lot of dead links. Some talk about the features that have not been fully implemented, so what Gun offers now is not instantly clear. I wonder why they do not pay someone to get the documentation in order; they have the money — or at least did.

Chaingun is a reimplementation of Gun in TypeScript with SocketClustere. Not sure if it is actively maintained. Also, chain-gun-archived seems to be an old repository. I suspect the author chose to reimplement the whole thing because the documentation was weak and he had to go through the whole source code anyway.

No Browser-to-Brower Syncing?

You can specify a peer or peers to sync to when you create an instance of Gun object. Those peers need to be publicly accessible. What this means, I would think, is that you cannot sync between a Gun-powered browser app and another of the same kind, because usually these instances are not publicly addressable. PeerJS, a P2P library for JavaScript, in contrast, specifies your peer(s) by ID(s), so I would think it allows browser-app-to-browser-app connection.

Gun’s DAM (Daisy-chain Ad-hoc Mesh-network) is supposed to take care of creating and maintaining a mesh network of Gun instances. So perhaps browser-app-to-browser-app direct syncing can eventually be possible if each of them is configured to sync with a publicly accessible Gun instance. I just do not know for sure.

Promiscuous Syncing?

The way I understand it, when you have peers to sync, they sync everything unless special preventive measures are taken. Bullet-catcher is one of such preventive measures.

However, “Bug: Browser-based GunDBs are downloading all the datas. · Issue #714 · amark/gun · GitHub” might indicate that my understanding is not accurate. The original poster complains his browser app syncs more than he thinks it should with the Gun “server,” and nobody, including Gun’s author, contests that assumption. (BTW, I added a comment there.)

User Authentication

All the security measures embedded Gun are even harder to understand because of its P2P nature. “Data security” series, with about a minute-long video for each page, is informative, but really not enough for you understand the whole picture — at least not for me.

According to “Auth — GUN documentation,” Gun supports “a cryptographic identity backed by a public/private key-pair.” I wonder what happens when an “account” of the same username (“alias”) is created on two different Gun peers when they are not connected and they are subsequently connected. I posted a question to this effect on Stack Overflow but I have not received a response.

In reality, though, for any realworld applications, you are likely to want to use OAuth 2.0, with Google, Facebook and twitter being one of the service providers.
Integrating LINE Login with your web app | LINE Developers

Security in the Face of P2P Syncing and Offline Use — Access Control and User Authentication/Authorization

A few of the draws of Gun is that it offers peer-to-peer (P2P) syncing/replication and

 

GUN documentation

Does GUN have some form of ACL (access rights)?” in “GUN documentation

End-to-End Encryption implementation guide | Matrix.org

Conflict Resolution

Querying

It does not yet have a query language. GraphQL-Gun: A graphql API for the gun p2p graph database provides a GraphQL API. Other Gun-related software products can be found in “Awesome GUN · amark/gun Wiki.”

p2p DB in JS using CRDT. That sounds a lot like GUN. How does OrbitDB compare t… | Hacker News” is a thread about OrbitDB, which we will see later, and it discusses mostly about its differences with Gun. There are some unkind comments about the creator of Gun. Some view them as mere baseless slander (indeed not much tangible proof is presented), but some criticize its poor coding style, or the poor quality of documentation. I cannot personally judge either about the former, but I do agree that the documentation is very often incomplete and unfinished.

Local-first database: gun.js | Jared Forsyth.com

What I have personally noticed is that

3Box Research: Comparing Distributed Databases GUN, OrbitDB, and Scuttlebutt | by 3Box | 3Box | Medium
Home – OrbitDB

dappkit/aviondb: A decentralised database with MongoDB-like developer interface (Fully Compatible with OrbitDB)

p2p DB in JS using CRDT. That sounds a lot like GUN. How does OrbitDB compare t… | Hacker News

Gun is a graph database. I don’t think Orbit uses a graph system, but instead uses feeds or KV stores. So that’s a another difference. But Gun can use IPFS as a storage adapter if you wanted.

To clarify here, OrbitDB’s core is an append-only, immutable log CRDT. While a mouthful, what is gives, is a distributed (decentralized) database operations log. Almost any type of database, or data structure, can be then built on top of that log. The log in OrbitDB is a Merkle-DAG [1], so, a graph.

Key-Value databases, feeds, and other data model types that OrbitDB supports by default, are all built on that log. You can also create your custom database types, ie. custom data models.

[1] https://discuss.ipfs.io/t/what-is-a-merkle-dag/386/4

However, IPFS moved away from the Merkle-DAG and now uses IPLD.

 

Claim of it Being A Graph Database System Is A Bit of A Stretch

The graph model Gun supports is rather crude. “Intro to Graphs” says this:

Note: We can have 1-1, 1-N, N-N relationships. By default every relationship is a “directed” graph (it only goes in one direction), so if you want bi-directional relationships you must explicitly save the data as being so (like with Dave and his kid, Carl). If you want to have meta information about the relationship, simply create an “edge” node that both properties point to instead. Many graph databases do this by default, but because not all data structures require it, gun leaves it to you to specify.

In other words, if you’d like to express a 1-N or N-N relationship in Gun, then you have to work extra. Also it’s entirely up to you to make it performant. This, at least to me, means the graph model Gun provides natively is quite rudimentary at best and not quite expressive enough. This makes a stark contrast with Neo4j.