iwathiの/var/log

生活と仕事の効率化が趣味。

2万円台のWiFi付きロボット掃除機DEEBOT N79と1週間過ごして

f:id:iwathi3:20171205075051j:plain

ロボット掃除機がやってきた

ついに長年欲しかったロボット掃除機を買いました。

7月に引っ越し、ちょっと部屋が広くなったのもあり、掃除するのが大変だと思ったというのと、単純に欲しかったため、というのが正直なところです。

買ったのはECOVACS社のDEEBOT N79というロボット掃除機です。

特徴

  • 2万円台と価格が安い
  • WiFi付き、スマホ操作対応
  • 外出先から掃除実行・状態確認可能
  • 充電ドックでの自動充電機能
  • 落下防止センサー
  • 定期実行スケジュール機能
  • 交換部品がAmazonで購入可能

2万円台のロボット掃除機でこれだけ機能を揃えてれば十分かと思います。

・・・ちゃんと動けばね!

動作チェック

ここからは基本動作のチェックに移って行きたいと思いますね。

確認したのは基本機能である下記4点です。

  • 落下防止センサー
  • スマホからの操作
  • 充電ドックへの帰還
  • スケジュールの設定

この辺で引っかかってるようだとかなり心配ですが、果たして・・・

落下防止センサー

f:id:iwathi3:20171206060756j:plain

裏面3箇所にLEDの様な物がついています。 おそらくはココが落下防止センサーとなっているのでしょう。

各2つのLEDが1セットでついているので、送信部と受光部での時間とかで地面との距離を測っていると思われます。

動いているところ(6倍速)

www.youtube.com

落下防止センサーがいい感じに作動してますね。

これなら落ちる心配はなさそう。

スマホからの操作

スマホの操作画面はこんな感じです。

f:id:iwathi3:20171206061242j:plain

  • 画面中央部がマニュアル操作用のボタン
  • 画面下部の自動掃除の設定が4つと充電ドックへの帰還用のボタン

試しにリモコンから手動操作して前進させてみます。

f:id:iwathi3:20171206062306j:plain

おぉ、当たり前なんだけど、本当に進んだ! ラジコンみたいだ!面白い!

充電ドックへの帰還

では先ほどに続いて、充電ドックへの帰還ボタンを押してみます。

ん?全然違う方に進み始めて、部屋を出て行きました。

f:id:iwathi3:20171206062610j:plain

どうやら、充電ドックへの帰還方法はとにかく前に前に進みまくって壁っぽいのを見つけたらそこに沿って動き、壁付近に設置されているはずの充電ドックを見つける、というもののようです。

この充電ドックへの帰還方法だと大きめの部屋(3LDK)を全部掃除させようとしている私としてはちゃんと戻れるのか不安です。うーん、、、本当に大丈夫かな?

スケジュールの設定

スマホから定期実行のスケジュールを設定しました。

平日は仕事で家にいないため11時になったら自動的に実行するように設定しました。

外出先から状態をみると、勝手に清掃中になっています。

f:id:iwathi3:20171206063138j:plain

おぉ!すごい、勝手に掃除してる!素晴らしい!

これは期待できる!

ということでここからは実際にスケジュール機能で動かした結果を書いていきます。

3日連続のエラー

11時に無事動き出したロボット掃除機を12時ごろ仕事の合間に外出先からロボット掃除機の様子を見てみると何かエラーが出ていました。

え、まじかよ。

しかも3日連続です。

では1〜3日目のエラー内容を振り返っていきます。

初日

f:id:iwathi3:20171206063732j:plain

え、なにそれどうなっちゃってんの?

もしかして、どこかの棚の下とかで引っかかっちゃたのかなーとか思い、帰宅をすると、玄関の目の前に普通にいました。

f:id:iwathi3:20171206064408j:plain

どうやら床に這わせていたケーブルにサイドのブラシが引っかかり動けなくなってしまっていたようです。

f:id:iwathi3:20171206064514j:plain

一応ケーブルは床にテープで固定していたのですが、その隙間を縫って引っかかってくれたみたいです。

まあこれはケーブルの敷設が悪かったため私のミスです。

そのあとちゃんとテープで固定しました。

ロボット掃除機!ごめんよ!

2日目

またエラーです。

f:id:iwathi3:20171206063801j:plain

今度はなんだ?センサーの汚れ?ちゃんと動かし始めて2日目だぞ?

家に帰るとソファの下で止まっていました。

f:id:iwathi3:20171206065109j:plain

ひっくり返してみると確かに角についているセンサーがホコリで汚れていました。 LEDのようなものが2つで1セットのような感じになっていたので、仕組みとしてはLEDで照射した光の反射光を受光部でうけることで床との距離を測っているのだと思います。

今回の原因としてはラグの中の目に見えないホコリが多すぎてセンサー部にホコリが付きすぎてしまったというような感じでしょうか。

ちょっと貧弱な気もしますが、ラグにホコリがそんなに溜まるって知らなかったですし、それだけちゃんと掃除してくれてるってことなので、良しとしましょう。

3日目

またまたエラーです。

f:id:iwathi3:20171206063747j:plain

この日のエラーはなかなかヘビーです。 何と言っても、故障ですからね。

3日目にしてタイヤが壊れて、外れて、もう使えなくなってる可能性もあるわけですよね。なにそれツライ。

でももう日々のことですし、家に帰ってからなにが原因なのか、どこで止まってるのか、を確認するのが楽しみになってきました。

今日はどこにいるかなー

f:id:iwathi3:20171206064935j:plain

いました。

いやいや、それ子供がよくやるやつ! 子供がかくれんぼするのにやって可愛いなーとか思うやつ!

裏側を見てみるとがっつりカーテンを巻き込んでました。そりゃあ、タイヤ動かなくなるよね。

カーテンを地面につく長さにしてた私が悪かったです。ごめんなさい。見栄えは悪いけどとりあえず洗濯バサミで裾上げしておきます。

