Оглавление:

Беспроводной датчик температуры и движения IoT: 11 шагов (с изображениями)
Беспроводной датчик температуры и движения IoT: 11 шагов (с изображениями)

Видео: Беспроводной датчик температуры и движения IoT: 11 шагов (с изображениями)

Видео: Беспроводной датчик температуры и движения IoT: 11 шагов (с изображениями)
Видео: Wi-Fi термометр на 2 датчика ds18b20 ESP8266 и blynk 2024, Ноябрь
Anonim
Беспроводной датчик температуры и движения IoT
Беспроводной датчик температуры и движения IoT

Меня вдохновили многие проекты IoT, которые есть в Instructables, поэтому в процессе обучения я пытаюсь объединить несколько полезных приложений, которые актуальны. В качестве расширения к моим предыдущим инструкциям, связанным с датчиком температуры IoT, я теперь добавил больше возможностей в подсистему. Дополнительные функции:

- NTP-соединение, чтобы узнать время

- светодиод, которым можно управлять дистанционно

- Датчик PIR для обнаружения движения

- Подключен Raspberry PI под управлением homekit для подключения к iPhone «Home».

Шаг 1. Концепция, возможности подключения и компоненты

Концепция, возможности подключения и компоненты
Концепция, возможности подключения и компоненты

Концепция, показанная выше, заключается в том, чтобы обеспечить удаленный мониторинг температуры с дополнительной возможностью обнаруживать движение, если кто-то находится дома, и разрешать уведомление с помощью светодиода. Доступ к устройству можно получить локально в локальной сети или удаленно через веб-сервер. Вы также можете подключить Raspberry pie (необязательно) с установленным аксессуаром Homekit, чтобы обеспечить подключение к приложению iPhone «Home».

Как и в предыдущей версии, в этом проекте требуются следующие компоненты, обратите внимание, что ссылка ниже является партнерской ссылкой, поэтому, если вы не хотите участвовать, просто перейдите напрямую.

- Плата разработчика NodeMcu Lua ESP8266. Я получаю свой от Banggood.

- датчик температуры LM35

- Датчик PIR

- ВЕЛ

- Макетная доска

- Arduino IDE

- Рабочий веб-сервер с включенными скриптами php-сервера

- Raspberry pi (необязательно)

Шаг 2. Заставьте IDE Arduino работать

Заставьте IDE Arduino работать
Заставьте IDE Arduino работать

Подробнее об этом шаге см. В моих предыдущих инструкциях Шаг 2. Датчик температуры IoT с ESP8266.

Шаг 3: Подключение датчика температуры, светодиода и ИК-датчика

Подключение датчика температуры, светодиода и ИК-датчика
Подключение датчика температуры, светодиода и ИК-датчика
Подключение датчика температуры, светодиода и ИК-датчика
Подключение датчика температуры, светодиода и ИК-датчика
Подключение датчика температуры, светодиода и ИК-датчика
Подключение датчика температуры, светодиода и ИК-датчика

