1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ゴミクサ

Posted at

ゴミクサ

目次

  • 作品の目的 
  • 用意するもの
  • 作品の説明   
  • 手順
    -コード
  • 追加したい機能

作品の目的

毎日のゴミ捨ての際に今日何ゴミだろう?となる時が多々あります。(特にビンや缶、乾電池など)
そんな時に今日何のゴミかを捨てればいいのか教えてくれると助かると思い作りました。

用意するもの

  • アレクサeco
  • Raspberry Pi

作品の説明

Alexaから朝起きたらゴミの日だよ!ってお知らせしてくれる装置を作ります!

手順

➀シェルスクリプトでアプリを作ります。

➁トリガーをどうするか考えます。

 まず考えられるのは時間です。
 指定した時間になると勝手に喋れるようにします。

 問題は起きる時間が同じではない可能性があることです。

➂そこで毎朝行っている「アレクサ、行ってきます」という言葉をトリガーにします。

➃NodeREDを使ってRaspberry Piに信号を送ります。

➄呼び出し先のシェルスクリプトを作ります。

➅何度も言われるのは面倒なので、時間指定と1日に1度だけ言うようにします。

これで行ってきます!とアレクサに言うたびにゴミの日をリマインダーしてもらえます!

コード

#!/bin/bash

cd `dirname $0`

# 曜日の取得
# 月:1 火:2 水:3 木:4 金:5 土:6 日:7
day_of_the_week=`date +%w`

flag=`.flag`

if [ $flag = `date +%Y%m%d` ]; then
	exit
fi

if [ `date +%H%M` -gt 900 ]; then	# 9:00以上なら実行しない
	exit
fi
if [ `date +%H%M` -lt 600 ]; then	# 6:00より前なら実行しない
	exit
fi

if [ $day_of_the_week -eq 1 ]; then 	#月
	echo "今日出せるゴミはありません。">/dev/null
elif [ $day_of_the_week -eq 2 ]; then	#火
	echo "今日出せるゴミは、燃えるごみ、びん、かん、新聞紙、段ボール" >/opt/nodered/alexa_speak.txt
elif [ $day_of_the_week -eq 3 ]; then	#水
	echo "今日出せるゴミは、生ゴミです。" >/opt/nodered/alexa_speak.txt
elif [ $day_of_the_week -eq 4 ]; then	#木
	echo "今日出せるゴミはありません。" >/opt/nodered/alexa_speak.txt
elif [ $day_of_the_week -eq 5 ]; then	#金
	echo "今日出せるゴミは、ペットボトル、プラスチックです。">/dev/null
elif [ $day_of_the_week -eq 6 ]; then	#土
	echo "今日出せるゴミは、生ゴミ、乾電池です。" >/opt/nodered/alexa_speak.txt
elif [ $day_of_the_week -eq 7 ]; then	#日
	echo "今日出せるゴミはありません。">/dev/null

fi

date +%Y%m%d >daily.flag

追加したい機能

  • 朝だけ人感センサーで反応して喋りかける機能を追加したい
  • ゴミ箱に距離センサーと重量センサーをつけ、そんなにゴミが溜まっていない時は通知がならないようにしたい
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?