{"id":2839,"date":"2019-06-11T17:45:08","date_gmt":"2019-06-11T17:45:08","guid":{"rendered":"https:\/\/blog.usinainfo.com.br\/?p=2839"},"modified":"2019-08-07T15:55:08","modified_gmt":"2019-08-07T18:55:08","slug":"micropython-esp32-parte-1","status":"publish","type":"post","link":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/","title":{"rendered":"Micropython ESP32: Parte 1"},"content":{"rendered":"<p><strong>Micropython ESP32<\/strong> \u00e9 uma linguagem de programa\u00e7\u00e3o compacta, por\u00e9m eficiente, derivada de Python 3. Ela inclui diversas subfun\u00e7\u00f5es da biblioteca padr\u00e3o do Python e \u00e9 otimizada para rodar em microcontroladores e ambientes com restri\u00e7\u00f5es.<\/p>\n<p>Diferentemente da IDE do Arduino, cuja linguagem de programa\u00e7\u00e3o utilizada \u00e9 a C\/C++ e Wiring, iremos utilizar o ambiente de programa\u00e7\u00e3o\u00a0<a href=\"http:\/\/docs.dfrobot.com\/upycraft\/\" target=\"_blank\" rel=\"noopener noreferrer\">uPyCraft\u00a0<\/a>. Ela \u00e9 uma IDE com um design simples e de f\u00e1cil utiliza\u00e7\u00e3o.<\/p>\n<p>Veremos, primeiramente, como instalar essa IDE e como configurar a<a href=\"https:\/\/www.usinainfo.com.br\/nodemcu\/nodemcu-esp32-iot-com-wifi-e-bluetooth-38-pinos-5346.html\" target=\"_blank\" rel=\"noopener noreferrer\"> ESP32<\/a> para rodar c\u00f3digos Python (atualizar o firmware). Em seguida, iremos demonstrar como utilizar as fun\u00e7\u00f5es mais usadas, como fazer leituras digitais e anal\u00f3gicas, dar comandos de sa\u00edda, acionar ou desligar LEDs, dentre outras fun\u00e7\u00f5es.<\/p>\n<p>&nbsp;<\/p>\n<h2>Instalando a IDE para trabalhar com <strong>Micropython ESP32<\/strong><\/h2>\n<p>Diferentemente de diversos outros tutoriais que fizemos, agora iremos utilizar uma IDE diferente. Para instalar ela, siga os passos abaixo.<\/p>\n<ol>\n<li>Primeiramente, acesse a p\u00e1gina de download do site da uPyCraft, <a href=\"http:\/\/docs.dfrobot.com\/upycraft\/\">nesse link<\/a>.<\/li>\n<li>Fa\u00e7a o download do programa de acordo com o seu sistema operacional e instale-o.<\/li>\n<li>Em seguida, inicie o uPyCraft e verifique de h\u00e1 atualiza\u00e7\u00f5es. Caso haja, clique em atualizar.<\/li>\n<li>Feito isso teremos o ambiente de programa\u00e7\u00e3o instalado, conforme a figura abaixo.<\/li>\n<\/ol>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/IDE.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2840 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/IDE.png\" alt=\"\" width=\"523\" height=\"408\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/IDE.png 523w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/IDE-300x234.png 300w\" sizes=\"auto, (max-width: 523px) 100vw, 523px\" \/><\/a><\/p>\n<p>No decorrer do tutorial ser\u00e1 demonstrado as fun\u00e7\u00f5es mais \u00fateis para n\u00f3s dessa IDE.<\/p>\n<p>&nbsp;<\/p>\n<h2>Atualizar o Firmware na ESP32 para usar <strong>Micropython<\/strong><\/h2>\n<p>O segundo passo a ser feito \u00e9 atualizar o firmware da ESP32 para rodar c\u00f3digos em Python. Para tanto, siga os passos abaixo.<\/p>\n<ul>\n<li>Acesse a p\u00e1gina de downloads do site oficial do Micropython, atrav\u00e9s <a href=\"https:\/\/micropython.org\/download\" target=\"_blank\" rel=\"noopener noreferrer\">desse link<\/a>.<\/li>\n<li>Des\u00e7a a p\u00e1gina at\u00e9 encontrar a se\u00e7\u00e3o intitulada &#8220;Firmware for ESP32 boards&#8221;, e clique para baixar a vers\u00e3o standard (latest). A vers\u00e3o que usamos foi a vers\u00e3o identificada na imagem abaixo.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/firmware.jpg\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2872\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/firmware-1024x547.jpg\" alt=\"\" width=\"807\" height=\"431\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Na sequ\u00eancia, conecte a sua ESP32 e abra a IDE uPyCraft. Nela, clique em &#8220;Tools&#8221; e, em seguida, &#8220;BurnFirmware&#8221;, conforme imagem abaixo.<\/p>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/burn.jpg\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2873 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/burn.png\" alt=\"\" width=\"670\" height=\"428\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/burn.png 670w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/burn-300x192.png 300w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Uma nova janela, chamada &#8220;update Firmware&#8221;, se abrir\u00e1. Nela voc\u00ea dever\u00e1 preencher algumas op\u00e7\u00f5es para usar o Micropython ESP32. Fizemos uma lista para facilitar:<\/p>\n<ol>\n<li>board: esp32<\/li>\n<li>burn_addr: 0x1000<\/li>\n<li>erase_flash: yes<\/li>\n<li>com: &lt;depender\u00e1 do seu sistema operacional, mas dever\u00e1 seguir o formato COMx, onde x \u00e9 o n\u00famero da porta&gt;<\/li>\n<li>Selecione &#8220;Users&#8221; e clique em &#8220;choose&#8221;. Em seguida, navegue at\u00e9 o local onde voc\u00ea salvou o firmware. No meu caso era na pasta Downloads. D\u00ea um duplo clique no firmware para selecion\u00e1-lo.<\/li>\n<\/ol>\n<p>A janela dever\u00e1 ficar semelhante \u00e0 da imagem abaixo:<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/update.jpg\" data-rel=\"lightbox-image-3\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2874\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/update.jpg\" alt=\"\" width=\"602\" height=\"283\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Agora \u00e9 hora de gravar na ESP. Para tanto, <strong>primeiro<\/strong> mantenha pressionado o bot\u00e3o &#8220;boot&#8221; na placa e, em seguida, pressione &#8220;ok&#8221; na janela de update. Logo aparecer\u00e1 a janela abaixo e ent\u00e3o a mem\u00f3ria flash come\u00e7ar\u00e1 a ser apagada. Quando come\u00e7ar, voc\u00ea poder\u00e1 soltar o bot\u00e3o &#8220;boot&#8221;.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/updating1.jpg\" data-rel=\"lightbox-image-4\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2875\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/updating1.jpg\" alt=\"\" width=\"603\" height=\"190\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Em seguida, o novo firmware come\u00e7ar\u00e1 a ser gravado:<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/updating2.jpg\" data-rel=\"lightbox-image-5\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2876\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/updating2.jpg\" alt=\"\" width=\"602\" height=\"190\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Feito isso, a placa estar\u00e1 pronta para ser programada utilizando Python!<\/p>\n<p>&nbsp;<\/p>\n<h2>Teste &#8220;Blink&#8221; utilizando Python<\/h2>\n<p>Agora, iremos realizar o famoso teste &#8220;Blink&#8221;, utilizando a LED integrada \u00e0 placa na GPIO 2. Antes, por\u00e9m, confira se a porta serial e placa est\u00e3o selecionadas, atrav\u00e9s do menu &#8220;Tools&#8221;&gt;&#8221;Serial&#8221; e &#8220;Tools&#8221;&gt;&#8221;board&#8221;&gt;&#8221;esp32&#8243;. Assim que voc\u00ea clicar na porta respectiva \u00e0 placa, voc\u00ea notar\u00e1 que uma pequena janela console aparecer\u00e1 na parte de baixo da IDE, conforme figura abaixo (no ret\u00e2ngulo azulado). Nela, voc\u00ea pode executar comandos Python direto na ESP32.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/hello.jpg\" data-rel=\"lightbox-image-6\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2877 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/hello.png\" alt=\"\" width=\"675\" height=\"430\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/hello.png 675w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/hello-300x191.png 300w\" sizes=\"auto, (max-width: 675px) 100vw, 675px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Na sequ\u00eancia, vamos criar executar primeiro c\u00f3digo. Clique em &#8220;File&#8221;&gt;&#8221;New&#8221;. Um ambiente para escrita ser\u00e1 gerado. Copie o c\u00f3digo abaixo e cole nele.<\/p>\n<pre class=\"lang:csharp decode:1 \" >\r\nfrom machine import Pin\r\nfrom time import sleep\r\n\r\nled = Pin(2, Pin.OUT)\r\n\r\nwhile True:\r\n led.value(not led.value())\r\n sleep(1)\r\n<\/pre>\n<p>Lembre-se que Python \u00e9 uma linguagem obrigatoriamente <strong>indentada<\/strong>. Ela necessita de um recuo para definir o escopo de suas estruturas.<\/p>\n<p>Na sequ\u00eancia, salve o c\u00f3digo, pressionando &#8220;Ctrl+S&#8221;, ou indo em &#8220;File&#8221;&gt;&#8221;Save&#8221;. Escolha um nome para o arquivo e um diret\u00f3rio para armazen\u00e1-lo. Em seguida, clique no bot\u00e3o &#8220;DownloadAndRun&#8221;, com forma de figura triangular, identificado na imagem abaixo pelo quadrado azulado.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/blink.jpg\" data-rel=\"lightbox-image-7\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2878\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/05\/blink.jpg\" alt=\"\" width=\"675\" height=\"433\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Com isso, a LED integrada come\u00e7ar\u00e1 a piscar a cada 1 segundo!<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/06\/micropython1.gif\" data-rel=\"lightbox-image-8\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3067\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/06\/micropython1.gif\" alt=\"\" width=\"559\" height=\"315\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>An\u00e1lise do c\u00f3digo no <strong>Micropython ESP32<\/strong><\/h3>\n<p>Agora, finalmente, vamos ver o c\u00f3digo mais a fundo.<\/p>\n<p>No in\u00edcio, duas instru\u00e7\u00f5es de inclus\u00e3o de bibliotecas s\u00e3o feitas. Elas s\u00e3o correspondentes \u00e0 um &#8220;#include&#8221; no Arduino. A primeira, &#8220;machine&#8221;, cont\u00e9m fun\u00e7\u00f5es relativas ao hardware. Dentro dela, encontram-se implementadas diversas classes, dentre elas a Pin. Utilizamos ela para controlar a GPIO da ESP32. Outras classes que tamb\u00e9m est\u00e3o implementadas na machine s\u00e3o, por exemplo, a I2C, SPI, UART, etc. A segunda, \u00e9 a bem conhecida biblioteca time, com fun\u00e7\u00f5es relativas \u00e0 contabiliza\u00e7\u00e3o de tempo. Dela, importamos a classe sleep, cuja utilidade \u00e9 correspondente \u00e0 um &#8220;delay&#8221; no Arduino.<\/p>\n<pre class=\"lang:csharp decode:1 \" >\r\nfrom machine import Pin\r\nfrom time import sleep\r\n<\/pre>\n<p>Em seguida, de maneira semelhante a que, no Arduino, n\u00f3s configuramos um pino como sa\u00edda, aqui primeiro \u00e9 declarado uma vari\u00e1vel para receber uma inst\u00e2ncia da classe Pin e, em seguida, informado o n\u00famero da GPIO e definido como sa\u00edda.<\/p>\n<pre class=\"lang:csharp decode:1 \" >\r\nled = Pin(2, Pin.OUT)\r\n<\/pre>\n<p>Feito isso, vamos &#8220;void loop&#8221; do nosso c\u00f3digo. De forma a fazer um loop infinito em Python, basta criar uma estrutura while e dar como par\u00e2metro a constante True. Com isso, o c\u00f3digo que est\u00e1 dentro do while ser\u00e1 executado sempre. Note que, nesse caso, o c\u00f3digo do escopo do while deve estar indentado por um espa\u00e7o.<\/p>\n<p>Perceba tamb\u00e9m, que para alternar o estado da LED, utilizamos apenas duas instru\u00e7\u00f5es: led.value e not. A primeira, retorna o valor do pino ou &#8220;escreve&#8221; nele um valor, dependendo de como foi usada. Na primeira utiliza\u00e7\u00e3o, passamos um valor a ela. O valor foi not, de nega\u00e7\u00e3o, e o valor atual do pino. Por exemplo, se a fun\u00e7\u00e3o led.value retorar 1, ent\u00e3o a instru\u00e7\u00e3o led.value(not led.value) \u00e9 equivalente \u00e9 led.value(0).<\/p>\n<p>Por fim, o sleep \u00e9 utlizado como um delay. Atente-se, por\u00e9m, que a unidade padr\u00e3o dele \u00e9 em segundos. O valor abaixo, portanto, especifica um delay de 1 segundo.<\/p>\n<pre class=\"lang:csharp decode:1 \" >\r\nwhile True:\r\n led.value(not led.value())\r\n sleep(1)\r\n<\/pre>\n<p>Chegamos ao fechamento desse tutorial Micropython ESP32!<\/p>\n<p>&nbsp;<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>Esse foi um artigo introdut\u00f3rio relacionado \u00e0 utiliza\u00e7\u00e3o do Micropython ESP32 na placa NodeMCU. Na segunda parte de artigos relacionados a esse Framework, estarei demonstrando a utiliza\u00e7\u00e3o de outras fun\u00e7\u00f5es relevantes em Python para o desenvolvimento de projetos. Fique ligado!<\/p>\n<p>Conhe\u00e7a toda <a href=\"https:\/\/www.usinainfo.com.br\/esp32-611\" target=\"_blank\" rel=\"noopener noreferrer\">Linha ESP32 e Acess\u00f3rios<\/a> no Site da UsinaInfo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Micropython ESP32 \u00e9 uma linguagem de programa\u00e7\u00e3o compacta, por\u00e9m eficiente, derivada de Python 3. Ela inclui diversas subfun\u00e7\u00f5es da biblioteca padr\u00e3o do Python e \u00e9 otimizada para rodar em microcontroladores e ambientes com restri\u00e7\u00f5es. Diferentemente da IDE do Arduino, cuja linguagem de programa\u00e7\u00e3o utilizada \u00e9 a C\/C++ e Wiring, iremos utilizar o ambiente de programa\u00e7\u00e3o\u00a0uPyCraft\u00a0. Ela \u00e9 uma IDE com um design simples e de f\u00e1cil utiliza\u00e7\u00e3o. Veremos, primeiramente, como instalar essa IDE e como configurar a ESP32 para rodar c\u00f3digos Python (atualizar o firmware). Em seguida, iremos demonstrar como utilizar as fun\u00e7\u00f5es mais usadas, como fazer leituras digitais e anal\u00f3gicas, dar comandos de sa\u00edda, acionar ou desligar LEDs, dentre outras fun\u00e7\u00f5es. &nbsp; Instalando a IDE para trabalhar com Micropython [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":3080,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-2839","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esp32"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Micropython ESP32: Parte 1 - Blog Usinainfo<\/title>\n<meta name=\"description\" content=\"Aprenda Micropython com ESP32 no Blog UsinaInfo. Tutorial ESP32 Detalhado para Melhor Apredizagem, al\u00e9m de Guias Passo a Passo. Vem Conferir!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Micropython ESP32: Parte 1 - Blog Usinainfo\" \/>\n<meta property=\"og:description\" content=\"Aprenda Micropython com ESP32 no Blog UsinaInfo. Tutorial ESP32 Detalhado para Melhor Apredizagem, al\u00e9m de Guias Passo a Passo. Vem Conferir!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Usinainfo\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/pt-br.facebook.com\/faceusinainfo\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-11T17:45:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-08-07T18:55:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/06\/IMG_2897-ok.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1620\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Gustavo Teixeira\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gustavo Teixeira\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Micropython ESP32: Parte 1 - Blog Usinainfo","description":"Aprenda Micropython com ESP32 no Blog UsinaInfo. Tutorial ESP32 Detalhado para Melhor Apredizagem, al\u00e9m de Guias Passo a Passo. Vem Conferir!","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:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/","og_locale":"pt_BR","og_type":"article","og_title":"Micropython ESP32: Parte 1 - Blog Usinainfo","og_description":"Aprenda Micropython com ESP32 no Blog UsinaInfo. Tutorial ESP32 Detalhado para Melhor Apredizagem, al\u00e9m de Guias Passo a Passo. Vem Conferir!","og_url":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/","og_site_name":"Blog Usinainfo","article_publisher":"https:\/\/pt-br.facebook.com\/faceusinainfo\/","article_published_time":"2019-06-11T17:45:08+00:00","article_modified_time":"2019-08-07T18:55:08+00:00","og_image":[{"width":1620,"height":1080,"url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/06\/IMG_2897-ok.jpg","type":"image\/jpeg"}],"author":"Gustavo Teixeira","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Gustavo Teixeira","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/#article","isPartOf":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/"},"author":{"name":"Gustavo Teixeira","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/e562b515fae72a8e6663629d55466c6b"},"headline":"Micropython ESP32: Parte 1","datePublished":"2019-06-11T17:45:08+00:00","dateModified":"2019-08-07T18:55:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/"},"wordCount":1103,"commentCount":2,"image":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/06\/IMG_2897-ok.jpg","articleSection":["ESP32"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/","url":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/","name":"Micropython ESP32: Parte 1 - Blog Usinainfo","isPartOf":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/#primaryimage"},"image":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/06\/IMG_2897-ok.jpg","datePublished":"2019-06-11T17:45:08+00:00","dateModified":"2019-08-07T18:55:08+00:00","author":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/e562b515fae72a8e6663629d55466c6b"},"description":"Aprenda Micropython com ESP32 no Blog UsinaInfo. Tutorial ESP32 Detalhado para Melhor Apredizagem, al\u00e9m de Guias Passo a Passo. Vem Conferir!","breadcrumb":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/#primaryimage","url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/06\/IMG_2897-ok.jpg","contentUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2019\/06\/IMG_2897-ok.jpg","width":1620,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/www.usinainfo.com.br\/blog\/micropython-esp32-parte-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.usinainfo.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Micropython ESP32: Parte 1"}]},{"@type":"WebSite","@id":"https:\/\/www.usinainfo.com.br\/blog\/#website","url":"https:\/\/www.usinainfo.com.br\/blog\/","name":"Blog Usinainfo","description":"Usinainfo","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.usinainfo.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/e562b515fae72a8e6663629d55466c6b","name":"Gustavo Teixeira","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/d3d23c5cd03ce9d8ef47bc68b083dc7e5f94b7b022f5059e668bf9439c9d4709?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d3d23c5cd03ce9d8ef47bc68b083dc7e5f94b7b022f5059e668bf9439c9d4709?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d3d23c5cd03ce9d8ef47bc68b083dc7e5f94b7b022f5059e668bf9439c9d4709?s=96&d=mm&r=g","caption":"Gustavo Teixeira"},"description":"Bacharel em Ci\u00eancia da Computa\u00e7\u00e3o pela URI \u2013 Campus de Santo \u00c2ngelo, com experi\u00eancia no desenvolvimento de pesquisas em Rob\u00f3tica e prototipa\u00e7\u00e3o de Sistemas Rob\u00f3ticos.","url":"https:\/\/www.usinainfo.com.br\/blog\/author\/gustavo-teixeira\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/2839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/comments?post=2839"}],"version-history":[{"count":12,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/2839\/revisions"}],"predecessor-version":[{"id":4884,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/2839\/revisions\/4884"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media\/3080"}],"wp:attachment":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}