Espurino: JavaScript per microcontrollori

Microcontrollore Atmel, Espurino

Probabilmente hai mai sentito Spurine, poiché questo progetto è stato battezzato con il nome di un uomo politico e militare della Repubblica Romana. O forse sei arrivato a questo articolo alla ricerca di maggiori informazioni perché lo conosci già e vuoi iniziare a usarlo.

Comunque sia, cercherò di darti i tasti su cos'è Espurino e cosa potrebbe fare per te per i tuoi progetti futuri, oltre ad alcuni consigli per imparare a programmarlo in modo semplice.

Te lo abbiamo detto tempo fa su Anaconda, un altro progetto interessante per gli amanti di Python che volevano programma schede arduino con questo linguaggio di programmazione che è diventato così popolare. Qualcosa di simile a quello che fa MicroPython, ma questa volta, con Espurino, ti offre un'altra nuova opportunità usando un linguaggio diverso ...

Cos'è Espurino?

Spurine

Spurine è un progetto open source per creare un interprete del linguaggio di programmazione JavaScript per microcontrollori. Cioè, questo IDE completo è stato progettato per essere in grado di programmare dispositivi con un microcontrollore programmabile che hanno piccole memorie RAM, come alcuni che hanno solo 8kB e sono ampiamente utilizzati in molti dispositivi embedded.

Il progetto Espurino è stato creato da Gordon Williams nel 2012, come tentativo di consentire lo sviluppo di microcontrollori su più piattaforme. Inizialmente non era open source, offriva semplicemente un download gratuito del firmware per gli MCU STM32.

Nel 2013 il progetto compirà un passo molto importante, diventando open source dopo una campagna di finanziamento di grande successo sulla piattaforma di crowdfunding Kickstarter. Questa campagna è andata oltre l'ambiente di sviluppo iniziale, cercando fondi per produrre anche schede in grado di supportare questo software.

Il firmware di Espurino è ora concesso in licenza con Mozilla Public License 2.0, mentre i codici di esempio sono sotto la licenza MIT, la documentazione sotto Creative Commons Attribution-ShareAlike 3.0 e anche i file di progettazione hardware sotto quest'ultima.

Ecco come il file Distintivo ufficiale Espurino, a cui seguiranno numerosi rilasci di altre versioni come è successo con altri progetti simili come Arduino. Inoltre, queste schede presentavano anche la compatibilità per gli scudi compatibili con Arduino, che offre loro alcune funzionalità davvero interessanti per i produttori e i fai-da-te.

Attualmente il progetto ha una certa popolarità, con un'importante comunità di sviluppo e una moltitudine di tutorial e aiuto che puoi trovare su Internet. Pertanto, se ti piace JS e programmare i microcontrollori, non è mai stato così facile ...

Codice sorgente del progetto - GitHub

Sito ufficiale - Spurine

Firmware - Download (per le diverse targhe)

JavaScript? Microcontrollore?

Se hai iniziato in questo mondo, ti starai chiedendo quali sono questi termini o cosa possono contribuire ai tuoi progetti. Se ci leggi spesso saprai già cos'è un microcontrollore, e sicuramente conosci anche JavaScript o JS.

Un microcontrolloreChiamato anche MCU (Micro Controller Unit), è un chip programmabile in grado di eseguire determinati ordini dalla memoria. Questo può corrispondere anche alla definizione di una CPU, ma nel caso di un MCU, di solito sono meno avanzati e potenti, mirando a determinate attività specifiche, come i dispositivi incorporati.

Inoltre differenza da una CPU, il microcontrollore è un circuito integrato che include la CPU stessa, così come altri blocchi funzionali come la memoria e il sistema I / O. Voglio dire, è fondamentalmente un computer completo su un singolo chip ...

Pertanto, avrai un dispositivo economico e semplice che puoi programmare in modo che i loro input e output agiscano come desideri e quindi generino azioni. È possibile fargli ricevere informazioni da sensori o attuatori esterni e, in base a ciò, inviare determinati segnali ad altri attraverso le sue uscite Componenti elettronici collegato.

Per quanto riguarda JavaScript, è un linguaggio interpretato. In altre parole, a differenza di quelli compilati che dopo la compilazione generano un binario eseguibile da una CPU, nel caso di script interpretati sarà necessario un software intermedio chiamato interprete, che interpreterà i comandi del codice da "raccontare" la CPU cos'è, cosa deve fare.

JS È diventato molto importante oggi a causa delle molteplici applicazioni che ha, specialmente nelle app web. In effetti, è stato inizialmente sviluppato da Brendan Eich di Netscape (poi Mocha, poi ribattezzato LiveScript e infine JavaScript).

Quella popolarità ha portato a un gran numero di programmatori e utenti interessati in JavaScript, e progetti come Espurino possono avvicinarli tutti alla programmazione di microcontrollori con esso.

A proposito, per inizia con Espurino IDE, non dovrai installare nulla nel tuo sistema operativo, è un ambiente basato sul web che puoi usare da qui nel tuo browser web preferito.

Sebbene possano essere utilizzati vari browser web, per eseguire il flashing del firmware di queste schede si consiglia di utilizzare Chrome e un plug-in chiamato Espurino Web IDE che è consigliato dal sito ufficiale e che puoi ottenere per il tuo Chrome all'indirizzo questo link.

Come imparare JavaScript?

