20ラズパイ?何それ?レベルのハードウェア未経験大学生がオフィスに人がいるか把握するシステムを作ったPythonハードウェアRaspberryPicrontabはじめにこんにちは。僕は現在、名古屋で大学生をしながらIT企業でインターン生として働いています。そんな僕ですが、普段過ごしていると、既定の出社日以外の日にも出社して作業がしたいと思うわけです。大学で講義を受けた後に、会社に行く。そんな日は、18時頃に出社し、社員さんがいなくなる(オフィスが閉まる)まで作業をするわけです。僕のインターン先では、社員さんがオフィスの鍵を持っており、社員さんがいれば、休日であってもオフィスが空いています。ある日19時くらいに大学が終わり、オフィスに向かおうと思いました。「まぁ誰か人がいるだろう」と思い込んでいました。閉まってるぅぅぅぅぅぅぅぅぅぅぅぅぅぅぅぅぅぅその日は、たまたま社員さんが全員帰っていました。こりゃ困った...(社員さんに遅くまで残ってくださいとも言えないし、最後の社員さんが退社したタイミングで知らせてもらうのも申し訳ないし...)本題てなわけで、オフィスに人がいるのか把握するシステムを作ろうと考えました。Arduinoが使えることを知りました。それらに照度センサーを搭載させ、オフィスの照度を検知することで、人がいるのかどうかを把握できるのでは。ハードウェア何もわからない。Arduinoについて本当に無知でしたので、たくさん調べました。知人にハードウェアに詳しい高専出身の方(GANGANさん)がいたので、twitterのDMでめちゃくちゃ聞いたりも。WHとWH用の明るさセンサ拡張基板を使うことが決まりました。安い)上記2点は、ネットで購入しました。変換ケーブルは、せっかくなので名古屋の秋葉原(大須)に行って買ってきました。(こんな感じ)(写真撮るの忘れたのですが、ストレージ4GBも買いました。)環境構築ラズパイをディスプレイやキーボードと繋ぎ、完全に理解したい。そんな思いで、いろんなサイトを参考にしながら、試行錯誤しました。OSを導入するまた、何度もディスプレイやキーボードに繋いでいるとダルいので、sshによるリモートアクセスを行いました。今後は自分のPC上からラズパイに接続することにしました。APIを使おうと考えました。そこで、このようなアーキテクチャになりました。照度を検知する今回購入したゼロワンシリーズですが、とても便利で、照度を検知するためのサンプルコードが公開されていました。data[3]とすると、照度(luminance)が検知できました。5くらいの感じでした。日光による誤検知を防ぐため、陽の当たらない場所にラズパイを設置しました。slackと連携する新たにチャンネルを作り、そこにBotが照度をメッセージとして送信するような仕組みを考えます。URLを取得しました。あとは、指定の形式でpostリクエストするだけです。slackへmessageを送ります。u'現在、オフィスに人はいません。sendMessage()こんな感じ↓でメッセージの送信ができました。プログラムの定期実行pythonファイルにread権限を与え、crontabコマンドより、定期実行を実現します。30分に1回、該当pythonファイルを実行させるように設定しました。Pythonをcronする。RaspberryPiでプログラムを定期的に実行するおわりにこれで、せっかくオフィスまで行ったのに空いてなかったなんてことはもうない!!ラズパイ?何それ?レベルでしたが、何とか実装することができて大変満足です。終わってみれば、とても簡単な実装のみで実現することができました。今回に留まらず、ラズパイを使ってもっと多くの身近な課題を解決していけたらいいなと思います。!!企業の方は、働き方改革が叫ばれるこの時代に是非、導入してみてはいかがでしょうか。