なんか100均で裾上げのいいやつがあると友達が言っていたので後で買ってきます。

よし、とりあえず解決!

エラーからの解放

3日連続のエラーを経て、4〜6日目は無事エラーもなく稼働しているようで、家に帰ると充電ドックでちゃんと充電をしてくれています。

どうやら3日間を経て、ロボット掃除機のお気に召す状態にすることができたようです。

ちなみに3日目にロボット掃除機内のゴミを綺麗にしたにも関わらず、5日目の段階でみるとまた結構な量のゴミが入っていました。

やはり綺麗に見えても目に見えないレベルでゴミは溜まっているみたいです。

毎日掃除するのはめんどくさくて無理だけど、ロボット掃除機が勝手にしてくれるならいいかも。

ただ逆に言えば、ある程度短い頻度でゴミを捨ててあげないと、すぐにいっぱいになってしまうので気をつける必要がありそうです。

嬉しい誤算

使ってみて感じた点をあげていきます。

  • 結構な段差も乗り越えて掃除してくれる
  • 華麗そうに見えてもゴミはあることが分かった
  • 部屋を綺麗に保とうという意識になった
  • 鼻水・くしゃみが軽減した(気がする)

見えないレベルで舞っていたと思われる埃が無くなった影響かもしれませんが、鼻水・くしゃみが軽減した気がします。

ハウスダストのアレルギーなどの方は意外とロボット掃除機に部屋を毎日掃除させるというのもいいのかもしれません。

まとめ

  • ロボット掃除機は人を使って部屋を綺麗にする
  • けど毎日の掃除から人を解放してくれる
  • スケジュール機能・スマホ通知は必要(WiFi付き)
  • 部屋数が多い、部屋が大きい人へオススメ
  • 2万円でこれなら買って大満足!

今後の予定

これは少し難しいかもしれませんが、ウェイトレス的なことが出来たら面白いなーと思っています。

スマホからは、自動掃除モードの他に自分の操作で前進・回転等をすることができます。 この操作をどうにか抜き取って定型動作としてスクリプトを組めば、A点からB点へ移動し戻ってくるということが出来そうです。

そうすれば「OK, Google! キッチンにものを届けて」とかができるので、自分が動かなくても人にものを渡すことができるようになります。

ちなみにルンバだとROIってやつで色々制御できるそうなので最初から移動とか制御したければそちらの方が良さそうですね。

いやーこれはまた楽しそうな課題を見つけてしまった。

GoogleHome miniと会話してプチ人生ドラクエ化してみた

f:id:iwathi3:20171202004246j:plain

人生をドラクエ化したい

 人生ドラクエ化マニュアルという本をちょっと前に読みまして、人生とRPGの融合って考え方は面白いなーとか思ったりしてました。

 ドラクエをプレイしている時の様な感覚で人生に向き合い、自分の目標の達成のために経験値集めてレベルアップしていく、っていうのは理想的な考え方だと思いますし、そうでありたいなーとは思います。

 そういうあるべき姿に感化されたのもあって今回はGoogle Home miniを王様化して人生のプチドラクエ化をしてみました。

Google Home miniを王様化?

簡単に言えば

「自分」が「勇者」という役割を演じ、

Google Home mini」に「王様」を演じさせる

ことで実際に口頭でのロールプレイングを実現しようというものです。

ゲームの中でいうこんな場面ですね。

f:id:iwathi3:20171128062655j:plain


実際にロールプレイしてみた感じはこちら

www.youtube.com


会話での王様のセリフは下記の台詞集から参考にさせていただきました。

ドラクエ1村人会話集

王様との会話の流れに必要な要素

必要な要素は下記の2つです。

  1. 会話のキャッチボール
  2. 発言内容の理解

それぞれについて説明していきます。

1. 会話のキャッチボール

今回は王様との2パターンの大きな会話の流れに関して実装します。

1つ目パターンは「死んだ」場合です。

2つ目のパターンは上記動画の通り、「生還した」場合です。


適当な感じで図にまとめるとこんな感じです。

パターン1「死んだ」場合

 パターン1の「死んだ」場合に関しては王様が「死んでしまうとは なにごとだ! しかたのない やつじゃな。」と一方的に罵声を浴びせてくるだけなので、Google Home miniが「死んだ」という発言を聞き取ったら定型文を喋らせるだけです。

パターン2「生還した」場合

 一方でパターン2の「生還した」場合も基本的にはその繰り返しです。ですがパターン1と異なるのはユーザから同じ内容の返答(はいorいいえ)がくることです。

つまり、返答の内容だけを判断して次の質問を行うことができないということになります。


 下記はユーザの返答だけで次の王様の発言を決定する場合ですが、Noと言い続けるとループしてしまいバグってします。

つまり、王様が永遠にゲームをやめさせてくれないクソゲーになります。


 それを解決するためにどの質問をしたのか?を質問した際に王様は理解していなければなりません。

そこで使うのが状態遷移という考え方です。

monoist.atmarkit.co.jp

 例えば、TVのリモコンは電源のON/OFFをボタン一つで行うことが出来ます。

これは「TV OFF」「TV ON」といった状態という概念があるので、【電源ボタン】というイベントが一つでも、動作を切り替える(遷移)させることができます。

(丸で囲んだ「TV OFF」「TV ON」が状態、【電源ボタン】がイベント、矢印が状態の遷移)


それを踏まえた上で先ほどの全体図をみると、質問・選択肢としては下記の5つがあります。

  1. 会話の選択
  2. 冒険を記録する?
  3. 何番の冒険の書に記録する?
  4. このまま旅を続けるか? x 2
  5. ここまでの冒険消えるよ?

4は同じ質問ですが返答によって次の質問が変わるので合計で6つの状態があることが分かります。

この合計6つの状態によって会話を成立させていきましょう。

2. 発言内容の理解

 続けて「発言内容の理解」に関してです。

