Connecting ESP32 to AWS IoT Core

Introduction to Amazon Web Services (AWS) IoT Connecting Things to AWS IoT Core
11 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€67.28
List Price:  €96.12
You save:  €28.84
£55.93
List Price:  £79.91
You save:  £23.97
CA$98.01
List Price:  CA$140.02
You save:  CA$42.01
A$107.87
List Price:  A$154.11
You save:  A$46.23
S$94.42
List Price:  S$134.90
You save:  S$40.47
HK$544.78
List Price:  HK$778.29
You save:  HK$233.51
CHF 62.22
List Price:  CHF 88.89
You save:  CHF 26.67
NOK kr779.46
List Price:  NOK kr1,113.56
You save:  NOK kr334.10
DKK kr501.79
List Price:  DKK kr716.88
You save:  DKK kr215.08
NZ$119.98
List Price:  NZ$171.41
You save:  NZ$51.43
د.إ257.07
List Price:  د.إ367.26
You save:  د.إ110.18
৳8,402.58
List Price:  ৳12,004.20
You save:  ৳3,601.62
₹5,911.93
List Price:  ₹8,445.97
You save:  ₹2,534.04
RM312.68
List Price:  RM446.70
You save:  RM134.02
₦118,358.68
List Price:  ₦169,091.08
You save:  ₦50,732.40
₨19,451.98
List Price:  ₨27,789.74
You save:  ₨8,337.75
฿2,421.30
List Price:  ฿3,459.15
You save:  ฿1,037.85
₺2,419.75
List Price:  ₺3,456.94
You save:  ₺1,037.18
B$406.81
List Price:  B$581.19
You save:  B$174.37
R1,266.21
List Price:  R1,808.95
You save:  R542.74
Лв131.43
List Price:  Лв187.77
You save:  Лв56.33
₩98,455.31
List Price:  ₩140,656.47
You save:  ₩42,201.16
₪260.61
List Price:  ₪372.31
You save:  ₪111.70
₱4,125.84
List Price:  ₱5,894.31
You save:  ₱1,768.47
¥10,813.84
List Price:  ¥15,449
You save:  ¥4,635.16
MX$1,432.62
List Price:  MX$2,046.69
You save:  MX$614.07
QR256.35
List Price:  QR366.23
You save:  QR109.88
P959.91
List Price:  P1,371.36
You save:  P411.45
KSh9,063.70
List Price:  KSh12,948.70
You save:  KSh3,885
E£3,476.67
List Price:  E£4,966.88
You save:  E£1,490.21
ብር8,762.26
List Price:  ብር12,518.05
You save:  ብር3,755.79
Kz63,877.12
List Price:  Kz91,256.94
You save:  Kz27,379.82
CLP$68,152.06
List Price:  CLP$97,364.26
You save:  CLP$29,212.20
CN¥507.37
List Price:  CN¥724.85
You save:  CN¥217.47
RD$4,236.71
List Price:  RD$6,052.70
You save:  RD$1,815.99
DA9,355.50
List Price:  DA13,365.57
You save:  DA4,010.07
FJ$159.32
List Price:  FJ$227.62
You save:  FJ$68.29
Q542.77
List Price:  Q775.43
You save:  Q232.65
GY$14,710.67
List Price:  GY$21,016.15
You save:  GY$6,305.47
ISK kr9,775.50
List Price:  ISK kr13,965.60
You save:  ISK kr4,190.10
DH703.21
List Price:  DH1,004.63
You save:  DH301.41
L1,276.61
List Price:  L1,823.81
You save:  L547.19
ден4,112.73
List Price:  ден5,875.58
You save:  ден1,762.85
MOP$563.70
List Price:  MOP$805.33
You save:  MOP$241.62
N$1,272.29
List Price:  N$1,817.64
You save:  N$545.34
C$2,573.53
List Price:  C$3,676.63
You save:  C$1,103.10
रु9,461.06
List Price:  रु13,516.38
You save:  रु4,055.32
S/267.08
List Price:  S/381.56
You save:  S/114.48
K283.05
List Price:  K404.37
You save:  K121.32
SAR262.80
List Price:  SAR375.44
You save:  SAR112.64
ZK1,938.90
List Price:  ZK2,769.98
You save:  ZK831.07
L334.76
List Price:  L478.25
You save:  L143.49
Kč1,707.89
List Price:  Kč2,439.96
You save:  Kč732.06
Ft27,663.65
List Price:  Ft39,521.19
You save:  Ft11,857.54
SEK kr779.03
List Price:  SEK kr1,112.95
You save:  SEK kr333.92
ARS$70,272.32
List Price:  ARS$100,393.34
You save:  ARS$30,121.01
Bs485.83
List Price:  Bs694.07
You save:  Bs208.24
COP$310,661.31
List Price:  COP$443,820.90
You save:  COP$133,159.58
₡35,743.76
List Price:  ₡51,064.70
You save:  ₡15,320.94
L1,776.85
List Price:  L2,538.46
You save:  L761.61
₲551,865.53
List Price:  ₲788,413.13
You save:  ₲236,547.59
$U2,996.30
List Price:  $U4,280.61
You save:  $U1,284.31
zł292.33
List Price:  zł417.63
You save:  zł125.30
Already have an account? Log In

