Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion examples/mqttc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,23 @@
if(CONFIG_EXAMPLES_MQTTC)
nuttx_add_application(
NAME
${CONFIG_EXAMPLES_MQTTC_PROGNAME}
${CONFIG_EXAMPLES_MQTTC_PUB_PROGNAME}
STACKSIZE
${CONFIG_EXAMPLES_MQTTC_STACKSIZE}
MODULE
${CONFIG_EXAMPLES_MQTTC}
SRCS
mqttc_pub.c)

if(CONFIG_EXAMPLES_MQTTC_SUB)
Comment thread
xiaoxiang781216 marked this conversation as resolved.
nuttx_add_application(
NAME
${CONFIG_EXAMPLES_MQTTC_SUB_PROGNAME}
STACKSIZE
${CONFIG_EXAMPLES_MQTTC_STACKSIZE}
MODULE
${CONFIG_EXAMPLES_MQTTC}
SRCS
mqttc_sub.c)
endif()
endif()
24 changes: 24 additions & 0 deletions examples/mqttc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,17 @@ config EXAMPLES_MQTTC_PROGNAME
string "Program name"
default "mqttc_pub"

config EXAMPLES_MQTTC_SUB
bool "Enable MQTT-C Subscriber Client"
default n
---help---
Enable a simple MQTT-C subscriber example alongside publisher

config EXAMPLES_MQTTC_SUB_PROGNAME
string "Subscriber program name"
default "mqttc_sub"
depends on EXAMPLES_MQTTC_SUB

config EXAMPLES_MQTTC_STACKSIZE
int "Task's stack size"
default 8192
Expand All @@ -28,6 +39,19 @@ config EXAMPLES_MQTTC_RXSIZE
int "RX Buffer size"
default 256

config MQTT_USE_MBEDTLS
bool
default n

config EXAMPLES_MQTTC_MBEDTLS
bool "Enable MQTT over TLS (mbedTLS)"
default n
depends on NETUTILS_MQTTC_WITH_MBEDTLS
select MQTT_USE_MBEDTLS
---help---
Enable TLS/SSL support for MQTT connections using mbedTLS.
Requires NETUTILS_MQTTC_WITH_MBEDTLS to be enabled.

config EXAMPLES_MQTTC_ALLOW_UNVERIFIED_TLS
bool "Allow unverified TLS"
default n
Expand Down
10 changes: 10 additions & 0 deletions examples/mqttc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,20 @@ include $(APPDIR)/Make.defs
PROGNAME = $(CONFIG_EXAMPLES_MQTTC_PROGNAME)
PRIORITY = SCHED_PRIORITY_DEFAULT
STACKSIZE = $(CONFIG_EXAMPLES_MQTTC_STACKSIZE)

ifeq ($(CONFIG_EXAMPLES_MQTTC_SUB),y)
PROGNAME += $(CONFIG_EXAMPLES_MQTTC_SUB_PROGNAME)
PRIORITY += SCHED_PRIORITY_DEFAULT
STACKSIZE += $(CONFIG_EXAMPLES_MQTTC_STACKSIZE)
endif

MODULE = $(CONFIG_EXAMPLES_MQTTC)

# MQTT-C example source code

MAINSRC = mqttc_pub.c
ifeq ($(CONFIG_EXAMPLES_MQTTC_SUB), y)
MAINSRC += mqttc_sub.c
endif

include $(APPDIR)/Application.mk
30 changes: 30 additions & 0 deletions examples/mqttc/cert.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/* Broker CA certificate (PEM), embedded in the firmware so the subscriber
* can authenticate the broker without copying a certificate file onto the
* board.
* Replace the body below if the broker's CA changes; init_conn() parses
* it whenever no CA file is supplied on the command line via -c.
*/

