Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Cree un detector de incendios en minutos con Samsung SAMIIO, Arduino UNO y Raspberry Pi

Construyamos un dispositivo de IoT que envíe datos del sensor de llama a SAMI utilizando WebSockets de SAMI. El dispositivo IoT consta de un sensor estándar, Arduino UNO y Raspberry Pi.

En esta implementación, se utiliza un manifiesto simple para crear rápidamente un nuevo tipo de dispositivo. Luego, puede conectar fácilmente el dispositivo IoT a SAMI y comenzar a enviar datos del sensor desde el dispositivo a SAMI.

Requisitos previos

"’ Para este tutorial, debe estar familiarizado con API de SAMI básicas . "’

Arquitectura

El siguiente diagrama violeta muestra la arquitectura de alto nivel:

Usamos los siguientes componentes de hardware:

Escribiremos el siguiente software:

Descargue el software ahora.

”’ Si no tiene una Raspberry Pi, aún puede trabajar con este tutorial. Conecte su Arduino UNO a su computadora que tiene una conexión a Internet y ejecute el script Node.js en la computadora en lugar de la Raspberry Pi ".

Paso 1:cree y conecte un nuevo tipo de dispositivo

Vaya al Portal para desarrolladores para crear un tipo de dispositivo privado.

  1. Primero, inicie sesión en el Portal para desarrolladores de SAMI. Si no tiene una cuenta de Samsung, puede crear una en este paso.
  2. Haga clic en "+ Nuevo tipo de dispositivo".
  3. Nombre este tipo de dispositivo "Sensor de llama" y asígnele un nombre único como "com.example.iot.flame".
  4. Haga clic en "Crear tipo de dispositivo". Esto crea el tipo de dispositivo y lo lleva a la página de tipos de dispositivo.

Ahora creemos un manifiesto para nuestro tipo de dispositivo "Sensor de llama".

  1. Haga clic en "Sensor de llama" en la columna de la izquierda.
  2. Haga clic en "Manifiesto" y luego en "+ Nueva versión".
  3. Ingrese "onFire" como nombre de campo y "booleano" como tipo de datos.
  4. Haga clic en "Guardar" y luego en "Siguiente:Acciones".
  5. Omita las acciones de este tutorial y haga clic en "Guardar nuevo manifiesto".

”’ Un manifiesto simple se aprueba automáticamente. No publique este tipo de dispositivo, ya que es solo con fines tutoriales ".

Finalmente, vaya al Portal del usuario para conectar un nuevo dispositivo Sensor de llama:

  1. Inicie sesión en el portal de usuarios de SAMI.
  2. En el panel, haga clic para conectar un nuevo dispositivo.
  3. Elija el tipo de dispositivo "Sensor de llama" que acaba de crear.
  4. Haga clic en "Conectar dispositivo ...". Volverá al panel de control.
  5. Haga clic en el ícono de Configuración del dispositivo que acaba de agregar. En la ventana emergente, haga clic en "GENERAR TOKEN DE DISPOSITIVO ...".
  6. Copie el ID del dispositivo y el token del dispositivo en esta pantalla. Los usará en el código.

Paso 2:Configura el Arduino

Ahora conectemos los sensores al Arduino.

Los dos sensores están conectados como en la imagen de Frizting de arriba.

A continuación, cargue el programa Sketch ( read_flame_sensor.ino ) al Arduino UNO utilizando el IDE de Arduino. Este código lee un valor digital del sensor de llama IR y luego lo envía al puerto serie cada 5 segundos (puede cambiar este parámetro en el código más adelante, ya que SAMI tiene límites de velocidad para la cantidad de mensajes por día). Para las lecturas digitales, "0" significa que se detecta un incendio y "1" significa que no hay fuego.

Aquí está read_flame_sensor.ino . El código es sencillo.

// Retraso entre lecturas
const int delayBetweenReads =5000; // 5s

// Para detector de llama senso const int flameDigitalPinIn =2;

configuración vacía () {

// inicializar la comunicación en serie a 9600 baudios:

Serial.begin (9600);

pinMode (flameDigitalPinIn, ENTRADA);

}

bucle vacío () {

// ALTO (1) significa que no se detecta fuego

// BAJO (0) significa que se detectó fuego

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

delay (delayBetweenReads);

}

Paso 3:Configura la Raspberry Pi

Conecte su Raspberry Pi a un monitor, mouse y teclado. Asegúrese de que funcione una conexión Ethernet o WiFi y asegúrese de que el sistema operativo esté actualizado:

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

Si aún no está instalado, instale Node.js para ARM, luego agregue los paquetes serialport y ws a través de npm:

  1. $ npm install serialport
  2. $ npm install ws

Ahora conecte el puerto serie del Arduino al USB de la Raspberry Pi.

Finalmente, descargue el código de Node.js ( send_data_to_sami.js ) a la Raspberry Pi. Reemplace los marcadores de posición en el código con el token del dispositivo y la ID del dispositivo que recopiló del Portal del usuario.

El código de Node.js también se proporciona a continuación. Establece una conexión WebSocket bidireccional entre Raspberry Pi y SAMI. Una vez abierta la conexión WebSocket, regístrese () El método registra el dispositivo con WebSocket. Cada vez, el código lee un punto de datos del puerto serie y luego lo envuelve en un mensaje y envía el mensaje a SAMI a través de 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 ("serialport")

var SerialPort =serialport.SerialPort;

var sp =new SerialPort ("/ dev / ttyACM0", {

velocidad en baudios:9600,

analizador:serialport.parsers.readline ("\ n")

});

var WebSocket =require ('ws');

/ **

* Obtiene la hora actual en milisegundos

* /

función getTimeMillis () {

return parseInt (Date.now (). toString ());

}

Para obtener más detalles:cree un detector de incendios en minutos con Samsung SAMIIO, Arduino UNO y Raspberry Pi


Proceso de manufactura

  1. Fácil detector de llanto para bebés con Raspberry Pi
  2. Aeroponía con Raspberry Pi y sensor de humedad
  3. Creación de robots con Raspberry Pi y Python
  4. Cree su robot de transmisión de video controlado por Internet con Arduino y Raspberry Pi
  5. Reloj Arduino con tiempos de oración islámicos
  6. Controlar un robot Roomba con Arduino y un dispositivo Android
  7. ¡Visualización de una imagen en una pantalla LCD TFT con Arduino UNO!
  8. Control del servomotor con Arduino y MPU6050
  9. Módulo GPS u-blox LEA-6H 02 con Arduino y Python
  10. Reconocimiento y síntesis de voz con Arduino
  11. Controlar una matriz de LED con Arduino Uno