Spurino: JavaScript para microcontroladores

Microcontrolador Atmel, Espurino

Probablemente xa escoitou falar Espurina, xa que este proxecto foi bautizado co nome dun político e militar da República Romana. Ou quizais chegaches a este artigo buscando máis información porque xa a sabes e queres comezar a usala.

Sexa como for, intentarei darche as chaves sobre o que é Espurino e que podería facer por vostede para os seus futuros proxectos, así como algunhas recomendacións para aprender a programalo dun xeito sinxelo.

Hai un tempo contámolo sobre Anaconda, outro proxecto interesante para os amantes de Python que o querían axenda placas arduino con esta linguaxe de programación que se fixo tan popular. Algo semellante ao que fai micropitón, pero esta vez, con Espurino, ofréceche outra nova oportunidade usando unha linguaxe diferente ...

Que é Espurino?

Espurina

Espurina é un proxecto de código aberto para crear un intérprete de linguaxe de programación JavaScript para microcontroladores. É dicir, este IDE completo foi deseñado para poder programar dispositivos cun microcontrolador programable que teña pequenas memorias RAM, como algúns que só teñen 8kB e son moi utilizados en moitos dispositivos integrados.

O proxecto Espurino foi creado por Gordon Williams en 2012, como un intento de permitir o desenvolvemento de microcontroladores en múltiples plataformas. Inicialmente non era de código aberto, simplemente ofrecía unha descarga de firmware gratuíta para as MCU STM32.

En 2013 o proxecto daría un paso moi importante, converténdose en código aberto despois dunha campaña de financiamento moi exitosa na plataforma de crowdfunding Kickstarter. Esta campaña foi máis alá do contorno de desenvolvemento inicial, buscando fondos para fabricar tamén placas que puidesen soportar este software.

O firmware de Espurino agora está baixo licenza Mozilla Public License 2.0, mentres que os códigos de mostra están baixo a licenza MIT, a documentación baixo Creative Commons Recoñecemento-CompartirIgual 3.0 e os ficheiros de deseño de hardware tamén nesta última.

Así é como Insignia oficial de Espurino, ao que seguirían numerosas versións doutras versións como sucedeu con outros proxectos similares como Arduino. Ademais, estas placas tamén ofrecían compatibilidade con escudos compatibles con Arduino, o que lles proporciona unhas capacidades realmente interesantes para os fabricantes e os bricolais.

Actualmente o proxecto ten certa popularidade, cunha importante comunidade de desenvolvemento e multitude de tutoriais e axuda que podes atopar en Internet. Polo tanto, se che gusta JS e programar microcontroladores, nunca o tiveches tan fácil ...

Código fonte do proxecto - GitHub

Sitio web oficial - Espurina

Firmware - Descargar (para as distintas placas)

JavaScript? Microcontrolador?

Se comezaches neste mundo, quizais te preguntas cales son eses termos ou o que poden aportar aos teus proxectos. Se nos lees con frecuencia xa saberás o que é un microcontrolador e seguramente tamén coñeces JavaScript ou JS.

Un microcontroladorTamén chamado MCU (Micro Controller Unit), é un chip programable capaz de executar certas ordes da memoria. Isto tamén pode coincidir coa definición dunha CPU, pero no caso dunha MCU, adoitan ser menos avanzados e poderosos, dirixidos a determinadas tarefas específicas, como os dispositivos integrados.

Ademais de diferenza dunha CPU, o microcontrolador é un circuíto integrado que inclúe a propia CPU, así como outros bloques funcionais como a memoria e o sistema de E / S. Quero dicir, basicamente é un ordenador completo nun só chip ...

Polo tanto, terá un dispositivo barato e sinxelo que podes programar de xeito que as súas entradas e saídas actúen como quere e xerar así accións. Podes facer que reciba información de sensores ou actuadores externos e en función diso envíen certos sinais a través das súas saídas a outros Compoñentes electrónicos conectado.

En relación a JavaScript, é unha linguaxe interpretada. Noutras palabras, a diferenza dos compilados que despois da compilación xeran un binario que pode ser executado por unha CPU, no caso dos scripts interpretados, necesitarase un software intermediario chamado intérprete, que interpretará os comandos do código para "dicir" a CPU que é. que ten que facer.

JS Fíxose moi importante hoxe en día debido ás múltiples aplicacións que ten, especialmente nas aplicacións web. De feito, foi desenvolvido inicialmente por Brendan Eich de Netscape (entón Mocha, entón renomeado LiveScript e, finalmente, JavaScript).

Esa popularidade levou a un gran número de programadores e usuarios interesados en JavaScript e proxectos como Espurino poden achegar a todos eles á programación de microcontroladores con el.

Por certo, para comeza con Espurino IDE, non terá que instalar nada no seu sistema operativo, é un ambiente baseado na web que pode empregar dende aquí mesmo no seu navegador web favorito.

Aínda que se poden empregar varios navegadores web, para flashear o firmware destas placas recoméndase usar Chrome e un complemento chamado Espurino Web IDE que se recomenda desde o sitio web oficial e que pode obter para o seu Chrome en este enlace.

Como aprender JavaScript?

