毎日の運動の記録に活動量計 その2

前に”リタイア”したスマホで代用しようと書いた活動量計(歩数計)ですが、インストールした歩数計アプリが重いのかハングアップする事象が数回発生しました。そこまでなら再起動でごまかすのですが、タッチスクリーンの反応しない範囲が拡大し、起動パスワードの特定文字を入力できない状態になってしまい、実質リタイアスマホが使えない状態になってしまいました。このためリタイアスマホはパスワード起動しなくて未使用できるカメラ機能だけ活用しています。それはさておき、活動量計、歩数計探しの再開です。

リタイアスマホは、充電が2日しか持たず、気が付いたら切れているので、活動量計は、1回の充電でどれくらい使用できるかに着目して設定することにします。各種の活動量計を調べると、意外にダメな点が電池の持ち時間や交換方法など電源まわりに依存していそうです。
以下、前にかいた機種を中心に情報を並べてみます。


GanRiver スマートウォッチ 血圧 心拍計 歩数計 活動量計 IP68防水 消費カロリー 睡眠検測 アラーム 着信電話 Line通知 多機能健康管理 腕時計 iphone&Android対応 日本語説明書 3999円 → 販売側のサイトには電池周りの情報はなさそうだが、レビューにはいくつかコメント有。10日くらいもつとか、1週間はもつとか情報はありましたが使用条件などの細かい情報はなくどの機種へのコメントなのか(いろんな製品に同じコメントがでてくる)不明確だったり情報はあまり信頼しないほうが良いかもしれない。日本語サポートがダメそうなコメントがある。
→中国製

itDEAL 活動量計 スマートウォッチ 心拍計 + 歩数計 + 血圧測定 + 睡眠検測 ] タッチ操作 Bluetooth4.0 IP67防水 着信通知 Line通知 SMS通知 iPhone iOS Android 日本語アプリ対応 3144円
 → レビューコメントより、 「2日も電池が持ちません 」とか「 1日持つ時と気づいたら電池切れの時がありました。 」の記述があったり、「 電池の持ちは、24時間 Bluetoothでスマホに接続したままですが、1日使っても電池の残量目盛り4つのうち1目盛りも減りませんが、だいたい1日1目盛りを目安にしています。 」の記述があったり、よくわからない。特に3つめは分かりにくい3日は持つと言いたいのか? 「 前のモデルから…着信のバイブが長くなったこと、血中酸素量の測定がなくなった事、脈拍などを30分単位で自動的に測るからか、電池の持ちが悪くなった事が欠点 」やはり複数の機種のコメントが見えている感じがする。
→中国製

Newpower スマートウォッチ IP68防水 心拍計 歩数計 活動量計 消費カロリー 睡眠検測 着信電話通知/SMS/Twitter/WhatsApp/Line/アプリ通知 長座注意 日本語対応 iPhone/iOS/Android対応 2999円 → カスタマーQ&Aより「3日くらいは余裕で持ちます。 」
→中国製

 Yamay スマートウォッチ血圧計 万歩計 活動量計 心拍計 IP68防水 消費カロリー 睡眠検測 アラーム 着信電話 Line通知 iphone&Android対応 3999円→カスタマーQ&Aより「 一回の充電で待受時間は1週間ぐらいですが、運動モニターを使い、着信の通知などの機能を頻繫に利用すると2、3日くらいのバッテリーのもちでございいます 」
→中国製

KYOKA  スマートウォッチ 血圧計 心拍計 歩数計 活動量計 IP67防水 LINE対応 USB充電 消費カロリー Facebook/Twitter/Gmail/アプリ通知 着信通知 電話通知 睡眠検測 生理管理 長い待機時間 iPhone/Android 3999円
→ 国内でワンクッションあるようだが中身は中国製っぽい → レビューコメントより「 フル満タンで1日持たない 」

↑欲しいのは歩数計と時計機能だが、電池の持ちは1日から4日くらいのようだ。もっとも、電池の持ちは使い方次第のようだが、 歩数計と時計機能だ けでどれくらい持つかの情報はあまりない。

