
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Use+an+ESP32+board+to+send+DHT+to+MQTT+and+then+deep+sleep&amp;rft.aulast=Stavrakis&amp;rft.aufirst=Modestos&amp;rft.subject=arduino&amp;rft.subject=esp32&amp;rft.subject=espressif&amp;rft.source=%CE%BC%CE%BF.&amp;rft.date=2018-05-14&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=https://xylem.aegean.gr/~modestos/mo.blog/esp32-send-dht-to-mqtt-and-deepsleep/&amp;rft.language=English"></span>

	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Use+an+ESP32+board+to+send+DHT+to+MQTT+and+then+deep+sleep&amp;rft.aulast=Stavrakis&amp;rft.aufirst=Modestos&amp;rft.subject=arduino&amp;rft.subject=esp32&amp;rft.subject=espressif&amp;rft.source=%CE%BC%CE%BF.&amp;rft.date=2018-05-14&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=https://xylem.aegean.gr/~modestos/mo.blog/esp32-send-dht-to-mqtt-and-deepsleep/&amp;rft.language=English"></span>
{"id":6862,"date":"2018-05-14T01:14:30","date_gmt":"2018-05-13T23:14:30","guid":{"rendered":"http:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/?p=6862"},"modified":"2020-04-15T20:26:00","modified_gmt":"2020-04-15T18:26:00","slug":"esp32-send-dht-to-mqtt-and-deepsleep","status":"publish","type":"post","link":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/esp32-send-dht-to-mqtt-and-deepsleep\/","title":{"rendered":"Use an ESP32 board to send DHT to MQTT and then deep sleep"},"content":{"rendered":"<p>Here is an example of how I post humidity and temperature values that I collect from a DHT11 sensor. I use an ESP32 (<a href=\"https:\/\/wiki.wemos.cc\/products:lolin32:lolin32\">Lolin32<\/a>) board and I post values to a MQTT&nbsp;open source message broker (<a href=\"https:\/\/projects.eclipse.org\/projects\/technology.mosquitto\">Eclipse Mosquitto<\/a>) that I run alongside openhab on a Rpi3. Finally, I deep sleep the board to save energy.<\/p>\n<p>I use the following libraries:&nbsp;<\/p>\n<ol>\n<li>Arduino library for DHT11\/DHT22 by Adafruit [<a href=\"https:\/\/github.com\/adafruit\/DHT-sensor-library\">&gt;&gt;<\/a>]<\/li>\n<li>Arduino Client for MQTT (PubSubClient) by Nick O&#8217;Leary [<a href=\"https:\/\/pubsubclient.knolleary.net\/\">&gt;&gt;<\/a>]<\/li>\n<li>Arduino core for ESP32 WiFi chip [<a href=\"https:\/\/github.com\/espressif\/arduino-esp32\">&gt;&gt;<\/a>]<\/li>\n<\/ol>\n<p>To install&nbsp;CP210x Driver v10.1.1 for Lolin32 ESP32 there installation issue with Windows 10, build 1803. Check this post: [<a href=\"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/lolin32-installation-issue-with-windows-10-build-1803\/\">&gt;&gt;<\/a>]<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"6872\" data-permalink=\"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/esp32-send-dht-to-mqtt-and-deepsleep\/img_20180514_024610\/\" data-orig-file=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?fit=4160%2C3120&amp;ssl=1\" data-orig-size=\"4160,3120\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;Robin&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1526265972&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;3.68&quot;,&quot;iso&quot;:&quot;194&quot;,&quot;shutter_speed&quot;:&quot;0.033333744&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"ESP32 Lollin32 DHT\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?fit=1024%2C768&amp;ssl=1\" class=\"aligncenter size-full wp-image-6872\" src=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?resize=1100%2C825&#038;ssl=1\" alt=\"\" width=\"1100\" height=\"825\" srcset=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?resize=200%2C150&amp;ssl=1 200w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?resize=400%2C300&amp;ssl=1 400w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?resize=600%2C450&amp;ssl=1 600w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?resize=768%2C576&amp;ssl=1 768w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?resize=800%2C600&amp;ssl=1 800w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?resize=1200%2C900&amp;ssl=1 1200w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?w=2200&amp;ssl=1 2200w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?w=3300&amp;ssl=1 3300w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?w=4160&amp;ssl=1 4160w\" sizes=\"(max-width: 1100px) 100vw, 1100px\" \/><\/a> <a href=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"6873\" data-permalink=\"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/esp32-send-dht-to-mqtt-and-deepsleep\/led4\/\" data-orig-file=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?fit=827%2C667&amp;ssl=1\" data-orig-size=\"827,667\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"ESP32 DHT\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?fit=827%2C667&amp;ssl=1\" class=\"aligncenter size-full wp-image-6873\" src=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?resize=827%2C667&#038;ssl=1\" alt=\"\" width=\"827\" height=\"667\" srcset=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?resize=177%2C142&amp;ssl=1 177w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?resize=200%2C161&amp;ssl=1 200w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?resize=300%2C242&amp;ssl=1 300w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?resize=400%2C323&amp;ssl=1 400w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?resize=600%2C484&amp;ssl=1 600w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?resize=768%2C619&amp;ssl=1 768w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?resize=800%2C645&amp;ssl=1 800w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/led4.png?w=827&amp;ssl=1 827w\" sizes=\"(max-width: 827px) 100vw, 827px\" \/><\/a><\/p>\n<pre class=\"lang:arduino decode:true  \" title=\"Project ESP32, DHT, MQTT and Deepsleep\">\/* Project ESP32, DHT, MQTT and Deepsleep *\/\r\n#include &lt;WiFi.h&gt;\r\n#include &lt;PubSubClient.h&gt;\r\n#include \"DHT.h\"          \/\/ Library for DHT sensors\r\n\r\n#define wifi_ssid \"My_APs_ssid\"         \/\/wifi ssid\r\n#define wifi_password \"my_password\"     \/\/wifi password\r\n\r\n#define mqtt_server \"mqtt_broker_IP\"  \/\/ server name or IP\r\n#define mqtt_user \"username\"      \/\/ username\r\n#define mqtt_password \"password\"   \/\/ password\r\n\r\n#define temperature_topic \"topic\/temp1\"       \/\/Topic temperature\r\n#define humidity_topic \"topic\/humid1\"         \/\/Topic humidity\r\n#define debug_topic \"debug\"                   \/\/Topic for debugging\r\n\r\n\/* definitions for deepsleep *\/\r\n#define uS_TO_S_FACTOR 1000000        \/* Conversion factor for micro seconds to seconds *\/\r\n#define TIME_TO_SLEEP 900              \/* Time ESP32 will go to sleep for 15 minutes (in seconds) *\/\r\n#define TIME_TO_SLEEP_ERROR 3600       \/* Time to sleep in case of error (1 hour) *\/\r\n\r\nbool debug = true;             \/\/Display log message if True\r\n\r\n#define DHTPIN 14               \/\/ DHT Pin \r\n\/\/ Uncomment depending on your sensor type:\r\n#define DHTTYPE DHT11           \/\/ DHT 11 \r\n\/\/#define DHTTYPE DHT22         \/\/ DHT 22  (AM2302)\r\n\r\n\/\/ Create objects\r\nDHT dht(DHTPIN, DHTTYPE);     \r\nWiFiClient espClient;\r\nPubSubClient client(espClient);\r\n\r\nvoid setup() {\r\n  Serial.begin(115200);     \r\n  setup_wifi();                           \/\/Connect to Wifi network\r\n   \r\n  client.setServer(mqtt_server, 1883);    \/\/ Configure MQTT connection, change port if needed.\r\n\r\n  if (!client.connected()) {\r\n    reconnect();\r\n  }\r\n  dht.begin();\r\n  \r\n  \/\/ Read temperature in Celcius\r\n    float t = dht.readTemperature();\r\n  \/\/ Read humidity\r\n    float h = dht.readHumidity();\r\n  \r\n\r\n  \/\/ Nothing to send. Warn on MQTT debug_topic and then go to sleep for longer period.\r\n    if ( isnan(t) || isnan(h)) {\r\n      Serial.println(\"[ERROR] Please check the DHT sensor !\");\r\n      client.publish(debug_topic, \"[ERROR] Please check the DHT sensor !\", true);      \/\/ Publish humidity on broker\/humid1\r\n      esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); \/\/go to sleep\r\n      Serial.println(\"Setup ESP32 to sleep for every \" + String(TIME_TO_SLEEP) + \" Seconds\");\r\n      Serial.println(\"Going to sleep now because of ERROR\");\r\n      esp_deep_sleep_start();\r\n      return;\r\n    }\r\n  \r\n    if ( debug ) {\r\n      Serial.print(\"Temperature : \");\r\n      Serial.print(t);\r\n      Serial.print(\" | Humidity : \");\r\n      Serial.println(h);\r\n    } \r\n    \/\/ Publish values to MQTT topics\r\n    client.publish(temperature_topic, String(t).c_str(), true);   \/\/ Publish temperature on broker\/temp1\r\n    if ( debug ) {    \r\n      Serial.println(\"Temperature sent to MQTT.\");\r\n    }\r\n    delay(100); \/\/some delay is needed for the mqtt server to accept the message\r\n    client.publish(humidity_topic, String(h).c_str(), true);      \/\/ Publish humidity on broker\/humid1\r\n    if ( debug ) {\r\n    Serial.println(\"Humidity sent to MQTT.\");\r\n    }   \r\n\r\n  esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR); \/\/go to sleep\r\n  Serial.println(\"Setup ESP32 to sleep for every \" + String(TIME_TO_SLEEP) + \" Seconds\");\r\n  Serial.println(\"Going to sleep as normal now.\");\r\n  esp_deep_sleep_start();\r\n}\r\n\r\n\/\/Setup connection to wifi\r\nvoid setup_wifi() {\r\n  delay(20);\r\n  Serial.println();\r\n  Serial.print(\"Connecting to \");\r\n  Serial.println(wifi_ssid);\r\n\r\n  WiFi.begin(wifi_ssid, wifi_password);\r\n\r\n  while (WiFi.status() != WL_CONNECTED) {\r\n    delay(100);\r\n    Serial.print(\".\");\r\n  }\r\n\r\n Serial.println(\"\");\r\n Serial.println(\"WiFi is OK \");\r\n Serial.print(\"=&gt; ESP32 new IP address is: \");\r\n Serial.print(WiFi.localIP());\r\n Serial.println(\"\");\r\n}\r\n\r\n\/\/Reconnect to wifi if connection is lost\r\nvoid reconnect() {\r\n\r\n  while (!client.connected()) {\r\n    Serial.print(\"Connecting to MQTT broker ...\");\r\n    if (client.connect(\"ESP32Client\", mqtt_user, mqtt_password)) {\r\n      Serial.println(\"OK\");\r\n    } else {\r\n      Serial.print(\"[Error] Not connected: \");\r\n      Serial.print(client.state());\r\n      Serial.println(\"Wait 5 seconds before retry.\");\r\n      delay(5000);\r\n    }\r\n  }\r\n}\r\n\r\nvoid loop() { \r\n}<\/pre>\n<p>I also used <a href=\"https:\/\/chrome.google.com\/webstore\/detail\/mqttlens\/hemojaaeigabkbcookmlgmdigohjobjm?hl=en\">MQTTLens<\/a> plugin for Chrome in order to debug my MQTT broker.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"6870\" data-permalink=\"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/esp32-send-dht-to-mqtt-and-deepsleep\/mqttlens-publish-subscribe-example-sensor1\/\" data-orig-file=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?fit=1366%2C728&amp;ssl=1\" data-orig-size=\"1366,728\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"mqttlens-publish-subscribe-example-sensor1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?fit=1024%2C546&amp;ssl=1\" class=\"aligncenter size-full wp-image-6870\" src=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?resize=1100%2C586&#038;ssl=1\" alt=\"\" width=\"1100\" height=\"586\" srcset=\"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?resize=200%2C107&amp;ssl=1 200w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?resize=300%2C160&amp;ssl=1 300w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?resize=400%2C213&amp;ssl=1 400w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?resize=600%2C320&amp;ssl=1 600w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?resize=768%2C409&amp;ssl=1 768w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?resize=800%2C426&amp;ssl=1 800w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?resize=1024%2C546&amp;ssl=1 1024w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?resize=1200%2C640&amp;ssl=1 1200w, https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/mqttlens-publish-subscribe-example-sensor1.png?w=1366&amp;ssl=1 1366w\" sizes=\"(max-width: 1100px) 100vw, 1100px\" \/><\/a><\/p>\n<div id=\"gtx-trans\" style=\"position: absolute; left: 723px; top: 3493.58px;\">\n<div class=\"gtx-trans-icon\">&nbsp;<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Here is an example of how I post humidity and temperature values that I collect from a DHT11 sensor. I use an ESP32 (Lolin32) board and I post values to a MQTT&nbsp;open source message broker (Eclipse Mosquitto) that I run alongside openhab on a Rpi3. Finally, I deep sleep the board to save energy. I use the following libraries:&nbsp; Arduino library for DHT11\/DHT22 by Adafruit [&gt;&gt;] Arduino Client for MQTT (PubSubClient) by Nick O&#8217;Leary [&gt;&gt;] Arduino core for ESP32 WiFi chip [&gt;&gt;] To install&nbsp;CP210x Driver v10.1.1 for Lolin32 ESP32 there installation issue with Windows 10, build 1803. Check this post: [&gt;&gt;] \/* Project ESP32, DHT, MQTT and Deepsleep *\/ #include &lt;WiFi.h&gt; #include &lt;PubSubClient.h&gt; #include &#8220;DHT.h&#8221; \/\/ Library for DHT sensors #define wifi_ssid &#8220;My_APs_ssid&#8221; \/\/wifi ssid #define wifi_password &#8220;my_password&#8221; \/\/wifi password #define mqtt_server &#8220;mqtt_broker_IP&#8221; \/\/ server name or IP #define mqtt_user &#8220;username&#8221; \/\/ username #define mqtt_password &#8220;password&#8221; \/\/ password #define temperature_topic [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6872,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[682,730,729],"tags":[781,780,774,777,779],"class_list":["post-6862","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-esp32","category-espressif","tag-deep-sleep","tag-dht","tag-esp32","tag-openhab","tag-openhab2"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-content\/uploads\/2018\/05\/IMG_20180514_024610.jpg?fit=4160%2C3120&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pzkzw-1MG","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/posts\/6862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/comments?post=6862"}],"version-history":[{"count":11,"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/posts\/6862\/revisions"}],"predecessor-version":[{"id":7187,"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/posts\/6862\/revisions\/7187"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/media\/6872"}],"wp:attachment":[{"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/media?parent=6862"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/categories?post=6862"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xylem.aegean.gr\/~modestos\/mo.blog\/wp-json\/wp\/v2\/tags?post=6862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}