ここでは「はい、いいえ」以外の少し理解が必要な内容の理解に関して説明していきます。


今回の例だと「何番の書に記録する?」という質問は他と返答が異なります。

返答の流れとしては

  1. 王様が「何番の書に記録する?」と質問する
  2. ユーザーが「1番の書」と返答する
  3. 王様が「1番の書に記録したぞ」と発言する


 この際、冒険の書が1〜3番までしかないと、4や5と言われても記録できません。 そのためユーザの「●番の書」という発言から●の部分の数字を理解してそれが1〜3なのかを判断をしてあげなくてはいけません。

 ここで、下手したら形態素解析とかって技術が必要になってきそうですが、その辺りはGoogleさんの力を借りて解決します。


ということで、上記を実装する方法であるGoogle DialogFlowを使っていきます。

Action on Google と DialogFlowのセットアップ

この会話をAction on Google と DialogFlow(API.AI)を使う準備をしなければなりません。

開発の準備に関しては下記リンク辺りが参考になるかと思います。

qiita.com

 上記の設定をすることでGoogle Home miniとGoogle Assistantの連携までは完了するはずです。ここまで出来た方はなんとなくGoogle Home miniに自分の言ったことを反応させることができるということはお分かりの状態かと思います。

 では次からは実際にGoogle DialogFlowの説明に移っていきます。

DialogFlow

f:id:iwathi3:20171201225423j:plain

Action on Google のDialogFlowを使用することで会話のキャッチボールをすることができます。

DialogFlowでは下記の機能を使って実装します。

  1. Contextsによる状態遷移の設定
  2. User saysによるユーザ発言の判断条件の設定
  3. Entriesによるユーザー発言の解析・抽出
  4. Text responseによる次の王様の発言の指定


f:id:iwathi3:20171201234702j:plain

会話のキャッチボール

また、質問のための状態設定の例を下記の手順で設定していきます。

  1. Default Welcome Intentへ初期の状態と発言を設定
  2. 「生還した」Intentへ状態と発言の設定

1. Default Welcome Intentで初期状態を設定

 まず、Default Welcome Intentというのが初期にGoogle Home miniが読み上げる内容になるのでそこに状態と発言の設定をします。


やりたいのは「前の質問についての回答かどうか」という判断です。

そのためにContextで状態を取り扱います。

Contextsの「Add output context」に質問用の状態を設定します。

そしてText responseに質問内容・選択肢を入力します。

f:id:iwathi3:20171201235159j:plain

2. 「生還した」Intentへ状態と発言の設定

 続けて行うのは1でした質問に対する返答によって、更に次の質問をするということです。


1で設定した現在の状態をAdd input contextに入力します。

することで、1の質問と今回の返答が紐づく様になり、User saysに「生還した」と入力すると 【1の質問に対する回答が「生還した」だったら】という意味になります。

そして、次の質問をする際には、1と同じようにAdd output contextへ今回の質問用の状態を設定し、Text responseへ質問の内容を記入します。


ここで、現在の状態は不要になるので、頭の数字を0に変更することで削除を行います。

f:id:iwathi3:20171201235617j:plain


基本的にはこの1と2の繰り返しで会話を成立させることができるようになります。 この様にIntent同士のContextsに関係性を持たせることによって会話を実装することができます。

発言内容の理解

まず冒険の書の番号に使うEntitiesを作成しましょう。 ここでは1〜3を使うので1→1のような対応表のように作成を行います。

f:id:iwathi3:20171202002144j:plain

続いて、Actionの部分でENTITYを設定します。

するとUser saysに入力したものが黄色くなり、その部分の意味を変数とヒモつけて抽出してくれるようになります。

最後にText responseでその変数を使った王様の発言を作成すると、ユーザの返答内容の抽出と引用は完了です。

f:id:iwathi3:20171202002001j:plain

こうすることでどの冒険の書に保存するかを聞き取り、保存するようなことができるようになります。


だいたいこの様な流れを繰り返していくことで今回の王様との会話の流れを実装することができます。

ぜひやってみてください。


ちなみに全体で作成した全てのIntentは下記の様な感じです。

f:id:iwathi3:20171202003934j:plain

まとめ

  • あなたは AIスピーカとの会話を 実装できるようになった
  • あなたは Google Home miniを王様化することが できるようになった
  • あなたは 実際にドラクエでの会話の様なことが できるようになった

今後の予定

 今回はとりあえず経験値の値とかは固定値で設定しましたが、自分のその日のTodoの消化具合によって経験値が蓄積されてレベルアップしていくとかTodo消化できなかったら、「死んでしまうとはなさけない」ってなったりする、みたいなのも作れたらいいなーと思っています。

 人生をドラクエ化をすることで、死んだら終わりのクソゲーからスリル満点でワクワクの人生に昇華させたいところです。

Amazonのダンボールを活用!Tシャツ収納のtatemuを自作する

f:id:iwathi3:20171112012811j:plain

Amazonダンボール x Tシャツ

 Amazonダンボール、持て余してませんか?

Amazonって便利でめっちゃ利用しちゃうんですよね。ただ、発送に使われるダンボールの捨てる方法って結構面倒くさくて、ダンボールがどんどん溜まってしまいます。

もっと簡素な発送方法でいいのに!Amazonさん過剰包装だよ!と思った人も多いハズ。

私もその1人で、他の用途に使えない面倒なものがどんどん家の片隅に重なっていく。。。と思っていました。


 そんなAmazonダンボールを活用して作ったものがこちらです。

f:id:iwathi3:20171111151105j:plain

 これはTシャツなどを縦に収納できるようにし本棚等に並べられる様にするもので、既製品としては「tatemu」という商品があります。今回作ったものはそれの互換品にあたります。

【TATEMU-たてむ-】 | バンドー株式会社

tatemuに関しては過去に紹介しているのでそちらを参照していただければと思います。