ということで、ほかのものも探してみます。
fitpolo スマートウォッチ 活動量計 心拍計 歩数計 距離測定 睡眠モニター 消費カロリー 電話/LINE/着信通知 目覚まし時計 座りがち注意 腕上げて自動点灯 IP67防水 iphone&Android対応2590円
→ カスタマーQ&Aより 「 (充電時間は)1-2時間です。一回の充電で8日間以上使えます 」
→中国製

Sorking 心拍計 活動量計 万歩計 睡眠計 多機能スマートウォッチ IP67防水・防塵 着信通知 消費カロリー 目覚まし時計 遠隔カメラ 長座注意 電話 Line SMS Facebook Twitter通知 距離測定 1999円
→レビューコメントより「 *悲しいくらい電池が持たない。以前の機械は、何とか一週間くらいは持ったのですが、これは、2日・・・せいぜい3日。短すぎです。 」
→中国製

ウェアラブル 万歩計 anemos fit AW-001 スマホ連動の万歩計、4320円
ウェアラブル 万歩計 anemos fit AW-002 スマホ連動の万歩計 心拍計付き
山佐時計計器 5200円
→ メーカーサイトより「 約45分でフル充電、約2~6日間、持ちます 」
→中国製


いっそわりきって、データ連携ナシなら。
山佐時計計器 万歩計 ポケット・バッグイン万歩計 ポケット万歩 ピュアホワイト EX-500W 2272円 → 腕時計ではないので時刻を確認するのは少し手間…
→国産? なかみは?

オムロン(OMRON) 歩数計 ホワイト HJ-325-W 1539円
→ 腕時計ではないので時刻を確認するのは少し手間…
→中身は中国製

City-Center 万歩計 腕時計型 活動量計 多機能スマートバンド 消費カロリー 手首型 歩数計 活動距離 簡易版健康管理腕時計 色 ランダム 270円 →感度についてコメント有、電池周りの情報なし
→中国製

Bartram  スマートウォッチ 活動量計 心拍計 血圧計 着信通知 防塵防水 フィットネス 活動 iphone&Android対応 785円 →充電が2日ほどしか持たないとレビューコメント有
→中国製

Zhaoya 腕時計 心拍計 歩数計 着信電話通知/メッセージ通知 睡眠監視 目覚まし時計 長座注意 iphone&Android対応 英語説明書 888円 →届くのが遅いとコメント有、 浙江省 からEMS、船便で送られてくるのだろうから3週間くらいかかってもおかしくはない。→レビューコメントより 「 フル充電で2日はもつ。 」
→中国製

電池は2日程度しか持たないものが多い。これでは”リタイアスマホ”と同じくらいしか持たないので、もっとほかにないか調べてみました。

【スマートウォッチ T-PRO 10%offクーポン配信中!】 メンズ iphone 対応 android 日本語 line 対応 着信通知 活動量計 腕時計 血圧 心拍計 腕時計 Lifesense band2
それなりに電池が持ちそうな記載を見つけたので、これにしてみました。

とりあえず、フル機能で使ってみました。フル充電で4日間ほど使えます。睡眠中は電池の減りが少なくなっています。下のグラフがガタガタしているのはそのせいです。使用方法によって消費電力が違うのがよくわかります。多分人によってどのくらい持つのかが変わるでしょう。腕をひねると表示機能が起動するのでそのような動きが多い人は電池の減りは早いかもしれません。 そして、電池の残量が3%になったところで、タップの操作に電池付属の表示しかしなくなったことに気が付いて、充電しました。残量9%では機能していました、たぶん5%を切るとセーブモードに入る感触です。その状態でも歩数カウントはしているようですが、心拍数の計測は止まっていました。心拍計を止めることで機能時間を延長しようとしていると思われます。その工夫はgoodかな。

で、調べてみると、 設定で”心拍計を止めること”ができ、止めた場合に電池の持ちがよくなるという記載を見つけました。  そこで、現在、心拍計をオフにして使用中です。今時点でフル充電から4日目で、電池残量は82%です。0%まで延長すると22日くらいになりそうです。5%で操作できなくなると思われるので、その時点までとして21日くらい持ちそうです。

