Bluetooth Sig Mesh 개념 소개 ④——Mesh의 전문 용어 및 작동 프로세스

하나, 상태

노드의 상태, 예컨대 onoff States,lightness States

二 、 바운드 상태

두 같은 상태, 상호 onoff등을 lightness.

  • onoff값이 1에서 0으로 변경 되면 lightness값은 0이됩니다.
  • onoff0시 1에서 값 lightness값도 전에 불을 끄고 0에서 변경 lightness의 값
  • 마찬가지로 lightness값이 0과 0이 아닌 onoff값으로 변경되면 값은 0에서 1까지입니다.

세, 메시지

암호화가 완료된 후 메시 네트워크 패킷으로 전송되어 mesh packet, mesh command.

四 、 노드 및 요소

Node는 완전한 노드 또는 Bluetooth 모듈을 나타내고 Element는 Node의 작동 요소를 나타냅니다.

  • Node address단 하나
  • element address하나 이상일 수 있습니다.
    • 경우 element address어드레스의 복수의 연속 것이다 케이스
    • 첫 번째 element addressprimary address
  • Node address그리고 같은 가치 primary address.

예 :

  • 소켓 제품 (3 개 채널)의 수 element는 3 개이며 3 개의 generic onoff제어 명령은 각각 3 개 채널의 스위치를 제어합니다.
  • element색온도 등 (CT 라이트) 2, 2 generic level model각각에 대응 lightness하고 Temp;
  • elementHSL 등 (RGB 조명) 3, 3 generic level model에 대응하는 lightness, Hue그리고 각각 Sat.

네트워킹 할 때 :

  1. Node요소의 수는 2와 같은 제공 흐름의 대화 형 정보에보고됩니다.
  2. provisionerNode0x0002와 같은 주소가 할당 됩니다.
  3. Node수신 후 0x0002 element 1와 0x0003 이 순서대로 할당됩니다 element 2.
  4. Provisioner다음 노드가 네트워크에 연결되면 0x0004에서 할당됩니다.

五 、 게시 및 구독

Publish그것은이다 Element이니셔티브의 상태를 보내는 과정

  • 으로 Config Model Publication Set구성 주소, 명령 및 파라미터 설정 기간이 게시 게시 할 수 있습니다.
  • 게시 주소가 구성된 후 상태가 변경되는 한 Node는 게시 상태 작업을 자동으로 실행합니다. 주기적으로 전송해야하는지 여부는 게시 기간 매개 변수에 따라 다릅니다.

SubscribeElement데이터를 수신하고 처리 하는 프로세스입니다.

  • 하여 Config Model Subscription Add, Config Model Subscription Virtual Address Add추가 명령 목록을 구독처럼 [] 주소
  • Subscribe list[]어느입니다 group address또는 virtual address하지 않을 수 unicast address없으며, 0xffff가있다
  • Element다른 노드에서 발행 한 상태 메시지 (예 : 일반 onoff 상태) 또는 제어 메시지 (예 : 일반 onoff) 수신
  • Subscribe list[]메시지 결정을 처리할지 여부에 대한 모델입니다 .

수령 및 처리 여부를 판단하는 기준은 다음과 같습니다.

  1. non- 를 수신 message하면 해당 모델 이 Subscribe list 내의 주소와 일치 할 수 있는지 여부를 결정합니다 .destination addressunicast address
  2. 수령시 message의이 destination address입니다 unicast address자체, 그리고이 결정되는 element address경기 여부.
  3. destination address0xffff가있다, 그 대회를 판단 조건을 나타냅니다.

여섯, 보안

6.1 액세스 레이어 암호화

  • 암호화 된 전체 액세스 레이어 (OP 코드, 매개 변수 포함) 사용 app key또는device key
  • op 코드에 해당하는 모델이 구성 모델이면이를 사용하고 device key, 그렇지 않으면 사용하십시오 app key.

6.2 네트워크 계층 암호화

  • 사용 network key+는 iv index전체 네트워크 계층을 암호화하기
  • 네트워크 계층은 소스 주소, 대상 주소 및 시퀀스 번호를 포함하여 메시 네트워크로 전송되는 패킷입니다.

6.3 앱 키

  • SDK는 기본적으로 2 app key( APP_KEY_MAX)를 지원합니다 .
  • 또한 app key다양한 수준의 보안 제품을 관리하는 데 사용할 수 있습니다.

같은

  • 메시 네트워크에는 조명과 도어록이 모두 있습니다.
  • 도어록의 보안 수준이 높으면 특정인 만 제어 할 수 있습니다.
  • 이때 문 잠금 장치에 개별 앱 키를 별도로 할당 할 수 있으며,이 앱 키는 특정 모바일 앱 (프로 비 저너)에서만 알고 있으며 네트워크 공유 중에 공유되지 않도록합니다.

이것은 보안 수준을 높일 수 있습니다.

6.4 네트워크 키

  • SDK는 기본적으로 2 개를 지원합니다 network key( NET_KEY_MAX).
  • 복수의 network key복수의 네트워크를 관리하는데 사용될 수있다.

