본문 바로가기
아두이노 예제 코드

아두이노 LORA( RF-95) 화재( Server ) 코드

by 에이치엘 2022. 12. 5.
#include <RH_RF95.h>
#include <SPI.h>

RH_RF95 rf95;
String MQ = "";
String MH = "";
unsigned long last_time = 0;
unsigned int cycle = 1000;
char split = 0x43;
byte mode = 0;

void setup() {
  Serial.begin(9600);
  if (!rf95.init()){
    Serial.print("INIT_ERROR\n");
  }
  last_time = millis();
}

void loop() {
  if (rf95.available())
  {
    uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
    uint8_t len = sizeof(buf);
    if (rf95.recv(buf, &len))
    {      
      String str = (char*)buf;
      int index = str.indexOf(',');
      if( index != -1 ){
        MQ = "MQ" + String(split) + str.substring(0, index) + '\n';
        MH = "MH" + String(split) + str.substring(index+1) + '\n';    
      }
    }
  }  
  if(MQ.equals("") || MH.equals(""))
    return;
    
  unsigned long now = millis();
  if(now - last_time >= cycle){
    last_time = now;
    switch(mode){
      case 0:
        Serial.print(MQ);
        mode++;
        break;
      case 1:
        Serial.print(MH);
        mode = 0;
        break;      
    }
  }
}

 

★ [ IOT코아 ]에서 실행방법은 아래 링크를 참고해주세요

https://koa-rea.tistory.com/66

 

아두이노 LORA 쉴드 화재알람시스템 + 알람메세지 + 모니터링

☆ 본 예제는 다음 기능을 포함하는 화재알람 + 모니터링 시스템입니다. ○ USB 카메라를 이용한 실시간 모니터링 ○ Server Lora + Client Lora 통신 ○ 불꽃 감지 센서를 이용한 불꽃 감지 데이터 ○ MQ7

koa-rea.tistory.com

★ 실제 동작 영상은 아래 링크를 참고해주세요

https://youtu.be/u4HN3Fk6euM

 

댓글