{"id":2256,"date":"2018-12-21T18:52:38","date_gmt":"2018-12-21T18:52:38","guid":{"rendered":"https:\/\/alexandremagno.net\/?p=2256"},"modified":"2019-01-04T13:22:13","modified_gmt":"2019-01-04T13:22:13","slug":"developing-iot-device-humidity-sensor-for-plants-using-arduino","status":"publish","type":"post","link":"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/","title":{"rendered":"Developing a IOT device: humidity sensor for plants using Arduino"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2236 size-large\" src=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6074-1-e1543858334746-1024x836.jpg\" alt=\"\" width=\"700\" height=\"571\" srcset=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6074-1-e1543858334746-1024x836.jpg 1024w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6074-1-e1543858334746-300x245.jpg 300w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6074-1-e1543858334746-768x627.jpg 768w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6074-1-e1543858334746-700x572.jpg 700w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/>This is a prototype of a device wifi powered connected to a NodeMCU. I bought the\u00a0baby tree at\u00a0 \u00a0<a href=\"https:\/\/www.leedens.com\">https:\/\/www.leedens.com<\/a>\u00a0and this was used for this project.\u00a0<strong><em>Picture: Alexandre Magno<\/em><\/strong><\/p>\n<p>This is the first of a collection of posts that will share along with the experiences to develop project with the <strong>Internet of Things (IOT),\u00a0<\/strong>using different methods and modules in many applications, testing and exploring ways to take the advantage of the different approaches, with real cases to bring this technologies for our every day lives.<\/p>\n<h3>What about the real project?<\/h3>\n<p>I will start by apply IOT in an area that I like it a lot, that was a thesis in my unfinished study for a master degree in informatics. I will talk about\u00a0<strong>internet of things\u00a0for little indoor garden measure with sensors<\/strong>.<\/p>\n<p>Why this project is internet of things?<\/p>\n<blockquote>\n<p style=\"text-align: right;\">The <strong>Internet of things (IoT)<\/strong> is the network of devices, vehicles, and home appliances that contain electronics, software, actuators, and connectivity which allows these things to connect, interact and exchange data<br \/>\nfonte:\u00a0<a href=\"https:\/\/pt.wikipedia.org\/wiki\/Internet_das_coisas\">Wikipedia<\/a><\/p>\n<\/blockquote>\n<p>This is a project that I&#8217;ve been looking for a long times, with a lot of tries to end with a good quality measure for soil moisture for my plants. But there&#8217;s a lot of projects around in different ways that take care of that. Is perfectly fine to look other ones like the\u00a0<a href=\"http:\/\/instructables.com\">Intructables<\/a>. There&#8217;s some consolidated projects on the market:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.parrot.com\/global\/connected-garden\/parrot-pot\">https:\/\/www.parrot.com\/global\/connected-garden\/parrot-pot<\/a><\/li>\n<li><a href=\"https:\/\/www.miraclegro.com\/en-us\/mygarden\">https:\/\/www.miraclegro.com\/en-us\/mygarden<\/a><\/li>\n<\/ul>\n<p>There&#8217;s a lot of projects that taked advantage from crowdfunding platform to try to put these IOT projects for indoor gardens.<\/p>\n<p>There&#8217;s others released already and they are available at\u00a0<a href=\"http:\/\/amazon.com\">Amazon<\/a>. One of those is the\u00a0<a href=\"https:\/\/www.aerogarden.com\/\">Aero Garden<\/a>.<\/p>\n<p>So we can see there&#8217;s a lot of different designs and and interfaces and the marketing around these new Gadgets, but a lot of these example of IOT devices on the market is not something that really add for us some value in a long term.<\/p>\n<p>Considering this, each IOT project that you need to do needs, as any other software project, a really good design, usability, security and accessibility to be useful for your target users. So it&#8217;s really important to prototype and test to build something that will be sustainable.<\/p>\n<p>When we think about automated indoor garden, there&#8217;s a lot of variables involved, and when\u00a0we consider\u00a0the biologic world as our context, is really essencial to make experiments for a while in different situations, and this case I will focus in this post about sensors and I will show different possibilities around the use in a practical world to validate this project.<\/p>\n<p style=\"text-align: center;\"><strong>I will use a Wifi connection to connect to a server and send data about the humidity to send to an e-mail (I could tweet as well) in a 1 hour interval. Then we could use in different situations. So it&#8217;s a great start to feel how the sensors behave in a real environment.<\/strong><\/p>\n<h3>Why develop projects with IOT? What I need to know to start?<\/h3>\n<p>If you are new in this IOT world, a warning: you can become addicted and you will wish to reinvent many devices that you see around. It&#8217;s more common buy components with different supports and languages like Python, LUA and Javascript. It&#8217;s easier to develop prototypes for new devices, but this new ways to develop bring new complexities in existent simple structures. With a lot of options and projects, we sometimes insist to recreate disaster projects from scratch, so it&#8217;s always good to have a good references before start.<\/p>\n<p>Another important consideration about the IOT prototypes that you decided to build, is before proceed by solding components, is think about how to build in large scale and for this there&#8217;s a lot of variants to be considered, like the price of the components and their use in real world, because not everything will work as we expected. So is important to test the prototype in different situations and by real. I think is the same with software development, but when we are dealing with hardware, there&#8217;s new dimensions and variables to be considered, and the software is embedded to a hardware, so this can change everything.<\/p>\n<h3>How to develop an IOT project<\/h3>\n<p>I will use this project as example to show a possible architecture and you use as reference to create a project in the same field as well in other contexts.<\/p>\n<h3>Which components I will use?<\/h3>\n<h3>Arduino<\/h3>\n<figure id=\"attachment_2225\" aria-describedby=\"caption-attachment-2225\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2225 size-medium\" src=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6076-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6076-300x225.jpg 300w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6076-768x576.jpg 768w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6076-1024x768.jpg 1024w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6076-268x200.jpg 268w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6076-700x525.jpg 700w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6076-100x75.jpg 100w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption id=\"caption-attachment-2225\" class=\"wp-caption-text\"><strong>NodeMCU ESP8266\u00a0with Wifi\u00a0embeded\u00a0which\u00a0supports MicroPython\u00a0and Lua to develop IOT projects.\u00a0Picture<\/strong><em>: Alexandre Magno.\u00a0<strong>Where to find:<\/strong>\u00a0<a href=\"https:\/\/www.usinainfo.com.br\/nodemcu\/nodemcu-v3-esp8266-esp-12e-iot-com-wifi-4420.html\">https:\/\/www.usinainfo.com.br\/nodemcu\/nodemcu-v3-esp8266-esp-12e-iot-com-wifi-4420.html<\/a><\/em><\/figcaption><\/figure>\n<p>We need two components for this: the humidity moiusture sensor and the little\u00a0<a href=\"https:\/\/nodemcu.readthedocs.io\/en\/master\/\">NodeMCU<\/a>, a powerful microcontroller with Wifi integrated.<\/p>\n<h4>Sensor<\/h4>\n<figure id=\"attachment_2232\" aria-describedby=\"caption-attachment-2232\" style=\"width: 700px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-2232\" src=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/soil-moisture-sensor-e1467578282801-1-1024x557.png\" alt=\"\" width=\"700\" height=\"381\" srcset=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/soil-moisture-sensor-e1467578282801-1-1024x557.png 1024w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/soil-moisture-sensor-e1467578282801-1-300x163.png 300w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/soil-moisture-sensor-e1467578282801-1-768x418.png 768w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/soil-moisture-sensor-e1467578282801-1-700x381.png 700w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/soil-moisture-sensor-e1467578282801-1.png 1104w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><figcaption id=\"caption-attachment-2232\" class=\"wp-caption-text\">The sensor sends a tension to the soil to measure humidity.\u00a0When the values increase it indicates that is dry<\/figcaption><\/figure>\n<h3>Advantages<\/h3>\n<ul>\n<li>You will not need to develop with the Arduino language, and you can develop using\u00a0<a href=\"https:\/\/www.lua.org\/\">Lua<\/a>\u00a0or a Python variation called\u00a0<a href=\"https:\/\/docs.micropython.org\">MicroPython<\/a><\/li>\n<li>MicroUSB as source<\/li>\n<\/ul>\n<h3>Disadvantages<\/h3>\n<ul>\n<li>For some reason, is not supported in a 5.4GHz network<\/li>\n<\/ul>\n<h3>How to connect\u00a0the\u00a0components<\/h3>\n<figure id=\"attachment_2250\" aria-describedby=\"caption-attachment-2250\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2250\" src=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Soil_Moisture_Interfacing_Diagram-300x224.png\" alt=\"\" width=\"300\" height=\"224\" srcset=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Soil_Moisture_Interfacing_Diagram-300x224.png 300w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Soil_Moisture_Interfacing_Diagram-768x572.png 768w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Soil_Moisture_Interfacing_Diagram-1024x763.png 1024w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Soil_Moisture_Interfacing_Diagram-268x200.png 268w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Soil_Moisture_Interfacing_Diagram-700x522.png 700w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Soil_Moisture_Interfacing_Diagram-100x75.png 100w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Soil_Moisture_Interfacing_Diagram.png 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption id=\"caption-attachment-2250\" class=\"wp-caption-text\">Schematic view between an\u00a0Arduino NODEMCU and a sensor<\/figcaption><\/figure>\n<h3>Parte 1:\u00a0Developing and embedded software with\u00a0<a href=\"https:\/\/docs.micropython.org\">MicroPython<\/a><\/h3>\n<p>I decided to use this microcontroller with\u00a0<a href=\"http:\/\/python.org\">Python<\/a>, and there&#8217;s a little initial effort to setup. We have to change the firmware, doing a proper download and set the initial system from scratch, that is different that counts with the embedded Lua platform. But once you upload the firmware you can upload files and run on the device and access the libraries that is possible to handle the Wifi connection.<\/p>\n<p>The required steps to setup the firmware is not required if you wish to develop using\u00a0<a href=\"https:\/\/www.lua.org\/\">Lua<\/a>, that is the embeded system in this model of\u00a0<a href=\"http:\/\/arduino.cc\">Arduinos<\/a>, the ESP8266, that is the included firmware from factory.<\/p>\n<p>If you want to try to build system upon\u00a0<a href=\"https:\/\/docs.micropython.org\">MicroPython<\/a>\u00a0and customize your device, you need to follow these steps:<\/p>\n<ol>\n<li>Intall the required drivers on mac, and then your operational system will recognize the MicroUSB connection:<br \/>\n<a href=\"https:\/\/github.com\/adrianmihalko\/ch340g-ch34g-ch34x-mac-os-x-driver\">https:\/\/github.com\/adrianmihalko\/ch340g-ch34g-ch34x-mac-os-x-driver<\/a><\/li>\n<li>Download the firmware<br \/>\n<a href=\"http:\/\/micropython.org\/download#esp8266\">http:\/\/micropython.org\/download#esp8266<\/a><\/li>\n<li>Install\u00a0<a href=\"https:\/\/github.com\/espressif\/esptool\">Esptool<\/a><\/li>\n<li>Erase the flash and reset the device\n<pre> esptool.py --port \/dev\/cu.wchusbserial1420 erase_flash<\/pre>\n<\/li>\n<li>Upload a new firmware\n<pre> esptool.py --port \/dev\/cu.wchusbserial1420 --baud 460800 write_flash --flash_size=detect 0 ~\/Downloads\/esp8266-20180511-v1.9.4.bin<\/pre>\n<\/li>\n<li>Connect the device\n<pre> picocom \/dev\/cu.wchusbserial1420 -b115200<\/pre>\n<\/li>\n<\/ol>\n<h3>Connecting the sensor<\/h3>\n<p>You can read now the sensor values by doing:<\/p>\n<pre>from machine import ADC\r\n &gt;&gt;&gt; adc = ADC(0)\r\n &gt;&gt;&gt; adc.read()\r\n 402<\/pre>\n<h3>MicroPython code<\/h3>\n<p>[gist id=&#8221;52a6b0a059593ff8f0273eea649280a2&#8243;]<\/p>\n<h3>Part 2:\u00a0Developing the server that will receive the requests<\/h3>\n<p>We need a server that will receive the requests, so for this purpose I created an Open Source project called\u00a0<a href=\"https:\/\/github.com\/worknenjoy\/ahorta\">Ahorta<\/a>, that will receive the data send by the sensor through the wifi connected.<\/p>\n<h1 style=\"text-align: center;\"><a href=\"https:\/\/github.com\/worknenjoy\/ahorta\">See the project in\u00a0Github<\/a><\/h1>\n<p>[gist id=&#8221;0b0264042c7aa93e2d9608affa692e65&#8243;]<\/p>\n<p>Basically, is a\u00a0<a href=\"http:\/\/nodejs.org\">NodeJS<\/a>\u00a0stack with\u00a0<a href=\"http:\/\/sendgrid.com\">Sendgrid<\/a>, hosted on \u00a0<a href=\"http:\/\/heroku.com\">Heroku<\/a>\u00a0to send e-mail about the values that the sensor reads. Our server will work as follows;<\/p>\n<ol>\n<li>A server receives the requests to an API rest that has endpoints that sends the sensor value about humidity<\/li>\n<li>Activates the requests to send e-mail, using the Heroku stack with Sendgrid to send e-mail, that could easily be any other integration.<\/li>\n<\/ol>\n<h3>Security<\/h3>\n<p>For security reasons, we need to create a token that needs to be present on the request, and in our example we had a environment variable that holds the key, that should match with the key on the server, that is set with the environment variable as well. This token will be stored on the device, source of request, that validates to not handle any other unknown request.<\/p>\n<h3>Result<\/h3>\n<p>As a result of this scripts and the Node on the server, we send a e-mail hour by hour to the destination e-mail.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2235\" src=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Screen-Shot-2018-12-03-at-6.23.36-PM.png\" alt=\"\" width=\"565\" height=\"374\" srcset=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Screen-Shot-2018-12-03-at-6.23.36-PM.png 565w, https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/Screen-Shot-2018-12-03-at-6.23.36-PM-300x199.png 300w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/p>\n<h3>Important to know<\/h3>\n<ul>\n<li>The range of support of this microcontroller is 2.4ghz network, and lucky me that I have both frequencies in my home network<\/li>\n<li>Use the best cables you have, cause I had a lot of issues with malfunction cables that it was hard to find the source<\/li>\n<li>The connection speed of transfer should work at\u00a0115200 (On my device has 9600 specified to create the flash install)<\/li>\n<\/ul>\n<h3>Links<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.instructables.com\/id\/Interface-Moisture-Sensor-With-NodeMCU\/\">https:\/\/www.instructables.com\/id\/Interface-Moisture-Sensor-With-NodeMCU\/<\/a><\/li>\n<li><a href=\"http:\/\/docs.micropython.org\/en\/latest\/esp8266\/esp8266\/tutorial\/intro.html#deploying-the-firmware\">http:\/\/docs.micropython.org\/en\/latest\/esp8266\/esp8266\/tutorial\/intro.html#deploying-the-firmware<\/a><\/li>\n<li><a href=\"http:\/\/micropython.org\/download#esp8266https:\/\/github.com\/espressif\/esptool\/https:\/\/nodemcu.readthedocs.io\/en\/master\/en\/build\/\">http:\/\/micropython.org\/download#esp8266<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/espressif\/esptool\/\">https:\/\/github.com\/espressif\/esptool\/<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/espressif\/esptool\/https:\/\/nodemcu.readthedocs.io\/en\/master\/en\/build\/\">https:\/\/nodemcu.readthedocs.io\/en\/master\/en\/build\/<\/a><\/li>\n<li><a href=\"https:\/\/nodemcu-build.com\/\">https:\/\/nodemcu-build.com\/<\/a><\/li>\n<li><a href=\"https:\/\/www.instructables.com\/id\/MicroPython-Basics-Using-NodeMCU-ESP8266\/\">https:\/\/www.instructables.com\/id\/MicroPython-Basics-Using-NodeMCU-ESP8266\/<\/a><\/li>\n<li><a href=\"http:\/\/www.instructables.com\/id\/Interface-Moisture-Sensor-With-NodeMCU\/\">http:\/\/www.instructables.com\/id\/Interface-Moisture-Sensor-With-NodeMCU\/<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/kmpm\/nodemcu-uploader\">https:\/\/github.com\/kmpm\/nodemcu-uploader<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/4refr0nt\/ESPlorer\">https:\/\/github.com\/4refr0nt\/ESPlorer<\/a><\/li>\n<\/ul>\n<h3>Conclusion<\/h3>\n<p>I hope this post was helpful to understand real world IOT projects.<\/p>\n<p>With these devices we can do great projects with different architectures for home automation.<\/p>\n<p>Are you interested to contribute with this project?\u00a0<a href=\"https:\/\/github.com\/worknenjoy\/ahorta\">Follow this project on\u00a0Github<\/a><\/p>\n<p>[mks_pullquote align=&#8221;left&#8221; width=&#8221;600&#8243; size=&#8221;18&#8243; bg_color=&#8221;#21759b&#8221; txt_color=&#8221;#ffffff&#8221;]<\/p>\n<p>You can subscribe and know about opportunities to work in these projects and receive bounties for complete issues.<\/p>\n\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f2243-o1\" lang=\"pt-BR\" dir=\"ltr\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/posts\/2256#wpcf7-f2243-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formul\u00e1rios de contato\" novalidate=\"novalidate\" data-status=\"init\">\n<div style=\"display: none;\">\n<input type=\"hidden\" name=\"_wpcf7\" value=\"2243\" \/>\n<input type=\"hidden\" name=\"_wpcf7_version\" value=\"5.9.3\" \/>\n<input type=\"hidden\" name=\"_wpcf7_locale\" value=\"pt_BR\" \/>\n<input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f2243-o1\" \/>\n<input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/>\n<input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/div>\n<p><label> Seu nome (obrigat\u00f3rio)<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"your-name\" \/><\/span> <\/label><br \/>\n<label> Seu e-mail (obrigat\u00f3rio)<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span> <\/label>\n<\/p>\n<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Enviar\" \/>\n<\/p><p style=\"display: none !important;\"><label>&#916;<textarea name=\"_wpcf7_ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js\" name=\"_wpcf7_ak_js\" value=\"20\"\/><script>document.getElementById( \"ak_js\" ).setAttribute( \"value\", ( new Date() ).getTime() );<\/script><\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\n<p>[\/mks_pullquote]<\/p>\n<p>[mks_separator style=&#8221;blank&#8221; height=&#8221;10&#8243;]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; This is a prototype of a device wifi powered connected to a NodeMCU. I bought the\u00a0baby tree at\u00a0 \u00a0https:\/\/www.leedens.com\u00a0and this was used for this project.\u00a0Picture: Alexandre Magno This is the first of a collection of posts that will share along with [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2236,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[237,195],"tags":[245,247,239,246,198,63],"class_list":["post-2256","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-internet-das-coisas","category-open-source","tag-device","tag-internet-of-things","tag-iot","tag-plant","tag-python","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Developing a IOT device: humidity sensor for plants using Arduino - Webpoint<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Developing a IOT device: humidity sensor for plants using Arduino - Webpoint\" \/>\n<meta property=\"og:description\" content=\"&nbsp; This is a prototype of a device wifi powered connected to a NodeMCU. I bought the\u00a0baby tree at\u00a0 \u00a0https:\/\/www.leedens.com\u00a0and this was used for this project.\u00a0Picture: Alexandre Magno This is the first of a collection of posts that will share along with [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/\" \/>\n<meta property=\"og:site_name\" content=\"Webpoint\" \/>\n<meta property=\"article:published_time\" content=\"2018-12-21T18:52:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-04T13:22:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6074-1-e1543858334746.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3024\" \/>\n\t<meta property=\"og:image:height\" content=\"2469\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"alexanmtz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"alexanmtz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/\"},\"author\":{\"name\":\"alexanmtz\",\"@id\":\"https:\/\/alexandremagno.net\/#\/schema\/person\/88a94d0648dd15b6080f207b6b2156af\"},\"headline\":\"Developing a IOT device: humidity sensor for plants using Arduino\",\"datePublished\":\"2018-12-21T18:52:38+00:00\",\"dateModified\":\"2019-01-04T13:22:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/\"},\"wordCount\":1553,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/alexandremagno.net\/#organization\"},\"keywords\":[\"device\",\"internet of things\",\"iot\",\"plant\",\"python\",\"tutorial\"],\"articleSection\":[\"Internet das coisas\",\"Open Source\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/\",\"url\":\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/\",\"name\":\"Developing a IOT device: humidity sensor for plants using Arduino - Webpoint\",\"isPartOf\":{\"@id\":\"https:\/\/alexandremagno.net\/#website\"},\"datePublished\":\"2018-12-21T18:52:38+00:00\",\"dateModified\":\"2019-01-04T13:22:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/alexandremagno.net\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Developing a IOT device: humidity sensor for plants using Arduino\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/alexandremagno.net\/#website\",\"url\":\"https:\/\/alexandremagno.net\/\",\"name\":\"Webpoint\",\"description\":\"Weblosofia com desenvolvimento web\",\"publisher\":{\"@id\":\"https:\/\/alexandremagno.net\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/alexandremagno.net\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/alexandremagno.net\/#organization\",\"name\":\"Webpoint\",\"url\":\"https:\/\/alexandremagno.net\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/alexandremagno.net\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2021\/12\/cropped-cropped-logo-1.png\",\"contentUrl\":\"https:\/\/alexandremagno.net\/wp-content\/uploads\/2021\/12\/cropped-cropped-logo-1.png\",\"width\":35,\"height\":31,\"caption\":\"Webpoint\"},\"image\":{\"@id\":\"https:\/\/alexandremagno.net\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/alexandremagno.net\/#\/schema\/person\/88a94d0648dd15b6080f207b6b2156af\",\"name\":\"alexanmtz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/alexandremagno.net\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/03b43dc8e6881b6af6fbbffd7465227f2d5b0648ba6646a0174a79811ecb6cde?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/03b43dc8e6881b6af6fbbffd7465227f2d5b0648ba6646a0174a79811ecb6cde?s=96&d=mm&r=g\",\"caption\":\"alexanmtz\"},\"sameAs\":[\"https:\/\/alexandremagno.net\"],\"url\":\"https:\/\/alexandremagno.net\/en\/author\/alexanmtz\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Developing a IOT device: humidity sensor for plants using Arduino - Webpoint","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:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/","og_locale":"en_US","og_type":"article","og_title":"Developing a IOT device: humidity sensor for plants using Arduino - Webpoint","og_description":"&nbsp; This is a prototype of a device wifi powered connected to a NodeMCU. I bought the\u00a0baby tree at\u00a0 \u00a0https:\/\/www.leedens.com\u00a0and this was used for this project.\u00a0Picture: Alexandre Magno This is the first of a collection of posts that will share along with [&hellip;]","og_url":"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/","og_site_name":"Webpoint","article_published_time":"2018-12-21T18:52:38+00:00","article_modified_time":"2019-01-04T13:22:13+00:00","og_image":[{"width":3024,"height":2469,"url":"https:\/\/alexandremagno.net\/wp-content\/uploads\/2018\/12\/IMG_6074-1-e1543858334746.jpg","type":"image\/jpeg"}],"author":"alexanmtz","twitter_card":"summary_large_image","twitter_misc":{"Written by":"alexanmtz","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/#article","isPartOf":{"@id":"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/"},"author":{"name":"alexanmtz","@id":"https:\/\/alexandremagno.net\/#\/schema\/person\/88a94d0648dd15b6080f207b6b2156af"},"headline":"Developing a IOT device: humidity sensor for plants using Arduino","datePublished":"2018-12-21T18:52:38+00:00","dateModified":"2019-01-04T13:22:13+00:00","mainEntityOfPage":{"@id":"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/"},"wordCount":1553,"commentCount":0,"publisher":{"@id":"https:\/\/alexandremagno.net\/#organization"},"keywords":["device","internet of things","iot","plant","python","tutorial"],"articleSection":["Internet das coisas","Open Source"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/","url":"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/","name":"Developing a IOT device: humidity sensor for plants using Arduino - Webpoint","isPartOf":{"@id":"https:\/\/alexandremagno.net\/#website"},"datePublished":"2018-12-21T18:52:38+00:00","dateModified":"2019-01-04T13:22:13+00:00","breadcrumb":{"@id":"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/alexandremagno.net\/en\/2018\/12\/21\/developing-iot-device-humidity-sensor-for-plants-using-arduino\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/alexandremagno.net\/en\/"},{"@type":"ListItem","position":2,"name":"Developing a IOT device: humidity sensor for plants using Arduino"}]},{"@type":"WebSite","@id":"https:\/\/alexandremagno.net\/#website","url":"https:\/\/alexandremagno.net\/","name":"Webpoint","description":"Weblosofia com desenvolvimento web","publisher":{"@id":"https:\/\/alexandremagno.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/alexandremagno.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/alexandremagno.net\/#organization","name":"Webpoint","url":"https:\/\/alexandremagno.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/alexandremagno.net\/#\/schema\/logo\/image\/","url":"https:\/\/alexandremagno.net\/wp-content\/uploads\/2021\/12\/cropped-cropped-logo-1.png","contentUrl":"https:\/\/alexandremagno.net\/wp-content\/uploads\/2021\/12\/cropped-cropped-logo-1.png","width":35,"height":31,"caption":"Webpoint"},"image":{"@id":"https:\/\/alexandremagno.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/alexandremagno.net\/#\/schema\/person\/88a94d0648dd15b6080f207b6b2156af","name":"alexanmtz","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/alexandremagno.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/03b43dc8e6881b6af6fbbffd7465227f2d5b0648ba6646a0174a79811ecb6cde?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/03b43dc8e6881b6af6fbbffd7465227f2d5b0648ba6646a0174a79811ecb6cde?s=96&d=mm&r=g","caption":"alexanmtz"},"sameAs":["https:\/\/alexandremagno.net"],"url":"https:\/\/alexandremagno.net\/en\/author\/alexanmtz\/"}]}},"_links":{"self":[{"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/posts\/2256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/comments?post=2256"}],"version-history":[{"count":10,"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/posts\/2256\/revisions"}],"predecessor-version":[{"id":2306,"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/posts\/2256\/revisions\/2306"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/media\/2236"}],"wp:attachment":[{"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/media?parent=2256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/categories?post=2256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alexandremagno.net\/en\/wp-json\/wp\/v2\/tags?post=2256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}