Оглавление:
- Запасы
- Шаг 1. Установите Rasbian
- Шаг 2. Получение кода и его настройка
- Шаг 3: Связь с Arduino
- Шаг 4: Подключение Switch-it
- Шаг 5: запуск кода
- Шаг 6: (НЕОБЯЗАТЕЛЬНО) Корпус
Видео: Автоматическая розетка Switch-it с измерением тока в реальном времени: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Мне очень нравится автоматизация, возможность контролировать, когда что-то должно произойти. Вот что заставило меня задуматься: самодельная автоматическая розетка. Его можно использовать для планирования, когда нужно включить свет, когда нужно зарядить телефоны или когда нужно включить экран. В дополнение ко всему этому, у вас есть возможность увидеть, какой ток проходит через розетку.
Компоненты, необходимые для этого проекта:
Запасы
Прежде чем мы начнем, это те вещи, которые вам обязательно понадобятся для создания коммутатора Switch-IT, подобного моему. Эти расходные материалы будут стоить от 50 до 100 евро в зависимости от вашего региона и текущих цен.
Аппаратное обеспечение
Электроника
- Малина пи 4
- Карта Micro SD емкостью 16 ГБ (или больше)
- Ардуино Уно
- Переключатель уровня 5V-3.3V
- Модуль реле 5V
- ACS712 20A - токовый модуль
- Модуль ИК-приемника 1838 37,9 кГц
- ИК-пульт (я использую Elegoo)
- общий катод RGB
- Резисторы 3 * 330 Ом
- нажать кнопку
- RFID-RC522
- ЖК-дисплей 1602A-1
- Настенная розетка Niko
- Потенциометр 10 кОм
- 230 в 5 В - источник питания 7 А
Кабели
- Кабель USB-B - USB-A
- Кабель питания USB-C
- сетевой кабель
Различный
- Перемычки между мужчинами и женщинами
- Перемычки между мужчинами и женщинами
- Оловянный припой
- Термоусадочная трубка
Части корпуса (ДОПОЛНИТЕЛЬНО)
- 50 * орехов и жирных шрифтов
- металлический футляр 40x40x5 см с крышкой
- двухсторонний скотч
- Прокладки высотой 6 * 1 см
- led-держатель
- Лента на липучке
- кабельные направляющие
Программное обеспечение
- balenaEtcher:
- PuTTy
- расбийский
- Код Visual Studio
- IDE Arduino
Шаг 1. Установите Rasbian
Прежде всего, мы прошиваем Rasbian на SD-карту. Сделаем это с помощью balenaEtcher.
- Открыть balenaEtcher
- Выберите изображение Rasbian
- Выберите вашу SD-карту
- Нажмите Flash и подождите несколько минут, пока он не начнет мигать.
Добавление APIPA в загрузочный каталог: мы будем использовать адрес APIPA для программирования и настройки параметров RPI. Сделать это:
- Доступ к загрузочному каталогу на SD-карте
- Откройте "cmdline.txt"
- Добавьте «169.254.10.1» в конец документа и сохраните его.
- Добавьте файл с именем "ssh" в каталог загрузки (НЕ ДАЙТЕ ЭТОМ ФАЙЛУ РАСШИРЕНИЯ)
- После этого вы можете извлечь SD-карту из вашего ПК.
Доступ к RPI с помощью PuTTy
Теперь мы можем подключить SD-карту к нашему RPI, подключить RPI к вашему ПК с помощью кабеля Ethernet.
Для подключения к RPI мы будем использовать PuTTy с нашим APIPA-адресом.
- Открыть PuTTy
- Заполняем наш APIPA-адрес как имя хоста (169.254.10.1)
- Убедитесь, что порт 22 и выбран SSH
- Теперь вы можете открыть соединение
- Имя пользователя по умолчанию: pi
- С паролем по умолчанию: малина
настройки raspi-config
Откройте raspi-config, используя:
sudo raspi-config
- Измените пароль пользователя
- В параметрах локализации выберите свой часовой пояс
- Настройте Wi-Fi, используя параметры сети, затем параметр Wi-Fi, где вы должны ввести свой SSID и пароль.
Установить Python 3
В этом проекте мы используем Python, поэтому мы установим значение по умолчанию на Python3 вместо Python2, используя следующие команды
альтернативы обновления --install / usr / bin / python python /usr/bin/python2.7 1
альтернативы обновления --install / usr / bin / python python / usr / bin / python3 2
Пакеты Python
Нам понадобится несколько пакетов, чтобы все работало правильно, в основном пакеты Flask и один для подключения к нашей базе данных. Мы можем установить эти пакеты, используя следующие команды:
pip install Flask
pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton
База данных
Далее мы собираемся установить нашу систему управления базами данных (MariaDB), мы сделаем это, используя:
sudo apt установить mariadb-server
Введите «Y» и нажмите Enter, чтобы продолжить. Через несколько секунд процесс установки будет завершен, и MariaDB почти готов к использованию.
Чтобы установить пароль для базы данных, используйте команду:
sudo mysql_secure_installation
Затем нажмите Enter, так как текущий пароль пуст. Затем нажмите «Y», чтобы установить пароль, теперь вы можете ввести любой пароль, который хотите, обязательно запомните его, потому что он нам нужен для правильного соединения между внутренним и внешним интерфейсом.
Теперь нажмите «Y» 3 раза, чтобы: удалить анонимных пользователей, запретить удаленный вход root и удалить тестовую базу данных. Наконец, снова нажмите «Y», чтобы перезагрузить привилегии.
Теперь MariaDB и все необходимые пакеты успешно установлены.
Шаг 2. Получение кода и его настройка
Теперь, когда у нас установлены все пакеты, мы можем получить код.
Код доступен на Github, поэтому вы можете клонировать его, используя:
git clone
Это интерфейс
git clone
Это бэкэнд
Установка самой базы данных
Чтобы установить базу данных, перейдите к файлу.sql, который находится в внутренней папке, с помощью следующих команд (обязательно укажите свой собственный путь.
MySQL
создать переключатель базы данных выйти из mysql -u root -p switchit <Your_Path_to_Backend_Repo / switchit.sql
Установка Apache
Теперь, когда у нас есть весь код и настроена база данных, мы можем установить Apache и запустить на нем наш бэкэнд. Мы сделаем это с помощью:
apt-get install apache2 -y
Затем замените файлы в / var / ww / html на файлы в папке из папки внешнего интерфейса.
Если все прошло хорошо, вы сможете подключиться к своему веб-сайту, используя адрес APIPA: 169.254.10.1 в своем браузере.
Шаг 3: Связь с Arduino
Чтобы прочитать наш датчик тока и наш датчик RFID, мы используем arduino, для этого используйте код arduino, приведенный ниже. Загрузите его с помощью кабеля USB-A - USB-B и программного обеспечения Arduino IDE. После загрузки часть Arduino готова.
Теперь нам нужно найти имя последовательного устройства на PI. Для этого убедитесь, что в /boot/config.txt "enable_uart = 1" установлен правильно. Также убедитесь, что "console = serial0, 115200" удален из cmdline.txt.
Затем проверьте порты, используя
ls -l / dev
Тогда одно из серийных имен должно быть Arduino. Введите это имя в функцию arduinocom в app.py
ser = serial. Serial ('/ dev / ttyS0', 9600)
Делайте это только в том случае, если последовательная связь не работает.
Шаг 4: Подключение Switch-it
Подключить все довольно просто, хотя вы должны помнить следующее:
- Будьте осторожны с розеткой, 230 вольт могут быть смертельно опасными.
- Обязательно используйте преобразователь уровня для связи между RPI и Arduino.
- Перед пайкой RGB убедитесь, что вы используете красный и зеленый контакты. Проверьте это заранее!
- ПЕРЕД включением цепи проверьте, нет ли короткого замыкания.
Шаг 5: запуск кода
Теперь все подключено правильно, мы можем запускать нашу программу.
Чтобы он запускался автоматически при запуске, создайте файл, используя:
sudo nano myscript.service
Затем вставьте (убедитесь, что используете свой собственный каталог app.py:
[Unit] Description = Switchit After = network.target [Service] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = // перейти в каталог app.py // StandardOutput = наследовать StandardError = наследовать Restart = always User = pi [Установить] WantedBy = multi-user.target
Затем нажмите «ctrl + X» и скопируйте его в / etc / systemd / system.
Затем выполните следующую команду для автоматического запуска:
sudo systemctl включить myscript.service
Вы можете найти больше информации об этом на сайте RaspBerry Pi.
Перезагрузитесь и готово
Теперь перезагрузите PI, используя:
sudo reboot -h сейчас
Вот как вы делаете Switch-it!
Спасибо, что продолжили читать, надеюсь, это было полезно. Если у вас есть какие-либо советы или отзывы, не стесняйтесь оставлять комментарии.
Шаг 6: (НЕОБЯЗАТЕЛЬНО) Корпус
Вы можете построить жилье полностью по своему вкусу. Я использовал металлический футляр размером 40х40х5 см с крышкой. Так как я использовал металлический, мне пришлось просверлить отверстия и использовать распорки, чтобы снять все с плиты заземления. Я решил использовать центральную точку, где доступны 5 В, 3,3 В и земля. Каждое электрическое соединение припаивается куском термоусадочной трубки сверху. Для управления кабелем я использовал накладки с крепежными ремнями.
Рекомендуемые:
Как сделать отслеживание данных о коронавирусе COVID 19 в реальном времени с помощью ESP8266, отображение электронной бумаги: 7 шагов
Как сделать трекер данных о коронавирусе COVID 19 в реальном времени с ESP8266, дисплей электронной бумаги: 1
Измеритель уровня воды в скважине в реальном времени: 6 шагов (с изображениями)
Измеритель уровня воды в скважине в реальном времени: в этих инструкциях описывается, как построить недорогой измеритель уровня воды в реальном времени для использования в вырытых колодцах. Измеритель уровня воды предназначен для подвешивания внутри вырытого колодца, измерения уровня воды один раз в день и отправки данных по Wi-Fi или сотовой связи
Измеритель температуры, проводимости и уровня воды в скважине в реальном времени: 6 шагов (с изображениями)
Измеритель температуры, электропроводности и уровня воды в скважине в реальном времени: в этих инструкциях описывается, как построить недорогой измеритель воды в реальном времени для мониторинга температуры, электропроводности (ЕС) и уровня воды в вырытых колодцах. Счетчик предназначен для подвешивания внутри вырытого колодца, измерения температуры воды, ЕС и
Как сделать регистратор данных влажности и температуры в реальном времени с Arduino UNO и SD-картой - Моделирование регистратора данных DHT11 в Proteus: 5 шагов
Как сделать регистратор данных влажности и температуры в реальном времени с Arduino UNO и SD-картой | Моделирование регистратора данных DHT11 в Proteus: Введение: привет, это Liono Maker, вот ссылка на YouTube. Мы делаем творческий проект с Arduino и работаем над встраиваемыми системами. Регистратор данных: Регистратор данных (также регистратор данных или регистратор данных) - это электронное устройство, которое записывает данные с течением времени
Postshirt: определение позы в реальном времени: 9 шагов
Postshirt: Обнаружение носимой осанки в реальном времени: Postshirt - это беспроводная система обнаружения осанки в реальном времени, которая передает и классифицирует данные акселерометра от Adafruit Feather в приложение Android через Bluetooth. Полная система может обнаруживать в реальном времени, если у пользователя плохая осанка и