Датчик температуры LM35 имеет 3 ножки, первая ножка - VCC, вы можете подключить его к 3,3 В (выход платы ESP8266 - 3,3 В). Средняя ножка - это Vout (откуда считывается температура, вы можете подключить ее к аналоговому входу вывода AD0 ESP8266, он расположен в верхней правой части платы, как показано на рисунке. А правая ножка должна быть подключен к земле.

Датчик PIR также состоит из 3 ножек, вы можете увидеть крошечные отметки +, 0, - на плате рядом с ножкой. Итак, подключите «+» к 3,3 В, «-» к земле, а средний контакт «0» к контакту D6 ESP8266.

У светодиода было только 2 ножки: «+» (анод), более длинная ножка подключила его к контакту D5 ESP8266 и «-» (катод), более короткие ножки должны быть подключены к земле (GND).

Шаг 4: Настройка облачного веб-сервера

Для этого шага есть определенное предположение:

У вас уже есть работающий веб-сервер, размещенный в правильном домене. И вы знакомы с передачей файлов на свой веб-сервер через FTP с помощью Filezilla или какой-либо другой программы FTP.

Загрузите прикрепленный zip-файл в корень вашего веб-сайта. Предположим, для этого упражнения ваш веб-сайт - "https://arduinotestbed.com".

Предполагается, что весь файл находится в корне веб-сервера. Если вы сохранили его в другой папке, отрегулируйте расположение файла соответствующим образом как в файле ArduinoData3.php, так и в эскизе Arduino. Если вы не уверены, дайте мне знать, и я постараюсь помочь.

Шаг 5: Настройка базы данных для хранения данных о температуре

Настройка базы данных для хранения данных о температуре
Настройка базы данных для хранения данных о температуре
Настройка базы данных для хранения данных о температуре
Настройка базы данных для хранения данных о температуре
Настройка базы данных для хранения данных о температуре
Настройка базы данных для хранения данных о температуре

мы используем базу данных sqllite для этого упражнения. Sqllite - это база данных на основе легких файлов, для которой не требуется сервер. База данных находится локально на вашем веб-сервере. Если вас беспокоит безопасность, вам следует изменить код, чтобы использовать правильный сервер базы данных, такой как mysql или MSSQL.

Перед тем, как начать, вам необходимо изменить пароль базы данных, расположенный в файле phpliteadmin.php. Итак, откройте этот файл на своем веб-сервере и измените информацию о пароле в строке 91 на тот пароль, который вам нужен.

Затем укажите phpliteadmin.php на своем веб-сервере. Используя наш пример, прежде чем вы должны указать на

Поскольку на сервере нет базы данных, вам будет представлен экран для создания базы данных. Введите «temperature.db» в поле ввода новой базы данных и нажмите кнопку «Создать». База данных будет успешно создана. На данный момент база данных все еще пуста, поэтому вам понадобится сценарий sql для создания структуры таблицы базы данных для размещения данных.

Шаг 6: Создайте "температурную" таблицу

Создать
Создать
Создать
Создать

Чтобы создать таблицу, щелкните вкладку «SQL» и вставьте следующий запрос sql.

НАЧАТЬ СДЕЛКУ;

---- - Структура таблицы для температуры ---- CREATE TABLE 'temperature' ('ID' INTEGER PRIMARY KEY NOT NULL, влажность INT NOT NULL, температура REAL, временная метка DATETIME DEFAULT CURRENT_TIMESTAMP, 'heating' BOOLEAN, 'goaltemp' НАСТОЯЩИЙ); СОВЕРШИТЬ;

Затем нажмите кнопку «Перейти» внизу. Таблица должна быть создана успешно.

Если вы обновите страницу, вы должны увидеть таблицу «температура» под базой данных temperature.db в левой части. Если вы нажмете на таблицу температур, если по-прежнему нет данных.

Теперь, когда у нас есть база данных, вы можете указать следующий URL-адрес

arduinotestbed.com/ArduinoData3.php

Вы увидите шкалу температуры, показывающую фиктивные данные, датчик движения и панель управления для включения светодиода. Нижняя часть графика по-прежнему будет пустой, потому что данных еще нет.

Шаг 7. Загрузите эскиз датчика температуры в ESP8266

Загрузите эскиз датчика температуры в ESP8266
Загрузите эскиз датчика температуры в ESP8266
Загрузите эскиз датчика температуры в ESP8266
Загрузите эскиз датчика температуры в ESP8266
Загрузите эскиз датчика температуры в ESP8266
Загрузите эскиз датчика температуры в ESP8266

Теперь скопируйте весь прикрепленный файл и откройте «ESP8266TempPIRSensor.ino», интерфейс Arduino создаст для вас папку. Переместите остальные файлы в новую папку, созданную интерфейсом Arduino.

При необходимости измените указанный веб-сервер и расположение файла data_store3.php. Затем загрузите скетч в ESP8266.

Если все пойдет хорошо, он должен быть успешно загружен, и в первый раз ESP перейдет в режим AP. Вы можете использовать свой ноутбук или мобильный телефон для подключения к нему. Вы сможете найти точку доступа по имени «ESP-TEMP». - Попробуйте подключиться к ESP-TEMP с помощью портативного компьютера или мобильного телефона. - Узнайте, какой IP-адрес вам назначен, выполнив следующие действия. Команда "ipconfig" в Windows или команда "ifconfig" в Linux или Mac. - Если вы используете iphone, нажмите кнопку i рядом с ESP-TEMP, к которому вы подключены - Откройте браузер и укажите на ESP-TEMP, если вам назначен 192.168.4.10 в качестве IP-адреса, ESP-TEMP имеет IP-адрес 192.168.4.1, поэтому вы можете просто перейти на https://192.168.4.1, и вам должна быть представлена страница настроек, где вы можете ввести ssid своего Wi-Fi роутера и ключ psk. после того, как вы ввели оба этих параметра и отметили галочкой поле «Обновить конфигурацию Wi-Fi», нажмите «обновить», чтобы обновить настройки до вашего ESP8266.

Если вы хотите включить отладку последовательного монитора, вам нужно будет раскомментировать

#define DEBUG

строку в clock.h и прокомментировал

// # undef DEBUG

линия. затем нажмите Инструменты-> Монитор последовательного порта. Окно последовательного монитора покажет вам прогресс подключения Wi-Fi и покажет локальный IP-адрес ESP8266. Внутренний синий светодиод мигнет один раз при считывании температуры. Он также включается при обнаружении движения.

Шаг 8: доступ к датчику температуры и движения

Доступ к датчику температуры и движения
Доступ к датчику температуры и движения
Доступ к датчику температуры и движения
Доступ к датчику температуры и движения

Теперь вы должны снова указать на локальный веб-сервер ESP8266. И это покажет время, температуру и датчик движения.

Теперь вы также можете указать свой внешний веб-сервер, в этом примере

Вы можете сдвинуть кнопку под панелью управления, чтобы включить светодиод. Я использую это, чтобы уведомить своих детей, когда возвращаюсь с работы домой.

Датчик движения обновляется каждые секунды или около того, поэтому вам придется чаще обновлять страницу, чтобы видеть, обнаружено ли движение. На данный момент автоматическое обновление установлено на 60 секунд. Температура будет считываться каждые пару минут, но вы также можете настроить это время на удобное для вас время.

Поздравляем, если вы зашли так далеко !!, похлопайте себя по плечу и наслаждайтесь своим творением. Следующий шаг является необязательным, только если вы хотите иметь возможность управлять светодиодом и контролировать температуру, а также датчик движения с устройств Apple.

Шаг 9: Установите HomeBridge для HomeKit в Raspberry Pi (необязательно)

Установите HomeBridge для HomeKit в Raspberry Pi (необязательно)
Установите HomeBridge для HomeKit в Raspberry Pi (необязательно)

Меня вдохновили инструкции от GalenW1, которые позволяют мне так много узнать о HomeBridge.

Чтобы установить HomeBridge для HomeKit на Raspberry Pi, вы можете использовать следующую инструкцию.

github.com/nfarina/homebridge

HomeBridge позволяет подключить приложение Home в Iphone к датчикам, которые вы только что создали на предыдущих шагах.

После того, как вы установили HomeBridge, вам необходимо установить несколько плагинов:

- Датчик температуры

- Датчик движения

- Выключатель

sudo npm install -g homebridge-http-temperature

sudo npm install -g homebridge-MotionSensor

sudo npm install -g homebridge-http-simple-switch

После установки плагина вам нужно будет настроить файл config.json, расположенный ниже.

sudo vi /home/pi/.homebridge/config.json

вы можете настроить содержимое файла config.json, как показано ниже, убедитесь, что URL-адрес указывает на правильное место.

Шаг 10: Подключение Homebridge к вашему Iphone

Подключение Homebridge к вашему Iphone
Подключение Homebridge к вашему Iphone
Подключение Homebridge к вашему Iphone
Подключение Homebridge к вашему Iphone
Подключение Homebridge к вашему Iphone
Подключение Homebridge к вашему Iphone

Теперь, когда все аксессуары были настроены, вы можете запустить домашний мост, используя следующую команду

Homebridge

Вы должны увидеть экран, как показано выше. Вы можете выполнить следующий шаг, чтобы добавить Homebridge в свой домашний комплект.

- Теперь запустите приложение "Дом" на своем Iphone.

- Нажмите кнопку «Добавить аксессуары».

- вам будет представлен экран для сканирования кода, вы можете использовать камеру своего телефона для сканирования кода с экрана Raspberry Pi или добавления кода вручную.

Обратите внимание, что для работы Iphone и Raspberry Pi должен быть установлен один и тот же беспроводной маршрутизатор.

- После подключения на экране появится сообщение о том, что ваши аксессуары не сертифицированы. Нажмите кнопку «Все равно добавить», чтобы продолжить.

- Затем у вас будет возможность настроить каждый из аксессуаров, в этом случае у нас есть выключатель света, датчик движения и датчик температуры.

- Последний экран покажет вам все подключенные аксессуары.

После подключения вы можете использовать Siri для проверки датчика движения, температуры и включения и выключения света.

Шаг 11. Заставьте свой Homebridge работать в фоновом режиме

Заставьте свой Homebridge работать в фоновом режиме
Заставьте свой Homebridge работать в фоновом режиме
Заставьте свой Homebridge работать в фоновом режиме
Заставьте свой Homebridge работать в фоновом режиме
Заставьте свой Homebridge работать в фоновом режиме
Заставьте свой Homebridge работать в фоновом режиме

Поздравляю !! вы сделали это. В качестве бонуса вы можете запустить homebridge в фоновом режиме, используя следующую команду:

хоумбридж и

Теперь вы можете повеселиться с Siri и получить удовольствие от своей тяжелой работы.

Спасибо, что следили за этим до конца. Если вам это нравится, оставьте, пожалуйста, несколько комментариев или проголосуйте за меня.

Рекомендуемые: