Створення простого веб-інтерфейсу для управління смарт-освітленням

Автор: Stephan Bechert. Опубліковано на Unsplash

Смарт-освітлення стає невід'ємною частиною сучасного дому, дозволяючи значно підвищити комфорт та ефективність використання енергії. За допомогою Raspberry Pi та Python, ви можете легко створити веб-інтерфейс для управління освітленням у вашому домі. У цій статті ми розглянемо, як розробити такий інтерфейс крок за кроком.

Крок 1: Підготовка обладнання

Перше, що вам знадобиться, це Raspberry Pi з встановленою операційною системою (наприклад, Raspbian) та підключенням до інтернету. Вам також потрібно буде підключити до нього реле, яке дозволить керувати освітленням.

Крок 2: Налаштування Raspberry Pi

Встановіть необхідне програмне забезпечення:

sudo apt-get update sudo apt-get install python3-pip sudo pip3 install flask

Flask — це мікрофреймворк для Python, який дозволяє створювати веб-додатки.

Крок 3: Створення веб-додатку

Створіть файл app.py та додайте наступний код для запуску веб-сервера:

from flask import Flask, render_template, request
app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/switch', methods=['POST'])
def switch():
    # Тут буде логіка управління освітленням
    return "Освітлення змінено"

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)

Крок 4: Створення веб-інтерфейсу

Створіть файл templates/index.html для веб-інтерфейсу:

<!DOCTYPE html>
<html>
<head>
    <title>Управління освітленням</title>
</head>
<body>
    <h1>Управління освітленням</h1>
    <form action="/switch" method="post">
        <input type="submit" value="Вмикання/Вимикання">
    </form>
</body>
</html>

Крок 5: Логіка управління освітленням

Для управління реле використовуйте GPIO піни Raspberry Pi. Додайте логіку у функцію switch у файлі app.py:

import RPi.GPIO as GPIO LIGHT_PIN = 18 GPIO.setmode(GPIO.BCM) GPIO.setup(LIGHT_PIN, GPIO.OUT) @app.route('/switch', methods=['POST']) def switch(): current_state = GPIO.input(LIGHT_PIN) GPIO.output(LIGHT_PIN, not current_state) return "Освітлення змінено"

Не забудьте імпортувати RPi.GPIO та налаштувати пін, до якого підключено реле.

Крок 6: Запуск веб-додатку

Запустіть ваш веб-додаток, виконавши команду:

python3 app.py

Тепер ви можете відкрити веб-інтерфейс у браузері, перейшовши за адресою http://<IP_адреса_вашого_Raspberry_Pi>:8080, та керувати освітленням у вашому домі.

Висновок

Створення простого веб-інтерфейсу для управління смарт-освітленням за допомогою Raspberry Pi і Python є чудовим проектом для початківців, який демонструє основи взаємодії між веб-технологіями та фізичним світом. Це не лише надає вам практичні навички розробки, але й відкриває шлях для подальших експериментів з автоматизацією дому.

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Volodymyr Zhyliaev
Volodymyr Zhyliaev@digitalowltop

6.9KПрочитань
65Автори
24Читачі
Підтримати
На Друкарні з 7 травня

Більше від автора

Вам також сподобається

  • Arduino уроки для початківців: Урок 1. Вступний урок. Що ж таке Arduino?

    Пивіт всім! Вивчаючи електроніку можна зробити висновок що українського матеріалу на просторах інтернета досить мало, тому я вирішив створити курс по вивченню досить простої та одночасно потужної платформи для любителів програмувння та електронікі — Arduino.

    Теми цього довгочиту:

    Arduino
  • Авто переведення часу для Arduino на C++

    Сьогодні я зіткнувся з проблемою що коли переводять годинник мої ардуіно пристрої починають показувати неточний час і я знайшов рішення

    Теми цього довгочиту:

    Arduino

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Вам також сподобається

  • Arduino уроки для початківців: Урок 1. Вступний урок. Що ж таке Arduino?

    Пивіт всім! Вивчаючи електроніку можна зробити висновок що українського матеріалу на просторах інтернета досить мало, тому я вирішив створити курс по вивченню досить простої та одночасно потужної платформи для любителів програмувння та електронікі — Arduino.

    Теми цього довгочиту:

    Arduino
  • Авто переведення часу для Arduino на C++

    Сьогодні я зіткнувся з проблемою що коли переводять годинник мої ардуіно пристрої починають показувати неточний час і я знайшов рішення

    Теми цього довгочиту:

    Arduino