
MQTT-C는 C에 작성된 MQTT v3.1.1 클라이언트입니다. MQTT는 고도가 높은 IoT 및 낮은 데이터 레이트 링크가 예상되는 IoT 및 네트워킹 애플리케이션에서 일반적으로 사용되는 가벼운 게시자 수입자 기반 메시징 프로토콜입니다. MQTT-C의 목적은 C로 작성된 휴대용 MQTT 클라이언트를 내장 시스템 및 PC 모두에 대해 제공하는 것입니다. MQTT-C는 투명 플랫폼 추상화 레이어 (PAL)를 제공하여 새로운 플랫폼으로 쉽게 포팅 할 수 있도록하여이를 수행합니다. MQTT-C는 완전히 스레드 안전하지만 단일 스레드 시스템에서 완벽하게 잘 작동 할 수 있습니다. MQTT-C는 임베디드 시스템 및 마이크로 컨트롤러에 적합합니다. 마지막으로 MQTT-C는 작습니다. 총 2000 줄 미만의 소스 파일은 두 개뿐입니다.
MQTT-C가 사용되는 모든 장소에 대해 듣는 것이 좋았습니다! 주저하지 말고 저와 연락하거나 Github에 문제를 제출하십시오!
mqtt-c를 사용하려면 먼저 struct mqtt_client 인스턴스화하고 @ref mqtt_init을 호출하여 초기화합니다.
struct mqtt_client client ; /* instantiate the client */
mqtt_init ( & client , ...); /* initialize the client */클라이언트가 초기화되면 MQTT 브로커에 연결해야합니다.
mqtt_connect ( & client , ...); /* send a connection request to the broker. */이 시점에서 클라이언트는 사용할 준비가되었습니다! 예를 들어, 우리는 다음과 같은 주제를 구독 할 수 있습니다.
/* subscribe to "toaster/temperature" with a max QoS level of 0 */
mqtt_subscribe ( & client , "toaster/temperature" , 0 );그리고 우리는 다음과 같은 주제에 게시 할 수 있습니다.
/* publish coffee temperature with a QoS level of 1 */
int temperature = 67 ;
mqtt_publish ( & client , "coffee/temperature" , & temperature , sizeof ( int ), MQTT_PUBLISH_QOS_1 );그것들은 기본입니다! 여기에서 예제와 API 문서는 시작하기에 좋은 장소입니다.
mqtt.c 및 mqtt_pal.c 라는 두 가지 소스 파일 만 있습니다. 이 파일은 ANSI C (C89) 호환 가능하며 C 컴파일러와 컴파일해야합니다.
그런 다음 간단히 #include <mqtt.h> .
또는 CMAKE 또는 제공된 MakeFile을 사용하여 MQTT-C를 구축 할 수 있습니다. 편의를 위해 제공됩니다.
사전 제작 된 문서는 여기에서 찾을 수 있습니다 : https://liambindle.ca/mqtt-c. 예제도 확인하십시오.
@Ref API 문서에는 모든 문서 응용 프로그램 프로그래머가 필요한 모든 문서화가 포함되어 있습니다. @Ref PAL 설명서에는 MQTT-C를 새로운 플랫폼으로 포트하는 데 필요한 모든 것이 포함되어 있으며 다른 모듈에는 MQTT-C 개발자를위한 문서가 포함되어 있습니다.
MQTT-C 단위 테스트는 CMOCKA 장치 테스트 프레임 워크를 사용합니다. 따라서 단위 테스트를 구축하고 실행하려면 CMOCKA를 컴퓨터에 설치 해야합니다 . 편의를 위해 Unix와 같은 기계에 대한 단위 테스트 및 예제를 구축하기 위해 간단한 "makefile" 이 포함되어 있습니다. 단위 테스트 및 예제는 다음과 같이 구축 할 수 있습니다.
$ make all 단위 테스트 및 예제는 "bin/" 디렉토리에 내장됩니다. 단위 테스트는 그렇게 실행할 수 있습니다.
$ ./bin/tests [address [port]]c 주소와 c 포트 인수는 테스트에 사용될 MQTT 브로커의 위치를 지정하기위한 선택 사항입니다. 주소가 주어지지 않으면 모기 MQTT 테스트 서버가 사용됩니다. 포트가 주어지지 않으면 포트 1883이 사용됩니다.
MQTT-C는 mqtt_pal.h 및 mqtt_pal.c 에서 투명 플랫폼 추상화 계층 (PAL)을 제공합니다. 이 파일은 MQTT-C에서 요구하는 유형 및 호출을 선언하고 구현합니다. PAL의 전체 문서화는 @Ref PAL을 참조하십시오.
여기에서 문제와 풀 수감을 자유롭게 제출하십시오. 풀 레퍼스트를 제출할 때 변경 사항을 완전히 문서화 하고 적절한 단위 테스트를 추가했는지 확인하십시오.
이 프로젝트는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 "LICENSE" 파일을 참조하십시오.
MQTT-C는 처음에 서스 캐처 원 대학교에서 CMPT 434 (Winter Term, 2018) 최종 프로젝트로 개발되었습니다.