아 리 클 라 우 드 사물 인터넷. NET Core 클 라 이언 트 | CZGL. AliIoTClient: 3. Topic 구독 및 응답 Topic
설명 1. 아 리 클 라 우 드 사물 인터넷 연결 2. IoT 클 라 이언 트 3. Topic 구독 및 응답 Topic 4. 장비 등록 속성 4.1 위치 정보 보고 5. 장치 속성 설정 6. 설비 사건 보고 7. 서비스 호출 8. 의뢰 사건 9. 의뢰 이벤트 방법 사용자 정의 CZGL. AliIoTClient 는 Topic 을 다섯 가지 로 나 누 었 습 니 다.
각각: 일반 Topic, 속성 상신, 속성 하 발, 이벤트 상신, 서비스 호출, 일반 Topic 을 제외 하고 모든 Topic 은 메시지 의 발송, 응답 이 있 습 니 다.
보통 Topic, 메시지 발송 또는 MQTT 프로 토 콜 에 따라 SDK 는 메시지 가 다른 쪽 에 도달 할 수 있 도록 엄 격 히 보장 합 니 다.장치 푸 시 속성, 이벤트 등 데 이 터 를 서버 에 전송 하면 서버 가 응답 하고 서버 푸 시 (하 보 내기) 데 이 터 를 장치 에 전송 하면 장치 가 응답 해 야 합 니 다.물론 이런 호응 은 있 으 나 마 나 실질 적 인 영향 은 없다.
모든 Topic 에는 특정한 MQTT 통신 주소 가 있 습 니 다. 이 주 소 는 이미 CZGL. AliIoTClient 에서 자동 으로 생 성 되 었 습 니 다. 일반 Topic 의 통신 주 소 를 입력 하면 됩 니 다.
1) 주제 구독
Topic 을 구독 하기 전에 아 리 클 라 우 드 사물 인터넷 에서 해당 하 는 Topic 과 설정 을 정의 해 야 합 니 다.
권한, 일반 Topic, string [] 을 사용 하여 목록 을 포함 한 다음 연결 방법 을 호출 할 때 매개 변수 로 입력 하고 서버 를 연결 한 후에 필요 한 구독 을 추가 할 수 있 습 니 다.일반 Topic 은 동적 으로 추가 할 수 있 으 며 핫 구독 에 속 합 니 다.사용 방법:
// Topic、 Topic
string[] topics = new string[] {
client.CombineHeadTopic("get"), "/a1xrkGSkb5R/mire/user/get1" }; client.ConnectIoT(topics,null,60);
Topic 주소 가 비교적 길 어서 기록 할 수 있 습 니 다.
.../user/
뒤의 내용 CombineHeadTopic()
자동 생 성 가능,client.CombineHeadTopic("get")
2) 응답
속성, 이벤트, 서비스 기능 을 사용 하여 서버 에 데이터 전송 을 할 때 서버 가 응답 합 니 다. 응답 을 받 을 수도 있 고 응답 을 받 지 않 을 수도 있 습 니 다.CZGL. AliIoTClient 는 기본적으로 서버 의 응답 정 보 를 받 지 않 습 니 다.실제로 이런 응답 정 보 는 일반적으로 측정 할 때 만 필요 하 다.
응답 방법
설명 하 다.
OpenEventPostReply()
보고 이벤트 수신 후 서버 응답
OpenPropertyPostReply()
장치 속성 업로드 후 서버 응답 수신
OpenServicePostRaw()
서버 호출 허용 서비스 새 버 전 은 이 설정 을 취소 하 였 습 니 다.
OpenPropertyDownPost()
서버 에서 장치 속성 명령 을 내 릴 수 있 도록 합 니 다.
이러한 응답 은 클 라 이언 트 를 연결 하기 전에 설정 해 야 하 며 클 라 이언 트 가 연 결 된 후에 상기 방법 을 사용 할 수 없습니다. 그렇지 않 으 면 이상 이 발생 할 수 있 습 니 다.복구 되 었 습 니 다. 프로그램의 임의의 단계 에서 수신 기능 을 열 고 임의로 취소 하고 열 수 있 습 니 다.
이 기능 들 이 열 렸 는 지 확인 하기:
public CZGL.AliIoTClient.OpenTopic getOpenTopic()
OpenTopic
어떤 기능 의 수신 여 부 를 가 져 오 거나 설정 할 수 있 는 8 개의 속성 이 있 습 니 다.속성
설명 하 다.
기본 값
CommonTopic
일반 토 픽 받 을 지 여부
true 로 고정, 변경 불가
PropertyUpRawReplyTopic
장치 가 투과 속성 데 이 터 를 업로드 한 후 서버 의 응답
false
PropertyPostReplyTopic
장치 가 Alink json 속성 데 이 터 를 업로드 한 후 서버 의 응답
false
PropertyDownRaw
서버 에서 속성 을 설정 하 는 명령 을 내 립 니 다.
false
PropertyDownPost
서버 에서 속성 을 설정 하 는 명령 을 내 립 니 다. Alink json
false
EventUpRawReply
장치 이벤트 보고, 서버 응답 수신, 전송
false
EventPostReply
장치 이벤트 보고, 서버 응답 수신, Alink json
false
ServiceDownRaw
서버 호출 서비스, 전송
false
ServicePostRaw
서버 호출 서비스, Alink json
false
스 포 일 러 와 Alink json 을 구분 하기 때문에 스 포 일 러 라면 위의 Alink json 항목 을 설정 하면 무효 이 고 반대로 도 마찬가지 입 니 다.
3) 서버 연결 후
서버 에 연결 하면 구독 할 일반 Topic 도 추가 할 수 있 습 니 다.
public void TopicAdd(string[] topics, [byte[] QOS = null])
예시:
client.TopicAdd(new string[]{ client.CombineHeadTopic("get") })
구독 한 Topic 제거:
public void TopicRemove(string[] topics)
서버 에 연결 하면 서버 의 응답 정 보 를 취소 할 수 있 지만 다시 받 을 수 없습니다.
방법.
설명 하 다.
CloseEventPostReply()
장치 업로드 이벤트 후 서버 응답 을 받 지 않 습 니 다.
ClosePropertyPostReply()
장치 업로드 속성 을 받 지 않 은 후 서버 응답
CloseServicePostRaw()
서버 에서 장치 서 비 스 를 호출 하지 못 하 게 하 는 명령 이 삭제 되 었 습 니 다.
ClosePropertyDownPost()
서버 에서 장치 속성 을 설정 하 는 명령 을 내 릴 수 없습니다.
클 라 이언 트 가 서버 에 연결 한 후에 응답 을 취소 할 수 있 습 니 다.단, 취소 후 더 이상 구독 할 수 없습니다!복구 되 었 습 니 다. 프로그램 이 임의의 단계 에서 취소 한 후에 수신 을 열 수 있 습 니 다.
4) 주제 설명
구독 한 Topic 목록 가 져 오기:
public string[] GetSubedList { get; }
예시:
var topicList = client.GetSubedList;
서버 설정 장치 속성, 호출 서비스 등 기능 은 MQTT 통신 을 사용 하여 구독 / 푸 시 형식 이기 때문에 어떤 기능 의 데이터 전송 이 든 본질 은 Topic 입 니 다.따라서 장치 속성 보고, 장치 속성 설정 등 은 Topic 속성 을 설정 할 수 있 습 니 다.
CZGL. AliIoTClient 에 서 는 클 라 이언 트 가 필요 한 Topic 을 구독 할 수 있 고, 서버 에 연결 하면 서버 가 모든 Topic 에 데 이 터 를 보 낼 수 있 지만, 클 라 이언 트 가 구독 한 Topic 을 지정 해 야 클 라 이언 트 가 푸 시 를 받 을 수 있 으 며, 그렇지 않 으 면 콘 솔 에서 어떻게 클릭 해서 보 내 든 클 라 이언 트 는 받 지 않 는 다.
주의해 야 할 것 은 일반 Topic 에 대해 클 라 이언 트 가 연 결 될 때의 설정 으로 서버 가 클 라 이언 트 에 메 시 지 를 전송 할 수 있 는 지, 동적 인 지 를 결정 하 는 것 입 니 다.
속성, 이벤트, 서비스 등 기능 은 지난번 설정 을 저장 합 니 다.열 면
client.OpenPropertyPostReply();
서버 에 업 로드 된 응답 을 받 은 후 프로그램 에서 삭제 합 니 다.
client.OpenPropertyPostReply();
다시 실행 하면 설정 하지 않 은 한 응답 을 받 을 수 있 습 니 다.
client.ClosePropertyPostReply();
장치 가 서버 에 데 이 터 를 업로드 하면 서버 가 응답 합 니 다. 물론 서버 가 장치 속성 을 설정 하고 장치 서 비 스 를 호출 할 때 클 라 이언 트 도 응답 할 수 있 습 니 다.뒷부분 에서 이야기 하 겠 습 니 다.
다음으로 전송:https://www.cnblogs.com/whuanle/p/10994686.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
H2 데이터베이스 사용자 정의 함수 방법 및 범례H2 데이터 베 이 스 는 자바 가 구현 한 메모리 데이터베이스 입 니 다.내장 형 메모리 데이터 베 이 스 를 사용 할 수 있 지만 그 특성 에 대해 서 는 실제 프로젝트 에 적용 할 만 한 의 미 를 더 많이 사...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.