{"id":1376,"date":"2018-11-21T15:52:05","date_gmt":"2018-11-21T14:52:05","guid":{"rendered":"https:\/\/home.et.utwente.nl\/slootenvanf\/?p=1376"},"modified":"2024-09-06T12:01:57","modified_gmt":"2024-09-06T10:01:57","slug":"create-connected-sensor","status":"publish","type":"post","link":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/","title":{"rendered":"Tutorial: Create a connected sensor"},"content":{"rendered":"\n<p>This tutorial demonstrates how to build a simple sensor and publish its values online (on a web server) using an ESP32 module. We will build an Arduino sketch which will read the sensor values, connect to WiFi, connect to a website and publish the values on the website. The published values can then be used to view them online (view them on a web page) or in an App (<a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/22\/build-app-inventor-display-connected-sensor\/\">this is a separate tutorial<\/a>).<\/p>\n\n\n\n<p>This tutorial assumes you already have basic knowledge on Arduino and building simple circuits and have the <a href=\"https:\/\/www.arduino.cc\/en\/software\" target=\"_blank\" rel=\"noreferrer noopener\">Arduino IDE<\/a> installed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Build circuit: connect DHT11 temperature sensor to ESP32 module<\/h3>\n\n\n\n<figure class=\"wp-block-image alignright is-resized\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht11.png\"><img loading=\"lazy\" decoding=\"async\" width=\"318\" height=\"763\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht11.png\" alt=\"\" class=\"wp-image-1385\" style=\"width:93px;height:223px\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht11.png 318w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht11-125x300.png 125w\" sizes=\"auto, (max-width: 318px) 100vw, 318px\" \/><\/a><\/figure>\n\n\n\n<p><br>Components:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ESP32 Module, in this case a <a href=\"https:\/\/wiki.wemos.cc\/products:lolin32:lolin32_lite\" target=\"_blank\" rel=\"noopener noreferrer\">Lolin32 Lite<\/a><\/li>\n\n\n\n<li>DHT11 temperature &amp; humidity sensor<\/li>\n\n\n\n<li>Breadboard<\/li>\n\n\n\n<li>Breadboard power module<\/li>\n\n\n\n<li>10K resistor<\/li>\n\n\n\n<li>Breadboard wires<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_circuit.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"677\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_circuit-1024x677.jpg\" alt=\"\" class=\"wp-image-1378\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_circuit-1024x677.jpg 1024w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_circuit-300x198.jpg 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_circuit-768x508.jpg 768w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_circuit.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p><br>Connections:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Connect 3.3V of ESP module to 3.3V power line of breadboard (red line*)<\/li>\n\n\n\n<li>Connect GND of ESP module to GND line of breadboard (blue line*)<\/li>\n\n\n\n<li>The temperature sensor&#8217;s Vcc and GND pins are connected to the 5V + GND power lines on the breadboard.<\/li>\n\n\n\n<li>The data pin of the temperature sensor is connected to pin 5 of the ESP module<\/li>\n\n\n\n<li>There is a 10K resistor between the data pin of the temperature sensor and the 5V power line.<\/li>\n<\/ul>\n\n\n\n<p><strong>Important:<\/strong> some breadboards have the powerlines in different order, so always make sure you use the + and &#8211; connection from the power-module: the line connected to the &#8211; is the GND line and + is the power line (5V or 3.3V).<\/p>\n\n\n\n<p>Tip: some ESP32 modules (like the <a aria-label=\"Adafruit ESP32 Feather (opens in a new tab)\" href=\"https:\/\/learn.adafruit.com\/adafruit-huzzah32-esp32-feather\/pinouts\" target=\"_blank\" rel=\"noreferrer noopener\">Adafruit ESP32 Feather<\/a> and the <a href=\"https:\/\/www.espressif.com\/en\/products\/devkits\/esp32-devkitc\">ESP32-DEV-KIT-DevKitC-v4<\/a> below) have a 5V pin, which is connected directly to the USB 5V. If that is the case, you can omit the breadboard power module and use the 5V from the USB pin to power the temperature sensor:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2023\/09\/esp32_with_5V.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"450\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2023\/09\/esp32_with_5V.jpg\" alt=\"\" class=\"wp-image-5008\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2023\/09\/esp32_with_5V.jpg 1000w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2023\/09\/esp32_with_5V-300x135.jpg 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2023\/09\/esp32_with_5V-768x346.jpg 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Make ESP module ready for use in Arduino IDE<\/h3>\n\n\n\n<p>Start the Arduino IDE. Choose <em>File &gt; Preferences<\/em>. At &#8220;Additional Boards Managers URLs&#8221; enter <code>\"https:\/\/dl.espressif.com\/dl\/package_esp32_index.json\"<\/code> (without the quotes). Press Ok.<br>Now choose <em>Tools &gt; Boards &gt; Boards Manager<\/em>. Enter &#8220;esp&#8221; in the search field.<br>Click on &#8220;esp32 by Espressif Systems&#8221; and click the Install button.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Install ESP version of DHT library<\/h3>\n\n\n\n<p>To be able to use the DHT sensor, we must install a library. For this example we use an ESP-version of the DHT library &#8220;DHTesp&#8221;. You can add it into the Arduino IDE via <em>Sketch &gt; Include Library &gt; Manage Libraries<\/em>, search for &#8220;DHT&#8221;, pick &#8220;DHT sensor library for ESPx&#8221;.<\/p>\n\n\n\n<p>Or do a manual install: goto <a href=\"https:\/\/github.com\/beegee-tokyo\/DHTesp\/\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/beegee-tokyo\/DHTesp<\/a> to download this library (click the &#8220;Clone or download&#8221; button and choose &#8220;Download ZIP&#8221;). Extract the zip-file to <code>Documents\\Arduino\\libraries<\/code> and rename the folder to &#8220;DHTesp&#8221;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">First test: check if DHT sensor works<\/h3>\n\n\n\n<p>Connect a mini USB cable to the power module on the breadboard and connect it to your computer.<br>Connect a micro USB cable to the ESP module and connect it to your computer.<br>Download the first example <a href=\"\/slootenvanf\/div\/arduino\/DHTesp_basic_example.ino\"><code>\"DHTesp_basic_example.ino\"<\/code><\/a> and open it in the Arduino IDE.<\/p>\n\n\n\n<p>Set the Board to &#8220;WEMOS LOLIN32 Lite&#8221; (or your particular &#8220;ESP32 Dev Module&#8221; model, eg. the ESP32 we showed above), select the Port and set <em>Upload Speed<\/em> to 115200:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/03\/esp32_arduino_settings-300x300.png\" alt=\"Set Board properties\"\/><\/figure>\n\n\n\n<p>If the Port is unavailable check out <a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2021\/06\/09\/error-uploading-sketch-in-arduino-ide-and-other-upload-issues\/\" target=\"_blank\" rel=\"noreferrer noopener\">this troubleshooting page<\/a>. One of the reasons might you have to install the <a href=\"https:\/\/learn.sparkfun.com\/tutorials\/how-to-install-ch340-drivers\/all#windows-710\" target=\"_blank\" rel=\"noreferrer noopener\">CH340 drivers<\/a>.<\/p>\n\n\n\n<p>Now, Upload the sketch and start the Serial Monitor when it is uploaded. Make sure the speed of the Serial Monitor is set to 115200. If it works, the temperature and humidity are shown:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_serial_monitor.png\"><img loading=\"lazy\" decoding=\"async\" width=\"854\" height=\"368\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_serial_monitor.png\" alt=\"\" class=\"wp-image-1380\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_serial_monitor.png 854w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_serial_monitor-300x129.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_serial_monitor-768x331.png 768w\" sizes=\"auto, (max-width: 854px) 100vw, 854px\" \/><\/a><\/figure>\n\n\n\n<p>If you are getting &#8220;DHT11 error status: TIMEOUT&#8221; errors, double check the DHT sensor gets 5V power and is connected properly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Complete code: use example code which publishes the values on the web server<\/h3>\n\n\n\n<p>Download the complete example <a href=\"\/slootenvanf\/div\/arduino\/esp32_web_client_dht11_v2.ino\"><code>\"esp32_web_client_dht11_v2.ino\"<\/code><\/a> (and study it). It uses my web server <em>home.et.utwente.nl<\/em> to store values.<\/p>\n\n\n\n<p>Find the lines with the settings for the WiFi connection (variables <code>ssid<\/code> and <code>password<\/code>) and adjust them to reflect your WiFi settings. If you attend one of my workshops, the preset values might work.<\/p>\n\n\n\n<p>If you want to upload values to a different web server, adjust the variable <code>server<\/code> and <code>test_root_ca<\/code> (this contains the certificate, <a href=\"#footnotes\">more on this below<\/a>). And check the request settings in the function <code>doRequest()<\/code>. The request is made like this: <strong><code>GET \/val\/variable\/value<\/code><\/strong> where variable is the name of the variable to use for the value.<\/p>\n\n\n\n<p>Something you must change are the variable names in the function call of function <code>doRequest()<\/code>. These must become unique names for your use case, as otherwise your variables will be overwritten by values of others. So find this in the code:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_example_change_variable_names.png\"><img loading=\"lazy\" decoding=\"async\" width=\"929\" height=\"57\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_example_change_variable_names.png\" alt=\"code at which to change variable names\" class=\"wp-image-1390\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_example_change_variable_names.png 929w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_example_change_variable_names-300x18.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_example_change_variable_names-768x47.png 768w\" sizes=\"auto, (max-width: 929px) 100vw, 929px\" \/><\/a><\/figure>\n\n\n\n<p>And change the <code>\"temp\"<\/code> and <code>\"humidity\"<\/code> (red underlined) to something unique, eg. <code>\"temp953276\"<\/code> and <code>\"humidity17897\"<\/code>.<\/p>\n\n\n\n<p>Now, Upload it and start the Serial Monitor when it is uploaded.<\/p>\n\n\n\n<p>If everything works, you will see no errors and output will be similar to:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_serial_monitor_v2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"856\" height=\"472\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_serial_monitor_v2.png\" alt=\"\" class=\"wp-image-1397\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_serial_monitor_v2.png 856w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_serial_monitor_v2-300x165.png 300w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_serial_monitor_v2-768x423.png 768w\" sizes=\"auto, (max-width: 856px) 100vw, 856px\" \/><\/a><\/figure>\n\n\n\n<p>Also, if you goto the URL you can find the values online. If you choose <code>\"temp953276\"<\/code> the latest value can be found here:<\/p>\n\n\n\n<p><a href=\"https:\/\/home.et.utwente.nl\/val\/temp953276\">https:\/\/home.et.utwente.nl\/val\/temp953276<\/a><a href=\"\"><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_val_webbrowser.png\"><img loading=\"lazy\" decoding=\"async\" width=\"428\" height=\"109\" src=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_val_webbrowser.png\" alt=\"\" class=\"wp-image-1396\" srcset=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_val_webbrowser.png 428w, https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dhtesp_val_webbrowser-300x76.png 300w\" sizes=\"auto, (max-width: 428px) 100vw, 428px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">What&#8217;s next<\/h3>\n\n\n\n<p><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/22\/build-app-inventor-display-connected-sensor\/\">Part 2 of this example: Use App Inventor to build an App that can read the online values for a connected sensor.<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">More information<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/03\/17\/getting-started-esp32-wifi-module\/\">&#8220;Getting started with the ESP32 Wifi module&#8221;<\/a>, includes info on how to connect it to the Blynk App<\/li>\n\n\n\n<li><a href=\"https:\/\/learn.sparkfun.com\/tutorials\/esp32-thing-hookup-guide\/\" target=\"_blank\" rel=\"noopener noreferrer\">Sparkfun&#8217;s &#8220;ESP32 Thing Hookup Guide&#8221;<\/a><\/li>\n\n\n\n<li>If you do not want to use my webservice but for example <a href=\"https:\/\/www.blynk.cc\/\" target=\"_blank\" rel=\"noopener noreferrer\">the Blynk cloud service<\/a>, <a href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/03\/17\/getting-started-esp32-wifi-module\/\">check out this post<\/a>. You can also connect to the <a href=\"https:\/\/blogs.mathworks.com\/iot\/2019\/02\/12\/thingspeak-library-for-arduino\/\" target=\"_blank\" rel=\"noopener noreferrer\">ThingSpeak service<\/a> to log and analyse data from sensors.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"footnotes\">Footnotes<\/h3>\n\n\n\n<p class=\"has-red-color has-text-color\"><strong>Update 10\/9\/2019:<\/strong> this website was moved to a new server, so the certificate in the example sketch has been updated.<\/p>\n\n\n\n<p>To get the proper certificate code, I use the command below on my web server (shell-login via ssh\/putty):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openssl s_client -showcerts -connect home.et.utwente.nl:443 &gt; cert.output\n<\/code><\/pre>\n\n\n\n<p>In the example above, the certificate will be written to the file &#8220;cert.output&#8221;. If there are multiple certificates, get the one labelled &#8220;Root CA&#8221;. You might also be able to find the certificate of your server in the Control Panel of your website.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial demonstrates how to build a simple sensor and publish its values online (on a web server) using an ESP32 module. We will build an Arduino sketch which will read the sensor values, connect to WiFi, connect to a website and publish the values on the website. The published values can then be used [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1381,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[3],"tags":[94,193,160,158,159,192,161,162,194],"class_list":["post-1376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education","tag-arduino","tag-client","tag-dht","tag-esp","tag-esp32","tag-online","tag-sensor","tag-temperature","tag-webserver"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: Create a connected sensor - vanslooten.com<\/title>\n<meta name=\"description\" content=\"Tutorial: Create a connected sensor\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Create a connected sensor - vanslooten.com\" \/>\n<meta property=\"og:description\" content=\"Tutorial: Create a connected sensor\" \/>\n<meta property=\"og:url\" content=\"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/\" \/>\n<meta property=\"og:site_name\" content=\"vanslooten.com\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-21T14:52:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-06T10:01:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_closeup.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"578\" \/>\n\t<meta property=\"og:image:height\" content=\"285\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fjodor van Slooten\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fjodorvs\" \/>\n<meta name=\"twitter:site\" content=\"@fjodorvs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fjodor van Slooten\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/\"},\"author\":{\"name\":\"Fjodor van Slooten\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\"},\"headline\":\"Tutorial: Create a connected sensor\",\"datePublished\":\"2018-11-21T14:52:05+00:00\",\"dateModified\":\"2024-09-06T10:01:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/\"},\"wordCount\":985,\"publisher\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\"},\"image\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/dht_esp32_closeup.jpg\",\"keywords\":[\"arduino\",\"client\",\"dht\",\"esp\",\"esp32\",\"online\",\"sensor\",\"temperature\",\"webserver\"],\"articleSection\":[\"Education\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/\",\"name\":\"Tutorial: Create a connected sensor - vanslooten.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/dht_esp32_closeup.jpg\",\"datePublished\":\"2018-11-21T14:52:05+00:00\",\"dateModified\":\"2024-09-06T10:01:57+00:00\",\"description\":\"Tutorial: Create a connected sensor\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/#primaryimage\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/dht_esp32_closeup.jpg\",\"contentUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/dht_esp32_closeup.jpg\",\"width\":578,\"height\":285,\"caption\":\"DHT ESP32 Closeup\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/2018\\\/11\\\/21\\\/create-connected-sensor\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Create a connected sensor\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#website\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/\",\"name\":\"vanslooten.com\",\"description\":\"Personal website of Fjodor van Slooten\",\"publisher\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/#\\\/schema\\\/person\\\/e62ff2d6beaa937dc9345a023eeb05dd\",\"name\":\"Fjodor van Slooten\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\",\"url\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\",\"contentUrl\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\",\"width\":300,\"height\":214,\"caption\":\"Fjodor van Slooten\"},\"logo\":{\"@id\":\"https:\\\/\\\/home.et.utwente.nl\\\/slootenvanf\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/2018-08-24-13.33.38_small.jpg\"},\"sameAs\":[\"http:\\\/\\\/vanslooten.com\",\"https:\\\/\\\/x.com\\\/fjodorvs\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: Create a connected sensor - vanslooten.com","description":"Tutorial: Create a connected sensor","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial: Create a connected sensor - vanslooten.com","og_description":"Tutorial: Create a connected sensor","og_url":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/","og_site_name":"vanslooten.com","article_published_time":"2018-11-21T14:52:05+00:00","article_modified_time":"2024-09-06T10:01:57+00:00","og_image":[{"width":578,"height":285,"url":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_closeup.jpg","type":"image\/jpeg"}],"author":"Fjodor van Slooten","twitter_card":"summary_large_image","twitter_creator":"@fjodorvs","twitter_site":"@fjodorvs","twitter_misc":{"Written by":"Fjodor van Slooten","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/#article","isPartOf":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/"},"author":{"name":"Fjodor van Slooten","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd"},"headline":"Tutorial: Create a connected sensor","datePublished":"2018-11-21T14:52:05+00:00","dateModified":"2024-09-06T10:01:57+00:00","mainEntityOfPage":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/"},"wordCount":985,"publisher":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd"},"image":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/#primaryimage"},"thumbnailUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_closeup.jpg","keywords":["arduino","client","dht","esp","esp32","online","sensor","temperature","webserver"],"articleSection":["Education"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/","name":"Tutorial: Create a connected sensor - vanslooten.com","isPartOf":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#website"},"primaryImageOfPage":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/#primaryimage"},"image":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/#primaryimage"},"thumbnailUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_closeup.jpg","datePublished":"2018-11-21T14:52:05+00:00","dateModified":"2024-09-06T10:01:57+00:00","description":"Tutorial: Create a connected sensor","breadcrumb":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/#primaryimage","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_closeup.jpg","contentUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2018\/11\/dht_esp32_closeup.jpg","width":578,"height":285,"caption":"DHT ESP32 Closeup"},{"@type":"BreadcrumbList","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/2018\/11\/21\/create-connected-sensor\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/home.et.utwente.nl\/slootenvanf\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Create a connected sensor"}]},{"@type":"WebSite","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#website","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/","name":"vanslooten.com","description":"Personal website of Fjodor van Slooten","publisher":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/home.et.utwente.nl\/slootenvanf\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/#\/schema\/person\/e62ff2d6beaa937dc9345a023eeb05dd","name":"Fjodor van Slooten","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg","url":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg","contentUrl":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg","width":300,"height":214,"caption":"Fjodor van Slooten"},"logo":{"@id":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-content\/uploads\/2019\/06\/2018-08-24-13.33.38_small.jpg"},"sameAs":["http:\/\/vanslooten.com","https:\/\/x.com\/fjodorvs"]}]}},"_links":{"self":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts\/1376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/comments?post=1376"}],"version-history":[{"count":15,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts\/1376\/revisions"}],"predecessor-version":[{"id":5505,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/posts\/1376\/revisions\/5505"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/media\/1381"}],"wp:attachment":[{"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/media?parent=1376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/categories?post=1376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/home.et.utwente.nl\/slootenvanf\/wp-json\/wp\/v2\/tags?post=1376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}