iwathi3.hatenablog.com

 「tatemu」の素材は硬めのダンボール(?)に切れ目を入れ・穴を空けるといった加工がされているだけのとても簡素な作りになっています。

そのため前々から自作出来そうだと思い何度か挑戦をしていました。その試行錯誤の結果、加工が簡単で材料も手に入りやすいAmazonダンボールが丁度良いと分かったため作り方を紹介します。

使うもの

f:id:iwathi3:20171111141007j:plain

f:id:iwathi3:20171111135852j:plain

手順

  1. Amazonダンボールを解体
  2. tatemuとダンボールを合わせる
  3. ペンでカットする場所をマーキング
  4. カッターでカッティング
  5. 折り目をつける
  6. 完成

1. Amazonダンボールを解体

まずは箱状になっているダンボールを解体していきます。

赤丸で囲った部分が接着剤でくっつけてあるのでそこをカッターなどで切り離してあげれば簡単に解体できます。

f:id:iwathi3:20171111135911p:plain

2. tatemuとダンボールを合わせる

1で解体したものとtatemuを合わせていきます。

この様に角を合わせるようにして固定します。

f:id:iwathi3:20171111135929p:plain

f:id:iwathi3:20171111140009p:plain

f:id:iwathi3:20171111140027p:plain

実はAmazonの底のサイズとtatemuのサイズが似ているため加工の手間が最小限に抑えることができます。

そのためここでしっかりと固定してあげる必要があります。

3. ペンでカットする場所をマーキング

続いて固定したtatemuの外側に沿ってダンボールにペンでマーキングをしていきます。

f:id:iwathi3:20171111140044p:plain

並行四辺形の部分は別々に

外側のマーキングが終わったら続いて中央部(折り目になるの部分)にもマーキングをしていきます。

この部分です。

f:id:iwathi3:20171111140106p:plain

ここはダンボールの方が少し大きいので固定したままだと正しくマーキングができません。

そのため下記の画像の様に順番にマーキングをしていきます。

f:id:iwathi3:20171111140122p:plain

  1. 左側の並行四辺形の内側をマーキングする
  2. 右側の平行四辺形の内側、上部分のみ印をつけておく
  3. ダンボールとtatemuの固定を外す
  4. 印に合わせて右側の平行四辺形の内側にマーキングする
  5. 左右の並行四辺形の上辺に合わせて横線をマーキングする

左右の平行四辺形の位置が変わってしまうとバランスが悪くなってしまうので、強調して書いた2の部分固定を外す前に上辺側に印をつける)を忘れないようにしてください。

4. カッターでカッティング

マーキングし終わったらその箇所をカッティングしていきます。

カッターを使う際はカッティングマットを使うことを忘れずに。

カットする箇所は下記の赤丸の部分

f:id:iwathi3:20171111140138j:plain

5. 折り目をつける

続いて折り目を付けていきます。

折り目をつける場所はこちら

f:id:iwathi3:20171111145021p:plain

f:id:iwathi3:20171111145055j:plain

折り目の付け方

f:id:iwathi3:20171111140239j:plain

  1. カッティングマットを折り目の箇所に当てる
  2. 根本から折っていく

この際に折り目が緩いとしっかりと折りたためなくなってしまいます。

そのため結構ガッツリと折り目をつけておくことをおすすめします。

f:id:iwathi3:20171111140252p:plain

6. 完成

完成した物がこちらです。

f:id:iwathi3:20171111143832j:plain

これがこの様に折りたたみTシャツ収納ができます。

まとめ

  • 家にあるAmazonダンボーを活用
  • ペンとカッターだけで簡単自作
  • 自作tatemuでTシャツをレコードの様にコレクション

 今回の様にAmazonダンボールでtatemuは自作することができます。 なのでtatemuの6枚セットを買って、Amazonでの注文のたびに発送に使われたAmazonダンボールを使って自作するのがコスパ的にはいいかもしれません。

Tattaという類似商品もあるみたいです。

忙しい人のための「デスクトップ焚き火」導入方法【mac】【動く壁紙】

f:id:iwathi3:20171102230543p:plain:w450

焚き火をデスクトップへ導入

実際に導入した様子 (※最大画質が4Kなので注意)

youtu.be


下記の方におすすめ

  • パソコンに向かいっぱなしで気が滅入る。
  • 帰宅後はただただボーっとしたい。
  • なんなら仕事中もボーっとしたい。
  • キャンプに行きたいけど時間が無い。
  • 都会よりも実は自然に触れていたい。
  • 火を見ると落ち着く。



「火を見ると落ち着く」という人以外に疑問に思うのは恐らく


なぜ「焚き火」なのか?


ということだと思う。



youtubeにこんな人気の動画がある。

www.youtube.com


 ひたすら暖炉の薪が燃え続けるという動画だが、再生回数は750万回弱だ。

薪が燃え、火がついている様子というのは人の心を癒やす効果があるらしい。

騙されたと思って一度ボーっと見てみて欲しい。


 だが、忙しい社会人は「ボーっとする時間もとれない」のが実際のところだろう。

では普段見るところに「焚き火」を導入するというアプローチはどうだろう。


 デスク作業の方は普段見ることが多いのはデスクトップだろう。

そこでデスクトップに「動く壁紙」として「焚き火」を実装する。

「動く壁紙」の実装方法

 少し前に「動く初音ミクの壁紙」が話題になっていることがあった。


 実装方法はwindowsの場合、「Wallpaper Engine」というソフトで実現しており、macの場合は「GeekTool」というソフトを使って実現している。

「GeekTool」に関しては以前使っていたという人もいるかもしれない。


詳しくはこちらの方のqiitaに詳しく書かれている。

qiita.com

(※ 全体的に参考にさせていただきました。)


実装方法は一言で言うと


「GeekToolを使ってYoutubeの動画をデスクトップに表示」


という方法だ。

今回この「動く壁紙」の実装方法を使わせていただくことにした。


「動く焚き火」の実装