Se ancora non sai come programmare in JavaScript, dovresti sapere che, come in qualsiasi altra lingua, ci sono libri per apprendimento, corsi, tutorial video e un'enorme quantità di risorse per imparare gratuitamente. Ma c'è un'altra risorsa di cui forse si parla meno e che è particolarmente interessante per rendere la gamification la procedura di apprendimento di JS.

Mi riferisco a i videogiochi che ti aiutano a imparare a programmare con determinati linguaggi di programmazione, incluso JS. Con questi giochi, invece di usare la tastiera o il mouse per dirigere il personaggio o interagire con l'ambiente virtuale, quello che avrai è un interprete di questa lingua su un lato dello schermo e dove inizierai a inserire il codice (a partire dal il più semplice anche il più avanzato).

In questo modo, controllerai il gioco usando il linguaggio di programmazione, quindi durante i tuoi giochi andrai imparare quasi senza rendersene conto e man mano che avanzi nelle missioni la tua conoscenza crescerà.

Se ti interessa questo modo di imparare ad iniziare con Espurino, qui ti lascio alcune risorse per imparare JavaScript utilizzando giochi:

Piatti ufficiali Espurino

Piastre di sperone

Dopo il primo sviluppo di il piatto L'originale di Espurino è arrivato più progetti disponibili per l'uso con IDE e JS. Se vuoi saperne di più su di loro, ecco un'introduzione a ciascuno di essi:

  • Espurino (originale): è la targa originale, la prima ad essere disegnata nell'ambito di questo progetto. Le loro caratteristiche sono:
    • STM32F103RCT6 MCU ARM Cortex-M32 a 72 bit e 3 Mhz
    • 256 KB di memoria flash, 28 KB di RAM
    • microUSB, connettore SD e connettore per batteria esterna JST PHR-2
    • LED rosso, blu e verde
    • Pad che consentono il collegamento dei moduli Bluetooth HC-05
    • 44 GPIO con 26 PWM, 16 ADC, 3 UART, 2 SPI, 2 I2C e 2 DAC.
    • Dimensioni: 54x41mm
  • Spurino Peak: è una piccola scheda con un microcontrollore per iniziare a eseguire i tuoi progetti JavaScript e controllare le cose in pochi secondi. È programmato tramite la sua interfaccia USB per caricare lo script che scrivi sull'Espurino IDE. Inoltre ha un prezzo economico e puoi trovarlo con perni e senza perni saldati nelle sue teste. Più dettagli:
      • 22 GPIO (9 ingressi analogici, 21 PWM, 2 seriali, 3 SPI e 3 I2C).
      • Connettore USB-A a bordo.
      • 2 LED e 1 pulsante sul PCB.
      • STM32F401CDU6 MCU ARM Cortex-M32 a 84 bit 4 Mhz
      • Memoria: 384 Kb di flash e 96 Kb di RAM
      • Dimensioni 33x15mm
  • Spurino WiFi: È praticamente una scheda gemella alla precedente, solo che sono state aggiunte alcune migliorie. Ad esempio, le sue dimensioni sono 30x23 mm, crescendo per fare spazio a un chip WiFi ESP8266. Inoltre, l'USB è stato modificato in microUSB, il numero di GPIO è stato ridotto a 21 (8 analogici, 20 PWM, 1 seriale, 3 SPI e 3 I2C). D'altra parte, anche il microcontrollore è stato potenziato, ora è un ARM Cortex-M32 STM411F6CEU32 a 100 bit 4Mhz con 512kb di memoria flash e 128 kb di RAM.
  • Spurino Puck.js: Fondamentalmente è un pulsante intelligente Bluetooth che puoi programmare grazie al suo microcontrollore interno e all'interprete (preinstallato) con JS. Inoltre, ha un SoC ARM Cortex-M52832 nRF4 da 64 Mhz con 64kB di RAM e 512Kb di flash, GPIO, tag NFC, magnetometro MAG3110, trasmettitore IR, termometro integrato, oltre a sensori di luce e livello batteria.
  • Spurino Pixl.js: È un dispositivo simile al precedente, ma invece di un pulsante è uno smart screen Bluetooth LE programmabile. Il suo schermo ha dimensioni di 128 × 64 monocromatiche, mentre il resto delle caratteristiche sono simili al Puck.js.
  • MDBT42Q: è lo stesso modulo di Pixl.js e Puck.js, ma con un'antenna in ceramica. Il resto delle caratteristiche tecniche coincide con le due precedenti, ma senza schermo o pulsante in questo caso ...
  • braccialetto.js: è il prodotto più recente. È un indossabile, un orologio intelligente o un orologio intelligente. Potrai installare app e sviluppare nuove funzioni utilizzando JavaScript o un linguaggio di programmazione grafico (Blockly). Avrai solo bisogno di un browser web per poter scrivere i tuoi codici e caricarli sull'orologio ... Inoltre, è impermeabile, ha Bluetooth, GPS, accelerometro, magnetometro (per quantificare la forza e la direzione dei segnali magnetici), ecc.

Se hai bisogno comprarne un po ' di questi piatti Espurino li trovi nel negozio del sito web ufficiale Da questo progetto. Puoi anche trovarlo attraverso una serie di file distributori funzionari assegnati al progetto, come alcuni famosi generi alimentari come Adafruit, ecc.


Puoi essere il primo a lasciare un commento

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.