NuMaker connection with AWS IoT thru MQTT/HTTPS

Dependencies:   MQTT_ON_AWS

Revision:
39:a26be070a2b1
Parent:
36:1bec082ad582
diff -r 537cbdc1cfa3 -r a26be070a2b1 main.cpp
--- a/main.cpp	Fri Apr 10 10:51:49 2020 +0800
+++ b/main.cpp	Tue Dec 01 03:25:48 2020 +0000
@@ -33,92 +33,86 @@
  * To add more than one root, just concatenate them.
  */
 const char SSL_CA_CERT_PEM[] = "-----BEGIN CERTIFICATE-----\n"
-    "MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB\n"
-    "yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL\n"
-    "ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp\n"
-    "U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW\n"
-    "ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0\n"
-    "aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL\n"
-    "MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW\n"
-    "ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln\n"
-    "biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp\n"
-    "U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y\n"
-    "aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1\n"
-    "nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex\n"
-    "t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz\n"
-    "SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG\n"
-    "BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+\n"
-    "rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/\n"
-    "NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E\n"
-    "BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH\n"
-    "BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy\n"
-    "aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv\n"
-    "MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE\n"
-    "p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y\n"
-    "5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK\n"
-    "WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ\n"
-    "4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N\n"
-    "hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq\n"
-    "-----END CERTIFICATE-----\n";
+"MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF\n"
+"ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\n"
+"b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL\n"
+"MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv\n"
+"b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj\n"
+"ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM\n"
+"9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw\n"
+"IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6\n"
+"VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L\n"
+"93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm\n"
+"jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC\n"
+"AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA\n"
+"A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI\n"
+"U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs\n"
+"N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv\n"
+"o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU\n"
+"5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy\n"
+"rqXRfboQnoZsG4q5WTP468SQvvG5\n"
+"-----END CERTIFICATE-----\n";
 
 /* User certificate which has been activated and attached with specific thing and policy */
 const char SSL_USER_CERT_PEM[] = "-----BEGIN CERTIFICATE-----\n"