6.5 기타

서브 패키징이 필요한 메시지의 경우 전체 페이로드가 암호화 될 때 액세스 계층의 페이로드가 암호화되므로 복호화 및 검증이 완료되기 전에 모든 패킷을 수신해야합니다.

七 、 시퀀스 번호

참조 된 시퀀스 번호 SNO또는SEQ

7.1 SNO 자기 증가 판단

  • SNO명령이 전송 될 때마다 누적됩니다.
  • 수신 단말기 SNO는 필요한 시간이 이미 수신 된 값보다 크다고 판단하고, 그보다 적 으면 메시지가 유효하지 않은 것으로 간주합니다.

7.2 SNO 저장 처리

SNO플래시에 저장할 명령을 각각 전송하는 송신단의 경우 저장된 주파수가 너무 높으며 특히 필요한 서브 전송이 필요합니다. 제한된 수의 플래시 읽기 및 쓰기로 인해. 따라서 다음으로 수정되었습니다.

  • SNO 증가 MESH_CMD_SNO_SAVE_DELTA(기본값 0x80), 한 번만 저장 됨
  • 전원을 켤 때 초기화하는 동안 SNO플러스 읽기 MESH_CMD_SNO_SAVE_DELTA(전원을 껐다가 다시 켠 후 SNO이미 사용 된 값보다 큰지 확인하기 위해)

구체적인 구현에 대해서는 MESH_CMD_SNO_SAVE_DELTA 처리에 대한 mesh_flash_save_check () 및 mesh_misc_retrieve ()를 참조하십시오.

八 、 우정

우정은 설정된 우정 선 흐름을 통해 Friend Node( FN)와 Low Power Node( LPN) 사이에 설정된 관계를 나타냅니다 .

  • 아 군함 구축 성공 후 LPN수면 중
  • 노드가 LPN시간에 명령을 보내면 FN이 메시지를 가장 먼저 저장합니다.
  • LPN이후 쿼리에 POLL 명령을 전송됩니다 FN, 다음 FN은 LPN을 저장하기 위해 메시지를 보내드립니다
  • 이러한 방식으로 전력 소비를 줄일 수 있으며 LPN, 명령을 수신하고 응답하는 데 어느 정도 지연 이 발생 한다는 단점이 있습니다.

아홉, 특징

9.1 릴레이 기능

릴레이 릴레이의 주요 기능은 노드간에 메시지를 확산하고 다중 레벨 홉이며 메시 네트워크의 전송 거리가 더 길다는 것을 깨닫는 것입니다.

단, 메시지 무한 루프의 확산을 방지하기 위해 사라지지 않습니다 . 따라서 다음과 같이 몇 가지 제한이 있습니다.

  • 노드가 유효한 네트워크 메시지를받습니다.
  • 먼저 메시지의 TTL 값을 1로 줄인 다음 릴레이하여 전송합니다.
  • 수신 된 TTL 값이 1보다 작거나 같으면 릴레이가 수행되지 않습니다.

TTL의 도입은 주로 제어 가능한 범위 내에서 최종적으로 메시지를 수신하는 노드의 지연 시간을 제어하는 ​​것입니다.

  • SDK TTL의 기본값은 TTL_DEFAULT(0x0A)이며이 매크로는 수정할 수 있습니다.
  • provisioner는 Config Default TTL Set최대 127 개를 구성 할 수도 있습니다.

9.2 프록시 기능

프록시는 모바일 앱이 메시 네트워크에 액세스하는 데 사용되는 프로토콜입니다.

  • 메시 네트워크에서 APP는 자체 노드 주소가있는 독립 노드이기도합니다.
  • 프록시는 현재 대부분의 휴대폰이 브로드 캐스트 패킷 전송을 완전히 사용자 정의 할 수없고 항상 메시 네트워크를 모니터링하는 상태 일 수 없기 때문에 도입되었습니다 (중간에서 WiFi로 전환 등).
  • 따라서 모바일 앱은 BLE GATT를 통해 노드에 연결해야하며 직접 연결된 노드는 앱에서 데이터를 수신 한 후 데이터를 전달합니다.
  • 직접 연결된 노드가 메시 네트워크의 앱에 대한 응답 메시지를 수신하면 먼저 프록시 프로토콜에 따라 GATT를 통해 모바일 앱에 응답합니다.

9.3 앱 직접 연결

APP는 직접 연결된 노드에 메시지를 보내고 ATT_OP_WRITE_CMD(0x52)직접 연결된 노드
는 알림 ATT_OP_HANDLE_VALUE_NOTI(0x1B) 과 함께 APP 에 대한 메시지에 응답합니다 .

9.4 저전력 기능

八 、 우정

9.5 친구 기능

八 、 우정

10. 메시 네트워크 토폴로지 다이어그램

여기에 사진 설명 삽입
좋다고 생각되면 클릭 한 번으로 3 번 연속 챈트 (좋아요 + 즐겨 찾기 + 팔로우)

추천

출처blog.csdn.net/kangweijian/article/details/115275133