Transcript

Video 2.5 connecting ESP 32 to AWS IoT Core. In this video, we will learn the following downloading AWS IoT for Arduino SDK, downloading NTP client, attaching certificates to ESP 32 programming ESP 32 testing, downloading AWS IoT for Arduino SDK, let's start downloading the AWS IoT device SDK from the link in the resources section. That link will direct you to a GitHub page like this. These files help us in establishing AWS IoT cloud connectivity with ESP 32 select clone or download and then download zip. Now, after we completed downloading the zip file, extract the file, this is the file, hornbill examples Master, open it, you can find it no ESP 30 To now open that. Here, you will find AWS IoT.

Now, copy that and paste it inside our Dino ID installation libraries folder. My Arduino folder is present in documents, open Arduino, and then libraries. Here, we will paste AWS IoT. This is the manual way of adding libraries to Arduino. Now, the AWS IoT is added to the Arduino ID, close Arduino and then open it again. Now select sketch, include library and scroll down.

Here in contributed libraries, you must find AWS IoT. This means that your AWS IoT library is added into our Dino ID downloading NTP client, to get date and time with ESP 32 on Arduino D we will use NTP client. NTP means Network Time Protocol. It's a standard internet protocol for synchronizing the computer clocks to some reference over a network. Since our ESP 32 will have access to the internet, we can get date and time using NTP for a better understanding of NTP go through the link in the resources section. Now, we will download the NTP client library for Arduino ID.

In the resources section, there is a GitHub link, select the link and you will be directed to this page. Now, we will download the zip file. After the download is completed, unzip the folder. Now, rename it as NTP client. Remember, library names should not contain any spaces as you will get an error message like this when you try to open it No. We will manually add this library to your audience.

No ID. So we will move the NTP client folder to our Arduino ID installation libraries folder. Now close the Arduino and open it again. It did not show any error messages, so our libraries have been installed successfully. Next, we'll attach certificates to ESP 32. Now that we have downloaded the certificates while registering my ESP 32 device in AWS IoT Core, we will now attach those certificates to our device.

It's a bit time taking process, but let's do this quickly. Now select Arduino. Then libraries. Here AWS IoT. Here, we have some sample code sent src. src contains all the source code files, open SRC, and here you can find AWS IoT certificates dot c. Now open that file.

Here you can see const cash AWS underscore root underscore c underscore p Eric. Here, we should manually copy the root ca certificate. For doing this, we will first go to the certificates that we have downloaded. Now, we'll open the root ca certificate and select all. copy and then paste it here in an array form, which means making sure that it starts with a quotation mark. Also, at the end of each line, add a character like this.

