Оглавление:
- Шаг 1. Установите реактивные блоки
- Шаг 2. Загрузите приложение из библиотек
- Шаг 3: приложение на верхнем уровне
- Шаг 4. Включите SMS
- Шаг 5: Создайте и запустите приложение на своем ноутбуке
- Шаг 6: Запустите приложение на вашем компьютере
- Шаг 7. Экспорт в виде исполняемого файла JAR
- Шаг 8: подготовьте Raspberry Pi
- Шаг 9: Разверните приложение на Raspberry Pi
- Шаг 10: запустите приложение на Raspberry Pi
- Шаг 11: Измените свое приложение
Видео: Система сигнализации обнаружения движения: 11 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Примечание! Реактивные блоки больше не доступны для загрузки. Для обнаружения движения в комнате можно использовать обычную USB-камеру. В следующих шагах мы покажем вам, как можно использовать реактивные блоки для программирования готового к запуску приложения Java, которое отправляет SMS или электронную почту при обнаружении движения. С помощью Reative Blocks вы создаете приложения Java SE, чтобы приложение сигнализации можно было развернуть на любой машине с Java SE и подключенной или интегрированной камерой. Приложение легко развертывается на Pi, поскольку в выпуске Raspbian предустановлен Oracle Java..
Это то, что вам нужно:
- Raspberry Pi Model B + с ОС Raspbian
- Стандартная USB-камера
- сетевой кабель
- Экран и клавиатура для Pi
- Компьютер Windows или MAC с JDK
- Примечание! Реактивные блоки больше не доступны для загрузки. Для программирования приложения вам понадобится подключаемый модуль Reactive Blocks для Eclipse.
Это приложение сигнализации является одним из нескольких модифицируемых примеров систем, доступных после установки Reactive Blocks. Приложение готово к запуску сразу после установки, и вам не потребуются какие-либо навыки программирования на Java, чтобы пройти обучение. Чтобы создавать свои собственные приложения и строительные блоки Reactive Blocks, вам нужно быть опытным программистом на Java. При создании более сложных приложений с несколькими датчиками и исполнительными механизмами Reactive Blocks упрощает получение правильной логики и потока данных. Reactive Blocks бесплатен для проектов с открытым исходным кодом.
Шаг 1. Установите реактивные блоки
Реактивные блоки больше не выпускаются
Шаг 2. Загрузите приложение из библиотек
Убедитесь, что вы открыли перспективу «Реактивные блоки» и находитесь в представлении «Блоки». В представлении «Блоки» нажмите кнопку импорта и выберите «Справочные приложения». Выберите проект обнаружения движения. На этом этапе вам будет предложено зарегистрироваться с идентификатором Google. Это даст вам немедленный доступ к библиотекам строительных блоков, а также к модифицируемым системам и руководствам.
Скачанный вами проект обнаружения движения включает в себя три приложения: SMS системы охранной сигнализации, электронную почту системы сигнализации и тестовое приложение «Проверка обнаружения движения». В этом уроке мы проведем вас через SMS системы охранной сигнализации. Если вы предпочитаете отправлять электронную почту, вы можете проделать те же шаги с электронной почтой системы охранной сигнализации.
Шаг 3: приложение на верхнем уровне
Этот шаг дает объяснение приложения. На первом рисунке показана диаграмма того, как полное приложение выглядит на верхнем уровне. Он состоит из 7 строительных блоков; 5 стандартных строительных блоков из библиотек и 2 индивидуальных блока, которые были созданы для этого приложения.
Стандартные блоки из библиотеки IoT:
- Граббер, захватывает изображения с USB-камеры
- Обнаружение движения, выполняет фактическое обнаружение изображения
- Периодический таймер запускается с точных отметок времени и посылает сигнал на тиковый штифт каждый период.
- Buffer Eager автоматически выталкивает первый элемент в очереди. Буфер гарантирует, что в блок отправки SMS отправляется только одно сообщение, поскольку он может обрабатывать только одно сообщение за раз.
- SMS Send Buffered, отправляет SMS через службу Twilio. Отправляемые элементы помещаются в буфер, чтобы гарантировать, что за раз отправляется только одно сообщение.
- Ограничитель, чтобы избежать слишком большого количества SMS при обнаружении злоумышленника.
- Чтение файла свойств Java, чтение данных конфигурации из входного файла
- Просмотр, просмотр изображения на экране.
Блок Periodic Timer работает как системный двигатель. Он будет периодически выдавать галочку, которая посылает сигнал блоку Grabber через захват. Блок Grabber использует Open Intelligent Multimedia Analysis для Java, OpenIMAJ. При инициализации блока запускается отдельный поток для чтения данных с камеры. Поток прослушивает очередь команд. Когда блок получает команду через штифт захвата, он делает одно изображение и доставляет его на штифт изображения.
Затем изображение передается в блок обнаружения движения, который выполняет фактическое обнаружение изображения. Блок обнаружения движения также использует OpenIMAJ. Метод в этом блоке сравнивает два изображения и помечает изменения в изображении при обнаружении движения. Этот метод очень загружает процессор и должен выполняться в отдельном потоке. Когда изображение обнаруживается, оно сигнализируется контактом motionDetected, который запускает генерацию SMS-сообщения.
Голубые прямоугольники - это все методы Java, специально созданные для этого приложения. Щелчок по блоку метода открывает редактор Java.
Когда вы нажимаете на строительный блок, вы можете увидеть детали логики внутри блока. Если вы, например, заглянете внутрь блока ReadConfig, вы увидите, что он сделан путем объединения одного существующего стандартного блока и 4 методов Java.
Ограничитель устанавливает ограничение на количество генерируемых сообщений. Обратите внимание на букву P в правом углу строительного блока. Он указывает на то, что вы можете установить минимальное значение того, как долго приложение должно ждать, прежде чем оно отправит новое SMS. Значение по умолчанию - 300000 мс, т. Е. 5 минут. Чтобы изменить значение. Щелкните блок правой кнопкой мыши и выберите параметры и универсальные шаблоны.
Шаг 4. Включите SMS
Это приложение для сигнализации использует Twilio в качестве службы SMS. Чтобы включить SMS, вы должны отредактировать файл config / alarm-system.properties. Вы можете найти его в представлении проводника пакетов в разделе br.ref.motiondetection, см. Рисунок.
Это тот же файл, который используется в электронной почте системы охранной сигнализации. Если вы предпочитаете получать уведомления по электронной почте, вы воспользуетесь этим приложением и отредактируете файл, указав свои учетные данные электронной почты.
Если у вас нет службы Twilio, вы можете изменить приложение, чтобы использовать свою собственную службу SMS. У нас также есть готовый к использованию строительный блок для сервиса Clickatell. Или вы можете подключить модем для отправки СМС.
Вы можете найти строительные блоки для электронной почты SMTP, AirVantage Cloud, IBM Bluemix и Xively, и это лишь некоторые из них.
Обратите внимание, что для внесения изменений вам необходимо сначала создать собственный проект. Затем скопируйте / продублируйте приложение во вновь созданный проект. Вы можете увидеть, как это делается, здесь:
Не стесняйтесь обращаться ко мне, если вам понадобится помощь
Шаг 5: Создайте и запустите приложение на своем ноутбуке
Вам необходимо собрать приложение, прежде чем запускать его, и развернуть его на Raspberry Pi. Это делается с помощью генератора кода Reactive Blocks, который создает полный Java-проект из структуры строительных блоков. Код, представляющий диаграммы, представляет собой код синхронизации, который обрабатывает события в правильном порядке и в нужное время и обычно составляет более 60% строк кода в вашей программе. Поскольку строительные блоки представляют собой точные математические структуры, генератор может преобразовать эту логику в очень эффективный код. Это очень хорошая функция реактивных блоков, потому что писать такой код вручную утомительно и сложно. Все, что вам нужно сделать, чтобы сгенерировать код:
Щелкните правой кнопкой мыши проект Alarm System SMS на вкладке "Проекты" и выберите "Стандартная версия Java". Убедитесь, что информация для регистрации - это ИНФОРМАЦИЯ. Сгенерированный проект автоматически откроется на вкладке Package Explorer. Смотрите рисунок для деталей.
Шаг 6: Запустите приложение на вашем компьютере
Теперь вы можете выполнить сгенерированный проект. В представлении Package Explorer под созданным проектом _exe щелкните правой кнопкой мыши AlarmSystemSMS.launch и выберите RunAs, а затем выберите AlarmSystemSMS.
Следите за окном на экране и представлением консоли. Должно получиться примерно так, как на второй картинке.
Закройте приложение, закрыв окно камеры.
Для приложения отправки электронной почты: если вы получаете ошибку аутентификации, убедитесь, что отправка SMTP разрешена для вашей электронной почты. См. Устранение неполадок в нижней части руководства по электронной почте:
Шаг 7. Экспорт в виде исполняемого файла JAR
Если вы хотите запустить приложение на Raspberry Pi, следующим шагом будет экспорт сгенерированного проекта в исполняемый файл JAR. Для этого щелкните правой кнопкой мыши исполняемый проект в представлении проводника пакетов и выберите экспорт. Затем выберите параметр «Запускаемый файл JAR» и нажмите «Далее». В следующем окне выберите правильную конфигурацию запуска и место для экспорта. В месте назначения экспорта используйте кнопку обзора, чтобы поместить файл.jar в место, где его можно будет найти.
Шаг 8: подготовьте Raspberry Pi
- Подготовьте SD-карту с помощью Raspbian (мы тестировали с помощью NOOBS)
- Вставьте SD-карту в Raspberry pi
- Подключите камеру
- Подключите сеть
- Подключите экран и клавиатуру к Pi
- Запустите Raspberry pi, подключив микро-USB для питания.
- Узнайте IP-адрес своего Raspberry Pi. При запуске ваш Raspberry Pi сообщит что-то вроде «Мой IP-адрес - 10.10. 15.107».
- Мы тестировали Raspbian (логин по умолчанию: pi, пароль: raspberry), который по умолчанию включает Java.
Шаг 9: Разверните приложение на Raspberry Pi
Чтобы скопировать исполняемый файл jar с вашего компьютера на Rapsberry Pi, выполните следующие действия:
- Откройте терминал на вашем компьютере
- Перейдите в каталог, в котором находится сгенерированный файл JAR.
- Введите scp alarmsystem.jar [email protected]: ~ /
- Вам будет предложено ввести комбинацию пароля. «пи» - это имя пользователя по умолчанию, а «малина» - пароль по умолчанию.
- Перейдите в каталог, в котором находится файл конфигурации alarm_system.properties. Для меня проще всего вручную скопировать файл из редактора Eclipse в тот же каталог, что и файл jar.
- Введите scp motiondetection.ini [email protected]: ~ /
10.10.15.107 - это IP-адрес, замените его IP-адресом вашего Raspberry Pi.
- Конечно, вы также можете использовать карту памяти, чтобы скопировать ее на Pi
Шаг 10: запустите приложение на Raspberry Pi
Теперь вы готовы запустить приложение.
- Войдите в Raspberry Pi напрямую или удаленно через ssh.
- Создайте новый каталог конфигурации: mkdir config
- Убедитесь, что исполняемый файл JAR и.ini скопированы в Raspberry Pi.
- Переместите файл.ini в каталог конфигурации: mv alarm_system.properties config /
- Введите sudo java -jar alarmsystem.jar.
- Следите за выводом на консоли
- Завершить с помощью ^ C
Шаг 11: Измените свое приложение
Теперь вы можете изменять и расширять свое приложение по своему усмотрению. Если вы хотите расширить импортированную систему, подобную этой системе сигнализации, вам сначала нужно создать свой собственный проект и скопировать систему сигнализации в свой собственный проект.
Обратите внимание, что для внесения изменений вам необходимо сначала создать собственный проект. Затем скопируйте / продублируйте приложение во вновь созданный проект. Вы можете увидеть, как это делается, здесь:
Следуйте инструкциям по IoT Tuturial, чтобы получить пошаговые инструкции по созданию или изменению конкретных приложений Reactive Blocks.
Рекомендуемые:
ТРЕВОГА ОБНАРУЖЕНИЯ ДВИЖЕНИЯ: 7 шагов
СИГНАЛИЗАЦИЯ ОБНАРУЖЕНИЯ ДВИЖЕНИЯ: Здравствуйте, друзья, я покажу вам, как сделать сигнализацию обнаружения движения. основной компонент этого проекта - датчик PIR
Как сделать интеллектуальную систему сигнализации обнаружения наводнений с использованием Raspberry Pi и частиц аргона: 6 шагов
Как сделать интеллектуальную систему сигнализации обнаружения наводнений с использованием Raspberry Pi и частиц аргона: стандартные датчики наводнения отлично подходят для предотвращения серьезных повреждений вашего дома или рабочего места, но это затрудняет присутствие на сигнале тревоги, если вас нет дома. вы можете купить эти умные. Эта система сигнализации о наводнении обнаруживает любую жидкость и срабатывает
Система сигнализации обнаружения газа Arduino: 6 шагов
Система сигнализации обнаружения газа Arduino: Всем привет! Прямо сейчас я объясню, как построить систему сигнализации обнаружения газа Arduino в tinkercad. Эта схема использует датчик газа для обнаружения поблизости огня, дыма или утечки газа. Используя ЖК-дисплей и сигнализацию, эта схема также
Как создать систему обнаружения движения с помощью Arduino: 7 шагов
Как создать систему обнаружения движения с помощью Arduino: Создайте счетчик производства движения и присутствия, используя Feather HUZZAH, запрограммированный с помощью Arduino и работающий на Ubidots. Эффективное обнаружение физического движения и присутствия в умных домах и умном производстве может быть очень полезно в приложениях, начиная от
Push-оповещения Arduino для дверного звонка, охранной сигнализации, дымовой сигнализации и т. Д.: 8 шагов
Push-оповещения Arduino для дверного звонка, охранной сигнализации, дымовой сигнализации и т. Д .: IoT-уведомления от дверного звонка, охранной сигнализации, дымовой сигнализации и т. Д. С использованием Arduino Uno и Ethernet Shield. Полная информация на моем веб-сайте здесь О Arduino Push Alert Box Использует Arduino Uno и Ethernet Shield на основе чипа Wiznet W5100 для