{"id":7747,"date":"2018-05-02T15:46:08","date_gmt":"2018-05-02T14:46:08","guid":{"rendered":"http:\/\/blog.whatsbee.net\/?p=7747"},"modified":"2018-05-02T15:47:04","modified_gmt":"2018-05-02T14:47:04","slug":"segundo-paso-empezando-con-el-esp8266-e-12","status":"publish","type":"post","link":"https:\/\/blog.whatsbee.net\/?p=7747","title":{"rendered":"Segundo paso: Empezando con el ESP8266 ESP-12E"},"content":{"rendered":"<p>El motivo por el que seleccion\u00e9\u00a0esta plataforma est\u00e1 explicado en el <a href=\"http:\/\/blog.whatsbee.net\/?p=7739\">primer post de esta serie<\/a>, precio, disponibilidad, informaci\u00f3n, WiFi, etc.<\/p>\n<p>Hace ya tiempo que paraf los proyectos basados en ESP8266 utilizo las placas NodeMCU, el precio es muy asequible, tienen un factor de forma peque\u00f1o y resuelven el tema de la alimentaci\u00f3n, la comunicaci\u00f3n con el PC durante el desarrollo, etc. No es complicado dise\u00f1arf y fabricar una PCB, pero, \u00bfporqu\u00e9 hacerlo si ya lo hacen otros por nosotros?. Al final es, probablemente, m\u00e1s sencillo construir el producto adapt\u00e1ndolo a la placa que adaptar la placa al producto.<\/p>\n<p>Pero en este caso es un poco diferente, la placa nodeMCU tiene un regulador de 5V a 3,3V, un led, la el chip de la UART para la comunicaci\u00f3n por el USB. Todas estas cosas que\u00a0son su principal ventaja en este proyecto se convierten en su principal inconveniente. Si tenemos la energ\u00eda racionada \u00bfpara que vamos a estar consumiendo en alimentar un chip que solo usamos en la fase de desarrollo?<\/p>\n<p>Hay varias p\u00e1ginas que documentan que cambios tenemos que hacer en una placa NodeMCU para\u00a0reducir el consumo o eliminar estas cosas que sobran, pero al final, con tanto cambio nos va a\u00a0resultar mejor utilizar solo el ESP-12 y fabricar nuestra propia PCB (y nos va a resultar mejor por el sencillo motivo de que tenemos que integrar m\u00e1s cosas).<\/p>\n<div id=\"attachment_7751\" style=\"width: 160px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/blog.whatsbee.net\/?attachment_id=7751\" rel=\"attachment wp-att-7751\"><img aria-describedby=\"caption-attachment-7751\" loading=\"lazy\" class=\"size-thumbnail wp-image-7751\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2018\/05\/ESP12E-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><p id=\"caption-attachment-7751\" class=\"wp-caption-text\">ESP12e<\/p><\/div>\n<h3>\u00a0Manos a la obra<\/h3>\n<p>Vamos a construirlo todo en una placa de prototipos, no es la primera vez que paso de esta fase y acabo encargando unas placas que no funcionan o necesitan demasiadas modificaciones. Lo primero\u00a0que tenemos que hacer es buscar un adaptador (o hac\u00e9rnoslo), no voy a profundizar en el tema, cuando compras un ESP-12E mucha gente lo vende con unos adaptadores blancos para la placa de prototipos, se suelda el ESp-12E en el adaptador y se ponen dos filas de headers para pincharlo en la placa de prototipos. Si, ya lo se, no hay conexi\u00f3n para los pads que est\u00e1n en la parte opuesta a la antena y posiblemente los necesitaremos, llegado el momento ya haremos alguna \u00ab\u00f1apa\u00bb.<\/p>\n<p>Hay mucha literatura sobre la circuiter\u00eda m\u00ednima para poner en marcha el ESP-12E, y solo echas de menos la informaci\u00f3n cuando te pones a intentarlo, b\u00e1sicamente tenemos que poner en un estado determinado unos GPIOS para que bote del programa y otros para que acepte que le subamos el programa. En la propia placa que hemos utilizado veo que hay un par de componentes que ya se encargan de poner en el estado correcto un par de esos pines. No volver\u00e9 a escribir otro art\u00edculo sobre esto, pod\u00e9is consultar <a href=\"http:\/\/www.instructables.com\/id\/ESP-12F-ESP8266-Module-Minimal-Breadboard-for-Flas\/\">este<\/a>. pero si que os dir\u00e9 en los puntos que me he atascado.<\/p>\n<div id=\"attachment_7752\" style=\"width: 160px\" class=\"wp-caption alignright\"><a href=\"http:\/\/blog.whatsbee.net\/?attachment_id=7752\" rel=\"attachment wp-att-7752\"><img aria-describedby=\"caption-attachment-7752\" loading=\"lazy\" class=\"size-thumbnail wp-image-7752\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2018\/05\/adaptadorESp12e-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2018\/05\/adaptadorESp12e-150x150.jpg 150w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2018\/05\/adaptadorESp12e.jpg 299w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><p id=\"caption-attachment-7752\" class=\"wp-caption-text\">Adaptador ESP12<\/p><\/div>\n<p>Los pines que necesitamos son:<\/p>\n<ul>\n<li>EN (CH_PD) Enable Pin\u00a0a nivel alto.<\/li>\n<li>GPIO15 a nivel bajo.<\/li>\n<li>GPIO2 a nivel alto.<\/li>\n<\/ul>\n<p>Adem\u00e1s de estos mantendremos el GPIO0 a nivel alto con una resistencia y lo pondremos a nivel bajo puente\u00e1ndolo a masa en los momentos en los que queramos subir un programa.<\/p>\n<p>Sobre el circuito que hay en el enlace que os he puesto yo no pongo los botones, lo puenteo con los cables en el momento en el que necesito por lo que realmente necesitamos solo tres resistencias para ponerlo en marcha, de momento las pondremos de 10K. Como las resistencias del GPIO15 y del GPIO2 ya vienen en la placa blanca, solo nos hace falta la del GPIO0, la ponemos en la placa de prototipos entre el GPIO0 y el positivo y dejamos un cable suelto en el GPIO0 que enchufaremos a la pista de masa cuando queramos programar.<\/p>\n<h3>Errores, problemas, dudas<\/h3>\n<p>Esto que os he comentado es as\u00ed de sencillo, pero la primera vez que lo hice no funcion\u00f3 todo. La inseguridad te hace buscar problemas complejos donde no los hay, as\u00ed que a continuaci\u00f3n os pongo una lista de problemas que me encontr\u00e9 y soluciones, posiblemente cualquiera se encuentre los mismos:<\/p>\n<ul>\n<li>Al arrancar el ESP sale una \u00abristra\u00bb de basura por pantalla, \u00bfcomo sabemos en que modo ha arrancado?. Por lo menos en mi caso mis ESP comunican inicialmente a una velocidad de 74880 bauds, si en el programa configuro esa velocidad en el puerto serie podr\u00e9 ver la informaci\u00f3n inicial (si configuro otra ver\u00e9 la \u00abristra\u00bb y solo cuando arranque el programa ver\u00e9 lo que le mando al puerto serie.<\/li>\n<li>El ESP se reinicia constantemente. Le\u00ed en algunos foros que es un problema de estabilidad en la l\u00ednea de alimentaci\u00f3n, No me lo cre\u00ed, di muchas vueltas y al final hice caso. Efectivamente, parece que hay unos picos importantes y hay que poner un condensador cerca del ESP, en mi caso con un electrol\u00edtico de 1000 uF fue suficiente.<\/li>\n<li>No tengo forma de saber si lo he arrancado en modo programaci\u00f3n o no. Al arrancar sale una l\u00ednea que indica lo siguiente\u00a0<code>ets Jan\u00a0 8 2013,rst cause:2, boot mode:(3,6) <\/code>los dos n\u00fameros que hay despu\u00e9s del \u00abmode:\u00bb son la clave, si el primero es un uno est\u00e1s arrancando en modo de programaci\u00f3n, si es un 3 es un arranque normal (hay m\u00e1s opciones, pero no entro).<\/li>\n<li>A\u00fan as\u00ed tiene comportamientos extra\u00f1os. Revisa las soldaduras con una lupa, despu\u00e9s de mucho trabajo yo descubr\u00ed que solo se pon\u00eda en modo de programaci\u00f3n si lo apretaba con el dedo y era un problema con las soldaduras. Cuando lo sueldes verifica que el esta\u00f1o asciende por capilaridad hasta la parte superior de la placa del ESP.<\/li>\n<li>Al meter la placa blanca no me queda sitio en la placa de prototipos para meter los cables. S\u00ed, es un problema de como est\u00e1 dise\u00f1ada, en el link adjunto lo resuelven con unos cables, yo lo resolv\u00ed usando dos placas de prototipos.<\/li>\n<li>\u00bfc\u00f3mo comunico con el IDE?, en el pinout del ESP hay dos pines, RX y TX, necesitar\u00e1s un conversor de UART a USB (como los FTTI), es muy importante que sea de 3,3V, porque los pines del ESP funcionan a esa tensi\u00f3n. Conecta el TX, el RX y la masa, pero no el positivo, habitualmente la tensi\u00f3n de VCC de estos conversores es de 5V aunque el conversor sea de 3,3V.<\/li>\n<\/ul>\n<p>Y\u00a0 poco m\u00e1s que contar, en este punto deber\u00eda de funcionar y debeis de poder subir un programa desde el entorno de Arduino o desde Platformio.<\/p>\n<p><a href=\"http:\/\/blog.whatsbee.net\/?p=7742\">Ir a &#8211; Primer paso: Investigaci\u00f3n y selecci\u00f3n de tecnolog\u00edas<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El motivo por el que seleccion\u00e9\u00a0esta plataforma est\u00e1 explicado en el primer post de esta serie, precio, disponibilidad, informaci\u00f3n, WiFi, etc. Hace ya tiempo que paraf los proyectos basados en ESP8266 utilizo las placas NodeMCU, el precio es muy asequible,&hellip; <br \/><a class=\"read-more-button\" href=\"https:\/\/blog.whatsbee.net\/?p=7747\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":1,"featured_media":7750,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0},"categories":[208],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/7747"}],"collection":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7747"}],"version-history":[{"count":5,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/7747\/revisions"}],"predecessor-version":[{"id":7755,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/7747\/revisions\/7755"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/media\/7750"}],"wp:attachment":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}