この続きは、また今度。 → 7/24のその後の状況

太陽光発電システム導入環境での消費電力解析 その2 他サイト

前回の解析に続いて、2019/2/1以降について、サイト3、サイト2について確認します。前回と同様に時刻ごとの消費電力の変動を確認します。まず、サイト3のデータです。

サイト3

一度減っていた消費電力が依然と同じ状態に戻った後は、これまでの解析と同じ傾向であることが確認できました。

同様に、サイト2のデータです。

サイト2については、これまでにはなかった事象が見られます。6/29の19:00から0.10kWhほど消費電力量が減っていました。詳細を見るために、消費電力量が減少する直前の6/27と減少後の7/9のデータをプロットしました。

見逃していましたが、7/9 13:30ころに消費電力量が元の状態に戻っていたことを確認しました。

 これについては、浄化槽の点検業者から連絡があり、浄化槽ブロアーが故障しており暫定的に仮のブロアーを設置していたことが分かりました。状況から6/29の消費電力の減少はブロアーの故障で発生し、7/9の消費電力の増加は仮ブロアの設置によって発生したと判断できます。つまり、0.10kWh分はブロアーの消費電力わかりました。 現在、下水道の供用開始にむけて準備中で、浄化槽自体を無くす予定です。このため、ブロアーもなくなるので、0.10kWh分の消費電力が減少する見込みです。実際にどのようになるか下水道に切り替えた後に検証してみます。

データサイエンス、あなた(御社)はどのレベル?

最近、またまたAIって言葉が頻繁に登場してきているけど、それは何回目のブーム?かご存じだろうか?1990年ころは、一定のアルゴリズムに従って挙動する仕掛けがあればAIと呼んでいました。その後、繰り返しAIのブームがありました。そして現在のAIブームはディープラーニングをベースにしたものです。ディープラーニングは単機能として成功した仕掛けといってもよいでしょう。なぜそうなるのかわからずに使うのは厳しいので、なぜそうなるのかを解析して理解し使いこなしていこうとしているのが現在のフェーズです。将来のAIは多数のディープラーニングの仕掛けを多数のディープラーニングの仕掛けで最適に組み換えながら使っていくものになるでしょう。その仕掛け自体が自己学習を始めたらいわゆる技術的特異点=シンギュラリティーとなるにときがくるでしょう。今の時点で、シンギュラリティーを迎えるためのハードウェア環境はすでに整っていてあとは組み合わせる仕掛けを整えるだけでよいくらいのレベルになっているように思います。もちろん特定のマシンというわけではなくインターネットのネットワークにつながっているリソースを考えればということです。
 さて、現在のAIの利用状況を見ると業種ごと、企業ごと、人ごとにレベルに違いがあり格差が生じていて、この格差は”AI格差”といわれています。そしてここでいうAIは、前述のディープラーニング以降のAIです。
 ということで、あなた(御社)はどのレベルなのかを振り返ってみてください。みてください。AI活用といっても、ディープラーニングを活用した自動機械化から、ビックデータ解析により新たなビジネスを掘り起こすことまで様々です。AI格差はこのAI活用をうまくできたものがいわゆる勝ち組?になれると言っているようなものでしょう。
 ディープラーニングの活用をすでにしているなら、さらに活用範囲を広げるときに次のようなことも考えればよいでしょう。今時点でディープラーニングの活用ができているところはあまりありません。これからディープラーニングを活用するとして、どのように導入していけばよいのか考えてみましょう。ディープラーニングには入力と出力があります。まず”出力”を何にするのかを考えましょう。普通は利益が出るとか都合がよくなる何かです。例えばある自販機を考えたとき、売上金とか、利益などを指標にするのがよいでしょう。つぎに”入力”つまり”出力”を説明するための情報です。ある売上を説明するための情報です。自販機を設置した場所の条件とか時期とか商品の種類とか商品の配置とかさまざまな情報を入力とします。この ”入力”と”出力”の データのセットを用意します。一昔前のデータマイニングでは各入力と出力の相関関係を出したり、推測の関係式を立てたりして推測していました。ディープラーニングでは、このデータのセットを投入して売り上げを予測する仕掛け”学習済みデータ”を用意します。また、この ”学習済みデータ” をつかって、別途用意したデータを投入して予測精度の確認や予測利用します。このように ディープラーニング にはデータが必要です。そしてこのデータを用意することが第一歩です。データがないならデータを取るところから始める必要があります。ただ今どきはすでに多量のデータがあって、そのデータを人手で処理しているところもあるでしょう。そういう場合はどのようにディープラーニングを導入するかを検討するだけでよいでしょう。ディープラーニング活用の一歩手前の状態にあるといってよいでしょう。データをこれから収集するという状態であれば、何の情報を収集するのかから考えることになりますが、思いつくままに必要と思われる情報を順次追加していく方法だとスピーディーな対応が困難です。その方法を選択する何か理由があるのならそれでも良いでしょうが、効率的に進めるなら情報収集してそれを活用する仕掛けに拡張性を持たせつつ、”今後使うかもしれない”というあまり必要ではないかもしれない情報まで含めて収集してしまうのが良いでしょう。本当にゴミの情報は不要なので、仕分けることは必要です。つまり情報を収集し始めるときに何を収集するのかデータの保存領域のサイズを気にしながらデータを集めるのはストレージの価格が安くなってきた2019年時点では無駄です。取捨選択に時間をかけるのをやめて、収集したデータをどこに保存してどう使うかに時間を使ったほうが良いです。逆にビッグデータサイズのデータで保存しているかどうかを気にしたほうが良いかもしれません。兎に角”出力”をどうするか決めて”入力”となりそうな情報を使える形で収集していき、どのように使うかに注力すればよいでしょう。

 このようなディープラーニング活用のようなところを一括りにして、「シンギュラリティー 一歩手前の技術」の活用として、”Pre Singularity Technology (PST)”と定義します。PostSTに何があるか楽しみですが、まずはPSTを使い倒しましょう。
 ちなみにわたしは長年Singularity で思い起こすのは、”magnetic singularity”か”gravity singularity” です。

