死んダッシュボタンとは
自分の身にもしものことが起こった(死んでしまった)とき、自分の訃報をできるだけ早く周囲に知らせたい!
そんなとき、ワンクリックで自分の訃報をTwitterに投稿してくれる便利なボタン!
それが 死んダッシュボタン です。
なぜこんなものを?
友人と話しているとき、自分が死んだときってどうやって周囲に伝わっていくのか?という話題になりました。
親族や親しい友人にはすぐに伝わるでしょうが、たまにしか合わない友人や知人には伝わるまでにタイムラグがあるはずです。
そんな人達と生前たまたま飲み会や遊ぶ予定が入っていた場合は、ドタキャンと思われかねない。
連絡も返さない嫌なヤツになってしまう。
そんな不安から作成を決意しました。
準備
まず、AWS IoT ボタンが必要です。
クリック、ダブルクリック、長押しで色々なことができるデバイスです。
あとはAWSアカウントとTwitterアカウントを用意します。
Twitter APIの登録
自動でツイートを行うには、Twitter APIに登録してAPIキーやアクセストークン等を取得する必要があります。
手順は様々な記事で紹介されているのでそちらに譲ります。
参考: Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ
AWS Lambda関数の登録
AWSコンソールにログインし、Lambda関数を作成します。
「一から作成」を選んで、以下のように入力します。
今回はNode.jsのバージョン12.xで作成します。
Node.jsのプロジェクトを作成します。
mkdir shin_dash
cd shin_dash
npm init -f
touch index.js
npm install twitter --save
index.jsの内容はこんな感じ。
consumer_key
などには、Twitter API登録時に取得したものを設定してください。
const twitter = require('twitter');
const twitterClient = new twitter({
consumer_key: CONSUMER_KEY,
consumer_secret: CONSUMER_SECRET,
access_token_key: ACCESS_TOKEN_KEY,
access_token_secret: ACCESS_TOKEN_SECRET
});
exports.handler = (event, context, callback) => {
const tweet = 'ここにツイート内容';
twitterClient.post('statuses/update', { status: tweet },
function(error, tweet, response) {
if(error) {
callback(null, 'error!');
}
callback(null, 'done!');
});
};
Lambdaのコンソールに戻り、コードエントリタイプで「ZIPファイルをアップロード」を選択します。
先程のindex.jsとnode_modulesをzipで圧縮し、アップロードして「保存」ボタンを押します。
次にテストイベントを作成し、実際にツイートできるか試してみましょう。
右上の「テスト」ボタンを押して、次のように設定して保存します。
保存後は右上の「テスト」ボタンを押して、実際にツイートされれば成功です!
AWS IoT 1-Clickの設定
AWS IoT 1-Clickの画面を開きます。
まずはデバイスの登録を行いましょう。
わかりやすく解説されている記事がありましたので。そちらを参考に。
デバイスの登録が完了すると、管理 -> デバイスのページから登録したデバイスを確認できます。
次に、オンボード -> プロジェクトの作成 から、プロジェクトを作成していきます。
プロジェクトのプレイスメントのテンプレートの定義はこんな感じです。
下の「プレイスメントの属性」は空欄にしました。
これでプロジェクトは作成完了です!
プレイスメント名はとりあえずhomeとしました。
「このテンプレートのボタンデバイスを選択する」を押し、先程登録したデバイスを選択します。
以上で設定完了です!
AWS IoT ボタン改め、死んダッシュボタンをクリックすると、自分の訃報がツイートされます!
(まだ生きているので、テスト投稿だということも追記してます)
今年の年末は実家に帰省するので、このボタンを実家に置いて行こうと思います。
これで心置きなく年末年始も飲み会の予定を入れられますね!