Друкарня від WE.UA

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

Автор: 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

93Довгочити
14.1KПерегляди
32Підписники
Підтримати
На Друкарні з 7 травня 2023

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

  • The Hidden Conversion Killers on Digital Agency Websites

    A digital agency website can look polished and still fail to generate serious leads. It may have a modern homepage, strong visuals, case studies, service pages, and a clear “Book a call” button, but visitors still leave without taking action.

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

    Conversion Rate
  • Ubuntu Server – czym jest i jakie są podstawowe komendy

    Ubuntu Server to jeden z najczęściej wybieranych systemów operacyjnych do obsługi serwerów VPS, aplikacji webowych, baz danych oraz środowisk DevOps.

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

    Впс

Це також може зацікавити:

  • Чим небезпечні розумні пристрої для дому та як вберегтися від загроз?

    Розумні пристрої для дому значно полегшують наше життя, але не завжди роблять його безпечнішим. Чим небезпечні “розумні” пристрої, які вони мають уразливості та яку загрозу несуть для безпеки ваших конфіденційних даних — читайте у статті.

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

    Кібербезпека
  • Авто переведення часу для Arduino на C++

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

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

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

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

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

    Arduino

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

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

Це також може зацікавити:

  • Чим небезпечні розумні пристрої для дому та як вберегтися від загроз?

    Розумні пристрої для дому значно полегшують наше життя, але не завжди роблять його безпечнішим. Чим небезпечні “розумні” пристрої, які вони мають уразливості та яку загрозу несуть для безпеки ваших конфіденційних даних — читайте у статті.

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

    Кібербезпека
  • Авто переведення часу для Arduino на C++

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

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

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

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

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

    Arduino