# define TEST_CA_CRT_RSA_SHA256_PEM \
"-----BEGIN CERTIFICATE-----\r\n" \
"MIIDYTCCAkmgAwIBAgIUAk1VwJ7il2775wUnEgBZSvW77dUwDQYJKoZIhvcNAQEL\r\n" \
"BQAwQDELMAkGA1UEBhMCUk8xEjAQBgNVBAgMCUJ1Y2hhcmVzdDEOMAwGA1UECgwF\r\n" \
"TXlPcmcxDTALBgNVBAMMBE15Q0EwHhcNMjYwNjA5MDA0MjExWhcNMzYwNjA2MDA0\r\n" \
"MjExWjBAMQswCQYDVQQGEwJSTzESMBAGA1UECAwJQnVjaGFyZXN0MQ4wDAYDVQQK\r\n" \
"DAVNeU9yZzENMAsGA1UEAwwETXlDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC\r\n" \
"AQoCggEBAMGfLamBuio0mYqL8TDLqcxqCDhELmrmYxccz8/BAJ3xG0bbqAg0o2CM\r\n" \
"2nUcDWeDTTOFTEAOVKhqqbu7jzQA+/XRQaptYAzt13N0pMUFlKZQ0QVefAH11mph\r\n" \
"M2u0exWZObRQxUyfzzJG1UZQ4xGqXUekg+2LMSS09g/QAsCreu8O+xzAK9XUA6np\r\n" \
"8lebaIqxFHabrjlbHgan5qKP0+EncMRN/5Lb11MDzfjyIusoFWPZF8rF2x9D+UFv\r\n" \
"hZuL9Z40jz3cRlVUxuVtUq1tna2CCwWhwl5gwAQ/b0rkhe+5/b3cgSs3VbIdWHic\r\n" \
"nwM4Yq4K/nAetYiOxtjKY5zLIvRopd0CAwEAAaNTMFEwHQYDVR0OBBYEFFR43w+x\r\n" \
"ri1ssaAyJzQGDH/dP2e0MB8GA1UdIwQYMBaAFFR43w+xri1ssaAyJzQGDH/dP2e0\r\n" \
"MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADU/lBjTGb7RlgGq\r\n" \
"HYCktoWZBNkJFPVTPrC1mwzJX/vSaz9QUpRA5dpprSl84QKvWNxO5fPEMmwK2Wrw\r\n" \
"x6tdE2aWb5x+3W0302JnaUPNhDF26Z5+LK4CoRHjbT2J3FrDg2u6/3Si+RpNSHYh\r\n" \
"0OCdApzCyzqWdmvb7VD+u+isSh9CEUcaBOCq/72GNqdIjnSsgMGNHp9Ld6+ctwJO\r\n" \
"sQkj0M3MaciNSPZ3y0w/GqeWNQaK3Rk5pSaqrc9RQS42KtJuGOqMiBMG1Ib6b7D4\r\n" \
"bJSEDBzhO1M0o9vwr9xYaCUfbQzuuYJ3al4weRl0E4B63o2OFUjMOILIO3LeuuRD\r\n" \
"+HXdOE0=\r\n" \
"-----END CERTIFICATE-----\r\n"
/* END FILE */
32 changes: 3 additions & 29 deletions examples/mqttc/mqttc_pub.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
* Included Files
****************************************************************************/

#include <nuttx/compiler.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
Expand All @@ -42,39 +43,12 @@
# include <mbedtls/net_sockets.h>
# include <mbedtls/ssl.h>

#include "cert.inc"

/****************************************************************************
* Pre-processor Definitions
****************************************************************************/

/* This is taken from mbedtls/tests/data_files/test-ca-sha256.crt. */

/* BEGIN FILE string macro TEST_CA_CRT_RSA_SHA256_PEM
* mbedtls/tests/data_files/test-ca-sha256.crt
*/

# define TEST_CA_CRT_RSA_SHA256_PEM \
"-----BEGIN CERTIFICATE-----\r\n" \
"MIIDQTCCAimgAwIBAgIBAzANBgkqhkiG9w0BAQsFADA7MQswCQYDVQQGEwJOTDER\r\n" \
"MA8GA1UECgwIUG9sYXJTU0wxGTAXBgNVBAMMEFBvbGFyU1NMIFRlc3QgQ0EwHhcN\r\n" \
"MTkwMjEwMTQ0NDAwWhcNMjkwMjEwMTQ0NDAwWjA7MQswCQYDVQQGEwJOTDERMA8G\r\n" \
"A1UECgwIUG9sYXJTU0wxGTAXBgNVBAMMEFBvbGFyU1NMIFRlc3QgQ0EwggEiMA0G\r\n" \
"CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA3zf8F7vglp0/ht6WMn1EpRagzSHx\r\n" \
"mdTs6st8GFgIlKXsm8WL3xoemTiZhx57wI053zhdcHgH057Zk+i5clHFzqMwUqny\r\n" \
"50BwFMtEonILwuVA+T7lpg6z+exKY8C4KQB0nFc7qKUEkHHxvYPZP9al4jwqj+8n\r\n" \
"YMPGn8u67GB9t+aEMr5P+1gmIgNb1LTV+/Xjli5wwOQuvfwu7uJBVcA0Ln0kcmnL\r\n" \
"R7EUQIN9Z/SG9jGr8XmksrUuEvmEF/Bibyc+E1ixVA0hmnM3oTDPb5Lc9un8rNsu\r\n" \
"KNF+AksjoBXyOGVkCeoMbo4bF6BxyLObyavpw/LPh5aPgAIynplYb6LVAgMBAAGj\r\n" \
"UDBOMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFLRa5KWz3tJS9rnVppUP6z68x/3/\r\n" \
"MB8GA1UdIwQYMBaAFLRa5KWz3tJS9rnVppUP6z68x/3/MA0GCSqGSIb3DQEBCwUA\r\n" \
"A4IBAQA4qFSCth2q22uJIdE4KGHJsJjVEfw2/xn+MkTvCMfxVrvmRvqCtjE4tKDl\r\n" \
"oK4MxFOek07oDZwvtAT9ijn1hHftTNS7RH9zd/fxNpfcHnMZXVC4w4DNA1fSANtW\r\n" \
"5sY1JB5Je9jScrsLSS+mAjyv0Ow3Hb2Bix8wu7xNNrV5fIf7Ubm+wt6SqEBxu3Kb\r\n" \
"+EfObAT4huf3czznhH3C17ed6NSbXwoXfby7stWUDeRJv08RaFOykf/Aae7bY5PL\r\n" \
"yTVrkAnikMntJ9YI+hNNYt3inqq11A5cN0+rVTst8UKCxzQ4GpvroSwPKTFkbMw4\r\n" \
"/anT1dVxr/BtwJfiESoK3/4CeXR1\r\n" \
"-----END CERTIFICATE-----\r\n"
/* END FILE */

# define EXTRA_OPT "c:"
#else
# define EXTRA_OPT ""
Expand Down
Loading
Loading