The certificate should end with a newline character and a quotation mark. Similarly, will now copy the thing certificate, open think certificate, right click and then open with notepad. Do you want to open thing certificate, select Open Ctrl A and then copy. Now we'll paste this here. It starts with a question To mark and now we'll add a character like this at the end of each line. Similarly, we'll do the same thing for copying the private key, adding this character at the end of each line.

Yes, we have a test the certificates, save it and close programming ESP 32. Open the repository that you have downloaded at the beginning of this course. Here, select section two. Now select video 2.5. This is the folder that has an Arduino code. This is the code for sending VHDL 11 sensor data to AWS cloud using ESP 32.

Copy the entire folder connecting ESP 32 to AWS IoT. We will now open the Arduino IDE installation folder and paste it here. Now select it and then double click on the Arduino file. Now look Understand this code. First we'll begin with including all the required libraries. Here we are setting the data pin of the sensor as GPIO for on ESP 32.

There are different types of DHT sensors. We are using the ht 11 sensor in this project. So we are defining the sensor type as DHT level. initializing the DHT sensor. These two lines define an NTP client to request date and time from an NTP server. These commands help in connecting ESP 32 to Wi Fi.

Give the user ID and password of your WiFi network that is available. Next host address. To find your AWS IoT host address, select Manage, then things now selecting my ESP 32. Here, under interact, you can find your host address. Copy and Paste In the Arduino code next client ID, this can be any name. I'm giving my client ID as maker domain.

Next, we need to give a topic name. We will give our thing names slash topic name. Here, I'm giving my ESP 32 slash maker dummy data. You can give any topic name. Here we have three strings, the first string formatted date. This will store the date and time.

Next day stamp. It stores the date and timestamp, it shows the time. This is a temporary status that is assigned before connecting to Wi Fi initializing payload. Here in the void setup. We will initialize the serial communication to print the results. This piece of code is for connecting ESP 32 to Wi Fi.

First, we'll check the status of ESP 32 is connected, if not connected. Then we'll attempt to connect. Once ESP 32 is connected to Wi Fi, we will try connecting our ESP 32 to AWS IoT cloud. Using the host address and client ID, it we get connected to AWS. Now, initializing the DHT 11 sensor and the NTP client, you can use this set time offset to adjust the time for your time zone in milliseconds. Next, these lines ensure that we get a valid date and time here reading the temperature and humidity values.

This will fetch data in time into formatted date in this format. Now, we will separate date and time. For this we can split the formatted date string. The T later separates the date from the time so we can easily split that string. Here. we're storing the date in day stamp and time In timestamp, this is none of hedge function s weather hatches not a number.

Similarly, it will check t and f. If any of these three fails, then it will print fail to read the sensor data. Else. It will print date, time, temperature and humidity values in JSON format. Since the date stamp and timestamp are in string format, I used dot c underscore str. This will return a pointer to the C style version of invoking a string. These lines will check and publish the payload values to AWS IoT Core.

And finally, this command will send data every five seconds. Connect ESP 32 with the H 11. sensor to your PC. Then go to Tools. Check if the board is sparkfun ESP 32 thing Then select port. Now verify the code. Yes, let's upload this code to the ESP 32.

After you complete uploading the code without any errors, select Tools, and then serial monitor. Here you can see the date, time, temperature and humidity values. Now let's check if the data is being sent to AWS IoT Core. Select test and here we will give the topic name. So select and copy the topic name from the Arduino code and paste it here. Now subscribed to the topic.

Here you can see the same data. Yeah, we have connected a microcomputer and a microcontroller to AWS IoT Core and sync the sensor data successfully. In this video, we learned the following downloading AWS IoT for Arduino SDK, downloading NTP Client attaching certificates to ESP 32 programming ESP 32 testing. In this section, we covered the following. registering a thing, creating a detaching policies connecting a Raspberry Pi to AWS IoT, connecting the ESP 32 thing to AWS IoT the first steps, connecting ESP 32 thing to AWS IoT. In the next section, we will learn how to send notifications and shedule events.

See you in the next section.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.