메뉴 건너뛰기

정보자료게시판

장비/디자인/구조

지그비 통신 정보를 esp32, Blynk를 통해 핸드폰으로 보내기

by 라키 posted Sep 17, 2018
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

지그비 통신 정보를 esp32, Blynk를 통해 핸드폰으로 보내기

목표

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

그 정보를 지그비와 연결된 esp32, 블링크를 통해 핸드폰으로 보낸다.

테스트 소스

/*************************************************************
  Download latest Blynk library here:
    https://github.com/blynkkk/blynk-library/releases/latest

  Blynk is a platform with iOS and Android apps to control
  Arduino, Raspberry Pi and the likes over the Internet.
  You can easily build graphic interfaces for all your
  projects by simply dragging and dropping widgets.

    Downloads, docs, tutorials: http://www.blynk.cc
    Sketch generator:           http://examples.blynk.cc
    Blynk community:            http://community.blynk.cc
    Follow us:                  http://www.fb.com/blynkapp
                                http://twitter.com/blynk_app

  Blynk library is licensed under MIT license
  This example code is in public domain.

 *************************************************************

  This example shows how value can be pushed from Arduino to
  the Blynk App.

  NOTE:
  BlynkTimer provides SimpleTimer functionality:
    http://playground.arduino.cc/Code/SimpleTimer

  App project setup:
    Value Display widget attached to Virtual Pin V5
 *************************************************************/

/* Comment this out to disable prints and save space */

#define BLYNK_PRINT Serial

#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "";
char pass[] = "";

float value01;
byte sig[30];
int relayon=0;

BlynkTimer timer;

// This function sends Arduino&#39;s up time every second to Virtual Pin (5).
// In the app, Widget&#39;s reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.

void myTimerEvent()
{
  if(Serial.available() > 21) {
    if(Serial.read() == 0x7E) {
      for(int i=0; i<23; i++){
        sig[i]=Serial.read();
      }
    }

    int analogReading=sig[20] + sig[21];
    value01=analogReading;

    if (value01>50 && relayon==0 ) {
        setRemoteState(0x5);
        relayon=1;
    } else if(value01<50 && relayon==1) {
      setRemoteState(0x4);
      relayon=0;
    }
  Blynk.virtualWrite(V5, value01);
  Blynk.virtualWrite(V6, relayon);
  }
}

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);

  timer.setInterval(1000L, myTimerEvent);
}

void loop()
{
  Blynk.run();
  timer.run(); // Initiates BlynkTimer
}

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('D');
  Serial.write('4');

  Serial.write(value);

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

원격 지그비 회로 구성

  • 1.2V 건전지 3개로 3.6V 출력을 만듦(Ni-Mh 충전 건전지 2개 2.4V로는 센서가 정상 감지 못함)
  • 수위감지센서의 센서부-지그비 D3번에 연결
  • 릴레이의 센서부-지그비 D4번에 연결
  • 각 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]로 설정

코디네이터 지그비-ESP32 연결

  • ESP32에 프로그램을 업로드 한다.(지그비와의 시리얼 통신선을 연결해놓은 상태에서 프로그램 업로드가 안되니 주의)
  • ESP32의 TX0을 지그비 3번으로, ESP32의 RX0을 지그비 2번으로 연결한다.

코디네이터 지그비 설정(Coordinate API로 설정)

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

향후 목표

  • 농장에서 동작할 수 있도록 회로 안전성 보강
  • 거의 마무리되었다.
  • 지그비 통신 범위로 농장 전체를 커버할 수 있게 된 점은 큰 장점이나, 지그비 모듈의 높은 가격을 어떻게 감당할지가 숙제!

참고한 영상


  1. 차박에 어떤 랜턴이 필요한가?

    Date2021.10.31 Category장비/디자인/구조 By숨마
    Read More
  2. 차량 에어컨 냄새 안나게 사용하기

    Date2022.03.27 Category전기차 By숨마
    Read More
  3. 차량 셀프 등록하기

    Date2022.08.26 Category전기차 BySumma
    Read More
  4. 지진르포] 고베 대지진급 `본진`…두 번째 강진에 다 무너져 내렸다

    Date2016.04.17 Category사회/생태/환경 By맘씨
    Read More
  5. 지렁이들이 제 할일을 하지 않고 있었다.

    Date2016.11.25 Category사회/생태/환경 By맘씨
    Read More
  6. 지렁이 옮기기 및 토양소독

    Date2016.10.30 Category사회/생태/환경 By라키
    Read More
  7. 지금 만나러 갑니다 한국 후기 소지섭, 손예진 | 영화 [스포일러]

    Date2018.03.18 Category문화/연예/가십 By라키
    Read More
  8. 지그비(XBee)-ESP32-Blynk 오토메이션 종합 01

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

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

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

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

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

    Date2018.09.05 Category장비/디자인/구조 By라키
    Read More
  14. 지갑이나 핸드폰을 분실했을 때 해야할 일들

    Date2019.09.26 Category사회/생태/환경 By라키
    Read More
  15. 증권발행 직원이 악재성 내부정보를 취득해 이를 애널, 펀드매니저 순으로 흘려 대량 매도한 경우

    Date2020.11.06 Category사회/생태/환경 By숨마
    Read More
  16. 중국 직구 미밴드 7 NFC 앱 등록 안될때 Mi Band 7

    Date2022.07.16 Category장비/디자인/구조 BySumma
    Read More
  17. 종이호일 유해물질 발암물질 있나?

    Date2022.07.08 BySumma
    Read More
  18. 좁은 집 vs. 넓은 집

    Date2019.05.05 Category사회/생태/환경 By라키
    Read More
  19. 존경받는 리더, 훌륭한 조직

    Date2018.01.18 Category사회/생태/환경 By라키
    Read More
  20. 조테로 zotero ios앱인 papership 페이퍼쉽에서 webdav 에러가 난다

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