메뉴 건너뛰기

정보자료게시판

장비/디자인/구조

지그비 통신_COORDINATOR API 와 ROUTER AT 사이 의사소통(센서-릴레이)

by 라키 posted Sep 16, 2018
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

지그비 통신_COORDINATOR API 와 ROUTER AT 사이 의사소통(센서-릴레이)

목표

원격 지그비(AT모드)에서 수위를 감지해 수위가 감지되는 경우 원격 지그비에 연결된 릴레이 온, 감지되지 않는 경우 릴레이 오프하는 구조. 그 정보를 코디네이터 지그비가 관리한다.

테스트 소스

float value01; //water sensor
byte sig[30];
void setup() {
  Serial.begin(9600);
}

void loop() {
    if(Serial.available() > 21) {
    if(Serial.read() == 0x7E) {
      for(int i=0; i<23; i++){
        sig[i]=Serial.read();
        Serial.print(sig[i],HEX);
        Serial.print(", ");
      }
      Serial.println();
      Serial.println();
    }

      Serial.println(sig[20],HEX);
      Serial.println(sig[21],HEX);
      int analogReading=sig[20] + (sig[21]);
      value01=analogReading;
      Serial.print(value01);
      Serial.println(" degree");
      Serial.println();
      if (value01>50) {
        Serial.print("Relay On");
        setRemoteState(0x5);
      }
      else {
        Serial.print("Relay Off");
        setRemoteState(0x4);
      }

    Serial.println();
  }
}

