Spurino: JavaScript för mikrokontroller

Atmel mikrokontroller, Espurino

Du har antagligen någonsin hört Spurin, eftersom detta projekt har blivit döpt med namnet på en politiker och militär i Romerska republiken. Eller kanske har du kommit till den här artikeln och letat efter mer information eftersom du redan känner till den och vill börja använda den.

Hur som helst, jag kommer att försöka ge dig nycklarna om vad Espurino är och vad det kan göra för dig för dina framtida projekt, samt några rekommendationer för att lära dig hur man programmerar det på ett enkelt sätt.

För ett tag sedan sa vi till dig om Anaconda, ett annat intressant projekt för Python-älskare som ville program arduino-brädor med det här programmeringsspråket som har blivit så populärt. Något som liknar vad det gör mikropyton, men den här gången, med Espurino, ger det dig en ny möjlighet med ett annat språk ...

Vad är Espurino?

Spurin

Spurin är ett open source-projekt för att skapa en JavaScript-programmeringsspråkstolk för mikrokontroller. Det vill säga, denna kompletta IDE har utformats för att kunna programmera enheter med en programmerbar mikrokontroller som har små RAM-minnen, till exempel några som bara har 8 kB och används ofta i många inbäddade enheter.

Espurino-projektet skapades av Gordon Williams 2012, som ett försök att tillåta utveckling av mikrokontroller på flera plattformar. Ursprungligen var det inte öppen källkod, det erbjöd helt enkelt en gratis nedladdning av firmware för STM32 MCU.

Under 2013 skulle projektet ta ett mycket viktigt steg och bli öppen källkod efter en mycket framgångsrik finansieringskampanj på Kickstarter crowdfunding-plattformen. Den här kampanjen gick utöver den ursprungliga utvecklingsmiljön och sökte medel för att också tillverka kort som kunde stödja denna programvara.

Espurinos firmware är nu licensierad under Mozilla Public License 2.0, medan provkoderna är under MIT-licensen, dokumentationen under Creative Commons Attribution-ShareAlike 3.0 och maskinvarudesignfilerna under den senare också.

Det är så här Espurino officiella märke, som skulle följas av många versioner av andra versioner som har hänt med andra liknande projekt som Arduino. Dessutom innehöll dessa kort kompatibilitet för Arduino-kompatibla sköldar, vilket ger dem några riktigt intressanta möjligheter för tillverkare och DIYers.

För närvarande har projektet en viss popularitet, med ett viktigt utvecklingsgemenskap och en mängd handledning och hjälp som du kan hitta på Internet. Därför, om du gillar JS och programmering av mikrokontroller, har du aldrig haft det så enkelt ...

Projekt källkod - GitHub

Officiell hemsida - Spurin

Firmware - Ladda ner (för de olika plattorna)

JavaScript? Mikrokontroller?

Om du har börjat i den här världen kanske du undrar vad är dessa termer eller vad de kan bidra till dina projekt. Om du läser oss ofta kommer du redan att veta vad en mikrokontroller är, och du vet säkert också JavaScript eller JS.

Un mikrokontrollerÄven kallad MCU (Micro Controller Unit), det är ett programmerbart chip som kan utföra vissa beställningar från minnet. Detta kan också matcha definitionen av en CPU, men i fallet med en MCU är de vanligtvis mindre avancerade och kraftfulla och riktar sig mot vissa specifika uppgifter, såsom inbäddade enheter.

Dessutom skillnad från en CPU, är mikrokontrollern en integrerad krets som inkluderar själva CPU: n, liksom andra funktionella block som minne och I / O-systemet. Jag menar, det är i grunden en komplett dator på ett enda chip ...

Därför kommer du att ha en billig och enkel enhet som du kan programmera så att deras in- och utgångar fungerar som du vill och därmed genererar åtgärder. Du kan få den att ta emot information från externa sensorer eller ställdon, och baserat på att skicka vissa signaler genom dess utgångar till andra Elektroniska komponenter ansluten.

Beträffande JavaScript, det är ett tolkat språk. Med andra ord, till skillnad från kompilerade som efter kompilering genererar en binär som kan köras av en CPU, i fallet med tolkade skript, behövs en mellanliggande programvara som kallas en tolk, som kommer att tolka kommandona i koden för att "berätta" CPU vad det är, vad det måste göra.

JS Det har blivit mycket viktigt idag på grund av de många applikationer det har, särskilt i webbappar. Faktum är att den ursprungligen utvecklades av Netscapes Brendan Eich (sedan Mocha, sedan döpt om till LiveScript och slutligen JavaScript).

Den populariteten har lett till ett stort antal intresserade programmerare och användare i JavaScript och projekt som Espurino kan föra dem alla närmare programmering av mikrokontroller med den.

Förresten, för komma igång med Espurino IDE, du behöver inte installera någonting i ditt operativsystem, det är en webbaserad miljö som du kan använda från här i din favoritwebbläsare.

Även om olika webbläsare kan användas rekommenderar vi att du använder Chrome och ett plugin som heter Espurino Web IDE, som rekommenderas från den officiella webbplatsen och som du kan få för din Chrome på Flash för att flasha firmware på dessa kort. denna länk.