環境・設定する動画・手順は以下の通り。


環境


設定する動画

www.youtube.com


手順

  1. GeekToolをインストール
  2. githubからzipファイル(or リポジトリ)をダウンロード
  3. 好きな場所で展開
  4. GeekToolでindex.htmlを指定
  5. GeekToolを壁紙として調整


1.GeekToolをインストール

まずはGeekToolをダウンロード


リンク先のDownloadをクリックしダウンロード

f:id:iwathi3:20171030070119p:plain:w450


2.githubからファイルをダウンロード

続いてGeekToolで使用するファイルをダウンロードする。


下記のURLからgithubでフォークしたものを使用する

github.com


下記の様にダウンロードを行う。

f:id:iwathi3:20171101060722p:plain:w450

変更点は音声をミュートにした点だ。壁紙として使う場合音声はない方がいいだろう。



 壁紙とはいえ音を出し続けさせることも可能だ。

フォーク元のファイルを使用すれば焚き火のパチパチという音や鳥のさえずり等も味わえるため、そこは好みで好きな方を使用して欲しい。

GitHub - natmark/wp_engine4geektool: repeating youtube video for geektool to realize wallpaper engine on mac


※ その際は動画IDの変更が必要


3.好きな場所で展開

 githubからダウンロードしたZipファイルを好きな場所へ展開する。

GeekToolでファイルを保存した場所を参照し続けるため場所を変える場合には逐次変更が必要となる。


ここでは下記保管場所に置いたものとする

/Users/【ユーザ名】/Downloads/wp_engine4geektool-master


 フォルダ内にindex.htmlというHTMLファイルがあるのでそれを使用する。

保存場所はCAMPFIREというフォルダの中だ。

f:id:iwathi3:20171101063819p:plain:w450


4.GeekToolからindex.htmlを指定

まずはGeekToolを起動する。


GeekToolを起動するとこの様なウィンドウが現れる

f:id:iwathi3:20171030071742p:plain:w450

webのアイコンをデスクトップへドラッグ&ドロップ

f:id:iwathi3:20171030071817p:plain:w450

すると白い枠が出現するので白い枠内をクリックする。



続いて、index.htmlを指定していく。

横に出現したPropertiesというウィンドウ内の入力欄にindex.htmlの場所を入力する。


/Users/【ユーザ名】/Downloads/wp_engine4geektool-master/CAMPFIRE/index.html


f:id:iwathi3:20171030071850p:plain:w450


すると白い枠内に焚き火が表示される。

f:id:iwathi3:20171030071912p:plain:w450


これでGeekToolへの動画の設定は完了だ。


5.GeekToolの枠を壁紙として調整する

 このままではデスクトップの壁紙として使えないのでサイズ調整をする。


白い枠内の左下にあるアイコンをドラッグ&ドロップすることでサイズ調整ができる。 f:id:iwathi3:20171030072924p:plain:w450


 この様にデスクトップのサイズに白い枠を調整していく。 また白い枠内をドラッグ&ドロップすることで白い枠自体の移動ができる 。


 ディスプレイよりも大きく設定する必要があるため、一度白い枠を左上へ移動させ右下を掴んでディスプレイの右下へ合わせる。

f:id:iwathi3:20171031070045j:plain:w450

最後にGeekToolを閉じれば設定は終了だ。


焚き火 x ミュージック

ここで更に「焚き火」のお供に音楽を提案したい。



私はSpotifyを使っているのでその中のプレイリストを紹介する。

iwathi3.hatenablog.com

Spotifyの「Campfire」で検索した結果表示されたプレイリストをのせておく。



やはり「Campfire」のプレイリストだけあって焚き火の動画と合う。

ぜひプレイリストを再生させながら焚き火を眺めてほしい。



まとめ

  • 疲れたあなたに「焚き火」を提案
  • geektoolを使い簡単に動く壁紙を実現
  • 焚き火のお供に音楽もどうぞ


あとがき

デスクトップやyoutubeで見るのも良いがやはり本物が一番だ。

仙台やキャンプ場の近くなどだとコンビニでも薪を売っている。



ちょっと焚き火だけをしに郊外へでも行ってこようかな。

Withings + IFTTT + ThingSpeakで全自動体重グラフ化

f:id:iwathi3:20171019122631j:plain

全自動で周知ダイエット

しばらく前からダイエットをしている。 「周知ダイエット」だ。

体重計に乗ると勝手に体重計からTwitterに今の体重がつぶやかれる。

更にThingSpeakにもデータが蓄積されグラフが作成される。


実際つぶやかれるものがこの様な感じだ。


また同時に体重変化の推移に関してもグラフ化し公開している。


グラフ化されたものがこちら↓↓。

thingspeak.com


ちなみにこのために自前のサーバやVPS等を用意する必要はない。

今回はIFTTTを使ったグラフ化のやり方を説明していく。


準備


始めに実現に向けた前提条件と必要なものについて述べる。

前提条件

  • サーバレス
  • WiFi環境有り
  • ThingSpeakのAPIを使用可能
  • Withings WS-50のセットアップ済み

IFTTTとThingSpeakの機能を使うのでサーバは不要。


Withingsのセットアップに関しては他のブログなどを参照。

www.chaffflare.jp


ThingSpeakのセットアップに関してはこちらを参照。

iwathi3.hatenablog.com


必要なもの

  • ThingSpeak API
  • IFTTT アカウント
  • Withings WS-50(現 WBS05)

勝手にTwitterにつぶやくために必要な体重計WS-50(WBS05)はこちら

(WithingsがNOKIAに買収されたことにより商品名が変わっている)

ASCII.jp:さよならWithings、ノキアが日本のコンシューマ市場に再参入し6月21日より完全移行


また上記の廉価モデルが出ている。

これは体脂肪等の体組成の計測ができないモデルとはなっている。

5,609円とかなり安くなっているため楽に体重の計測をしたい人におすすめだ。

