heyheytower

日々のメモです。誰かのお役に立てれば幸いです。

家庭内の情報共有【その2】(Alexa Echo Plus, Any.do)

anydo
Pic.1 Any.do でのToDoリストの様子

目次

目的

以前のエントリ家庭内の情報共有(Slack, Trello, IFTTT, HUBOT, Zaim, MyThings) - heyheytowerで家庭内の情報共有についてまとめておりました。

今回 Alexa Echo Plus を購入したので、Alexa の "買い物リスト"、"やることリスト" と自分の定期タスク管理を連動したく、ToDoアプリ選定・Slack*1 連動を目的としました。

概要

本エントリでは下記の調査・実施を行った。

  • Alexa の "買い物リスト"、"やることリスト" と連動できるToDoアプリの選定(Any.do一択でした)
  • タスク管理ソフト "Any.do" と Slack を連動する方法
  • 未処理タスクの slack リマインド実行の実装

方法

ToDoアプリの選定

日本語圏で使えるToDoアプリは "Any.do"*2 一択でした。

しかしながら Trello*3 と同じように、下記が実行できるので問題ないと判断しました。

  • 定期タスク追加が可能(週・月一は設定できるが、2週に一回などは設定できないが)
  • やったかやっていなかチェックできる
  • Slack と連動できる(IFTTTなど経由で。アプリネイティブではサービスは無し。)

タスク管理ソフト "Any.do" と Slack を連動する方法

単純に IFTTT*4 を利用します。

  • Item added to your To Do List
  • Item completed on your To Do List
  • Item added to your Shopping List
  • Item completed on your Shopping List

Alexa の上記トリガーと、Slack 出力を連携させます。 ※2018/11初旬ほどから日本語化けが直り、ようやく運用に乗るようになりました。

anydo_shopping
Pic.2 Alexaから買い物リストに追加を行い slack へ投稿される様子

anydo_task
Pic.3 Any.do からタスク完了チェックを行い slack へ投稿される様子

未処理タスクのリマインド実行の実装

Any.do のリストをコマンドから操作できるado-cli - npmを利用し、必要な出力を抜き出し、Slack へ投稿します。 (公式APIなどはなさそうでした。) Slack への投稿は[10分で出来る]シェルスクリプトの結果をslackに投稿 - Qiitaスクリプトを使わせていただきました。

$ cat /home/pi/Programs/shell/181103-slack-anydo/anydo-daily.sh
#!/bin/sh
/home/pi/.anyenv/envs/ndenv/versions/v8.9.3/bin/ado login -e mail@address -p password
/home/pi/.anyenv/envs/ndenv/versions/v8.9.3/bin/ado list | sed ':lbl1;N;s/SOMEDAY.*TODAY.*\n//;b lbl1;' | grep -E "掃除|todo" | /home/pi/Programs/shell/181103-slack-anydo/slack-todo.sh
/home/pi/.anyenv/envs/ndenv/versions/v8.9.3/bin/ado list | sed ':lbl1;N;s/SOMEDAY.*TODAY.*\n//;b lbl1;' | grep -v -E '^$' | grep -v -E "掃除|todo" | /home/pi/Programs/shell/181103-slack-anydo/slack-shopping.sh
$ 
$ ls -la /home/pi/Programs/shell/181103-slack-anydo/anydo-daily.sh
-rwxrwxrwx 1 pi pi 528 11月  5 01:44 /home/pi/Programs/shell/181103-slack-anydo/anydo-daily.sh

ado-cli は表示するリストを指定できないので下記をうまくGrepしてそれぞれ、買い物リスト・やることリストの項目として Slack 通知しています。

  • Alexa から買い物リスト追加だと Any.do では SOMEDAY に登録される
  • Alexa からやることリスト追加だと Any.do ではTODAYに登録される
$ /home/pi/.anyenv/envs/ndenv/versions/v8.9.3/bin/ado list 

SOMEDAY (0)
  - パン用スキム
UPCOMING (19)
  - [掃除]床の水拭き
  - [掃除]ホコリ取り
  -snip-
  - [todo]ドキュメント整理
  - [todo]通帳記帳
TOMORROW (0)

