R筋

プログラミングと時々育児

raspberry piでWEBサーバを立ててブラウザから部屋の気温・湿度・気圧を確認する。

朝からダルくて一切のやる気が出ない日が周期的にやってくるわけだが、この「周期的に」というのが重要で、僕がダメ人間だったら常にやる気がないはずで、何らかの外部要因が影響していて、僕のやる気を奪っている可能性が高い。つまりこの外部要因を特定できれば、僕は悪くないということが証明されるわけだ。

実際、外部要因として、低気圧だと頭痛になったり、湿度が高いと「水毒」でダルくなるということはあるそうだ。
www.alsok.co.jp

この辺を知っていると、役立つことは多いだろう。例えば、会社を早退したいときも
「なんかダリーんで帰りますチョッチョチョリーッス」
「私梅雨の時期は、湿度・気圧の変化によって全身疲労・倦怠感を覚え、業務へ支障をきたす可能性があるため、本日は大事をとって、お休みさせていただきます」
という感じで、知っている人と知らない人ではここまで印象が違う。

そういうわけで、気温・湿度・気圧と体調の相関を常日頃から意識しておくといいことがあるんじゃないかと考え、ブラウザから取得できるボタンを作成した。
だるいなと思ったら、このボタンを押して、原因が外気にないかチェックすることにしよう!


上下にあるボタンは別途記事にするので気にしないでね。

仕組みは前の記事と同じで、ブラウザからPOSTされたら、センサーを実行させる。
anpontan382.hatenablog.com

結果はajaxによってブラウザに返させるようにして、結果が来るまでは「通信中」と表示する。
ajax部分はこんな感じ。

$(function(){
        $(document).on('click', '#env', function(){
            $('#env p').html("Last valid date:通信中<br>Temperature:通信中<br>Humidity:通信中<br>Pressure:通信中")
            $.ajax({
                url:"/env",
                type:"POST",
                success:function(res){
                            $('#env p').html(res);
                        },
                error:function(){
                            window.alert('error')
                        }
            })
    });
});

id=envのボタンがクリックされると、pタグ内を「通信中」に変更する。
ajax通信では「/env」をPOSTし、通信が成功したら、受信した内容でpタグないを書き換える。
通信失敗時はエラーのアラートを表示させる。

サーバではポストを受け取り、センサーを実行させる。
実行するセンサーは2つあり、湿度を取得するDHT11と、気温、気圧を取得するBMP180だ。この辺を参考にそれぞれを取得できるスクリプトを作成した。

qiita.com
qiita.com

取得した値は次のように改行でつないで出力する。

Last valid date:2018/06/15 22:36:11<br>
Temperature: 23.60 C<br>
Humidity: 79%<br>
Pressure:1010.75 hPa

これを、サーバから返せば、ウェブページ上で表示される。

app.post('/env',function(req,res){
    console.log('env');
    const result2 =  execSync('sudo python env.py').toString();
    res.send(result2);   
});

ちなみに今日はこんな感じ。
f:id:anpontan382:20180615225623p:plain
不快指数は71。湿度は高いけど、気温が低いからそこまででもないですね。
いわれてみると確かに今日は気分もぼちぼちだな。