-    "MIIDWTCCAkGgAwIBAgIUAzDIpEQWV/yKVo8suGhvjmFY0n4wDQYJKoZIhvcNAQEL\n"
-    "BQAwTTFLMEkGA1UECwxCQW1hem9uIFdlYiBTZXJ2aWNlcyBPPUFtYXpvbi5jb20g\n"
-    "SW5jLiBMPVNlYXR0bGUgU1Q9V2FzaGluZ3RvbiBDPVVTMB4XDTE4MDQxNzA5NDMx\n"
-    "M1oXDTQ5MTIzMTIzNTk1OVowHjEcMBoGA1UEAwwTQVdTIElvVCBDZXJ0aWZpY2F0\n"
-    "ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKsLlECiw4ud5laejJmL\n"
-    "bBhafKLdCRx6tkcjBYyEUoAC3Qs2ogqGngQgjU4QJoWpEBO/U1M+e1QtlZ2o/CiL\n"
-    "MViHA3rYvP86N/TH8pFA3aPKaeEp+WIt5v4OXdfPkVNKTotiRuRCpzRzrY4xKp11\n"
-    "ouKkVKf3FcNuKIMt/uEhje90KofBbFHQY3HFYe19qIg1m/IBV+npmNlAKElGNSB7\n"
-    "xHHLzzUuue38s+ceJyzsWuPjFiVYoeyPHF8gDVWf28XJ4KUFs80Deycqe9efroud\n"
-    "cQY/6aLDWDJXHvhenwoAIbHqUsYRoWoanrg5Cq3id5+pzVkadNV3+x9bGwROhpbQ\n"
-    "M9ECAwEAAaNgMF4wHwYDVR0jBBgwFoAUVUXg3+Dd1qSnAT9LN413zSdNoE0wHQYD\n"
-    "VR0OBBYEFIx86SOxw5k/50GtyRjUwlj+9d1gMAwGA1UdEwEB/wQCMAAwDgYDVR0P\n"
-    "AQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IBAQCI1fqqjvLAFzL2E1nvWMrkaWN2\n"
-    "EQK44uOcw53ZzgNNH7fJ85BW8T2l1yZx/Blgs10pEp7vmccnRoR7nYbUGO8++9nG\n"
-    "S7bfZhiaE2syJqqvLwPGdqR6fvDdfEpmhgJ1CqeMCqun9XZvUTsgBn7Sqqz7P99h\n"
-    "gGmDRKS/CtsPai0Df0ZPNuV/YuUkpHKJSDm+ZTnzevMS3KXkG1cc/sIuc4IwF+aj\n"
-    "nbyzdC2fN0r+34srQ8/9aXezOTQ0NBWtoJCCkD+LL6PYJJkAgLA2jcbcbuRJUQ7n\n"
-    "Zsp25kKX40fuyIcgPRsd/7sao3zTVYxwKy8r6/mbgrPiMeHvJZ8y3nwUpsPO\n"
-    "-----END CERTIFICATE-----\n";
+"MIIDWjCCAkKgAwIBAgIVAP0S4tR63yXVgM2daSOyFdhUMmPMMA0GCSqGSIb3DQEB\n"
+"CwUAME0xSzBJBgNVBAsMQkFtYXpvbiBXZWIgU2VydmljZXMgTz1BbWF6b24uY29t\n"
+"IEluYy4gTD1TZWF0dGxlIFNUPVdhc2hpbmd0b24gQz1VUzAeFw0yMDA5MTQwMzAy\n"
+"MTVaFw00OTEyMzEyMzU5NTlaMB4xHDAaBgNVBAMME0FXUyBJb1QgQ2VydGlmaWNh\n"
+"dGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDhepRd6MQM4QRLLjIe\n"
+"2VPkNW391X+UreNmY5doyFoYsbTCcY3HhY7CLdT4NCQfJQ8/qbx6om9KQQnbeMdI\n"
+"tG0CeRco3jxRM94p+iwrxzxJOOgtEUzm8wOCfNc9S7MBFDUtteboIekBjk5ZaPnS\n"
+"gxsOLFgOdopPO/FxrmE23S5XCt8K77eOZRcGi/+RLyYGIVGQqN87a6qTveRARh9K\n"
+"BHWfIffVZv7/WXHwRSIci35buJHQcTP5kWmT6VOdswYNQzgmi0UxLkSJFAhYzu/J\n"
+"pgrm54Jwf/xKkGwQ4vgeH2EJ+ksBa8Eg5KiLQH9OjZ9BKoeyAPyLQhF642VQmSU3\n"
+"20obAgMBAAGjYDBeMB8GA1UdIwQYMBaAFN50owFGEDexb9nOdsgXxQ+BchtzMB0G\n"
+"A1UdDgQWBBReXbnLWekyRBvkd4YfTePGd7sXIzAMBgNVHRMBAf8EAjAAMA4GA1Ud\n"
+"DwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAQEAf9+gOAOTo22Oo+mpcf6SAADw\n"
+"tN+fInVMgLLW13ViB7dELAYx4YcrPRRrxK6KOQbNeFj62jOon7Zj7GQyFUAG6ePw\n"
+"TUEyuAvYNltYfF2OjsLu7XFrtM8RhmKUOKpP3WJ8AiZvnzknYcdPvAbka8TRK9zC\n"
+"13xouOMkrWD6BY+FPe+xrsCHeJAVpaCRJBLWnkMaR1fyMsL8xGBkFz02BPTO70cN\n"
+"rmVh/dbJz9JifedlcK0ZjfpU3EfiLZ/ydZWqEc2M6VGO0sLOfIahHhqKPq6hbiUu\n"
+"WiwB/ZhYjJI0vQm3/mzTXTEwSwBcRvQusoctZS6Ilb9W9KNttXtQZ5Pd+iWDAw==\n"
+"-----END CERTIFICATE-----\n";
 
 /* User private key paired with above */
 const char SSL_USER_PRIV_KEY_PEM[] = "-----BEGIN RSA PRIVATE KEY-----\n"