将来的には、完全自動運転でとかと思いましたが、免許証を認証するとかすぐ対処しないといけませんね

「免許自主返納後に運転して事故」とか、何年も先の話をしている場合ではないですね。2020年以降販売する車は免許証を差し込んで、運転を許可されている車かどうか認証して、確認できないとエンジンがかからないようにするとかすぐに対策しないとしないとけませんね。

 自動運転をすぐに実現するのは厳しいでしょうが、運転免許証を認証するのはすぐにできるはずです。

まず、ICチップを組み込んだ免許証ですが、一番遅い時期に導入された鳥取県でも2010年に導入されています。このため全国で導入されてから8年以上経過しています。運転免許証の有効期間は長い人でも5年ですので、すでにすべての人の免許証はICチップが入ったものに切り替わっています。

また、免許証のICチップには 「氏名」「生年月日」「免許証交付年月日」「有効期間」「免許の種類」「免許証番号」「顔写真」 の情報が入っています。ICチップを読み取る機器はすでにありこれをベースに開発すれば、有効期限内の運転免許があるか、この免許証で運転可能な車かどうか、をチェック可能です。ETC機器と同額程度で実現できるのではないでしょうか。 また、画面に氏名や顔写真を表示することも簡単にできそうで、免許のまた貸しにもある程度の抑止力があるでしょう。さらに、半年くらい開発期間は長くなるかもしれませんが今どきのディープラーニング技術を使って、「顔写真」と運転者が同一人物か顔認証でチェックすることもできるでしょう。

いろんな方面からの対策がありますが、役所関係が本気になれば免許ベースの対策はすぐに現実できそうな感じがします。

最近、多い自動車事故についての統計解析