(2017/10/18 現在)


動作の概要

体重計に乗ってからグラフ化されるまでの流れはこの様になる。

f:id:iwathi3:20171019135742p:plain

設定が必要なのが③・④・⑥の部分だ。

詳しくはセットアップの部分で記述する。

セットアップ

③・④はIFTTTの機能を使いWithings←→ThingSpeakの連携を行う。

「体重測定」をトリガーに設定し、「データ送信」をアクションに設定。


⑥はThingSpeakでデータを格納しグラフ化する器を作る。


構築の手順としてはThingSpeakのAPIキーが必要となるため

ThingSpeakを始めに設定しIFTTTで設定を行う。


大まかなセットアップの手順は下記の通りだ。

  1. ThingSpeakでグラフの器を作成
  2. IFTTTにWithingsとThingSpeak連携させるアプレットを作成

それでは具体的な設定方法を記述していく。


ThingSpeakの設定

 ThingSpeakはチャネルという単位でデータを管理している。 そのため今回のグラフ化に使うチャネルの作成を始めに行う。

Channelの作成

右上のハンバーガーメニューをクリックし、ChannelsからMy Channelsを選択。

f:id:iwathi3:20171019205858p:plain


My Channelsには作成されたChannelが表示される。

今回は新しくChannelを作成するので、New Channelsを押してChannelを作成する。


f:id:iwathi3:20171019210135p:plain

Channelへグラフ(Field)を設定

次に表示されるのが作成するChannelの情報だ。


Name, Description, Field 1〜8等を記入していく。

NameがそのChannelの名前となり、Descriptionが文字通りのその説明。


f:id:iwathi3:20171019210201p:plain

ここではField 1〜4を分かりやすくField 1〜4と名付けている。

Fieldが1グラフを表すこととなる。つまりこの例では4つのグラフが作成されることになる。


実際にはこのField名を「weight」「Fat」等にするのが良いだろう。


f:id:iwathi3:20171019210256p:plain

全て記入が終わったらSave Channelを押す。


すると次の様な画面が表示される。

下の赤丸の様に「Field 1 Chart」というグラフの器が4つ作成されていることが確認できる。


f:id:iwathi3:20171019210315p:plain

これでグラフの作成は完了となる。


API Keyの確認

このChannelを使うためのAPI Keyの確認方法について説明する。


上に並んでいるメニューから「API Key」をクリック。

すると「Write API Key」というところにKeyが表示される。

このAPI Keyを使いThingSpeakへデータを受渡す。


そのためこのAPI Keyをコピーしておく。

f:id:iwathi3:20171019210335p:plain


これでグラフ化するための器の準備は完了だ。


IFTTTの設定

 IFTTTではアプレットという単位でサービス連携の管理をする。

またそのアプレットはトリガーとアクションから構成されている。


始めにアプレットの作成から行っていく。


アプレットの作成

IFTTTへログインをしたら右上のアカウント名をクリックしメニューを開く。

その「New Applet」を選択しアプレットを作成していく。


f:id:iwathi3:20171019210427p:plain

ThingSpeakへデータを送る条件の設定(トリガー)

「this」を押しトリガーを設定していく。

f:id:iwathi3:20171019210445p:plain



次画面ではサービスを選択する。

だが多すぎて探すのが大変なため、検索欄に「Withings」と入力しサービスを絞る。

Withingsのパネルをクリックして選択する。

f:id:iwathi3:20171019210530p:plain



続いてトリガーを設定する。


トリガーに設定するのはそのサービスでの「イベント」だ。

ここでは「Withingsで体重測定を行う」というイベントをトリガーにしたい。

そのため「Body Scale - New Measurement」を選択する。


f:id:iwathi3:20171019210548p:plain


ちなみにWithingsは個人を判別するため、このIFTTTに設定したものは自分が乗ったときにしかグラフ化されない。

そのため家族でこの体重計を共有しても適正に体重の管理をすることができる。


ThingSpeakへ送るデータの設定(アクション)

続いてはアクションの設定をしていく。

これはトリガーが発生した際に「何をするのか」を設定する。


thatを選択する。

f:id:iwathi3:20171019210602p:plain

同じくサービスを選択する。

ここではPOSTリクエストを使用したい。


「webhook」を選択すればPOSTリクエストが可能であるため

先ほどと同様に検索欄に「web」と入力しパネルを選択する。

f:id:iwathi3:20171019210708p:plain

アクションは1つしかない。

「Make a web request」を選択。


f:id:iwathi3:20171019210724p:plain

Web Requestのパラメータ設定

ここでは選択・入力する項目が4つある。

  • URL
  • Method
  • Content Type
  • Body

これはHTTPリクエストをどんな形でどんな風に送信するかの設定だ。

Body以外はThingSpeakのWrite APIを使う場合には共通の内容となる。


そのためBody以外はこの様に記載していく。

f:id:iwathi3:20171019210815p:plain




ここからBodyを記入していく。

記入例としては下の様になる。

f:id:iwathi3:20171019210834p:plain

BodyにはThingSpeakで設定した項目とWithingsのデータ名を入力する。

入力内容は以下の様なフォーマットになる。


key=[①ThingSpeakのAPI key]&[②設定したField名]=[③Withingsデータ名]


上記の様に記入する項目は大きく3つ

  1. 黒塗りされた箇所に先ほどコピーしたThingSpeakで生成されたAPI keyをペースト
  2. 赤下線にThingSpeakで設定したField名(field1 ~ field4)
  3. オレンジ下線にWithingsのデータ(WeightKg, LeanMassKg, FatMassKg, FatPercent)


この様にしてThingSpeakのfield名とWithingsのデータ名を紐づける。

そして紐付けたデータをAPI keyを使い送信する。

そうするとAPI keyと対応するchannelへThingSpeakへデータが送られるという仕組みだ。


全ての記入が終わったら「Create action」ボタンを押す。

f:id:iwathi3:20171019210901p:plain

