제목 BLE 통신 문의
작성자 펌테크좋아요
이메일 median170g@naver.com
작성일자 2023-09-17
조회수 32
추천수 0
안녕하세요


귀사 fbl710bc 제품 사용 중 질문이 있어 연락드렸습니다.
현재 아래와 같은 간단한 프로젝트를 진행 중입니다.


 PROJECT 내용
   A라는 카트가 특정 위치에 가면 B 장치의 문이 열리고, (특정 센서에 의해 알아서 열림)
   A카트가 C라는 특정 임무를 수행 하면 B 장치에 문을 닫으라고 명령을 보내야 함.
   A라는 카트는 공장 내부를 왔다갔다 하면서 B 장치에 하루에 수십번씩 왔다 갔다 할 예정


저희는 A라는 카트를 만들고 있고,
B 장치를 제작하는 회사에서는 BLE를 통해 자신이 알려준 PROTOCOL을 쏴달라고 합니다.


블루투스 2.0 사용경험은 몇번 있으나 BLE 사용 경험이 없어 질문 드립니다.
제가 BLE 개발 경험이 전무하여 잘못 된 질문일 수도있겠지만 양해 부탁드리며, 답변 부탁드리겠습니다.




1) 페어링 문제
 블루투스 2.0은 반드시 페어링 과정이 있어야만 서로 송수신이 가능한데,
 구매한 fbl710bc  BLE 의 경우 페어링 과정이 없어도 특정 PROTOCOL을 쏘면 Central이 해당 PROTOCOL을 받을 수 있는것인가요?


 제가 이해한 바로는 "B 장치에 장착된 Central BLE가 Standby mode로 대기하고 있고, A카트가 가까이 오면 알아서 CONNECTION이 되고
 A카트가 C라는 특정 임무후 A카트의 Peripheral이 본 프로젝트에 필요한 특정 PROTOCOL을 송신하면
 해당 PROTOCOL을 페어링 과정 없이 받는다."
 라고 이해가 됩니다. 제가 이해하고 접근하게 맞는지 궁금합니다.


 이게 맞다면 아래 순서로 통신 메커니즘이 돌아간다고 이해 됩니다.
    - Central과 Pheripheral을 1:1로 사전에 매칭 등록 (CONNECT E6A5CD63B95D,0) 해야함 (1번만 하면 됨)
    - A카트에 장착된 FBL710BC(Pheripheral)은 별도 작업 하지 않아도 Advertising mode로서 자신의 정보를 2초 주기로 쏨
    - 이때 A카트가 B장치의 FBL710BC(Central)과 10M이내 영역에 있으면 두 BLE가 Connection이 자동으로 되고,
    - A카트에서 C라는 작업 후 A카트의 PC에서 특정 PROTOCOL을 UART를 통해 FBL710BC(pheripheral)이 송신하면
    - B장치의 Central에 PROTOCOL이 수신 된다.
    - A카트와 B 장치가 멀어지면 알아서 두 BLE 통신이 두절 되고, A카트의 BLE는 Advertising mode로 변경됨
    - 다시 A카트와 B장치와 가까워지면 CONNECT 되어 위 내용 반복


 이렇게 이해가 됩니다. 제가 잘 접근 한것인지 궁금합니다.  (당연히 Baudrate 는 매칭)




2) 위 TEST 내용이 맞다면 같이 구성 하려고 합니다.
     - Pheriperal 측
        A PC - 아두이노 - FBL710BC (Pheriperal)
           * 아두이노에서 시리얼 PROTOCOL 값을 RXTX로 입력하여 FBL710BC(Pheriperal)가 송신하도록 함.


     - Central 측
        B PC - USB TO UART 컨버터(펌테크 인터페이스보드와 동일한 CP2102 CHIP 사용) - FBL710BC (Pheriperal)


        A PC에 연결된 아두이노를 통해 특정 PROTOCOL을 송신
        B PC의 Central 측 tera term을 통해 PROTOCOL 수신 값 확인


3) AT COMMAND 문의
 특정 PROTOCOL을 날리기 위해선 AT+WRITEHXXXXXXXXXX
 의 COMMAND로 값을 날리도록 되어있습니다.
 제가 업체로 부터 받은 PROTOCOL은 아래와 같이 헤더 , DATA , CHECK SUM 등의 데이터인데
 예를 들어 프로토콜을 RX TX UART로 날리면  AT+WRITEHXXXXXXXXX COMMAND로 작동 되어 PROTOCOL이 전송 되는지 궁금합니다.


  sensor_data[0] = 0xb7;       
                sensor_data[1] = 0xb8;       
                sensor_data[2] = 0x55;             
                sensor_data[3] = 0xb5;         
                sensor_data[4] = 0xff;
                serial.write(sensor_data, 30);




긴글 읽어주셔서 정말 감사합니다.
 
       
IP 114.29.xxx.xxx
이름 비밀번호
※ 한글 1000자 까지만 입력가능 :