Hur lär jag mig JavaScript?

Om du fortfarande inte vet hur du programmerar i JavaScript bör du veta att det, som på alla andra språk, finns böcker för lärande, kurser, videohandledning och en enorm mängd resurser att lära sig gratis. Men det finns en annan resurs som kanske är mindre omtalad och som är särskilt intressant för att göra gamification till inlärningsförfarandet för JS.

Jag hänvisar till videospelen som hjälper dig att lära dig att programmera med vissa programmeringsspråk, inklusive JS. Med dessa spel, istället för att använda tangentbordet eller musen för att styra karaktären eller interagera med den virtuella miljön, är det du som tolkar det här språket på ena sidan av skärmen och där du börjar skriva in kod (börjar med enklaste även de mest avancerade).

På detta sätt kommer du att styra spelet med programmeringsspråk, så under dina spel kommer du att gå lärande nästan utan att inse det och när du avancerar i uppdragen kommer din kunskap att växa.

Om du är intresserad av detta sätt att lära dig att börja med Espurino, lämnar jag dig här några resurser att lära sig JavaScript med spel:

Officiella Espurino-tallrikar

Spurinplattor

Efter den första utvecklingen av tallriken Espurinos original kom med fler projekt tillgängliga för IDE och JS. Om du vill veta mer om dem, här är en introduktion till var och en:

  • Espurino (original): det är originalplattan, den första som designades under detta projekt. Deras egenskaper är:
    • STM32F103RCT6 32-bitars 72Mhz ARM Cortex-M3 MCU
    • 256 kb flashminne, 28 kb RAM
    • microUSB-, SD-kontakt och JST PHR-2 externt batterikontakt
    • Röda, blå och gröna lysdioder
    • Kuddar som möjliggör anslutning av Bluetooth-moduler HC-05
    • 44 GPIO med 26 PWM, 16 ADC, 3 UARTS, 2 SPI, 2 I2C och 2 DAC.
    • Mått: 54x41mm
  • Spurino Peak: är ett litet kort med en mikrokontroller för att börja köra dina JavaScript-projekt och kontrollera saker på några sekunder. Den är programmerad via USB-gränssnittet för att ladda skriptet du skriver om Espurino IDE. Dessutom har det ett ekonomiskt pris och du kan hitta det med stift och utan lödade stift på huvudet. Fler detaljer:
      • 22 GPIO (9 analoga ingångar, 21 PWM, 2 seriella, 3 SPI och 3 I2C).
      • USB-A-kontakt ombord.
      • 2 lysdioder och 1 knapp på kretskortet.
      • STM32F401CDU6 32-bitars 84Mhz ARM Cortex-M4 MCU
      • Minne: 384 kb flash och 96 kb RAM
      • 33x15mm mått
  • Spurino WiFi: Det är en praktiskt taget tvillingbräda till den tidigare, bara att några förbättringar har lagts till. Till exempel är dess storlek 30x23mm och växer för att ge plats för ett ESP8266 WiFi-chip. Dessutom har USB ändrats till microUSB, antalet GPIO har minskats till 21 (8 analoga, 20 PWM, 1 seriell, 3 SPI och 3 I2C). Å andra sidan har mikrokontrollern också förbättrats, nu är det en STM32F411CEU6 32-bitars 100 MHz ARM Cortex-M4 med 512 kb flashminne och 128 kb RAM.
  • Spurino Puck.js: Det är i grunden en Bluetooth-smartknapp som du kan programmera tack vare dess interna mikrokontroller och tolk (förinstallerad) med JS. Dessutom har den en 52832Mhz ARM Cortex-M4 nRF64 SoC med 64 kB RAM och 512 kB blixt, GPIO, NFC-tagg, MAG3110 magnetometer, IR-sändare, inbyggd termometer samt sensorer för ljus och batterinivå.
  • Spurino Pixl.js: Det är en enhet som liknar den tidigare, men istället för en knapp är det en programmerbar Bluetooth LE smart skärm. Skärmen har mått på 128 × 64 svartvitt, medan resten av egenskaperna liknar Puck.js.
  • MDBT42Q: det är samma modul som Pixl.js och Puck.js, men med en keramisk antenn. Resten av de tekniska egenskaperna sammanfaller med de två föregående, men utan skärm eller knapp i det här fallet ...
  • bangle.js: det är den nyaste produkten. Det är en bärbar, en smart klocka eller smart klocka. Du kommer att kunna installera appar och utveckla nya funktioner med JavaScript eller ett grafiskt programmeringsspråk (Blockly). Du behöver bara en webbläsare för att kunna skriva dina koder och ladda upp dem till klockan ... Dessutom är den vattentät, har Bluetooth, GPS, accelerometer, magnetometer (för att kvantifiera styrkan och riktningen för magnetiska signaler) etc.

Om du behöver det köp några av dessa Espurino-tallrikar hittar du dem i officiella webbplatsbutik Från detta projekt. Du kan också hitta den genom en serie av handlare tjänstemän som tilldelats projektet, till exempel några berömda livsmedel som Adafruit, etc.


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.