/* * AWS IoT Device SDK for Embedded C 202211.00 * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in * the Software without restriction, including without limitation the rights to * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of * the Software, and to permit persons to whom the Software is furnished to do so, * subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef DEMO_CONFIG_H_ #define DEMO_CONFIG_H_ /**************************************************/ /******* DO NOT CHANGE the following order ********/ /**************************************************/ /* Logging config definition and header files inclusion are required in the following order: * 1. Include the header file "logging_levels.h". * 2. Define the LIBRARY_LOG_NAME and LIBRARY_LOG_LEVEL macros depending on * the logging configuration for DEMO. * 3. Include the header file "logging_stack.h", if logging is enabled for DEMO. */ /* Include header that defines log levels. */ #include "logging_levels.h" /* Logging configuration for the Demo. */ #ifndef LIBRARY_LOG_NAME #define LIBRARY_LOG_NAME "DEMO" #endif #ifndef LIBRARY_LOG_LEVEL #define LIBRARY_LOG_LEVEL LOG_INFO #endif #include "logging_stack.h" /************ End of logging configuration ****************/ /** * @brief Your AWS IoT Core endpoint. * * @note Your AWS IoT Core endpoint can be found in the AWS IoT console under * Settings/Custom Endpoint, or using the describe-endpoint API. * * #define AWS_IOT_ENDPOINT "...insert here..." */ /** * @brief AWS IoT Core server port number for HTTPS connections. * * For this demo, an X.509 certificate is used to verify the client. * * @note Port 443 requires use of the ALPN TLS extension with the ALPN protocol * name being x-amzn-http-ca. When using port 8443, ALPN is not required. */ #ifndef AWS_HTTPS_PORT #define AWS_HTTPS_PORT 443 #endif /** * @brief Path of the file containing Amazon's root CA certificate for TLS * authentication to AWS IoT Core. * * Amazon's root CA certificate is automatically downloaded to the certificates * directory from @ref https://www.amazontrust.com/repository/AmazonRootCA1.pem * using the CMake build system. * * @note This certificate should be PEM-encoded. */ #ifndef ROOT_CA_CERT_PATH #define ROOT_CA_CERT_PATH "certificates/AmazonRootCA1.crt" #endif /** * @brief Path of the file containing the client's certificate for TLS * authentication to AWS IoT Core. * * @note This certificate should be PEM-encoded and must have an associated * policy from AWS IoT core for the demo to function correctly. * * #define CLIENT_CERT_PATH "...insert here..." */ /** * @brief Path of the file containing the client's private key for * TLS client authentication. * * @note This key should be PEM-encoded and must have an associated * policy from AWS IoT core for the demo to function correctly. * * #define CLIENT_PRIVATE_KEY_PATH "...insert here..." */ /** * @brief This endpoint can be used to publish a message to a topic named topic * on AWS IoT Core. * * Each client certificate has an associated policy document that must be * configured to support the path below for this demo to work correctly. * * @note QoS=1 implies the message is delivered to all subscribers of the topic * at least once. */ #define POST_PATH "/topics/topic?qos=1" /** * @brief Transport timeout in milliseconds for transport send and receive. */ #define TRANSPORT_SEND_RECV_TIMEOUT_MS ( 5000 ) /** * @brief The length in bytes of the user buffer. */ #define USER_BUFFER_LENGTH ( 2048 ) /** * @brief Request body to send for PUT and POST requests in this demo. */ #define REQUEST_BODY "{ \"message\": \"Hello, world\" }" #endif /* ifndef DEMO_CONFIG_H_ */