Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

MotionSense

Компоненты и расходные материалы

Arduino Mega
× 1
Espressif ESP8266 ESP-01
× 1
ИК-датчик HC-SR501
× 1
конденсатор 1000 мкФ
× 1
Резисторы и перемычки
× 1

Необходимые инструменты и машины

Кусачки

Приложения и онлайн-сервисы

Pushbullet

Об этом проекте

MotionSense

Введение

В этом руководстве я расскажу, как создать систему, которая уведомляет о любой несанкционированной активности или вторжении. Я использовал Arduino и PIR для обнаружения активности и ESP8266 для подключения к Wi-Fi. Мой Xperia Z1 используется для получения уведомлений. Я использовал приложение всплывающих уведомлений Pushbullet для получения уведомлений и API Pushbullet для отправки уведомлений от Arduino.


Необходимые знания

  • Знание Arduino и базового оборудования [посетите:www.arduino.cc]
  • Идея об AT-командах [прочтите:http://www.codeproject.com/Articles/85636/Introduction-to-AT-commands-and-its-uses]
  • ПИР, как это работает [о:https://en.wikipedia.org/wiki/Passive_infrared_sensor]


"Вещи"

Arduino Mega 2560

ESP8266 серийный WiFi вариант ESP-01

ИК-датчик HC-SR501

Конденсатор 1000 мкФ, разные резисторы [ конденсатор для питания WiFi, резистор для регулирования напряжения ]

Проволока с одинарной резьбой 0,5 мм [ соединительный провод ]

Перемычки "мама-мама" [ соединители ]

Xperia Z1 [для приложения Pushbullet подойдет любой смартфон]

Мой ноутбук [кодирование в Arduino]

IDE Arduino [v1.6.4]


Что делать

Среда настроена: Если у вас не установлен arduino, установите его с веб-сайта arduino.

Скрыть код копии

  Настройка PIR: 

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

Теперь откройте белую сферу датчика PIR, и вы увидите описание контакта:GND | ВНЕ | VCC

Подключите женские перемычки к GND VCC и OUT.

Теперь подключите другой конец перемычки (подключенной к PIR) к Arduino:

PIR GND -> Arduino GND

PIR VCC -> Arduino 5 В

PIR OUT -> ЦИФРОВОЙ контакт 2 [вы можете выбрать PIN-код по вашему выбору и также изменить код Arduino]

Чтобы проверить свой PIR, вы можете использовать этот код в Arduino Playground .

Итак, ваш PIR датчик ГОТОВ работать

Скрыть код копии

  Включение Arduino для подключения к Интернету через Wi-Fi: 

Я использовал для своего проекта последовательный WiFi-модуль ESP8266 (вариант ESP-01), который стоит довольно дешево. Помимо ESP-01 доступны другие варианты. Также доступны разные прошивки. Я использовал стандартную прошивку AT. Проверьте эти два изображения для справки о подключении

Не подключайте ESP8266 к Arduino с помощью перемычки:

ESP8266 GND -> Arduino GND

ESP8266 UXTX (вывод передачи) -> Arduino RX2 (вывод мега-приемника Arduino, т.е. Serial2 в коде)

ESP8266 CH_PD (сделать HIGH) -> Arduino 5V (добавьте один регулятор напряжения 0f 3.3, поскольку ESP 8266 может выдерживать 3.3 В. Я использовал резистор, так как у меня не было регулятора напряжения. Но регулятор напряжения предпочтительнее)

оставить RST, GPIO2 и GPIO0 неподключенными

ESP8266 URXD (контакт приемника) -> Arduino TX2 (вывод приемника Arduino, например, Serial2 в коде)

ESP8266 VCC -> 3,3 В Arduino

ESP8266 имеет проблемы с питанием во время передачи данных. Он потребляет столько энергии от Arduino, что Arduino может перезапуститься, если Arduino получает питание через USB-порт ПК. Даже при питании 5в через вилку может не хватить. Следовательно, всегда рекомендуется использовать внешний источник питания для ESP8266. Однако в своем эксперименте я использовал для этого быстрое и дешевое решение. Я использовал один электролитный конденсатор емкостью 1000 мкФ, чтобы обеспечить питание ESP8266.

более длинный контакт -> ESP8266 VCC подключен к 3,3 В

более короткий контакт -> ESP8266 GND подключен к Arduino GND

Итак, ваш ESP8266 Модуль Wi-Fi ГОТОВ работать

Скрыть код копии

  Pushbullet Notifier: 

Pushbullet позволяет вам незаметно уведомлять различные устройства с помощью push-уведомлений. Мы собираемся использовать его API для push-уведомлений нашего датчика PIR. УЗНАТЬ БОЛЬШЕ о Pushbullet

Начнем.

Перейти к PushBullet

Зарегистрируйтесь, загрузите приложение Chrome и приложение для смартфона.

Войдите в Pushbullet в ваших устройствах.

Теперь посмотрим, как это работает, отправляя push-сообщения на ваши устройства с помощью приложения или расширения Chrome, установленного на вашем компьютере.

Перейти в раздел API

ПРИМЕЧАНИЕ. Здесь все ссылки и URL-адреса API предоставляются для https-соединения, и Arduino не может использовать https, поскольку он не настолько эффективен, чтобы справиться с этим. Следовательно, мы будем использовать HTTP-версию этих API, которая не упоминается здесь в документации pushbullet, но я получил эту ссылку из github .

В документах pushbullet для отправки они упомянули URL-адрес, который является HTTPS, поэтому мы будем использовать URL-адрес HTTP и порт, предоставленные в этом проекте github. Также мы добавим / pushbullet ранее и путь REST, который они упомянули.

Пример:

для отправки уведомлений на все устройства, согласно pushbullet doc , Путь REST: / v2 / push

но мы будем использовать: / pushbullet / v2 / push

базовый URL: 173.17.168.19

порт: 8181

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

Вам понадобится ваш ключ аутентификации для отправки из Arduino. Так что перейдите в свою учетную запись

Найдите токен доступа , скопируйте и сохраните на свой компьютер в безопасном месте.

Итак, Pushbullet теперь ГОТОВ для отправки и получения push-уведомлений.


Пора писать код

Откройте этот проект GitHub

Перейдите в папку "Эксперименты". Там вы найдете MotionSense.ino . , ваш код, который будет отправлять уведомления на ваши смарт-устройства.

Скопируйте этот код в IDE arduino и подключите свой arduino (уже настроенный с WiFi и датчиком PIR).

Теперь измените эти параметры:

Скрыть код копии

 #define SSID "YOURSSID" / * замените YOURSSID на имя вашей точки доступа WiFi * / # define PASS "YOURPASSWORD" / * замените ВАШ ПАРОЛЬ на пароль вашей точки доступа WiFi * / 

Вы можете изменить вывод PIR OUT на желаемый

Скрыть код копии

 #define PIRPIN 2 / * изменение желаемого цифрового пина вашего Arduino * / # define AUTH_TOKEN "YOUR_TOKEN_FROM_YOUR_ACCOUNT"; / * замените YOUR_TOKEN_FROM_YOUR_ACCOUNT на свой токен доступа * / 

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

Теперь скомпилируйте и запустите.

Потребуется время на калибровку датчика, инициализацию модуля WiFi и подключение к вашей точке доступа.

Вы можете видеть это на своем последовательном мониторе.

После того, как все будет сделано, он начнет цикл по основному циклу, и вы увидите

«Все в порядке | Без вторжений»

в вашем последовательном мониторе постоянно.

Когда бы вы ни подошли к своему ИК-датчику, он обнаружит движение и отправит push-уведомление на ваши устройства.


Краткое понимание кода

#defines - это набор предопределенных параметров, которые необходимо изменить соответственно

В настройках вы можете увидеть инициализацию Arduino Serial (). Serial2 предназначен для последовательного доступа Wi-Fi.

Общие сведения о функциях :

Скрыть код копии

 sensor_calibration (); / * Калибрует датчик для правильного вывода. Перед этим нам нужно выключить PIRPIN * / 

Скрыть код копии

 check_WiFi_radio (); / * Проверяет исправен модуль WiFi * / 

Скрыть код копии

 reset_wifi (); / * сбрасывает модуль WiFi, чтобы устранить любую проблему * / 

Скрыть код копии

 set_wifi_mode (); / * Установить модуль WiFi в качестве клиента для подключения к точке доступа * / 

После настройки режима WiFi вам необходимо сбросить WiFi, чтобы установить его

Скрыть код копии

 check_wifi_stat (); / * Проверяет, подключен ли ваш WiFi-модуль к AP * / 

Скрыть код копии

 connect_ssid (); / * если не подключен, то подключится с вашим параметром подключения * / 

До этого ваш WiFi-модуль был инициализирован и подключен. Теперь вам нужно проверить считывание PIR, обнаруживает ли он движение или нет. Он будет в основном цикле.

Скрыть код копии

 pirRead (); / * считывает значение PIR, 0 или 1. Если 1, то датчик движения, если 0, то там ничего нет * / 

Если что-то обнаружено, то сначала нужно подключиться к серверу Pushbullet

Скрыть код копии

 server_connect (); / * подключение к серверу * / 

Теперь push-уведомление

Скрыть код копии

 сообщение (); / * отправка уведомления на все устройства * / 

отключить

Скрыть код копии

 server_disconnect (); / * закрываем соединение с сервером * / 

и пройти через

Код

Код MotionSense
Прочтите файл readme репозитория для объяснения кода https://github.com/anupam19/ESP8266-experiments

Схема


Производственный процесс

  1. Визитная карточка игры «Крестики-нолики»
  2. Многотемпературный датчик
  3. Управление паяльником DIY для 862D +
  4. Пожарная безопасность 3D-принтера
  5. Датчик Интернета вещей с Arduino, Yaler и IFTTT
  6. Отталкивающая электромагнитная левитация Arduino
  7. Бот для захвата удаленного управления
  8. Регистратор данных с погодными шарами на базе Arduino
  9. ArduFarmBot - Часть 2:Удаленная станция и реализация Интернета вещей
  10. CoroFence - Тепловой детектор🖖