【ラズパイ】ネットワークでセンサーデータを送信する。

前回までの状況はこちら。

今回は実際にセンサーの情報をWindows側に送信したいと思います。

ラズパイ側のPythonソースをこのように作成しました。

import json
import urllib.request
import time
from sense_hat import SenseHat

sense = SenseHat()

url = 'http://192.168.1.3:8000'
headers = {
    'Content-Type': 'application/json',
}

while True:
    temp = int(sense.get_temperature())
    hum = int(sense.get_humidity())
    press = int(sense.get_pressure())
    data = {
        'temperature': temp,
        'humidity': hum,
        'pressure': press,
    }
    req = urllib.request.Request(url, json.dumps(data).encode(), headers)
    with urllib.request.urlopen(req) as res:
        body = res.read()
    time.sleep(1)

センサーから温度、湿度、気圧の測定データを取得し、このデータをJson形式にして送信しています。

この処理を1秒周期で実行します。

最近のWebAPIは送受信するデータの量が増えてきているので、どのようなデータ形式も一行の文字列で表現できるJsonを使用するのが今の一般的です。

Windows側(サーバ側)の出力はこうなりました。(受信側のコードは前回から変更していません。)

温度と湿度は、ラズパイ本体からの熱の影響を受けているので、実際の部屋の中の数値とは異なりますが、まぁ、良い感じです。

0

「【ラズパイ】ネットワークでセンサーデータを送信する。」への2件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください