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

Создайте пожарный извещатель за считанные минуты с помощью Samsung SAMIIO, Arduino UNO и Raspberry Pi

Давайте создадим IoT-устройство, которое отправляет данные датчика пламени в SAMI с помощью веб-сокетов SAMI. Устройство IoT состоит из стандартного датчика, Arduino UNO и Raspberry Pi.

В этой реализации простой манифест используется для быстрого создания нового типа устройства. Затем вы можете легко подключить устройство IoT к SAMI и начать отправку данных датчика с устройства в SAMI.

Предварительные требования

”’ Для этого урока вы должны быть знакомы с базовые SAMI API . ”’

Архитектура

На фиолетовой диаграмме ниже показана архитектура высокого уровня:

Мы используем следующие аппаратные компоненты:

Мы напишем следующее программное обеспечение:

Загрузите программное обеспечение сейчас.

”’ Если у вас нет Raspberry Pi, вы все равно можете изучить это руководство. Подключите Arduino UNO к компьютеру, у которого есть подключение к Интернету, и запустите сценарий Node.js на компьютере вместо Raspberry Pi ».

Шаг 1. Создайте и подключите новый тип устройства

Перейдите на портал разработчика, чтобы создать частный тип устройства.

  1. Сначала войдите на портал разработчиков SAMI. Если у вас нет учетной записи Samsung, вы можете создать ее на этом этапе.
  2. Нажмите «+ Новый тип устройства».
  3. Назовите этот тип устройства «Датчик пламени» и присвойте ему уникальное имя, например «com.example.iot.flame».
  4. Нажмите «Создать тип устройства». Будет создан тип устройства, и вы перейдете на страницу типов устройств.

Теперь давайте создадим манифест для нашего типа устройства «Датчик пламени».

  1. Нажмите «Датчик пламени» в левом столбце.
  2. Нажмите «Манифест», а затем «+ Новая версия».
  3. Введите «onFire» в качестве имени поля и «логическое» в качестве типа данных.
  4. Нажмите «Сохранить», а затем «Далее:Действия».
  5. Пропустите действия для этого руководства и нажмите «Сохранить новый манифест».

”’ Простой манифест утверждается автоматически. Не публикуйте этот тип устройства, поскольку он используется только в учебных целях ».

Наконец, перейдите на портал пользователя, чтобы подключить новое устройство датчика пламени:

  1. Войдите на портал пользователей SAMI.
  2. На панели управления нажмите, чтобы подключить новое устройство.
  3. Выберите только что созданный тип устройства «Датчик пламени».
  4. Нажмите «Подключить устройство…». Вы вернетесь на панель управления.
  5. Щелкните значок "Настройки" только что добавленного устройства. Во всплывающем окне нажмите «СОЗДАТЬ ЖЕТОН УСТРОЙСТВА…».
  6. Скопируйте идентификатор устройства и токен устройства на этот экран. Вы будете использовать их в коде.

Шаг 2. Настройте Arduino

Теперь давайте подключим датчики к Arduino.

Два датчика подключены, как на изображении Frizting выше.

Затем загрузите программу Sketch ( read_flame_sensor.ino ) в Arduino UNO с помощью Arduino IDE. Этот код считывает одно цифровое значение с ИК-датчика пламени, а затем отправляет его в последовательный порт каждые 5 секунд (вы можете изменить этот параметр в коде позже, поскольку SAMI имеет ограничения скорости для количества сообщений в день). Для цифровых значений «0» означает, что пожар обнаружен, а «1» означает, что возгорание нет.

Вот read_flame_sensor.ino . Код прост.

// Задержка между чтениями
const int delayBetweenReads =5000; // 5 с

// Для датчика пламени senso const int flameDigitalPinIn =2;

void setup () {

// инициализируем последовательную связь @ 9600 бод:

Serial.begin (9600);

pinMode (flameDigitalPinIn, INPUT);

}

void loop () {

// ВЫСОКИЙ (1) означает, что возгорания не обнаружено

// LOW (0) означает, что пожар обнаружен

int flameDigitalReading =digitalRead (flameDigitalPinIn); Serial.println (String (flameDigitalReading));

задержка (delayBetweenReads);

}

Шаг 3. Настройте Raspberry Pi

Подключите Raspberry Pi к монитору, мыши и клавиатуре. Убедитесь, что соединение Ethernet или WiFi работает, и убедитесь, что ОС обновлена:

  1. $ sudo apt-get update
  2. $ sudo apt-get upgrade

Если еще не установлен, установите Node.js для ARM, затем добавьте пакеты serialport и WS через npm:

  1. $ npm установить последовательный порт
  2. $ npm install ws

Теперь подключите последовательный порт от Arduino к USB на Raspberry Pi.

Наконец, загрузите код Node.js ( send_data_to_sami.js ) к Raspberry Pi. Замените заполнители в коде токеном устройства и идентификатором устройства, полученным с пользовательского портала.

Код Node.js также приведен ниже. Он устанавливает двунаправленное соединение WebSocket между Raspberry Pi и SAMI. После открытия соединения WebSocket, register () регистрирует устройство с помощью WebSocket. Каждый раз код считывает одну точку данных из последовательного порта, затем помещает ее в сообщение и отправляет сообщение в SAMI через WebSocket.

var webSocketUrl =«wss://api.samsungsami.io/v1.1/websocket? ack =true»;
var device_id =«»; var device_token =«»;

var isWebSocketReady =false; var ws =null;

var serialport =require («последовательный порт»)

var SerialPort =serialport.SerialPort;

var sp =new SerialPort («/ dev / ttyACM0», {

скорость передачи:9600,

парсер:serialport.parsers.readline («\ n»)

});

var WebSocket =require (‘ws’);

/ **

* Получает текущее время в миллисекундах

* /

функция getTimeMillis () {

вернуть parseInt (Date.now (). toString ());

}

Подробнее:Создайте пожарный извещатель за считанные минуты с помощью Samsung SAMIIO, Arduino UNO и Raspberry Pi


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

  1. Простой детектор детского плача своими руками с Raspberry Pi
  2. Аэропоника с Raspberry Pi и датчиком влажности
  3. Создание роботов с Raspberry Pi и Python
  4. Создайте своего робота для видеостриминга, управляемого через Интернет, с помощью Arduino и Raspberry Pi
  5. Часы Arduino с исламским временем молитв
  6. Управление роботом Roomba с помощью Arduino и устройства Android
  7. Отображение изображения на ЖК-экране TFT с помощью Arduino UNO!
  8. Управление серводвигателем с помощью Arduino и MPU6050
  9. u-blox LEA-6H 02 GPS-модуль с Arduino и Python
  10. Распознавание и синтез речи с помощью Arduino