Windows IOT - автоматизация розеток
Компоненты и расходные материалы
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
Приложения и онлайн-сервисы
| ||||
| ||||
| ||||
| ||||
|
Об этом проекте
Введение
В этом проекте мы увидим, как управлять розетками в вашем доме изначально и в облаке с помощью Raspberry Pi, работающего на Windows 10 iot, xbee и arduino. Все образцы кода доступны в github.
Зачем автоматизировать розетки?
Если бы вы могли автоматизировать розетки питания, вместо того, чтобы управлять устройствами из облака, мы могли бы подключить к розетке любые устройства и управлять ими. В этом проекте я использовал примеры управления вентилятором и светом.
Начнем с пчел
Я взял Xbee для передачи радиосигналов. Один Xbee, называемый координатором, подключен к raspberry pi, а другой, называемый маршрутизатором, подключен к розетке. Координатор отправляет сигналы на основе наших входных данных маршрутизатору для управления розетками питания.
Настроить Xbees в режиме AT
Загрузите и установите XCTU.
Для обновления прошивки Zigbee (Xbee) я использовал адаптер adafruit FTDI
Пожалуйста, посмотрите это руководство по настройке Xbees в режиме AT.
Настройка пчел
Вы должны убедиться, что эти два Xbees разговаривают друг с другом, прежде чем мы перейдем к следующему шагу.
Настройте приемник
Нам нужны Zigbee Router, Arduino UNO R3, Xbee Shield для Arduino и релейный щит Arduino.
Эскиз Arduino
Если данные от CoOrdinator Zigbee - ON1, мы включаем relay1. Если данные ON2, мы включаем relay2. Аналогичным образом выключаем реле для ВЫКЛ1 и ВЫКЛ2
Вы должны скомпилировать это в arduino ide и записать в arduino uno:
#define RELAY1 7 # define RELAY2 5String state ="OFF"; void setup () {Serial.begin (9600); pinMode (RELAY1, OUTPUT);} void loop () {// Проверяем серийный данные доступны if (Serial.available ()> 0) {state =Serial.readString (); Serial.println (state);} // Если текст ON1. Включите relay1if (state =="ON1 \ r \ n") digitalWrite (RELAY1,1); // Если текст включен2. Включите relay2else if (state =="ON2 \ r \ n") digitalWrite (RELAY2,1); // Если текст OFF1. Выключите relay1else if (state =="OFF1 \ r \ n") digitalWrite (RELAY1,0); // Если текст OFF2. Выключите relay2else if (state =="OFF2 \ r \ n") digitalWrite (RELAY2,0); // Ничего не делать иначе {digitalWrite (RELAY1,0); digitalWrite (RELAY2,0);}}
Настройте розетку (осторожно, мы играем с высоким напряжением)
Реле - это устаревшие технологии в области электроники. Он действует как переключатель. Входом в реле может быть переменное напряжение (от 110 до 240 В). Используя микроконтроллер, такой как arduino, мы можем включать и выключать реле
Мы собираемся подключить к реле высокое напряжение, пожалуйста, соблюдайте переменный ток и соблюдайте особые меры предосторожности при подключении проводов к реле. Это слишком опасно, действуйте на свой страх и риск
Вместо того, чтобы напрямую настраивать реле на розетку, я использовал удлинитель. Однако концепция та же.
В удлинителе оставьте один провод как есть, а второй обрежьте. Подключите один конец провода к общему (C), а другой - к нормально разомкнутому (NO)
Подключите экран реле к Arduino, установите Xbee Shield сверху или экран реле. Подключите Zigbee, настроенный как маршрутизатор на Xbee Shield
Я использовал Xbee Shield для подключения Xbee к arduino. Убедитесь, что в настройках щита установлено значение Xbee. Этот щит вместе с Arduino также можно использовать для записи настроек прошивки, когда мы устанавливаем переключатель в положение USB. Он использует встроенный в Arduino чип FTDI для записи данных в Xbee.
Подключите шнуры и включите Arduino, используя внешний аккумулятор. Ресивер готов.
Настройка сервера
Для настройки сервера нам понадобится Raspberry Pi 2, работающий на Windows 10 IOT, и Zigbee, настроенный в качестве координатора.
Подключите Zigbee к адаптеру FTDI и 6-контактный USB-кабель FTDI RS 232 к USB-порту raspberry pi. Мы настроим веб-сервер на Raspberry Pi с помощью UWP. Сервер будет ждать ввода данных пользователем и, в зависимости от выбора, будет записывать последовательные данные в порт USB, к которому подключен кабель FTDI RS 232, Zigbee будет передавать это сообщение в виде радиоволн. Мы уже настроили DH и DL маршрутизатора в координаторе Zigbee, поэтому сообщение отправляется для исправления маршрутизатора Zigbee.
Чтобы узнать больше о драйверах FTDI для raspberry pi, посетите https://github.com/jark/ftdisample
Следуйте этому видео, чтобы настроить сервер на Raspberry Pi.
Все образцы кода доступны в github.
Включить Azure
Чтобы управлять своим домом из любой точки мира, мы включаем облачные сервисы в наше приложение.
Вам необходимо создать веб-сайт и разместить его в лазурном цвете. Создайте базу данных SQL Azure для аутентификации / авторизации пользователей вашего сайта. Создайте службу облачного хранилища Azure, чтобы выполнять наши команды. Обработайте эти команды из приложения Raspberry PI Blinky и управляйте своим домом.
Для создания таблиц хранения вам необходимо обратиться к этой статье:
https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables/
Чтобы создать таблицы Sql, обратитесь к этой статье:
https://azure.microsoft.com/en-us/documentation/articles/sql-database-get-started/
Пожалуйста, посмотрите видеоинструкцию о том, как использовать Azure в нашем проекте:
Включить AzureДемо
Я попытался показать, как можно управлять розетками двумя способами,
- Доступ к URL-адресу веб-сервера raspberry в сети
- Через веб-приложение aspnet5, размещенное в Azure.
Заключение
- Такая автоматизация решает множество реальных проблем. Подключив дополнительные датчики, такие как датчик света и движения, мы можем включать / выключать свет или, по крайней мере, предоставлять данные пользователю для экономии энергии.
- Пожилые люди могут управлять своими розетками с помощью пульта дистанционного управления. В этом случае нам понадобится дополнительное устройство RFID.
- Мы можем создать расписание для включения / выключения света, чтобы сэкономить электроэнергию.
- Если есть злоумышленник, можно включить все огни.
- В отпуске не о чем беспокоиться ... мы можем просто выключить наш дом одним нажатием кнопки.
- Нет необходимости постоянно поддерживать температуру в помещении, делайте это тогда, когда считаете нужным. Экономит энергию.
Код
- Реле
Relay C / C ++
Для управления реле#define RELAY1 7 #define RELAY2 5String state ="OFF"; void setup () {Serial.begin (9600); pinMode (РЕЛЕ1, ВЫХОД); } void loop () {// Проверяем, доступны ли последовательные данные if (Serial.available ()> 0) {state =Serial.readString (); Serial.println (состояние); } // Если текст ON1. Включите реле 1 if (state =="ON1 \ r \ n") digitalWrite (RELAY1,1); // Если текст включен2. Включите реле2 else if (state =="ON2 \ r \ n") digitalWrite (RELAY2,1); // Если текст ВЫКЛ1. Выключите relay1 иначе if (state =="OFF1 \ r \ n") digitalWrite (RELAY1,0); // Если текст ВЫКЛ2. Выключите relay2 иначе if (state =="OFF2 \ r \ n") digitalWrite (RELAY2,0); // Больше ничего не делать {digitalWrite (RELAY1,0); digitalWrite (RELAY2,0); }}
Примеры
Пример кода https://github.com/syediddi/hacksterioСхема
Подключите шнур питания к релеПроизводственный процесс
- Создание сети беспроводных датчиков в вашем доме
- Windows IoT:дверь распознавания лиц
- Windows 10 IoT Core и SHT15
- Windows 10 IoT Core для Raspberry Pi 3, модель B +
- Windows 10 IoT Core:робот, управляемый речью
- GoPiGo v2 с Windows IoT
- Сила настоящего:почему Интернет вещей важен в вашей цифровой трансформации
- Монитор сердечного ритма с использованием Интернета вещей
- Бассейн Azure IoT
- Отчеты PLCnext Power BI