Soporte para Arduino IDE para ESP8266
A pesar de los numerosos tutoriales para configurar y escribir código para el módulo WiFi ESP8266, no se ha programado mucho este módulo inalámbrico barato con el IDE de Arduino. Eventualmente esto cambió. Después de muchos meses de codificación, Arduino IDE admite el módulo ESP8266.
La compatibilidad con Arduino IDE se anunció en el foro de la comunidad ESP8266. La configuración es bastante simple con descargas para Linux, OS X y Windows. Este tampoco es un escudo ESP8266: puede escribir código para el módulo ESP, conectar los pines seriales y presionar el botón de programa.
Las funciones básicas de Arduino IDE (pinMode, digitalRead, digitalWrite y analogRead) están disponibles. La mayoría de las funciones WiFi funcionan igual que el escudo WiFi.
Hay algunas cosas que aún no están escritas; PWM no funciona porque el ESP8266 tiene solo una fuente de hardware PWM. Los modos esclavo SPI e I2C aún no han terminado, y la carga de bocetos a través de WiFi necesita un poco de reflexión. Dicho esto, esta es una gran introducción a la programación del módulo ESP. Si no le gusta el IDE de Arduino, siempre puede hacerlo bien [CNLohr]Presentamos el tutorial del programa la semana pasada.
steve dice:
Este es un mal momento para las dos facciones militantes de Arduino .....
CMH62 dice:
Acordado. A medida que el soporte para ESP8266 en el IDE crece y madura, los proyectos de complejidad simple a media pueden migrar al ESP8266 y alejarse de las placas Arduino.
Andrés dice:
No estoy de acuerdo. Solo compro clones baratos de Arduino en China.
Kris Lee dice:
¿Todos han visto un clon compatible con RoHS?
daveboltman dice:
Hay 100000 veces más plomo en la batería de su automóvil que en una placa Arduino clonada. Los coches no cumplen con ROHS.
doug metzler dice:
Sí, pero las baterías de los automóviles se reciclan (o deberían). Las arduinas no lo son.
tekkieneet dice:
Hay más plomo y más en el televisor antiguo que tienes que expulsar cuando ellos (como en la FCC y agencias gubernamentales similares en otros países) eliminan la transmisión analógica que un pequeño plomo en Arduino. Probablemente, el televisor antiguo usa soldadura con un porcentaje de plomo más alto también debido al costo.
StopTheInsanity dice:
¿A alguien realmente le importa si cumple con RoHS? Yo no.
CMH62 dice:
Andrew: ¿Cuánto cuestan normalmente sus clones chinos y cómo se compara con los módulos ESP8266?
Hopo28 dice:
Obtengo un Arduino Nanos de Singapur (eBay) por £ 2.50 cada uno, con un cable USB, mientras que ESP8266 cuesta alrededor de £ 3.50 ish, por lo que junto con la función Nano adicional, preferiría eso en lugar de ESP (dependiendo del proyecto)
Ankit dice:
Cuesta aproximadamente $ 3 http://www.ebay.com/itm/311152649003
sangwiss dice:
Hola,
aquí hay una revisión del clon enano Arduino: http://nagashur.com/blog/2015/08/06/arduino-nano-clone-chinois/
(en francés, pero puede traducir en Google). La principal diferencia es el chip USB: en lugar de FTDI, hay un CH340G. En Linux, funciona de inmediato, en Windows y maquetas, necesita controladores (los enlaces se proporcionan en el enlace que proporcioné)Si lo comparas con un módulo ESP, tiene el mismo precio (alrededor de 2 € ambos), el nanoclón es un poco más grande, y por supuesto no tiene wifi, sino 13 entradas / salidas digitales y 7 entradas analógicas. El ESP8266-01 tiene solo 2 o 3 GPIO, ninguno de los cuales es analógico. Sin embargo, hay otras placas ESP que tienen más GPIO, por más dinero.
Sin embargo, puede comprar ambos y conectarlos a través de serie, y dejar que el enano haga las cosas de arduino y dejar que el ESP haga las cosas de la red. Para simplificarlo, un nano de 3.3V haría que ambos módulos se comunicaran directamente sin conversión de nivel lógico.
Vagabundo dice:
¡Genial!
Phreaknik dice:
Me pregunto por qué a todos les encanta el IDE de Arduino ... Aunque el hardware es útil para muchas cosas, el IDE de Arduino es uno de los peores IDE disponibles. Se invierte tanto tiempo y energía para combinar productos con el IDE de Arduino poco presentado y simplificado cuando podríamos usar IDE mucho mejores. Los IDE basados en Eclipse son solo una de las muchas opciones mucho mejores que el IDE de Arduino.
Parece que estamos encantando tantos productos nuevos en torno a una aplicación desagradable. Piense en lo que se podría haber logrado si estos productos se hubieran utilizado con un software mucho más capaz.
/ despotricar
androides dice:
¡En esto estoy totalmente de acuerdo contigo! Sin embargo, para mí, el arduino IDE y sus bibliotecas son una excelente manera de piratear un prototipo o probar algo. Hay un complemento de eclipse de Arduino, pero aún no se ha ejecutado.
–Androides
Conocido dice:
Mira SMING - https://github.com/anakod/Sming
Base de código Arduino, operando en Eclipse. Es genial.Knapie dice:
Soy un programador profesional de C ++ y Java, especialista en integración y gano un poco más de $ 50 la hora. Creo que Eclipse es el peor IDE conocido por el hombre. La única razón para nosotros, los seres humanos, es que no saben más y no quieren pagar por una herramienta decente.
Luis dice:
Mooi viro knapie
Abdullah dice:
¿Y escribe este comentario el martes a las 11:35? ¿No trabaja para ganar sus $ 50 la hora?
leo idhem dice:
@abdullah: ¿estás pensando en el concepto de zonas horarias?
Clovis Fritzen dice:
Estoy totalmente en desacuerdo, señor.
La cantidad de personas que usan el IDE de Arduino todos los días, en una asombrosa cantidad de varios hacks y proyectos, demuestra que está ignorando un hecho: ¡incluso el software desagradable puede cambiar el mundo si se usa correctamente!
Y aparte de eso, yo mismo no soy un programador (soy un tipo más de hardware) y me encanta la simplicidad y la velocidad de Arduino IDE.
Tony dice:
@Clovis @Phreaknik:
Estoy de acuerdo con IDE en el desarrollo de programas, es dolorosamente obsoleto. Creo que esto está más dirigido a la intención de Arduino. Veo a Arduino más como una plataforma de hardware con algunas capacidades de programación. Donde tiene RPi es lo opuesto, una plataforma de software (computadora) con capacidades de hardware.
Nate B dice:
Bueno, piense en los proyectos que podrían lograrse si todos tuvieran un molino Bridgeport en su garaje, en lugar de usar un pequeño taladro manual para las cosas.
Pero dada la opción entre intentar practicar un agujero con el dedo, un taladro de mano y Bridgeport, creo que la gran mayoría de las personas que * no * son maquinistas expertos estarían mejor atendidas por los menos capacitados, pero mucho más simple. , opción. Use suficiente herramienta, pero no lo suficiente para hacer de la herramienta su propio proyecto.
Para mí, un IDE basado en Eclipse simplemente no es una buena opción, por la misma razón que Bridgeport no es una buena opción: una vez que lo instale y aprenda a usarlo, podría hacer mi proyecto diez veces con el taladro manual. , o el IDE de Arduino.
Si ERES un maquinista o programador inteligente, me alegro por ti. Le tomó mucho tiempo desarrollar esas habilidades y ahora todo es más fácil para usted cuando combina esas habilidades con herramientas avanzadas, complejas y poderosas. Pero te agradecería que reconocieras que no todo el mundo comparte tu especialidad, y que no todo el mundo se preocupa siquiera por envolver esas cabezas solo para hacer un trabajo sencillo.
aelias36 dice:
Me gustaría usarlos para la atenuación de LED inalámbrica, pero PWM aún no funciona. ¿Alguien sabe qué tan probable es que PWM eventualmente funcione con estos chips?
cosecha dice:
es posible. tienes que buscar en Google tu pregunta para tutoriales ...
Stuart Goggin dice:
Otra opción - chip WS2811 - y FET en cada canal RGB. Lo uso para impulsar tiras de LED de 12v hasta unos pocos amperios. Si se trata solo de guías RGB, entonces no puede equivocarse con WS2812 en una cadena.
Chris C. dice:
Suponiendo que se admiten un temporizador y la interrupción asociada, siempre puede implementar un programa PWM. Es mucho más fácil si un temporizador / interrupción separado está disponible para cada PWM requerido. Son posibles varios PWM por temporizador, pero la complejidad del código aumenta hasta el punto de que podría considerar MIBAM (Modulación de ángulo de bits reflejada en espejo); que es una técnica de software que se presta específicamente para oscurecer efectivamente muchos LED con un solo temporizador / interrupción. (Consulte http://www.picbasic.co.uk/forum/showthread.php?t=10564 para obtener una descripción si está interesado. El hilo contiene una demostración de Java que le permite generar interactivamente una forma de onda MIBAM, con esto ejemplo visual, pude codificarlo desde cero por la noche).
aelias36 dice:
La página de GitHub dice: "El software PWM también es una opción, pero aparentemente causa problemas con la conectividad WiFi".
Chris C. dice:
Ah, eso es decepcionante. Busqué una razón y encontré algunas referencias que sugirieron que mientras se ofrece WiFi, el software PWM generalmente está descontinuado. Es posible que los temporizadores / interrupciones aún no sean compatibles. Quizás en unas pocas semanas o meses eso podría cambiar.
TeknoMano dice:
Los lectores nuevos en el foro ESP agradecerían un tutorial.
macw dice:
Este es un gran problema para el desarrollo ubicuo de IoT. Lo único que faltaba seriamente en el kit de herramientas de Arduino era una forma muy barata y fácil de construir un objeto simple conectado a Wi-Fi ... y aquí está.
mcncugget dice:
Así que esto me suena a que Arduino LLC está despidiendo a la empresa competidora que está construyendo las placas atmel de marca. Dicen que no necesitan tableros arduos que soporten tableros no arduos. Esto definitivamente se volverá interesante.
macw dice:
Esto no lo ha desarrollado realmente Arduino LLC, es un proyecto de terceros que sirve como complemento del IDE de Arduino. Durante un tiempo, hubo algunas otras extensiones que hicieron algo similar, permitiéndole usar el IDE y la cadena de herramientas para programar AVR discretos, ATTinys, los tableros Teensy, etc.
mcncugget dice:
Y es el gotcha.
Ralph Doncaster dice:
Es un buen comienzo. Las funciones analógicas aún no se han implementado.
https://github.com/JeroenBeemster/arduinesp/blob/master/esp8266/cores/arduino/ESP8266_io.cRalph Doncaster (Nerdo Ralph) dice:
Aparentemente, después de que escribí ese comentario, el artículo se actualizó para indicar la compilación Arduino / esp8266 de Ivan en lugar del parche Arduino de Jeroen para el esp8266 en arduinesp.com. También el día 29, Jeroen actualizó su parche para usar el núcleo de Ivan. Ahora, la única diferencia entre los dos parece ser el parche de 50 MB de Jeroen aplicable a la instalación del IDE Arduino 1.6.1 (y posiblemente 1.6.2) existente, mientras que el de Ivan es el IDE completo con el kernel esp8266 incluido (zip de 350 MB).
Roger Guess (@RogerGuess) dice:
Toqué el Pi, pero todavía no el Arduino. ¿Puede el ESP8266 hablar para decir un sensor de tiempo solo sin un Arduino u otra placa?
macw dice:
Dependería del sensor específico que utilizaste, pero en general sí. Apuesto a que la biblioteca Arduino DHT funciona bien en el ESP8266 sin modificaciones importantes.
Chris C. dice:
I2C y SPI se pueden modificar fácilmente (en programas), especialmente si no transmite muchos datos (como en un sensor de tiempo), y esos dos protocolos seriales cubren una gran cantidad de sensores y periféricos. No soy un tipo de Arduino, pero me sorprendería si no hubiera un código Arduino listo para eso que solo necesitaría las funciones pinMode, digitalRead y digitalWrite para funcionar.
tiroteo45 dice:
Usé nodeMCU en varios ESP8266, leyendo datos de temperatura de DHT11 / 22 y DS18B20. Funciona bien, no se necesita Arduino. El DS18B20 es mucho mejor compatible que los sensores DHT, todo realmente funciona.
dbear dice:
Multa. No es necesario utilizar un lenguaje oscuro y obsoleto para programarlos. ¡Adiós LUA!
Nigromante dice:
> obsoleto
> oscuro
> luaLOL WUT?
dbear dice:
Índice TIOBE de marzo
33 cero 0.472%
34 Ada 0,468%
35 Escala 0.456%
36 Maravilloso 0.413%
37 Lua 0,409%Scratch y Ada derrotaron a Lua. Apoyo mi declaración.
Nigromante dice:
* palma de la mano *. Parece que no entiendes nada. No se puede comparar chatarra y ada con lua. Cada idioma tiene su propio software. Lua es uno de los lenguajes de secuencias de comandos integrados más populares. Lo usa en entornos donde el núcleo del proyecto es C / C ++ y necesita un pegamento simple para la lógica avanzada que se desarrolla rápidamente y se integra fácilmente. En particular, es popular en el desarrollo de juegos, p. Ej. WoW, Jericho, Angry Birds. Aquí están los títulos que puedo recordar sin buscar en ningún lado usando lua. Y ahora estoy bastante lejos de gamedev. A diferencia de js o python, lua es solo un pequeño conjunto de archivos C que se pueden compilar fácilmente de forma literaria para cualquier plataforma con un compilador ANSI, por lo que casi no deja otra opción.
StinkySteve dice:
¡Esta es una noticia absolutamente increíble! He querido esto durante tanto tiempo. ¡Estoy ancioso de probarlo!
Miguel dice:
Con Arduino IDE 1.6.2 hay una nueva función de "agregar placa". ¿Quizás estos tipos harán que sea más fácil agregar ESP a la lista en lugar de con trucos?
macw dice:
Bleh, ignora el informe. HaD, ¿por qué pones el botón "informar" en el mismo lugar cuando todo el resto de Internet pone "responder"?
De todos modos, no es un truco, estrictamente hablando. El IDE ha admitido durante mucho tiempo una variedad de dispositivos de destino, incluso los Arduinos oficiales han utilizado más de un puñado de procesadores y métodos de comunicación diferentes a lo largo de los años. Este grupo reunió recientemente un conjunto de kernels y herramientas que permiten que el IDE de Arduino también se comunique con el ESP8266.
Butchalline dice:
Creo que sería apropiado agradecer a los "chicos" que celebraron esto.
CMH62 dice:
+1 !!!!
CLOVIS FRITZEN dice:
¡Gracias por participar en este "puerto"! Estoy cada vez más impresionado con el poder y las capacidades de la plataforma Arduino (mostrada aquí por su IDE).
caribe dice:
Todos apreciamos Arduino por la placa y los protectores estándar iniciales, pero sinceramente, es más útil usar otras placas compatibles con Arduine (aún con herramientas de código abierto). Esto se ha hecho para aquellos que ya existen y existen muchos tutoriales. Prefiero escribir código C, usar herramientas como Processor Expert de Freescale y adoptar sus tableros de libertad. No entiendo ni aprecio el tipo de abstracción que ofrece Arduino IDE. Puede ser porque trabajo en un entorno educativo y necesito entender la programación C para hardware como un verdadero lenguaje de programación. Además, no tiene que esperar a que el IDE de Arduino agregue soporte.
Evan Gifford dice:
Entonces Rad, ¡Gracias por esto!
Ahora no tengo mucha experiencia en wifi y acabo de descubrir el esp8266
¿Cuál sería el factor limitante para el número máximo de estos en la red wifi?
Dado un enrutador de potencia (tengo un WNDR3700), ¿128 de estos conectados al mismo enrutador permitirían la transmisión, por ejemplo, de un paquete de datos de 32 bytes 10 veces por segundo?
¿O requeriría un simulador en línea para evaluar esto?
macw dice:
El ESP8266 se comporta como cualquier otro cliente wifi. Si su enrutador puede manejar 128 computadoras portátiles o 128 teléfonos celulares, también puede manejar 128 ESP8266.
Evan Gifford dice:
Muy bien, genial, gracias por confirmar 🙂
Para aquellos de ustedes que aún no lo han visto, aquí hay un video que muestra el alcance de estos
spoiler: algunas configuraciones pueden ahorrar <5% la pérdida de paquetes ¡ACERCA DE 4KM!
CENTRO dice:
Probado. Funciona perfectamente. ¡Gracias a todos los que celebran esto!
igrr dice:
¡Es genial escuchar eso y gracias por intentarlo!
nodousb dice:
Si logran que el IDE funcione a través de WiFi, ¡sería genial!
dbear dice:
Probé con Win 8.1. No funciona.
"No se puede iniciar el programa" C: Users xxxx Documents Arduino hardware arduino-esp8266-master / tools / xtensa-lx106-elf / bin / xtensa-lx106-elf-g ++ ": CreateProcess error = 216 , Esta versión de% 1 no coincide con la versión de Windows que está usando. Verifique la información del sistema de su computadora y luego comuníquese con el editor del programa. "
¿Alguien más tiene suerte?
Chris K Cockrum dice:
Diseñé una placa ATMEGA32U4 compatible con Arduino que tiene ESP-8266 y soporte de carga de iones de litio. Los pondremos a disposición pronto si alguien está interesado. Los detalles están aquí:
https://la-tecnologia.io/project/4981-wiot-wireless-internet-of-things-esp-8266 y https://cockrum.net/electronics.html#WIOT_finalButchalline dice:
Hola HUB, igrr y / o cualquier otra persona ... por favor publique paso a paso en este foro, el patio de juegos de Arduino o los foros de ESP para que nadie como yo pueda disfrutar de su gran trabajo.
¡Gracias!participio dice:
No. Esto no funciona perfectamente. A las 8:30 de esta mañana, comencé a instalar el programa arduino, diseñado para trabajar con el esp8266 en mi Mac (Yosemite). Sigo recibiendo un mensaje de error que dice "advertencia: error de espcomm_sync
error: espcomm_open failed ". Leí otros intentos para solucionar este problema y finalmente decidí que, dado que la página de github no enumera OSX como probado y aprobado, no debería funcionar con OSX como dice. Así que intenté cambiar a mi Raspberry Pi, porque Linux está probado y listo. Primero, mi Raspberry Pi no tenía suficiente espacio para descargar el archivo, así que pasé HORAS arreglando esto. Finalmente descargue el archivo, no puedo ejecutarlo con mi Raspberry Pi. Una vez que lo intenté ejecutarlo a través de la línea de comando, me sale un error que dice que falta algo como Processing.app? Ahora es alrededor de la 1:15 am muuuy ... sí.Daniel Turner dice:
espcomm_open failed parece indicar que el módulo ESP no responde. Asegúrese de tener GPIO n-0 basado, luego reinicie o ejecute el módulo, ASÍ que intente cargar.
lámpara de atasco dice:
¿Alguien podría ejecutar esto en OS X? Creo que probé todas las permutaciones y todavía "fallé espcomm_sync" ...
desde 0W dice:
Al ver este proyecto y escuchar lo fácil que es configurar y usar un arduino, me obligaron a instalarlo.
Y bueno, como alguien que prefiere trabajar con PICASM, es bueno tener una plataforma para lanzar juntos.
Soy un aficionado y un nuevo padre, y de ninguna manera tendré tiempo para aprender a codificar el nivel ASM con el ESP8266, no importa cuánto me gustaría codificar en ASM para cualquier dispositivo, hay cosas más importantes que alguien tiene que ver con mi vida. Y estas bibliotecas se adaptan perfectamente a mi situación.