Телефонуйте » (+38) 096 227 41 41

Сенсори руху - це високотехнологічні пристрої безпеки, які ви бачите зараз не лише в кіно, чи не так? Навчимося, як зробити свій власний пристрій відстеження руху.

Побудуємо пасивний інфрачервоний (PIR) сенсор руху, з'єднаний через Wi-Fi з EasyIoT Cloud в Інтернеті. Використаємо ESP8266, модуль PIR і Arduino IDE.

Вступ

Конфігурація EasyIoT Cloud

Зареєструйтеся на сервісі EasyIoT Cloud. Якщо не отримаєте підтвердження реєстрації на електронну пошту, то перевірте папку зі спамом. Якщо і там її немає, зв'яжіться з власниками ресурсу і вони активують ваш обліковий запис.
Потім перейдіть Configure->Modules->Add Module. Установіть Digital Input (DI) - цифровий вхід як тип модуля і ім'я його сенсора PIR:

Далі натисніть на Sensor.Parameter1. Встановіть "Description" для PIR і перевірте повідомлення UI для того, щоб отримувати повідомлення в реальному часі через веб-інтерфейс:

Натисніть кнопку збереження (Save parameter). Після збереження, ви побачите InstanceId/ParameterId. Запишіть - це знадобиться нам пізніше в програмі:

Поверніться до модуля конфігурації і додайте ще два параметри (через кнопку Add parameter).
Це два параметри, щоб задати текст в модулі. Ім'я першого параметра Settings.StatusText1, а другий Settings.StatusText2. Встановіть значення для першого як "Motion", а для другого як "Ok".
Далі, встановимо зображення для модуля. Для цього додайте ще два параметри і назвіть їх Settings.Icon1 і Settings.Icon2. Для першого параметра встановіть значення "siren_2.png", а для другого параметра встановіть значення "siren_1.png".
Після додавання всіх параметрів конфігурація модуля повинна виглядати наступним чином:

Програма

Програма написана в Arduino IDE ESP8266. Зверніться до керівництва Arduino ESP8266 IDE, щоб дізнатися, як підключити модуль ESP8266 до комп'ютера, щоб завантажити програму. Програма доступна на GitHub. Вам також знадобиться бібліотека EIoTCloudRestApi. У бібліотеці, вкажіть ім'я користувача точки доступу і пароль.

/*
 Created by Igor Jarc
 See http://iot-playground.com for details
 Please use community forum on website do not contact author directly
 
 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License
 version 2 as published by the Free Software Foundation.
 */
#include <ESP8266WiFi.h>
#include "EIoTCloudRestApi.h"

// EasyIoT Cloud definitions - change EIOT_CLOUD_INSTANCE_PARAM_ID
#define EIOT_CLOUD_INSTANCE_PARAM_ID    "xxxx"

#define INPUT_PIN        2

EIoTCloudRestApi eiotcloud;
bool oldInputState;

void setup() {
  Serial.begin(115200);
  eiotcloud.begin();

  pinMode(INPUT_PIN, INPUT_PULLUP);
    
  oldInputState = !digitalRead(INPUT_PIN);
}

void loop() {
  int inputState = digitalRead(INPUT_PIN);;  
 
  if (inputState != oldInputState)
  {
    eiotcloud.sendParameter(EIOT_CLOUD_INSTANCE_PARAM_ID, (inputState == 1));
    oldInputState = inputState;
  }
}


У програмному забезпеченні змініть EIOT_CLOUD_INSTANCE_PARAM_ID:

// EasyIoT Cloud definitions - change EIOT_CLOUD_INSTANCE_PARAM_ID
#define EIOT_CLOUD_INSTANCE_PARAM_ID    "xxxx"

Підставимо INSTANCEID/ParameterId в конфігурацію параметрів:

Якщо змінили номера використаних виводів GPIO на ESP8266, то також змініть вказані виводи GPIO в програмі.

Апаратні засоби

У нашому випадку використовуємо ESP8266-01, але можете використати будь-який інший ESP8266 з програматором FDTI. Для джерела живлення можете взяти дві батареї типу АА або блок 3.3 В AMS1117.
Сенсор PIR живиться від 5 В, але якщо подивимося на схему, то побачимо, що всередині використовується 3.3 В. Оскільки в ESP8266 є 3.3 В, то можемо обійти внутрішній стабілізатор PIR:

Підключення після стабілізатора можна знайти на виводі 3 роз’єму JP1. У нашому випадку, ми підключили електроживлення 3.3 В до цього виводу, а не 5 В до зовнішнього виводу живлення.
Ви можете побачити це на наступному зображенню:

ESP8266 з підключеним ІЧ-сенсором

Нижче наведені з’єднання, які треба зробити:

І це все! Насолоджуйтесь сенсором руху.
(Джерело: dzone.com)

Новини

  • SDR в IoT

    iotSDR пропонує платформу розробок для IoT-радіо та мережевих доменів. На платі два передавачі Microchip AT86RF215, для вводу-виводу модему на Xilinx ZYNQ SoC, приймач GNSS MAX2769 для GPS, Galileo, BieDou та Glonass. Плата сумісна з ПЗ GNURadio SDR. Дозволяє розробити протоколи фізичного рівня LoRa, SigFox, WightLess, Bluetooth, BLE, 802.15.4, ZigBee тощо для IoT, або шлюз IoT через TheThingsNetwork, LPWAN або Google Thread. Пам'ять EEPROM: 1x AT24MAC602 , flash-пам'ять: 1x QSPI 128 Мб, RAM: 256 MБ DDR3,слот для Micro SD карти, входи/виходи: 2x 8-бітних інтерфейси PL, інтерфейс 8-бітного PS, Gigabit Ethernet, USB 2.0 (USB3310), USB 2.0 (CP2104), 2x SMA RF-роз'єми для приймача діапазонів IoT, 2x SMA RF-роз'єми для приймача 2,4 ГГц , RF-роз'єм приймач GNSS, FPGA-роз'єм JTAG для програмування. Розміри плати: 76,2 мм x 101,6 мм.

     

    in Новини

Записатися на курс