最近、多い自動車事故について統計データを分析、解析してみようかとデータを探してみました。”交通事故総合分析センター”のサイトから入手できそうですが無料で入手できるのは統計解析後の情報だけでした。有料ならどこまで生データを入手できるのかよくわかりませんでした。無料で入手した統計データでは確認したい情報はありませんでした。以下に、何を確認したかったのかなどを書きます。

 事故件数は報道されている件数よりも遥に多いはず。ということは、報道は一部を報道しているだけなので、そこには報道関係者などのベクトルがかかっている。そのベクトルは妥当なのか、報道されている統計後の情報は、意図的に元データを操作するなどデータ自体にもベクトルがかかっていたりしないかを確認したかったのです。

まず、ぱっと思いつく疑問を挙げてみました。

・高齢者の事故が多いとされているが、何か傾向はあるのか?

・報道写真を見ていると、特定車種をよく見る。車依存の事故が多いのでは?

・今どきの分析での成果はなにかあるか?
とりあえずこの辺についてコメントします。

■”高齢者”に関する分析
・ 「運転者年齢層別の事故件数」や「 高齢者の事故 」の統計データがありました。 計数データはほかの年齢と比較しないと、あまり意味がないでしょう。事故を起こしたのが高齢者かどうか、資料での記述”第1当事者”の年齢別のデータについては、人口統計の補正はしているようですが、運転者人口とか運転時間(人・時)を母数とした情報にはなっていません。この辺の考慮や、運転時間別の比率つまり普段運転していない人のほうが多いとか、自動車を乗り換えてからの期間が短いつまり操作性が異なる車に慣れないうちに起こす事後が多いとか、組み合わせてみるとより顕著な結果が得られるように思います。

■”車種別”の分析
車の台数が多いから、よく報道に登場するのかどうかとか車種別のデータがありません。気が付いている人も多いので、統計データを公開しないのは何か意図的に隠ぺいしているように見えますよね。明らかに何かあるのなら情報を公開して、みんなで議論しつつ対策を進めるべきでしょう。逆に何もないなら公表しない理由は何のでしょうが、少なくとも何かる車種があるので公開できない状態なのでしょうか?よくあるパターンは、気にしているところは何もないが、思わぬ車種に特異なデータがあったりしますね。

■” 今どき”の分析
今どきの分析ならもっと面白い結果が出てきてもよさそうですが、その辺が何もない感じです。これだけ大量のデータがあるのだからちょっと何かすれば改善できるネタは出てくるはずなのですが。

↑感覚的にはそうかもしれないが、分析的なアプローチがない感じです。また、プリウスをじっくり乗りこなしたうえでも感じる違和感には到達していないと思われ、深堀りした内容にはなっていない感じがします。

↑ 最近のブレーキとアクセルの踏み間違いとみられている件に触れているが、その件についての原因周りの話はなく、 ギア周りの話に終始していて分析不足の感がある。

↑ギア周りの話は、同感です。 最近のブレーキとアクセルの踏み間違いとみられている件には触れていない。

↑全体的に同感ですが、身振り手振り付きの喋りながらの運転は危険運転とまではいかないが、いまいちです。さて、直近の事故は、事故ごとに特性は違うので、それぞれの事故ごとに分析が必要でしょう。

最近の車には、一昔前のフライトレコーダと同レベルの情報は残っているのでしょうからデータ解析すれば何かわかるでしょう。入力信号の混線や人為的なデータ破壊とかまで考えるとデータ矛盾のチェックなど大変な作業かも知れません。

できるだけ早く、完全自動運転で何とかしてほしいです。そのレベルに辿り着く途中の車のデザインは現状と変えないほうようにするとか、新しいデザインの車は一定基準を満たした人だけ運転できるとか、いろんな角度からの対策も必要そうですね。

バージョンアップ情報、脆弱性情報の自動チェックを正式運用開始

先に書いた「Webページの更新内容自体が、動的更新によるものかどうかを自動チェックして、通知するかどうかを切り分けるように強化」の完了し、うまく機能することが確認できたので、正式に運用を開始しました。また、「日本語でのメール送信」機能も組み込んだので見やすく、作業効率が改善しました。今後、新たなソフトウェアのチェックが必要になったときにチェックルールをメンテナンスしていきます。