-    "MIIEowIBAAKCAQEAqwuUQKLDi53mVp6MmYtsGFp8ot0JHHq2RyMFjIRSgALdCzai\n"
-    "CoaeBCCNThAmhakQE79TUz57VC2Vnaj8KIsxWIcDeti8/zo39MfykUDdo8pp4Sn5\n"
-    "Yi3m/g5d18+RU0pOi2JG5EKnNHOtjjEqnXWi4qRUp/cVw24ogy3+4SGN73Qqh8Fs\n"
-    "UdBjccVh7X2oiDWb8gFX6emY2UAoSUY1IHvEccvPNS657fyz5x4nLOxa4+MWJVih\n"
-    "7I8cXyANVZ/bxcngpQWzzQN7Jyp715+ui51xBj/posNYMlce+F6fCgAhsepSxhGh\n"
-    "ahqeuDkKreJ3n6nNWRp01Xf7H1sbBE6GltAz0QIDAQABAoIBAAzl7KILJA/NMmdp\n"
-    "wVR6zQXxHODzJhK9ti0bGPoFqGr6zExiLEn66MOK6NzwHteJbirvDIuEdKxeW5/t\n"
-    "9EXiaTAxzjNfULE2ZK3Svhnx+ES3qNBP5/xdVcPmtXDmuCC9w7qDCLGBzTYJWxcT\n"
-    "4hDJpCTPG4sm+L8p+Wga+dNkQl3CFyHHINDZ0pKcP0kDDt6inKfiU7uU4lFYbCZy\n"
-    "PceUgIOTQiNVoPQYtkHgZAtmD9rcwdq2/0GZEbzTkZuSE9S8+WlGxJP5xMGzeVsv\n"
-    "zZ/scx0LM7fz5Zq0lsvAwSB1mcs04DaaNpU7Z0tXDIS249RTqdtpPkJzmevpAGhF\n"
-    "VNe30/kCgYEA4rflfqyw/YHWKRxCGJRO+q0gPvlBIes30noz5Hxl0knb/J5Ng4Nx\n"
-    "xMaIMZgCbwHbw5i01JOPvVKICROKb8wkli4Y2eVzxMPKk2CSpji16RQZ4eOl3YXL\n"
-    "1Vnn07Ei+GpsGgDNF0HWf/Ur7es/KdAPCWbKJyoSR90+WN29gP2+Zp8CgYEAwSLv\n"
-    "Kt/vdd6XKnR9xR3IajsW/X2GR/x/m2JffJPOP6VpDTKAbv86hVHDV0oBEDMDc7qy\n"
-    "023ognyFCPb9Gzol2lq8egjMsisA2bgoB9HqldrSYlaZ0wPe0QJBf1gZ29jPyVJ0\n"
-    "ciaBbNbSRhwTrwet7Bae9EbpJsyvBxVh00v0f48CgYEAvKQKviXudmCL01UB4fW0\n"
-    "6XsXs44tlY1juyuW9exTxG9ULZOCJ4U9Kl+OfsVecQL42ny7KY1GMl7zdanerDsN\n"
-    "zi+42cTDWNsYORxHqSrSoYbqKjwCjJmBCppt/IQM9umF3PUBsPJFCd7zmFj/C0lk\n"
-    "2Yu/dGrbHxSFheeqgCOhQz0CgYBfZxdHUYji64o2cYay+QxH1Vp86yWKp6KNKeHL\n"
-    "EuP9soKa/0hMDA1nT8UzeB3gV6Kr5xxwrkj9M+8vR3otmeKa4tlZWsFqfS2VXo9/\n"
-    "lWTQk1/7LZYckzvceMXL1sQnQgkaBH366SRjlBYYhcP/YMa76Uypk+GVxePrltdU\n"
-    "3Z8v5wKBgEXL38yc9LqTIWe1U40ZZKvp2A8c86jtstorEEFqXharE8kxcEpL8ZLL\n"
-    "wjgPKdfNMIuApHSrhG7a7gU1rgJyDy1sOIwSvgTYrWfITPTVu5owvSZEblx4KYOm\n"
-    "g8hke3Oego4v9cwctkQss3/HZ6rs3PR942oAetuxLy3KPF83IeFm\n"
-    "-----END RSA PRIVATE KEY-----\n";
+"MIIEowIBAAKCAQEA4XqUXejEDOEESy4yHtlT5DVt/dV/lK3jZmOXaMhaGLG0wnGN\n"
+"x4WOwi3U+DQkHyUPP6m8eqJvSkEJ23jHSLRtAnkXKN48UTPeKfosK8c8STjoLRFM\n"
+"5vMDgnzXPUuzARQ1LbXm6CHpAY5OWWj50oMbDixYDnaKTzvxca5hNt0uVwrfCu+3\n"
+"jmUXBov/kS8mBiFRkKjfO2uqk73kQEYfSgR1nyH31Wb+/1lx8EUiHIt+W7iR0HEz\n"
+"+ZFpk+lTnbMGDUM4JotFMS5EiRQIWM7vyaYK5ueCcH/8SpBsEOL4Hh9hCfpLAWvB\n"
+"IOSoi0B/To2fQSqHsgD8i0IReuNlUJklN9tKGwIDAQABAoIBAFvNZ7jwe1nvB6uA\n"
+"bIGo5IImytitY1tqjQp0BAJyiFRDjiAY0avpkd03gd1ohUh080dtWULo/bzSzCui\n"
+"eij85OE74hUOnqpFHvAiXneYj9AULlujDpd9W/F12MCpIIGQ87HfvNrIa7Dperbm\n"
+"iciO/qX/of6JfviRpFUvtX78ANEI5TlHF/hi3ZHQdCVVAezOfsSwRs3jqlIQAz43\n"
+"WRQzkqSE2cfO0Mm3K3D1gTKTPpsPACj665Tzua2QdZgKwFdoiiVla9uUsvtZmeBO\n"
+"BaodrhxZssAtak/hd/TCLVCZq90GMG45AYP6qIvGPQtRKrkMHIbsPXU+MMIWcj9S\n"
+"PJb9CFECgYEA+98lfB/T0fn3Z/KxAMqnzqj7uMEuxq4azmyyv8t6K/nGReSooKX1\n"
+"I7n8LskmKcWZkNTUnZ4zPmz23xHHAGp6h1lbXGDQOHbDXDW+bKGI2ZNnCoCYydzI\n"
+"syJ8jE7OmXgknI1TWG2tt3m3W/JBw2hiE/2HjMIniYkTwNo2an6YobkCgYEA5Syw\n"
+"U11Y+z6fh6qIKziI6fuEPu5rDh0gUvLMg0ZtcIyZwbAI/tqRSADf/7YE6GGHp4l6\n"
+"rSJz2tZCWoXCXFOsBKBAnrV6swwVPBGkfg0hzibEKeZTmxuDPbipgKaAlSfMyIk1\n"
+"NBYF1+/1VTJZSkhftRkjXTdfTTxHWs0N6JnBxHMCgYEAgRy7f2xlTd8AVzXOTGSW\n"
+"Ltbq6qOE0e4P6b9Ixg6NWxuX6t4zHt7T0fOV9XnBaWpUtSyUrROamyaKSoE3bNwo\n"
+"YVeKAMnUEw22SX93VQJdP4NTL8wKBnh6HXHRPK9tMrims+WyUsMuaL4pIyYFViEd\n"
+"Hbg6Ewq378Xn7VUuzdqFbWkCgYA76z5C3aI5Nnthbj3iBwsNGjzOc2m8K/NanK7K\n"
+"F+zfQ3OkB5GiiKT5jXkDk6Se2XktXa2cfOiLq/93SYeyuhG8t+WNWWe2To9ywC4g\n"
+"4vAWxV3+koEDieL7jT+MKnxuAxTwzacCckue1NdxKhPcbyXO5L6xTZv2Rq9lVz2u\n"
+"thzKbwKBgC07iLwQJkcZWo2xNDgO2C2dhWSZaX0VFjA1TZAwbi3+pV0pg9aczgZS\n"
+"8WPCQwB4BBz/4FesMjpy0KoZZsBuvfGDwxTjsvZOm67nqdkM+LIfFt493NNoxxl4\n"
+"kTyDhNIrvXLFMy7UO3q9jUUQ0hWz8EIKKjWI3oApFhB0VtWTB8Kl\n"
+"-----END RSA PRIVATE KEY-----\n";
 
 #if AWS_IOT_MQTT_TEST
 
-#define AWS_IOT_MQTT_SERVER_NAME                "a1fljoeglhtf61.iot.us-east-2.amazonaws.com"
+#define AWS_IOT_MQTT_SERVER_NAME              "a13s4t1vh7t3tu-ats.iot.ap-northeast-1.amazonaws.com"
+//  "a1fljoeglhtf61.iot.us-east-2.amazonaws.com"
+
 #define AWS_IOT_MQTT_SERVER_PORT                8883
 
-#define AWS_IOT_MQTT_THINGNAME                  "Nuvoton-Mbed-D001"
-#define AWS_IOT_MQTT_CLIENTNAME                 "Nuvoton Client"
+#define AWS_IOT_MQTT_THINGNAME                  "M487_TYH_TEST"
+#define AWS_IOT_MQTT_CLIENTNAME                 "TYH_IOT"
 
 /* User self-test topic */
 const char USER_MQTT_TOPIC[] = "Nuvoton/Mbed/D001";