coreMQTT 에이전트 라이브러리 - 무료 RTOS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

coreMQTT 에이전트 라이브러리

참고

이 페이지의 내용은 최신 상태가 아닐 수 있습니다. 최신 업데이트는 Freertos.org 라이브러리 페이지를 참조하세요.

소개

coreMQTT 에이전트 라이브러리는 coreMQTT 라이브러리에 스레드 안전성을 추가하는 상위 수준 API입니다. 이를 통해 백그라운드에서 MQTT 연결을 관리하고 다른 태스크의 개입이 필요 없는 전용 MQTT 에이전트 태스크를 생성할 수 있습니다. 이 라이브러리는 coreMQTT API와 동등한 스레드 안전 기능을 제공하므로 다중 스레드 환경에서 사용할 수 있습니다.

MQTT 에이전트는 독립적인 태스크(또는 실행 스레드)입니다. MQTT 라이브러리의 API에 액세스할 수 있는 유일한 태스크이기 때문에 스레드 안전성이 향상됩니다. 모든 MQTT API 호출을 단일 태스크로 격리하여 액세스를 직렬화하므로 세마포어 또는 기타 동기화 프리미티브가 필요하지 않습니다.

라이브러리는 스레드 안전 메시징 대기열(또는 기타 프로세스 간 통신 메커니즘)를 사용하여 MQTT API를 직접 호출하는 모든 요청을 직렬화합니다. 메시징 구현은 메시징 인터페이스를 통해 라이브러리와 분리되므로 라이브러리를 다른 운영 체제로 이식할 수 있습니다. 메시징 인터페이스는 에이전트의 명령 구조에 대한 포인터를 보내고 받는 함수와 이러한 명령 객체를 할당하는 함수로 구성되어 있으며, 이를 통해 애플리케이션 작성자는 해당 애플리케이션에 적합한 메모리 할당 전략을 결정할 수 있습니다.

이 라이브러리는 C로 작성되었으며 ISO C90MISRA C:2012를 준수하도록 설계되었습니다. 이 라이브러리에는 coreMQTT 라이브러리 및 표준 C 라이브러리 이외의 추가 라이브러리에 대한 종속성이 없습니다. 또한 안전한 메모리 사용과 힙 할당 없음을 보여주는 증거가 있어 IoT 마이크로컨트롤러에 사용할 수 있을 뿐만 아니라 다른 플랫폼으로도 완벽하게 이식할 수 있습니다.

이 라이브러리는 자유롭게 사용할 수 있으며 MIT 오픈 소스 라이선스에 따라 배포됩니다.

coreMQTT 에이전트 코드 크기(ARM Cortex-M용 GCC로 생성된 예제)
파일 -O1 최적화 -Os 최적화
core_mqtt_agent.c 1.7K 1.5K
core_mqtt_agent_command_functions.c 0.3K 0.2K
core_mqtt.c(coreMQTT) 4.0K 3.4K
core_mqtt_state.c(coreMQTT) 1.7K 1.3K
core_mqtt_serializer.c(coreMQTT) 2.8K 2.2K
총 추정치 10.5K 8.6K