void setRemoteState(char value)
{
  Serial.write(0x7E); // start byte
  Serial.write((byte)0x0); // high part of length (always zero)
  Serial.write(0x10); // low part of length (
  Serial.write(0x17); // 0x17 is a remote AT command
  Serial.write((byte)0x0); // frame id set to zero for no reply
  // ID of recipient, or use 0xFFFF for broadcast
  Serial.write((byte)0x0);
  Serial.write((byte)0x0);
  Serial.write((byte)0x0);
  Serial.write((byte)0x0);
  Serial.write((byte)0x0);
  Serial.write((byte)0x0);
  Serial.write(0xFF);
  Serial.write(0xFF);

  Serial.write(0xFF);
  Serial.write(0xFE);

  Serial.write(0x02);

  Serial.write(&#39;D&#39;);
  Serial.write(&#39;4&#39;);

  Serial.write(value);

  long sum = 0x17 + 0xFF + 0xFF + 0xFF + 0xFE + 0x02 + &#39;D&#39; + &#39;4&#39; + value;
  Serial.write(0xFF - (sum & 0xFF));
}

원격 지그비 회로 구성

  • 1.2V 건전지 3개로 3.6V 출력을 만듦(Ni-Mh 충전 건전지 2개 2.4V로는 센서가 정상 감지 못함)
  • 수위감지센서의 센서부-지그비 D3번에 연결
  • 각 3.6V 전원을 연결해줌

원격 지그비 설정(ROUTER AT로 설정)

  • XCTU 다운로드(https://www.digi.com/resources/documentation/digidocs/90001526/tasks/t_download_and_install_xctu.htm)
  • 맥용 XCTU 프로그램도 있음
  • 셋팅으로 들어가면 XBEE S2C, 작성일 기준으로, Product Family는 XB24C로, Function set 은 ZIGBEE TH Reg, Firmware Version은 4060임
  • Help에서 Update Check, Update, Install 다 해주는 걸 권장하는데 시간이 좀 걸림
  • ID(PAN ID) 는 아무 숫자나 해도 되는데 수신부 지그비와 일치시켜야. 여기서는 1234로
  • JV(Channel Verification)은 enable(통상 채널 확인 하고 시작함)로,
  • CE(Coordinator Enable)은 disable로(Router 설정임),
  • AP(API enable)은 Transparent mode로(단순 통신 모드임)로 각 설정함
  • D3은 ADC[2]로, D4는 Disable[0]로 설정

코디네이터 지그비 회로 구성

  • 지그비 아두이노 쉴드를 사용하면 비교적 쉬움(먼저 아두이노 쉴드를 이용해 지그비에 프로그램이 업로드 된 다음에는 빵판으로 아두이노와 연결하면 작동함!)
  • 아두이노에 아두이노 쉴드를 꽂고, 그 위에 지그비를 꽂음. USB 선으로 PC와 연결
  • 아두이노 쉴드에는 XBEE/USB 스위치와 RUN/PROG 스위치가 있음. 아두이노 IDE에서 프로그램을 업로드할때는 USB 쪽으로 놓고, 실행할때는 XBEE로 놓음
  • RUN/PROG는 RUN으로 놓음

수신부 지그비 설정(Coordinate API로 설정)

  • ID(PAN ID)는 위에서 적은 1234로
  • JV(Channel Verification)은 enable로,
  • CE(Coordinator Enable)은 enable(수신부 지그비는 Coordinator임)로,
  • AP(API enable)은 API enable로 각 설정

향후 목표

  • 이제 ESP32와 연결해 원격 지그비 동작 정보를 Blynk로 알려주면 핸드폰으로 동작상태를 확인

참고한 영상


  1. DC 콤보가 재앙인 이유

    Date2019.01.08 Category전기차 By라키
    Read More
  2. 아... DC콤보 충전 차량들

    Date2018.12.31 Category전기차 By라키
    Read More
  3. 알폰소 쿠아론 신작 영화 로마 Roma | 넷플릭스 [스포일러]

    Date2018.12.16 Category문화/연예/가십 By라키
    Read More
  4. 시장이론의 기초

    Date2018.12.16 Category학습/연구 By라키
    Read More
  5. 튤립

    Date2018.12.15 Category여행/맛집/음식 By라키
    Read More
  6. 하우스 폭설 대비

    Date2018.12.08 Category사회/생태/환경 By라키
    Read More
  7. [아두이노] 정밀온습도센서 정보를 핸드폰(Blynk)으로 보내기

    Date2018.11.24 Category장비/디자인/구조 By라키
    Read More
  8. [아두이노] ESP32 - LCD 연결하기

    Date2018.11.24 Category장비/디자인/구조 By라키
    Read More
  9. [아두이노] ESP32 - 정밀온습도센서 BME 280 제어

    Date2018.11.19 Category장비/디자인/구조 By라키
    Read More
  10. [아두이노] ESP32-XBee-초음파 센서 배터리 지속기간

    Date2018.10.06 Category장비/디자인/구조 By라키
    Read More
  11. 지그비(XBee)-ESP32-Blynk 오토메이션 종합 01

    Date2018.09.21 Category장비/디자인/구조 By라키
    Read More
  12. 지그비 통신 정보를 esp32, Blynk를 통해 핸드폰으로 보내기

    Date2018.09.17 Category장비/디자인/구조 By라키
    Read More
  13. 지그비 통신_COORDINATOR API 와 ROUTER AT 사이 의사소통(센서-릴레이)

    Date2018.09.16 Category장비/디자인/구조 By라키
    Read More
  14. 지그비 통신_COORDINATOR API에서 ROUTER AT로 명령 보내기

    Date2018.09.16 Category장비/디자인/구조 By라키
    Read More
  15. 지그비 통신(COORDINATOR API-ROUTER AT) 정리

    Date2018.09.16 Category장비/디자인/구조 By라키
    Read More
  16. esp32에 전압 측정 모듈 달기

    Date2018.09.07 Category장비/디자인/구조 By라키
    Read More
  17. 엑셀 표, 마크다운 양식으로 변환

    Date2018.09.05 Category장비/디자인/구조 By라키
    Read More
  18. 지그비 통신 정리

    Date2018.09.05 Category장비/디자인/구조 By라키
    Read More
  19. ESP32, MAC OSX 기반 아두이노 IDE에 간단하게 설치하기

    Date2018.08.29 Category장비/디자인/구조 By라키
    Read More
  20. [아두이노] 모스펫으로 고전압 장비 속도 아날로그 제어

    Date2018.08.10 Category장비/디자인/구조 By라키
    Read More
Board Pagination Prev 1 ... 24 25 26 27 28 29 30 31 32 33 ... 45 Next
/ 45
위로