TODAY (1)
  - [todo]ドキュメント整理

定時投稿は cron を使います。

$ sudo crontab -e
# Daily
0 17 * * * /home/pi/Programs/shell/181103-slack-anydo/anydo-daily.sh

anydo_shopping_reminder
Pic.4 Any.do からの買い物リスト定期リマインドの様子

anydo_task_reminder
Pic.5 Any.do からのやることリスト定期リマインドの様子

まとめ

目的については達成しました。
これで声によって、やることリスト・買い物リストへの追加が行え、そしてそのリストの残タスクを Slack にて確認することもできるようになりました。

現在試験運用中なので、これから使用感・運用に伴う変更点や追加点など随時更新したいと思います。

以上

Ubuntu16.04 で IPv6 (OCN 光 マンション、NEC AtermWR8700N)

ubuntu_16.04-ipv6
Pic.1 IPv6接続確認

目次

目的

プロバイダのOCN*1のプラン "OCN 光" が IPv6 *2接続に対応したようなので、アパート環境のIPv6対応を行った。

自分のNW環境

自分のPC環境

$ cat /etc/debian_version
stretch/sid
$ uname -a
Linux calc0 4.4.0-112-generic #135-Ubuntu SMP Fri Jan 19 11:48:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto enp0s25
iface enp0s25 inet dhcp

方法

基本的には下記の記事を参考にした。

プロバイダとプランの組み合わせとIPv6利用可能か確認

私は "OCN 光 マンション" を契約しているのですが、

上記を参考に確認したところ、下記のようにIPoE接続を利用できるようであった。

IPv6インターネット接続
接続方式    ご利用可否
IPoE接続  ご利用いただけます

ブロードバンドルーターのIPv6接続対応確認

下記から "AtermWR8700N" でIPv6ブリッジが可能であることを確認した。

ブロードバンドルーターの WEB UI にアクセスし、下記項目から設定を適用した。
基本設計>基本設定>IPv6ブリッジ

Ubuntu16.04 の IPv6設定確認

デフォルトの設定でIPv6が有効であり、DHCP設定だったため特に設定は不要であった。

使用するDNSサーバを変更しておきます。

# IPv6 DNS setting
{
echo "2001:4860:4860::8888"
echo "2001:4860:4860::8844"
} | sudo tee -a /etc/resolvconf/resolv.conf.d/head
sudo service networking restart

DNSサーバのデフォルトも下記のように無事変わったようです。

$ nslookup -query=aaaa google.com
Server:     2001:4860:4860::8888
Address:    2001:4860:4860::8888#53

Non-authoritative answer:
google.com  has AAAA address 2404:6800:4004:81a::200e

Authoritative answers can be found from:

動作確認

Ubuntu16.04 Desktop

IPアドレスについて| OCN から確認した結果は、スクリーンショットのとおり、IPv6IPv4を同時に利用できているようであった。

IPv6アドレスは、Ubuntu上からのifconfig結果の "inet6アドレス 範囲:グローバル" とも一致していた。

スマートフォン "TORQUE(トルク) G03"*4

端末自体は IPv6 に対応しているよう。

ipv6-torque-wifi
Pic.2 IPv6接続確認(スマホでアパートのWi-Fi接続)

しかしながら au(KDDI)回線では、IPv6接続できないようでした。

ipv6-torque-au
Pic.3 IPv6接続確認(スマホau回線接続)

Kindle Fire HD 8 タブレット*5

Fire HD 8 タブレット (Newモデル) 16GB、ブラック

Fire HD 8 タブレット (Newモデル) 16GB、ブラック

IPv6 対応OKでした。

ipv6-kindle-fire-wifi
Pic.4 IPv6接続確認(Kindle FireWi-Fi接続)

Kindle Paperwhite Wi-Fi (第5世代)*6

IPv6 には対応していないようでした。(※2012年の製品)

ipv6-kindle-paperwhite-wifi
Pic.5 IPv6接続確認(Kindle PaperwhiteWi-Fi接続)

まとめ

目的のとおりIPv6対応を行うことができた。

所感

2012/05/21 にアップした本ブログ第一回の記事に対して、ようやく決着がつけられてすっきりしました。

以上