산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Samsung SAMIIO, Arduino UNO 및 Raspberry Pi로 몇 분 만에 화재 감지기 만들기

SAMI의 WebSocket을 사용하여 화염 센서 데이터를 SAMI로 보내는 IoT 장치를 구축해 보겠습니다. IoT 장치는 기성 센서, Arduino UNO 및 Raspberry Pi로 구성됩니다.

이 구현에서 Simple Manifest는 새 장치 유형을 빠르게 생성하는 데 사용됩니다. 그런 다음 IoT 장치를 SAMI에 쉽게 연결하고 장치에서 SAMI로 센서 데이터 전송을 시작할 수 있습니다.

필수 조건

”'이 튜토리얼에서는 기본 SAMI API. "'

건축물

아래 보라색 다이어그램은 상위 수준 아키텍처를 보여줍니다.

다음 하드웨어 구성 요소를 사용합니다.

<울>
  • 네트워크 연결이 있는 라즈베리 파이
  • 브레드보드가 있는 Arduino UNO
  • IR 화염 센서
  • USB 및 전원 케이블, 브레드보드용 배선
  • 우리는 다음 소프트웨어를 작성할 것입니다:

    <울>
  • Arduino에서 실행되는 Sketch 프로그램
  • Raspberry Pi에서 실행되는 Node.js 스크립트
  • 지금 소프트웨어를 다운로드하십시오.

    ”'Raspberry Pi가 없는 경우에도 이 튜토리얼을 통해 작업할 수 있습니다. Arduino UNO를 인터넷에 연결된 컴퓨터에 연결하고 컴퓨터에서 Raspberry Pi 대신 Node.js 스크립트를 실행하세요.”'

    1단계:새 기기 유형 생성 및 연결

    개발자 포털로 이동하여 개인 기기 유형을 생성하세요.

    <올>
  • 먼저 SAMI 개발자 포털에 로그인합니다. 삼성 계정이 없으시다면 이 단계에서 만드실 수 있습니다.
  • '+ 새 기기 유형'을 클릭합니다.
  • 이 장치 유형의 이름을 "Flame Sensor"로 지정하고 "com.example.iot.flame"와 같은 고유한 이름을 지정합니다.
  • '기기 유형 만들기'를 클릭합니다. 그러면 기기 유형이 생성되고 기기 유형 페이지로 이동합니다.
  • 이제 "화염 센서" 장치 유형에 대한 매니페스트를 생성해 보겠습니다.

    <올>
  • 왼쪽 열에서 "화염 센서"를 클릭합니다.
  • '매니페스트'를 클릭한 다음 '+ 새 버전'을 클릭합니다.
  • 필드 이름으로 "onFire"를 입력하고 데이터 유형으로 "Boolean"을 입력합니다.
  • '저장'을 클릭한 후 '다음:작업'을 클릭합니다.
  • 이 튜토리얼에서는 작업을 건너뛰고 "새 매니페스트 저장"을 클릭합니다.
  • "' Simple Manifest는 자동으로 승인됩니다. 이 장치 유형은 튜토리얼용이므로 게시하지 마십시오."'

    마지막으로 사용자 포털로 이동하여 새 화염 센서 장치를 연결합니다.

    <올>
  • SAMI 사용자 포털에 로그인합니다.
  • 대시보드에서 새 기기를 연결하려면 클릭하세요.
  • 방금 생성한 '화염 센서' 기기 유형을 선택합니다.
  • "장치 연결..."을 클릭합니다. 대시보드로 돌아갑니다.
  • 방금 추가한 기기의 설정 아이콘을 클릭합니다. 팝업에서 "GENERATE DEVICE TOKEN..."을 클릭합니다.
  • 이 화면에서 디바이스 ID와 디바이스 토큰을 복사합니다. 코드에서 사용하게 됩니다.
  • 2단계:Arduino 설정

    이제 센서를 Arduino에 연결해 보겠습니다.

    두 개의 센서는 위의 Frizting 이미지와 같이 배선됩니다.

    다음으로 Sketch 프로그램(read_flame_sensor.ino ) Arduino IDE를 사용하여 Arduino UNO에 연결합니다. 이 코드는 IR 화염 센서에서 하나의 디지털 값을 읽은 다음 5초마다 직렬 포트로 보냅니다(SAMI에는 하루 메시지 수에 대한 속도 제한이 있으므로 나중에 코드에서 이 매개변수를 변경할 수 있음). 디지털 판독값의 경우 "0"은 화재가 감지되었음을 의미하고 "1"은 화재가 없음을 의미합니다.

    다음은 read_flame_sensor.ino입니다. . 코드는 간단합니다.

    // 읽기 사이의 지연
    const int delayBetweenReads =5000;//5s

    // 화염 감지기의 경우 senso const int FlameDigitalPinIn =2;

    무효 설정() {

    // 직렬 통신 @ 9600 보드 초기화:

    Serial.begin(9600);

    pinMode(flameDigitalPinIn, INPUT);

    }

    무효 루프() {

    // HIGH(1)는 화재가 감지되지 않았음을 의미합니다.

    // LOW(0)는 화재가 감지되었음을 의미합니다.

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

    지연(delayBetweenReads);

    }

    3단계:Raspberry Pi 설정

    Raspberry Pi를 모니터, 마우스 및 키보드에 연결합니다. 이더넷 또는 WiFi 연결이 작동하는지 확인하고 OS가 최신 상태인지 확인하십시오.

    <올>
  • $ sudo apt-get 업데이트
  • $ sudo apt-get 업그레이드
  • 아직 설치되지 않은 경우 ARM용 Node.js를 설치한 다음 serialport 패키지를 추가합니다. 그리고 w npm을 통해:

    <올>
  • $ npm 직렬 포트 설치
  • $ npm 설치 ws
  • 이제 Arduino의 직렬 포트를 Raspberry Pi의 USB에 연결합니다.

    마지막으로 Node.js 코드(send_data_to_sami.js ) 라즈베리 파이에. 코드의 자리 표시자를 사용자 포털에서 수집한 장치 토큰 및 장치 ID로 바꿉니다.

    Node.js 코드도 아래에 나와 있습니다. Raspberry Pi와 SAMI 사이에 양방향 WebSocket 연결을 설정합니다. WebSocket 연결이 열린 후 register() 메서드는 WebSocket에 장치를 등록합니다. 매번 코드는 직렬 포트에서 하나의 데이터 포인트를 읽은 다음 메시지로 래핑하고 WebSocket을 통해 메시지를 SAMI로 보냅니다.

    var webSocketUrl =“wss://api.samsungsami.io/v1.1/websocket?ack=true”;
    var device_id =“”; var device_token ="";

    var isWebSocketReady =거짓; var ws =null;

    var 직렬 포트 =필요("직렬 포트")

    var SerialPort =serialport.SerialPort;

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

    전송 속도:9600,

    파서:serialport.parsers.readline("\n")

    });

    var 웹소켓 =require('ws');

    /**

    * 현재 시간을 밀리 단위로 가져옵니다.

    */

    함수 getTimeMillis(){

    반환 parseInt(Date.now().toString());

    }

    자세한 내용:Samsung SAMIIO, Arduino UNO 및 Raspberry Pi로 몇 분 만에 화재 감지기 만들기


    제조공정

    1. 라즈베리 파이를 사용한 손쉬운 DIY 아기 울음 감지기
    2. Raspberry Pi 및 습도 센서를 사용한 수경재배
    3. Raspberry Pi 및 Python으로 로봇 구축
    4. Arduino 및 Raspberry Pi로 인터넷 제어 비디오 스트리밍 로봇 구축
    5. 이슬람 기도 시간이 있는 Arduino 시계
    6. Arduino 및 Android 기기로 Roomba 로봇 제어
    7. Arduino UNO로 LCD TFT 화면에 이미지 표시하기!
    8. Arduino 및 MPU6050으로 서보 모터 제어
    9. U-blox LEA-6H 02 GPS 모듈(Arduino 및 Python 포함)
    10. Arduino를 사용한 음성 인식 및 합성