Benutzer-Werkzeuge

Webseiten-Werkzeuge


start

App.py

from flask import Flask, jsonify, request from flask_cors import CORS import json import socket

app = Flask(name) CORS(app)

# Define the path to the JSON configuration file CONFIG_FILE = 'config.json'

# Load settings from the JSON file def load_settings():

  try:
      with open(CONFIG_FILE, 'r') as file:
          return json.load(file)
  except FileNotFoundError:
      # If the config file doesn't exist, return an empty default settings structure
      return {
          "use_dhcp": True,
          "manual_ip": "",
          "cloud_ip": "",
          "alert_email": "",
          "max_temperature": 30,
          "max_humidity": 50,
          "door_sensors": 1
      }

# Save settings to the JSON file def save_settings(data):

  with open(CONFIG_FILE, 'w') as file:
      json.dump(data, file, indent=4)

# Endpoint to get the sensor data @app.route('/sensor_data.json') def get_sensor_data():

  with open('sensor_data.json', 'r') as f:
      data = json.load(f)
  return jsonify(data)

# Endpoint to get the current IP address of the Raspberry Pi @app.route('/get_current_ip', methods=['GET']) def get_current_ip():

  try:
      # Get the current IP address of the Raspberry Pi
      hostname = socket.gethostname()
      current_ip = socket.gethostbyname(hostname)
      return jsonify({'current_ip': current_ip})
  except Exception as e:
      return jsonify({'error': str(e)}), 500

# Endpoint to get the current configuration settings @app.route('/get_settings', methods=['GET']) def get_settings():

  settings = load_settings()
  return jsonify(settings)

# Endpoint to save the configuration settings @app.route('/save_settings', methods=['POST']) def save_settings_endpoint():

  try:
      settings = request.get_json()
      save_settings(settings)
      return jsonify({'message': 'Settings saved successfully.'})
  except Exception as e:
      return jsonify({'error': str(e)}), 500

if name == 'main':

  # Run the Flask server with debug mode enabled
  app.run(debug=True)
start.txt · Zuletzt geändert: 2024/10/05 23:59 von chris

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki