for($i=5; $i>1; $i++){ やってみる }
こんにちは!
プログラマの永松です!
【まず自己紹介】
今までいろんな職業に携わってきまして、
- 飲食
- 花火師
- カメラマン
- プログラマ ←いまココ
という仕事をしてきました。
趣味は
- ドライフラワー
- レゴ
- 読書
- 電子工作
という感じで楽しんでおります。
そして今回は「電子工作」についての活動報告をさせて頂きます!
▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️
▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️▪️
今回作ったものはこれ↓(右の白い箱)
と、これ↓
これは何かと言いますと、
【デバイス】(白い箱)
- 電源を入れるとpowerランプ(赤)点灯。モニター「Hello, World」出力
- 通信可能な状態になるとReadyランプ(オレンジ)点灯。モニター「Humidity: 湿度の数値」を出力
- 植木鉢のセンサーから1秒ごとに値を入力
- 8:00, 14:00, 18:00の時間にWebページにアクセス
- 湿度が低い時はアクセスする頻度を増やす(Tweet頻度[高](未実装))
- アクセスする時、センサー値をGETパラメータとして付加する
- さらにReadyランプ(オレンジ)とモニター「Tweet!!」を点滅表示!
【Webページ】
- Tweetメッセージ登録画面(登録・変更・削除)
- 「やばい・まぁまぁ・極楽」の3カテゴリをそれぞれまとめてリスト表示する機能
- デバイスからのアクセスによって自動Tweet機能(Twitter API実装)
- 付加されたGETパラメータによってメッセージタイプを分岐。そのタイプを条件にDBからメッセージリストを生成。その中からランダムにメッセージを選択しTweet実行
【使い方】
- 植木鉢にセンサーを挿す。
- Webのメッセージ登録画面で「やばい・まぁまぁ・極楽」のカテゴリにそれぞれメッセージを登録しておく。
- 8:00, 14:00, 18:00の時間に状況を自動Tweetしてくれる。
- また、水分量が急激に上昇した時はサンキューメッセージをTweet(未実装)
つまり植木鉢の土の水分量の状況を自動Tweetするシステムです。
開けてみましょう。【配線のうねうね閲覧注意!】
パカッ
↑右上の基盤が「Arduino」というデバイスです。こいつにプログラムを打ち込みます。Wifi接続できるLinuxを積んでおります。
↑こいつは土壌センサー。植木の土にぶっ刺します。
【モニター】
↓こんな感じで1秒ごとにセンサー値を表示します。
乾いてる(乾いてる方が数値が大きいらしいです。このロジックを逆転させるのは今後の課題)
水をあげる。数値が変化。
Tweet!(Webにアクセス)
めっちゃTweetしてました。(テストの為即ツイート)
【使ったものまとめ】
- さくらレンタルサーバー
- codeigniter(phpフレームワーク)
- Twiiter API
- Tweet bot用アカウント
- Arduino yun(電子工作:基盤デバイス)
- Arduino IDE (電子工作 : 開発環境)
- 土壌センサー、液晶モニター、LEDライト、ジャンパワイヤ、ブレッドボードなど(電子工作:部品)
- 手頃な紙箱
【感想】
アイディアを思いついてちょうど一週間で現在の状態まで作れました。寝不足の日々。
現場でもcodeigniterを使っているので勉強になりましたし、何より楽しかった!
今後はセンサーの種類を増やす。表示を液晶から電子ペーパーに変える。時刻を表示して時計としての存在意義を与える。メッセージを自動生成させる。などのアップデートを企み中。
アイディアを具現化できることは素敵な事で、心を自由にしてくれるんだな。と思いました。
壊れたfor文を書く僕ですが、楽しそうな事はやってみないともったいないと思います。なので思いついた事は出来る限り実現します。
哲学的な何かを言いだしそうなところで今回の報告を終わらせて頂きます。
ご覧頂きありがとうございました。
プログラミングチーム 永松 卓