=====Raspberry Py - Server Abfragen===== Bei Anfragen vom Server führt dieses Programm den Code für die einzelnen Sensoren aus und übermittelt deren Inhalt in Form einer Json Datei an den Server. Zusätzlich gibt es die aktuellen Werte über die Konsole aus.\\ Hier befindet sich der Code, für die einzelnen Sensoren:\\ ===Temperatur=== * [[wetterstation:ds18b20|DS18B20]] * [[wetterstation:bme280|BME280]] ===UV Sensor=== * [[wetterstation:si1145|SI1145]] ===Windgeschwindigkeit=== * [[wetterstation:windgeschwindigkeit|RJ11 BREAKOUT]] ===Windrichtung=== * [[wetterstation:windrichtung|Windrichtung]] ===Regensensor=== * [[wetterstation:regensensor|Regensensor]] === Der Code, der auf dem Raspberry Pi ausgeführt wird: === https://informatik.leibnizschule-hannover.eu/git/Informatik-AG/weatherstation/src/commit/9fcd9b7ccfb2ee2a51a90d92d877712de7c4db6b/server.py from flask import Flask from flask import request, jsonify, send_file import camera app = Flask(__name__) @app.route('/') def index(): import speed import temp import rain import winddirection import uv import BME280 rain = rain.rainfall() speed = speed.speed() direction = winddirection.Windrichtung() temperatur = temp.Temperatur() UV = uv.out() bme280 = BME280.getPressure() all_sensores = speed + " " + direction + " " + rain + " " + temperatur + " " + str(UV) print(all_sensores + 10*' ', end="\r") sensor_data = { 'temperature_1':str(temperatur), 'temperature_2':str(bme280[0]), 'speed':str(speed), 'direction':str(direction), 'rain':str(rain), 'rain_average':'N/A', 'pressure':str(bme280[1]), 'luftfeuchtigkeit':str(bme280[2]), 'height':str(bme280[3]), 'sichtbares_licht':str(UV[0]), 'infrarot':str(UV[1]), 'ultraviolett':str(UV[2]), 'uv_index':str(UV[3]) } print(sensor_data) return(jsonify(sensor_data)) @app.route('/picture') def picture(): # import camera.py camera.take_picture() return(send_file("picture/photo.png")) app.run(debug=False, host='0.0.0.0') {{:wetterstation:alle_sensoren_steckplatine.jpg?|}}