Se aínda non sabes programar en JavaScript, debes saber que, como en calquera outro idioma, hai libros para aprendizaxe, cursos, videotitoriais e unha enorme cantidade de recursos para aprender de balde. Pero hai outro recurso que quizais se fale menos e que sexa especialmente interesante para facer da gamificación o procedemento de aprendizaxe de JS.

Refírome os videoxogos que che axudan a aprender a programar con certas linguaxes de programación, incluído JS. Con estes xogos, no canto de usar o teclado ou o rato para dirixir o personaxe ou interactuar co contorno virtual, o que terás é un intérprete desta linguaxe nun lado da pantalla e onde comezarás a introducir código (comezando polo máis sinxelo incluso o máis avanzado).

Deste xeito, controlarás o xogo usando a linguaxe de programación, polo que durante os teus xogos irás aprendendo case sen darnos conta e a medida que avances nas misións o teu coñecemento irá crecendo.

Se che interesa este xeito de aprender a comezar por Espurino, aquí te deixo algúns recursos para aprender JavaScript usando xogos:

Pratos oficiais de Espurino

Pratos de espurina

Despois do primeiro desenvolvemento de o prato O orixinal de Espurino presentou máis proxectos dispoñibles para usar co IDE e JS. Se queres saber máis sobre eles, aquí tes unha introdución a cada un:

  • Espurino (orixinal): é a placa orixinal, a primeira deseñada neste proxecto. As súas características son:
    • STM32F103RCT6 MCU ARM Cortex-M32 de 72 bits 3Mhz
    • 256Kb de memoria flash, 28Kb de RAM
    • microUSB, conector SD e conector de batería externo JST PHR-2
    • LED vermellos, azuis e verdes
    • Pads que permiten a conexión de módulos Bluetooth HC-05
    • 44 GPIO con 26 PWM, 16 ADC, 3 UARTS, 2 SPI, 2 I2C e 2 DAC.
    • Dimensións: 54x41mm
  • Pico Spurino: é unha pequena placa cun microcontrolador para comezar a executar os seus proxectos JavaScript e controlar as cousas en cuestión de segundos. Está programado a través da súa interface USB para cargar o script que escribes sobre o IDE de Espurino. Ademais, ten un prezo económico e podes atopalo con pasadores e sen pasadores soldados na cabeza. Máis detalles:
      • 22 GPIO (9 entradas analóxicas, 21 PWM, 2 serie, 3 SPI e 3 I2C).
      • Conector USB-A na tarxeta.
      • 2 LEDs e 1 botón no PCB.
      • STM32F401CDU6 MCU de 32 bits 84Mhz ARM Cortex-M4
      • Memoria: 384 Kb de flash e 96 KB de RAM
      • Dimensións de 33x15mm
  • WiFi Spurino: É un taboleiro practicamente xemelgo do anterior, só que se engadiron algunhas melloras. Por exemplo, o seu tamaño é de 30x23 mm, medrando para deixar espazo a un chip WiFi ESP8266. Ademais, o USB cambiouse a microUSB, o número de GPIO reduciuse a 21 (8 analóxicos, 20 PWM, 1 serie, 3 SPI e 3 I2C). Por outra banda, tamén se aumentou o microcontrolador, agora é un STM32F411CEU6 de 32 bits 100Mhz ARM Cortex-M4 con 512kb de memoria flash e 128 kb de RAM.
  • Spurino Puck.js: Basicamente é un botón intelixente Bluetooth que podes programar grazas ao seu microcontrolador interno e ao intérprete (preinstalado) con JS. Ademais, ten un SoC ARM Cortex-M52832 nRF4 de 64Mhz con 64kB de RAM e 512Kb de flash, GPIO, etiqueta NFC, magnetómetro MAG3110, transmisor IR, termómetro incorporado, así como sensores de luz e nivel de batería.
  • Spurino Pixl.js: É un dispositivo similar ao anterior, pero no canto dun botón é unha pantalla intelixente Bluetooth LE programable. A súa pantalla ten unhas dimensións de 128 × 64 monocromáticas, mentres que o resto de características son similares ás de Puck.js.
  • MDBT42Q: é o mesmo módulo que Pixl.js e Puck.js, pero cunha antena de cerámica. O resto de características técnicas coinciden coas dúas anteriores, pero sen pantalla nin botón neste caso ...
  • brazalete.js: é o produto máis recente. É un portátil, un reloxo intelixente ou reloxo intelixente. Poderás instalar aplicacións e desenvolver novas funcións usando JavaScript ou unha linguaxe de programación gráfica (Blockly). Só necesitará un navegador web para poder escribir os seus códigos e subilos ao reloxo ... Ademais, é impermeable, ten Bluetooth, GPS, acelerómetro, magnetómetro (para cuantificar a forza e dirección dos sinais magnéticos), etc.

Se precisa mercar algúns destas placas de Espurino podes atopalas no tenda web oficial Deste proxecto. Tamén podes atopalo a través dunha serie de concesionarios funcionarios asignados ao proxecto, como algúns supermercados famosos como Adafruit, etc.


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

Sexa o primeiro en opinar sobre

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.