User Tag List

Resultados 1 al 14 de 14

Tema: Espruino Pico - Arduino like programado en JS

  1. #1

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts

    Espruino Pico - Arduino like programado en JS

    Hola a todo,

    Hay un kickstarter de espruino pico.
    https://www.kickstarter.com/projects...on-a-usb-stick

    Es un microcontrolador tipo Arduino, pero con la gracia de que se programa en JS, y es completamente dinamico (por lo tanto rinde menos que un arduino, pero es mas rapido prototipar).
    Tiene un IDE basado en chrome, y parece muy intuitivo.

    No tiene shields si lo comparamos con Arduino, pero si se llegan a las 60k libras van a dar soporte hid, lo que lo hace muy interesante para mucho menesteres.

    Yo voy a pillar 10, 5 para mi, si alguien se apunta serian entre 18 y 21 leuros la unidad.

    Lo veis interesante??

    Saludos
    Última edición por otto_xd; 20/11/2014 a las 23:59

  2. #2

    Fecha de ingreso
    Feb 2006
    Mensajes
    6,131
    Mencionado
    58 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    40
    Agradecer Thanks Received 
    1,445
    Thanked in
    Agradecido 853 veces en [ARG:2 UNDEFINED] posts
    Corrige el link que al copiarlo se ha perdido la parte de en medio, en el que te han cerrado está bien, es curioso el cacharro.
    Zhorro

  3. #3

    Fecha de ingreso
    Apr 2006
    Mensajes
    10,558
    Mencionado
    147 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,089
    Agradecer Thanks Received 
    3,073
    Thanked in
    Agradecido 1,428 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    15
    Al margen de gustos de lenguajes de cada uno...

    Un lenguaje de mas alto nivel + no compilado, se ejecuta como un script --> rendimiento pobre.
    No ide, todo integrado en el chisme --> menos memoria del chip en el que esta basado el invento para el programador.
    Para suplir todo lo anterior se tiene que usar un SoC mucho mas potente que los arduinos base, es un ARM de 32 bit --> mas caro.

    Hoy dia los arduinos UNO, que son especiales para alguien que empieza en esto de la electronica digital programable cuestan menos de 10€ gastos incluidos, y encima no hace falta protoboard como en este para conectar componentes electronicos y hacer montajes al vuelo.

    No le veo ninguna ventaja mas que para los que solo conocen y/o quieren conocer JS en toda su vida.


  4. Los siguientes 3 usuarios agradecen a JoJo_ReloadeD este post:

    Jonazan2 (24/11/2014), Segata Sanshiro (20/11/2014), ^MiSaTo^ (20/11/2014)

  5. #4

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Osea que sacan un arduino-like sin que sea compatible con nada de arduino (shields, librerías, etc) sin la ENORME comunidad que tiene arduino detrás, más caro y encima que se programa con JS con un ide basado en Chrome.
    Y qué necesidad hay entonces de este cacharro? Por qué es mejor que arduino? Porque usa JS? Porque yo de verdad que no lo veo

  6. #5

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts
    @^MiSaTo^
    Es arduino like desde el punto de vista que es un microcontrolador con muchas entradas y salidas para trastear y que hay modulos, no que sea un clon de Arduino.
    Creo que no he andado muy fino definiendo.

    El hecho de que use JS creo que es muy importante, ya que así puede llegar a mas gente
    http://adambard.com/blog/top-github-languages-2014/

    @JoJo_ReloadeD
    El IDE no va en el dispositivo, es un plugin de Chrome que se conecta directamente por el puerto serie al dispositivo. Puedes hacer lo mismo desde la consola de comandos o desde un IDE, pero la gracia esta en que al ser interpretado puedes hacer cosas en caliente.
    Es cierto que es interpretado, usando un interprete de JS propio para estos menesteres, pero eso le aporta inmediatez.
    Para mi que se puedan hacer cosas en caliente sobre el interprete me parece muy interesante.

    Que conste que en ningún momento he dicho que esto sea un Arduino killer, ni que sea mejor, simplemente a mi me gusta mucho por factor de forma, cosas que se van a alcanzar con kickstarter y la inmediatez de JS.

    Lo dicho, a mi me gusta muchísimo, creo que es otro punto de inicio para iot, y cuanta mas gente vea las posibilidades que tiene este mundo mejor, no??

    Espero que después de aclarar estas cosas alguien lo pueda encontrar interesante.
    Saludos

    PD. Gracias @zhorro
    PD2. El comentario de que es solo para los raritos de JS me parece un poco entre prepotente y absurdo. Mira github y llora por C en una esquina xD
    Última edición por otto_xd; 21/11/2014 a las 00:16

  7. #6

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    A lo que me refiero es que no le veo ninguna ventaja salvo que te guste porque te gusta javascript. Que tampoco es ventaja porque ellos mismos dicen que es más lento que un arduino "de verdad" (por razones obvias).
    Programar para arduino no tiene misterio ninguno aunque no sea js.

  8. #7

    Fecha de ingreso
    Apr 2006
    Mensajes
    10,558
    Mencionado
    147 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,089
    Agradecer Thanks Received 
    3,073
    Thanked in
    Agradecido 1,428 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    15
    @otto_xd, no he dicho lo de antes por ser prepotente o porque no me guste JS, es que de verdad no le veo ventaja a usar algo como JS en un sistema asi por las razones que he comentado arriba. No tiene nada que ver con el uso del lenguaje. Tiene que ver con la definicion de sistema embebido, donde prima mas la cercania a la maquina para poder sacar todo el jugo posible a ese pequeño computador que tienes. Si te saltas esto pues tiene un coste.

    En fin, que es repetirme diciendo lo mismo que he dicho arriba. Siento si te has sentido ofendido, pero no era mi intencion hacerlo.


  9. #8

    Fecha de ingreso
    Oct 2005
    Ubicación
    Valladoliz
    Mensajes
    2,386
    Mencionado
    12 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    98
    Agradecer Thanks Received 
    94
    Thanked in
    Agradecido 53 veces en [ARG:2 UNDEFINED] posts
    Yo juraría que para arduino había una librería que no se usaba con el IDE oficial y que permitía programar en JS

  10. #9

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,346
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    371
    Agradecer Thanks Received 
    1,785
    Thanked in
    Agradecido 944 veces en [ARG:2 UNDEFINED] posts
    Yo tampoco le veo ninguna ventaja a este proyecto comparado con cualquier arduino, y arduino tiene comunidad y hardware compatible para aburrir.

    Al hecho de que use un lenguaje interpretado le veo desventajas porque perderás rendimiento, lo que es vital en un trasto tan pequeño. A lo mejor solo quieres hacer proyectos en que el rendimiento no sea importante, está bien, no pasa nada, pero ya te estás limitando si quieres después hacer otra cosa.

    Si sabes JS, lo que tardas en aprender el lenguaje que se usa en Arduino es... ¿30 segundos? Arduino no es C, es un poco más sencillo. De hecho no sé bien qué diferencia habrá entre el lenguaje de Arduino y JS.

    Código:
    function toggle() {
     on = !on;
     digitalWrite(LED1, on);
    }
    ¿Este código qué es, Arduino o Espruino? Pues es Espruino porque pone "function". En Arduino se pone "void". Fin de las diferencias.

    A programar al vuelo tampoco le veo mucha ventaja, a menos que sí que necesites cambiar al vuelo el código constantemente desde un ordenador. Por ejemplo, las decisiones las toma un ordenador capaz de correr algoritmos complicados y el Espruino es solo un ejecutor como si fuese un periférico del ordenador. Ahí sí, el Espruino tiene ventajas porque en Arduino lo veo más complicado (aunque no imposible) Pero eso es solo un proyecto muy concreto y especial.

    Para cualquier otra cosa en Arduino también programas más o menos "al vuelo" porque tardas 5 segundos en corregir algo y cargar un nuevo programa.
    Última edición por juanvvc; 21/11/2014 a las 15:52
    "Todo es absolutamente falso, salvo alguna cosa"

  11. #10

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts
    Sobre potencia
    Espruino pico monta lo siguiente:
    STM32F401 CPU - ARM Cortex M4, 384kb flash, 96kb RAM - 64kb disponibles para uso
    http://www.st.com/st-web-ui/static/a...DM00102166.pdf

    Y arduino uno
    ATmega328
    http://www.atmel.com/Images/doc8161.pdf

    Dudo que por ir interpretado Arduino rinda una unidad de magnitud mas

    [quote]
    Short answer: It’s fast enough.

    Long answer: An empty ‘for’ loop runs at 10kHz, and a simple on/off toggle loop will run at around 3 kHz, however all built-in functionality (SPI, watches on Pins, Sorting, Graphics, Network, etc) is performed in native code so is very fast. You can also use inline assembly for areas where you need raw speed.
    [quote]

    Sobre la ventaja que use JS o no, para gustos colores, pero es mucho MUCHO mas accesible dado el volumen de desarrolladores que hay actualmente vs el resto de lenguajes.
    Ademas a ti te puede parecer que ser inmediato no es una ventaja, pero yo con la metodologia de trabajo que sigo, me es mucho mas comodo.

    Y no transformemos esto es un Arduino mola mas, que me parece bien, tengo un galileo un poco muerto de asco por su lamentable rendimiento y un micro con el que hago cositas, se lo que es Arduino, pero esto es nuevo y creo que puede tener bastante sentido.

    Saludos

  12. #11

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,346
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    371
    Agradecer Thanks Received 
    1,785
    Thanked in
    Agradecido 944 veces en [ARG:2 UNDEFINED] posts
    A mí no me disgusta JS. Me disgusta que sea interpretado, sea JS, Python o Java Y la ventaja de la facilidad de aprender JS es un poco superflua cuando el código del arduino no es JS porque no lo han querido llamar así, porque tampoco es tan diferente. De verdad que la única diferencia que veo ahora mismo entre JS y el lenguaje arduino es que indicas el tipo de la variable al declararla. Todo lo demás es exactamente igual, ¿no?

    Coñe, si hasta han publicado una lista de diferencias del código en sí y caben en una tarjeta de visita: http://www.espruino.com/Arduino+Differences Así que no, "la facilidad de aprender JS" no me parece argumento válido porque el arduino ya es prácticamente un JS.

    Por cierto, esto en particular me parece un infierno para depurar:

    On the Espruino board a simple loop will create roughly a 4kHz square wave (so 4000 iterations of the loop per second) using code like this:

    Código:
    while (1) {A0.set();A0.reset();}
    While code like this will toggle a pin at around 3.5kHz.

    Código:
    while (1) { A0.set();                 A0.reset();               }
    Estupendo. Poner y quitar espacios hace que tu código corra diferente. ¡Buena suerte en las comunicaciones con otros dispositivos!

    Una ventaja que le veo al espruino es que dicen que gasta mucha menos energía cuando está en espera, y que tal como se programa parece que el modo de espera es el "modo por defecto" del bicho. Así que en los proyectos que no se requiera un timing perfecto, parece que gastará menos energía que un arduino equivalente. Esto sí que es importante.

    Pero vamos, al final del día lo que usamos en nuestros proyectos personales es lo que estamos más acostumbrados. Yo no veo necesidad para cambiarme a espruino desde arduino en mis proyectos personales, y para un novato en la electrónica la ventaja de la comunidad y compatibilidad hardware de arduino me parece fenomenal. Pero en la práctica me parece que todo lo que puedes hacer en uno lo puedes hacer en el otro casicasi igual, así que ya es cuestión de cuánto cuesta cada uno (que no lo he mirado, eh)

    Oh, y parece que el espruino no se vende aún sino que se estima para mediados de 2015. Vale.
    Última edición por juanvvc; 21/11/2014 a las 19:36
    "Todo es absolutamente falso, salvo alguna cosa"

  13. #12

    Fecha de ingreso
    Apr 2006
    Mensajes
    10,558
    Mencionado
    147 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,089
    Agradecer Thanks Received 
    3,073
    Thanked in
    Agradecido 1,428 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    15
    Un ultimo tema y ya dejo el hilo, no para comentar que arduino mola mas, que cada cual elija lo que quiera, pero creo que esta bien saber que hace cada maquina.

    Comentan los creadores que un loop que haga on/off sobre una linea generaria una onda cuadrada de 3khz. Bien, en arduino uno, el mas bajo de todos se pueden generar ondas cuadradas de 4mhz:

    Nombre:  Arduino_forum_128269.png