最後に確認をし、「Finish」を押せば完成だ。

f:id:iwathi3:20171019210915p:plain

作成したアプレットはこのオンオフボタンでいつでも有効・無効を切り替えられる。



あとがき

この様にIFTTTとThingSpeakを使うことでサーバレスでグラフ化が可能性となった。

今回使用したIFTTTのwebhookは他のAPIを使う時に便利なため他のAPIとの連携も試していこうと思う。

※なお、周知ダイエットに関しては効果がないことは身をもって経験済みである。  2017/10/20まででの体重減に関してはまた後日記載予定。

H29応用情報技術者試験(秋季)の午前の予想解答

H29 応用情報処理試験(秋季)の自己採点と予想解答

 

※追記 10/15 23:38 IPA公式で午前の解答が出ました。

IPA 独立行政法人 情報処理推進機構:問題冊子・配点割合・解答例・採点講評(2017、平成29年)

 

自己採点の結果、56問正答で70点だった。

 

マークシートを塗り間違えて無ければ受かってるはずなので

後は午後の結果を祈るのみ。

 

合格発表が12/20って先過ぎる。。。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

 応用情報技術者試験の採点をさっそくしてみた。

午後に関しては記述なので採点が難しいため午前のみ。 

 

 結果としては自己採点だと答えが分からない問題もあり47問正答で58.75点。

配点具合が分からないが、受かっていてもギリギリといったところ。

 

  予想正答 自己解答 判定
問1
問2
問3  
問4
問5
問6
問7
問8
問9
問10
問11
問12
問13
問14
問15
問16
問17
問18
問19
問20
問21
問22
問23
問24 ア?、イ?
問25
問26
問27
問28  
問29
問30
問31
問32
問33
問34
問35  
問36  
問37
問38
問39
問40
問41
問42
問43
問44  
問45
問46
問47
問48  
問49
問50
問51
問52
問53  
問54  
問55
問56
問57
問58  
問59  
問60
問61
問62
問63
問64  
問65
問66
問67
問68
問69
問70
問71
問72
問73 エ?
問74
問75  
問76
問77
問78
問79
問80

 

間違っているところ・また正答がお分かりの方は指摘・コメントしていただけると助かります。

 

もし午前が受かっていれば午後は比較的イケている気がするが、はたして・・・

 

 

やらなきゃ損の「無現金化」!簡単でお得に家計簿をつける

f:id:iwathi3:20171001234711p:plain

家計簿アプリの活用

 家計簿アプリを活用している人はどれだけいるだろうか。

 私は3年ほど前から家計簿アプリを断続的に使っており、挫折を繰り返してきた。

  • Zaim
  • Dr.Wallet
  • マネーフォワード ←今ここ

 この様な家計簿アプリの使用遍歴でやっと「これなら続けられる」と思えたものが マネーフォワードである。


家計簿アプリ:マネーフォワード

  • 自動連携できる銀行・クレジットカードが多い。
    • Dr.Walletでは連携できない銀行も可能
  • ポイント・証券会社・仮想通貨・年金関連との連携もある。
    • 年金の運用・株価の評価額も定期的に最新情報へ更新
  • 総資産の「見える化が正確にできる。
    • 結果として総資産全てを管理することが可能

 連携されているクレジットカード・口座で使用した総額(引き落とし額)の管理でなく、内容に関しても家計簿の各品目毎に管理できるためとても便利だ。

それでもまだ面倒くさい

 と、色々メリットに関して述べてきたが、まだ面倒くさい


 それは手動での管理が必要になるからだ。

 マネーフォワードでも現金を使った場合はその場で金額を入力するか、レシートをとっておき家に帰ったらそれを入力する。それを忘れてしまえば、結局は完璧に管理することはできない。


 また管理を難しくするのが夫婦の場合だ。世帯としての家計簿を管理する場合にはお財布が2つ存在しそれぞれが支出するのを管理しなくてはいけない。それぞれがすぐにマネーフォワードに反映させれば良いがなかなかそうもいかない。結果、どちらかのレシートが大量に残り、ひたすら手入力をする必要があるようになってしまう。


 やはり、手動での管理が必要な限り、完璧な管理はかなり面倒くさい。根気と時間の余裕がある方なら可能かもしれないが私には無理だ

手動管理はやめて「無現金化」しよう

 ということで手動管理はもうやめよう


 手動での管理が必要な理由は主に「現金を使う」からだ。


 生活の中で現金を使う機会はどれくらいあるか。スーパーでの買い物、日々のコンビニでの支払い、定食屋での支払い。


 そういった中で現金以外(プリペイド・クレジットカード)で支払いが可能なところではその方法をとることにする。このように決済方法を「無現金化」することで、全て勝手にマネーフォワードに反映されるため手動で管理する必要が無くなる。


 これならば誰でも続けられるのではないだろうか。

しかも現金よりもお得

 しかもプリペイド・クレジットカードを使った決済方法は現金での決済方法よりもお得となる。ポイント還元やキャッシュバックがつくからだ。


 現金での支払いと比べ、0.5~2%ほどお得になる。詳しい内容は後述する。

お得で簡単に家計簿ができる

 「無現金化」することで

   家計簿は自動で作成され、しかも現金よりもお得になる。


 この2点のメリットがあるのに「無現金化」をしない理由はあるだろうか?

