読者です 読者をやめる 読者になる 読者になる

Mana Blog Next

IT系母ちゃんがArduinoとRaspberry Piで電子工作を始めたよ!保活なう&写真のブログ

スポンサーリンク

Wunderlistのコマンドラインツール"wunderline"をラズパイに入れてIoTを実現させてみた

母ちゃんRaspberry Pi

目次

Wunderlist プロを契約しました

自分用ToDoとして使っているWunderlistをフリープランからプロに変更しました。
理由は、添付ファイルの容量無制限というところに惹かれました。

Wunderlistプロは、共有リストのメンバーに無制限にタスクを割り当て、どんなファイルでも制限なく添付、全ての背景画像の使用、サブタスクの無制限追加が可能になります。

f:id:mana-cat:20151031122242p:plain
これで、月額500円、または年額5000円だからかなり安い!
年間契約したら月あたり417円でファイル容量無制限でファイルを添付できるし、スタバ1回分の料金でいろいろ遊べそうです。

実はWunderlistにはAPIがあった

これまで知らなかった。Wunderlistにはwunderlineというコマンドラインツールがありました。
Wunderlistフリープランを使っている人でも、wunderlineは使用できます。

人じゃなくて、モノ自らタスクを発行する仕組み作り

例えば、wunderlineを使って、以下のようなことがwunderlistにタスクとして登録できそうです。

  • 様々なアラート
    • マシンのアラート
    • 監視アラート
  • センサデータ
    • 気温湿度などの環境情報
    • 心拍数などの生体情報
  • 今日のおすすめ
    • 献立のリコメンド
    • 今日の運勢
  • などなど

「人感センサーとwunderlineを連携させて、誰かが近付いたらアラートをタスクとして登録する」等、活用方法は無限大!
これはとっても楽しそう!
試しに身近なLinux端末に入れてみることにします。
そう、あなたのお家にあるLinuxマシン、仮想マシン、ラズパイなんでもOK。

スポンサーリンク


wunderlineのインストール手順

では早速、Raspberry Piにwunderlineを入れて、IoTっぽい使い方をしてみましょう。
使用するOSは、昨日インストールしたばかりのRaspbian(ラズビアン)です。

wunderline をラズパイで動かすにはNode.jsが必要

wunderlineを動作させるためには比較的新しいNode.jsが必要になります。(ここ重要)
何度か失敗して、以下の手順でインストールしたら成功しました。

# wget http://node-arm.herokuapp.com/node_latest_armhf.deb
# dpkg -i node_latest_armhf.deb
# ln -s /opt/node/bin/node /usr/bin/node
# ln -s /opt/node/bin/npm /usr/bin/npm
$ node -v
v4.2.1
$ npm -v
2.14.7

npmのバージョンが古いとwunderlineが動かないので、npmでnpm自身のバージョンをアップデートします。

$ sudo npm install -g npm
$ npm -v
3.3.10

そんなことできるのね・・・(;^ω^)
最後にwunderlineをインストールします。

# npm install -g wunderline

wunderline --helpでコマンド一覧を見てみましょう。

$ wunderline --help

  Usage: wunderline [options] [command]


  Commands:

    auth            Authenticate Wunderline
    add [task]      Add a task to your inbox
    inbox           View your inbox
    starred         View starred tasks
    today           View tasks due today
    week            View tasks due this week
    all             View all of your tasks
    overdue         View overdue tasks
    search [query]  Search your tasks
    list [query]    Search your lists
    open            Open Wunderlist
    export          Export your data
    whoami          Display effective user
    gc              Delete completed tasks
    set-platform    Set your preferred application platform
    flush           Flush the application cache
    help [cmd]      display help for [cmd]

  Options:

    -h, --help     output usage information
    -V, --version  output the version number

色々出来そうなので心躍ります。

スポンサーリンク


wunderline の認証方法

次に認証をします。
以下のページで、CLIENT IDACCESS TOKENを取得します。
https://developer.wunderlist.com/apps/new
f:id:mana-cat:20151101162348p:plain
URLとCALL BACKのURLはとりあえず入れないといけないので、何か適当に入れます。
全て入力したらSAVEします。
f:id:mana-cat:20151101162200p:plain
次の画面で CREATE ACCESS TOKENボタンが出るのでポチッと押します。
f:id:mana-cat:20151101162125p:plain
取得したCLIENT IDACCESS TOKENを控えます。
wunderlineで認証します。

$ wunderline auth
Please create a Wunderlist Application before you proceed, you can do so over
here: https://developer.wunderlist.com/apps/new, once that is done please enter
your access token and client id below.
? CLIENT ID xxxxxxxxxxxxxxxxxxxx
? ACCESS TOKEN xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Thanks Manami, Wunderline has been authenticated.

私の名前が出てきた。認証成功!

wunderline コマンド実行例

タスクを試しに追加してみます。

$ wunderline add 'Hello world!'


更に凄いこと。wunderline add -sオプションでパイプが使える!
BME280搭載 温湿度・気圧センサモジュールの値をwunderlineに送り、Wunderlistにタスクとして登録します。

$ python sample.py | wunderline add -s

Wunderlistのアプリで見てみると・・・センサデータが取得できていました。

コマンドの便利な使い方は以下URLで紹介されています。www.npmjs.com

wunderlineで今後やってみたいこと

電子工作でパルスオキシメーターを作って、その値をWunderlistのスマートウォッチアプリに送信。そして、ある一定の値以下になったら期限付きのタスクとして登録してみたい。
WunderlistはAndoroid Wearとも連携しているので、スマホ・PCを日々見ていなくても、スマートウォッチのバイブレーションだけで気付くことができるし、スマートウォッチ用のアプリを一から自作しなくてもいいんですよね。だからとっても便利なツールとしても使えるんじゃないのかな。
子どもが体調を崩すときは必ず深夜でも定点的に確認しているので、子育ての負担をIoTで減らせたらいいな。
核家族化が進む中での家庭内IoT活用を、これからも考えていきたいです。

心拍センサ

心拍センサ

スポンサーリンク