雨が降りだしたら自動で排水 

消費電力ほぼゼロのはずの電気代が1か月で5500円とか、9500円に増えていることに気がつきました。調べると排水ポンプが稼働しっぱなしになっており、常に「ジョロジョロ」と排水されていることが原因と判明しました。普通は、「ドバー」っと一気に排水されて水がなくなると自動で止まります。これは排水ポンプのフロースイッチが効かなくなっていることが問題原因なので、本来は排水ポンプを修理もしくは交換するところです。しかし、費用も抑えたいし、コンセント側で電源をON/OFFしてやれば同じ動作ということで、余っていたスマートコンセントを付けてみました。そして指定した時刻に定期的に排水するように設定しました。この変更で、電気代は1か月で390円に激減しました。これは意図した通りなのですが、故障する前の電気代は1か月あたり1100円程度だったので、期待以上の削減です。ポンプの待機電力より、スマートコンセントの消費電力のほうが小さいとは思えないので、以前は現状のポンプの稼働頻度よりも高頻度でポンプが稼働していたと推測されます。

短時間に多量の雨が降った場合、自動では排水されず、水が溢れるかも知れないので、少し工夫してみます。
IFTTTのサービスを使って、雨が降り出したら排水ポンプを動かすAppletの設定をします。まずIFTTTで「New Applet」すると次が表示されます。

「+this」をクリックして実行する条件”トリガー”を設定します。ここでは「Weather Underground」を使っています。検索枠にサービスの名称” Weather Underground ”の頭から数文字を入れると選択肢が表示されます。
” Weather Underground ” をクリックします。

次に実行条件を選択します。雨が降ったら起動したいので、”Current condition change to ….”(現在の天候がxxxに変わったら)を選択します。

”Current condition” は「Rain」(雨)を、Locationをマップで指定します。「Create trigger」をクリックします。

「+that」をクリックして、何を実行するかを指定します。

”実行条件”と同様に、実行する処理をサービスの中から選択します。ここでは、利用するスマートコンセント”Meross”を指定します。

”Turn on”(電源オン)を選択します。

登録した”排水ポンプ”のスマートコンセントを選択し、「Create action」をクリックします。

設定した内容を任意の名前を指定します。 「Finish」をクリックしIFTTT設定を完了し保存します

以上で、「雨が降りだしたら自動で排水」することができます。排水ポンプを止めるほうはスマートコンセントのスケジュール設定で「1分後にオフ」を登録しているので、1分後に自動的に排水ポンプは停止します。

他のサービスやWebRequest、Webhook、独自実装を組み合わせて排水量制御とか、排水の代わりに灌水の制御をするようにして、雨の状況を予測して灌水するかどうかを制御するとかいろいろできますね。

Pythonで日本語メール送信

定期実行タスクの機能を使ってメール送信していましたが、content-typeを次のようにcharsetを指定したいのに、

Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US

つぎのように指定されています。
Content-Type: text/plain; charset=ANSI_X3.4-1968

このcharset指定のメールでは、日本語の文面が文字化けしてしまいます。受信したメーラーで明示的に文字コードを指定することで文字化けは解消しますが、いちいち指定する手間が大変です。そこで定期実行タスクのメール送信機能は使わずに、Pythonから直接送信するように変更します。

Python2.6で使用するので、 Uchida さんのコードを参考にさせていただきました。

参考のための補足情報:

・デバック方法
smtp = smtplib.SMTP(c[‘host’], c[‘port’])
の次の行に 「 smtp.set_debuglevel(True) 」を追加することで、メールサーバとの通信内容を確認できます。

・ユーザー名、パスワードの指定にはダブルクオーテーションでくくるのはNGです。ダブルクオーテーションもユーザー名、パスワードとして送信されます。

user = <アカウント名>
password = <パスワード>

このPython実装でのメールでは、charsetは次のように設定されます。

Content-Type: text/plain; charset="iso-2022-jp"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

以上の設定により 、メールの日本語文面を文字化けせずに参照することができます。 これをベースに、脆弱性情報の通知メールに送信機能を組み込みます。