無現金化の優先順位

 私がお得で楽に家計簿をつけている「無現金化ルール」は下記の優先順位だ。

  1. LINE Pay
  2. 電子マネー(私の場合はPASMO
  3. クレジットカード
  4. 現金

 ※ 夫婦の場合には夫婦共に共通してこのルールで行うこととする。そうすることで世帯としての家計簿を作成することができる。

お得で楽が第一優先

  1. 基本的に可能であればLINE Payで支払い。
  2. 使えないところでは電子マネーかクレジットカードで支払い。
    • ここに関しては電子マネーの方が楽なので電子マネーを使うことが多い。ここは楽さお得さかの好みで良いと思う。
  3. 最後の手段として現金で支払い。

①LINE Payでお得に楽する

f:id:iwathi3:20171001233559p:plain:w300

  • お得 ☆☆☆

    • 利用するだけで支払額の2%がポイント還元される。(1pt=1円でチャージ可能)
  • 楽  ☆☆

    • コンビニ・スーパーならサイン無しで電子マネーより会計が早い。会計簿にも即時反映される。

    • プリペイドだがオートチャージにしておけばお金をチャージする必要がない。

    • 友達との飲み会の割り勘もLINE Payなら一瞬で1円単位の割り勘ができる。  

    • カードの発行が楽、早く手元に届く。

      1. コンビニでカードを購入してカード番号を登録

      2. LINEからカードの発行依頼を出す。(1~2週間で到着)

      ※ なお、オートチャージなどの設定には本人確認が必要。

  • 課題 -★

    • JCBカードは意外と使えないところも多い。

    • サインが必要な店舗での小額決済は気が引ける。(100円の支払いにカードを使うの?的な)  

    • カードをわざわざ出すというめんどくささ。

電子マネーオートチャージを活用

f:id:iwathi3:20171001233622p:plain

  • お得 ☆

    • 通勤・通学定期の支払い・オートチャージ時に0.5~1%程度のポイント還元。(1pt=1円でチャージ可能)
    • PASMOSUICA等)
  • 楽  ☆☆☆

    • Apple Pay・Apple Watch等を活用すればスマホだけでの支払いも可能。

    • 自販機の支払いでの現金以外の唯一の決裁方法。便利。

  • 課題 -★★

    • 家計簿に自動反映されない。手動での投入になるのが面倒。(モバイルSuicaであれば自動連携可)

      • マネーフォワードでレシート読み込みで手入力は省ける。会計後すぐ読み込んで捨てているが、やっぱり面倒。
    • 電子マネー対応のレジ・自販機でないと使用不可。

    • オートチャージの申請から適用までに2ヶ月近くかかる。(最初の一度だけ)

③高額の支払いはクレジットカード

f:id:iwathi3:20171001233739p:plain:w400


  • 楽  ☆☆

    • 高額の支払いをする際に気兼ねなく使用可能。(電子マネーやLINE Payは残額以上の利用不可)
  • 課題 -★

    • 家計簿への反映に少し時間がかかる。

    • お得さのためにカードを使い分けるのはかなり面倒。手持ちのカードも増える。

    • LINE Pay・電子マネーと違い一応「負債」扱いになる(口座の残高不足などがあると金融機関からの「信用を失う」)

      • ※ 最悪、ローンなどが組めなくなる可能性があることも知っておくべき

      • クレジットカードによってポイント(1pt)=現金(1円)でないものも多いので注意

④現金支払

  • お得 -★

    • 上記3つの方法と比べると「損」としかいえない。
  • 楽  ☆

    • 手元の現金が目で見てわかる。

    • 現金のみ支払い可能のものを支払うことができる。(棒読み)

  • 課題 -★★★

    • 家計簿に自動反映されない。面倒。

    • 当然だがポイントも何も付かない。損。

    • 小銭が増えるとお財布が重くなる。面倒。

    • カツアゲされる可能性がある。損。

    • ハイパーインフレが起きると持ち歩けない。損。

「無前金化」のメリット

1円単位で正確な家計簿

 1円単位で正確な家計簿ができる。ほぼ全てを無現金化することで全てをデータで流通させることが可能。そのため家計簿から計上漏れすることがなくなる。

お小遣い管理がより正確に

 月々に渡された現金をお小遣いとして扱い、その中でやりくりしている人も多いのではないだろうか。少なくとも私はそうだった。


 無現金化ならその必要はもうない。現金を渡すという行為自体が不要だからだ。支払いのすべてがLINE Pay・電子マネー・クレジットカードであれば現金を渡す必要はもう無い。


 支払った物の詳細が全て自動で家計簿にのるのでお小遣いの管理は簡単だ。支払ったものに関して種別を変更してあげればよい。(※マネーフォワードだとデフォルトで自動反映してくれる)

  • 自分のための支出は「お小遣い」種別を作ってそこへ自分で振り分ける。
    • その月々の合計金額がお小遣い額を超えなければお小遣いの範囲内であると判定すればいい。
  • 電車代やお昼代は生活の経費として交通費食費へ振り分ける。
    • この様な支出はお小遣いにこの項目は含まれていない(、、、と考えている)
  • 飲み会で支払ったお金は交際費へと振り分ける。
    • お酒を飲むのが趣味の人はお小遣いで計上しても良いが

 

 この様に管理すれば本当の意味で「お小遣い」を管理することができる。使い過ぎも「見える化」可能だ。

デメリット

突発的な現金の集金に弱い

 突発的な飲み会時に「現金の手持ちが無い」状態になる可能性がある。無現金化を始めた当初、数百円しか財布に入っていないのを忘れており、突然誘われた飲み会に参加したところで会計時の割り勘で冷や汗をかいたことがある。

情報セキュリティ

 自分の重要な情報であるお金に関する情報を全てマネーフォワードに集約することになるため、もしもの情報漏えいの際に一気に複数の金融機関の対応(被害の有無やパスワードの変更等)を迫られることになる。

 今のところそういった事件は起きていないようだが情報を第三者に預けるということはそういったリスクもあるということを覚えて置く必要がありそうだ。

まとめ

 今回は「無現金化」で楽してお得に家計簿をつける方法を提案した。


「無現金化」によるメリットしては

  • 全支出で2~0.5%のポイント・キャッシュバックで得する
  • 家計簿管理の手入力をゼロにして楽に家計簿管理できる
  • お小遣い等の現金管理の煩わしさから卒業できる


 ぜひ現金と面倒な家計簿管理から開放されお得で楽に生活をして欲しい。