Visitas: 84
Tamaño: 41.3 KB

    Asi que si, el rendimiento es una orden de magnitud mayor.

    @otto_xd, tio, que no es un ataque personal ni nada, simplemente nos comentas una maquina que te ha molado y nosotros te damos nuestra opinion, en serio, que no va con segundas ni nada.


  14. #13

    Fecha de ingreso
    Oct 2003
    Mensajes
    17,905
    Mencionado
    42 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    214
    Agradecer Thanks Received 
    160
    Thanked in
    Agradecido 109 veces en [ARG:2 UNDEFINED] posts
    Sobre lenguajes interpretados, Javascript no es solo interpretado, sino que es dinamico. Java se tiene que compilar, y se interpreta el bitcode generado. No es lo mismo, la diferencia es muy grande a efectos practicos.

    Y si. es una cagada lo de los espacios, la verdad no se a que espera para hacer un conformado de codigo antes de enviarlo al dispositivo.

    Un loop lo genera a esa frecuencia, pero si usas los metodos para generar las ondas en vez de generarlas programaticamente consigues bits de 1us (Lo que no es una orden de magnitud, y esto me lo ha confirmado el creador cuando me preocupe precisamente por eso, ya que me parecia muy poca velocidad para poder generar ondas o leer secuencias determinadas)

    -----Actualizado-----

    De todas formas como no me fio mucho del rendimiento cuando me llegue comparare una onda cuadrada arduino con espruino, y asi saco a pasear en analizador logico que me he agenciado xD

  15. #14

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,346
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    371
    Agradecer Thanks Received 
    1,785
    Thanked in
    Agradecido 944 veces en [ARG:2 UNDEFINED] posts
    Jojo, por lo que he entendido en un vistazo rápido, esos 3Khz son con el código JS... y siempre que no pongas espacios de más. Si necesitas realmente rendimiento parece que habrá librerías en ensamblador para las cosas más comunes (SPI, LCD...) así que tu código normalmente solo hará llamadas a librerías y ya está, no te preocupas por el rendimiento. Y a unas malas puedes crear "fácilmente" tus propias funciones en ensamblador. Que ya pierde la gracia de la facilidad del JS, eso sí

    De todas formas es justo decir que generar un pulso de 4Mhz también es un proyecto muy específico para el arduino. Si se necesitan cosas así sí que hay que mirar bienbien qué micro se usa y seguro que hay otros ejemplos en los que el micro del espruino es mejor. No sé, generar una onda de exactamente 3.8Mhz para alguna historia.
    "Todo es absolutamente falso, salvo alguna cosa"

  16. El siguiente usuario agradece a juanvvc este mensaje:

    JoJo_ReloadeD (21/11/2014)

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •