메뉴 건너뛰기

정보자료게시판

장비/디자인/구조

지그비 통신_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. 디자인 | 멋진 그래프 도형 순서도 관계도 그리기

    Date2020.09.13 Category장비/디자인/구조 By숨마
    Read More
  2. 리눅스 최근 파일 100개 제외 파일 전부 삭제하기

    Date2020.11.06 Category장비/디자인/구조 By숨마
    Read More
  3. 2016 논터치바 맥북프로 터치바 만들기

    Date2017.01.01 Category장비/디자인/구조 By라키
    Read More
  4. Radone EarStudio ES100 펌웨어업데이트 하기 맥북 MacOS

    Date2021.06.12 Category장비/디자인/구조 By숨마
    Read More
  5. SKT 3G 통화품질 불량, 갑자기 서비스 없음

    Date2022.04.21 Category장비/디자인/구조 ByMsjcLaki
    Read More
  6. [아두이노] 모스펫으로 고전압 장비 속도 아날로그 제어

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

    Date2018.09.16 Category장비/디자인/구조 By라키
    Read More
  8. 캠핑 그릴 침니스타터 챠콜 불붙이기 팁

    Date2019.10.26 Category장비/디자인/구조 By라키
    Read More
  9. 애플 M1X M2 루머

    Date2020.12.05 Category장비/디자인/구조 By숨마
    Read More
  10. 갑자기 시놀로지 CPU가 99%

    Date2021.08.18 Category장비/디자인/구조 By숨마
    Read More
  11. 버추얼박스 UUID 삭제 - 이미 등록한 파일을 나중에 수정시

    Date2020.07.05 Category장비/디자인/구조 By숨마
    Read More
  12. 해놀로지 webdav 이상 오류

    Date2019.06.27 Category장비/디자인/구조 By라키
    Read More
  13. 위디스크 실행 오류

    Date2023.08.06 Category장비/디자인/구조 BySumma
    Read More
  14. RTX 3060 TI GPU1 Eth: Incorrect ETH share from GPU1

    Date2021.04.19 Category장비/디자인/구조 By숨마
    Read More
  15. 자녀 아이 컴퓨터 스마트폰 시간 제한, 접속 차단

    Date2020.12.03 Category장비/디자인/구조 By숨마
    Read More
  16. 유럽 캠핑 준비 물품

    Date2017.04.02 Category장비/디자인/구조 By라키
    Read More
  17. 싱크대 상부장 위로 여닫이 고정 안될때

    Date2022.05.12 Category장비/디자인/구조 BySumma
    Read More
  18. 엑셀, 구글스프레드시트 을를 한글 종성 받침 구분하는 방법

    Date2022.02.17 Category장비/디자인/구조 By숨마
    Read More
  19. Mac | Better Touch Tool 평생 버전 구매

    Date2020.06.04 Category장비/디자인/구조 By숨마
    Read More
  20. 미래에셋페이 결제 오류

    Date2022.04.22 Category장비/디자인/구조 ByMsjcLaki
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15
위로