Spurino: JavaScript til mikrokontrollere

Atmel mikrokontroller, Espurino

Du har sandsynligvis nogensinde hørt Spurine, da dette projekt er blevet døbt med navnet på en politiker og militærmand fra den romerske republik. Eller måske er du kommet til denne artikel på udkig efter mere information, fordi du allerede kender den og vil begynde at bruge den.

Uanset hvad, vil jeg prøve at give dig nøglerne om hvad Espurino er, og hvad det kan gøre for dig til dine fremtidige projekter, samt nogle anbefalinger til at lære at programmere det på en enkel måde.

For et stykke tid siden fortalte vi dig det om Anaconda, et andet interessant projekt for Python-elskere, der ønskede program arduino brædder med dette programmeringssprog, der er blevet så populært. Noget svarende til hvad det gør mikropython, men denne gang med Espurino giver det dig endnu en ny mulighed ved hjælp af et andet sprog ...

Hvad er Espurino?

Spurine

Spurine er et open source-projekt til oprettelse af en JavaScript-programmeringssprogfortolker til mikrocontrollere. Med andre ord er denne komplette IDE designet til at være i stand til at programmere enheder med en programmerbar mikrokontroller, der har små RAM-hukommelser, såsom nogle, der kun har 8 kB og er meget udbredt i mange indlejrede enheder.

Espurino-projektet blev oprettet af Gordon Williams i 2012, som et forsøg på at tillade udvikling af mikrokontrollere på flere platforme. Oprindeligt var det ikke open source, det tilbød simpelthen en gratis firmware-download til STM32 MCU'er.

I 2013 ville projektet tage et meget vigtigt skridt og blive open source efter en meget vellykket finansieringskampagne på Kickstarter crowdfunding-platformen. Denne kampagne gik ud over det oprindelige udviklingsmiljø og søgte midler til også at fremstille brædder, der kunne understøtte denne software.

Espurinos firmware er nu licenseret under Mozilla Public License 2.0, mens prøvekoderne er under MIT-licensen, dokumentationen under Creative Commons Attribution-ShareAlike 3.0 og hardwaredesignfiler under sidstnævnte også.

Dette er, hvordan Espurino officielle badge, som ville blive efterfulgt af adskillige udgivelser af andre versioner, som der er sket med andre lignende projekter som Arduino. Derudover har disse boards også kompatibilitet med Arduino-kompatible skjolde, hvilket giver dem nogle virkelig interessante muligheder for producenter og gør-det-selv-maskiner.

I øjeblikket har projektet en vis popularitet med et vigtigt udviklingssamfund og et væld af tutorials og hjælp, som du kan finde på Internettet. Derfor, hvis du kan lide JS og programmering af mikrokontrollere, har du aldrig haft det så let ...

Projekt kildekode - GitHub

Officiel hjemmeside - Spurine

Firmware - Download (til de forskellige plader)

JavaScript? Mikrocontroller?

Hvis du er startet i denne verden, undrer du dig måske hvad er disse udtryk eller hvad de kan bidrage med til dine projekter. Hvis du læser os ofte, ved du allerede, hvad en mikrocontroller er, og du kender sikkert også JavaScript eller JS.

Un mikrokontrollerOgså kaldet MCU (Micro Controller Unit), det er en programmerbar chip, der er i stand til at udføre bestemte ordrer fra hukommelsen. Dette kan også matche definitionen af ​​en CPU, men i tilfælde af en MCU er de normalt mindre avancerede og kraftfulde og målretter mod bestemte specifikke opgaver, såsom indlejrede enheder.

I tillæg til forskel fra en CPU, er mikrocontrolleren et integreret kredsløb, der inkluderer selve CPU'en samt andre funktionelle blokke såsom hukommelse og I / O-systemet. Jeg mener, det er dybest set en komplet computer på en enkelt chip ...

Derfor vil du have en billig og enkel enhed, der du kan programmere så dets input og output fungerer som du vil og dermed genererer handlinger. Du kan få det til at modtage information fra eksterne sensorer eller aktuatorer og baseret på det sende bestemte signaler gennem dets udgange til andre Elektroniske komponenter tilsluttet.

Vedrørende JavaScript, det er et fortolket sprog. Det vil sige, i modsætning til kompilerede, der efter kompilering genererer en binær, der kan udføres af en CPU, i tilfælde af fortolkede scripts, er der brug for en mellemliggende software kaldet en tolk, der vil fortolke kommandoerne i koden for at "fortælle" CPU'en, hvad den er, hvad den skal gøre.

JS Det er blevet meget vigtigt i dag på grund af de mange applikationer, det har, især i webapps. Faktisk blev det oprindeligt udviklet af Netscapes Brendan Eich (derefter Mocha, derefter omdøbt til LiveScript og endelig JavaScript).

Denne popularitet har ført til et stort antal interesserede programmører og brugere i JavaScript, og projekter som Espurino kan bringe dem alle tættere på programmering af mikrocontrollere med det.

Af den måde, for kom i gang med Espurino IDE, skal du ikke installere noget i dit operativsystem, det er et webbaseret miljø, som du kan bruge lige herfra i din yndlingswebbrowser.

Selvom forskellige webbrowsere kan bruges, anbefales det at bruge Chrome og et plugin kaldet Espurino Web IDE, der anbefales fra det officielle websted, og som du kan få til din Chrome på Flash-firmware. dette link.

Hvordan lærer jeg JavaScript?

Hvis du stadig ikke ved, hvordan du programmerer i JavaScript, skal du vide, at der som på ethvert andet sprog findes bøger til læring, kurser, videovejledninger og en enorm mængde ressourcer at lære gratis. Men der er en anden ressource, der måske mindre tales om, og som er især interessant for at gøre gamification til læringsproceduren for JS.

Jeg henviser til videospil der hjælper dig med at lære at programmere med bestemte programmeringssprog, herunder JS. I stedet for at bruge tastaturet eller musen til at dirigere karakteren eller interagere med det virtuelle miljø med disse spil, skal du fortolke dette sprog på den ene side af skærmen, og hvor du begynder at indtaste kode (startende med enkleste selv de mest avancerede).

På denne måde vil du styre spillet ved hjælp af programmeringssprog, så under dine spil vil du gå lære næsten uden at indse det og når du går videre i missionerne, vil din viden vokse.

Hvis du er interesseret i denne måde at lære at starte med Espurino på, forlader jeg dig her nogle ressourcer at lære JavaScript ved hjælp af spil:

Officielle Espurino plader

Spurine plader

Efter den første udvikling af tallerkenen Espurinos original kom flere projekter til rådighed til brug med IDE og JS. Hvis du vil vide mere om dem, er her en introduktion til hver enkelt:

  • Spurino (original): det er den originale plade, den første der er designet under dette projekt. Deres egenskaber er:
    • STM32F103RCT6 32-bit 72 MHz ARM Cortex-M3 MCU
    • 256 KB flashhukommelse, 28 KB RAM
    • microUSB, SD-stik og JST PHR-2 eksternt batteristik
    • Røde, blå og grønne lysdioder
    • Pads, der tillader tilslutning af Bluetooth-moduler HC-05
    • 44 GPIO med 26 PWM, 16 ADC, 3 UARTS, 2 SPI, 2 I2C og 2 DAC'er.
    • Dimensioner: 54x41mm
  • Spurino Peak: er et lille kort med en mikrocontroller til at køre dine JavaScript-projekter og kontrollere tingene på få sekunder. Det er programmeret via sin USB-grænseflade til at indlæse det script, du skriver om Espurino IDE. Derudover har den en økonomisk pris, og du kan finde den med stifter og uden lodde stifter i hovedet. Flere detaljer:
      • 22 GPIO (9 analoge indgange, 21 PWM, 2 serielle, 3 SPI og 3 I2C).
      • USB-A-stik om bord.
      • 2 lysdioder og 1 knap på printkortet.
      • STM32F401CDU6 32-bit 84Mhz ARM Cortex-M4 MCU
      • Hukommelse: 384 Kb flash og 96 KB RAM
      • 33x15mm dimensioner
  • Spurino WiFi: Det er et praktisk tvillingebræt til det forrige, kun at der er tilføjet nogle forbedringer. For eksempel er dens størrelse 30x23mm og vokser til at give plads til en ESP8266 WiFi-chip. Derudover er USB blevet ændret til microUSB, antallet af GPIO'er er reduceret til 21 (8 analoge, 20 PWM, 1 seriel, 3 SPI og 3 I2C). På den anden side er mikrokontrolleren også blevet boostet, nu er det en STM32F411CEU6 32-bit 100 MHz ARM Cortex-M4 med 512 kb flashhukommelse og 128 kb RAM.
  • Spurino Puck.js: Det er grundlæggende en Bluetooth-smartknap, som du kan programmere takket være dens interne mikrocontroller og tolk (forudinstalleret) med JS. Derudover har den en 52832Mhz ARM Cortex-M4 nRF64 SoC med 64kB RAM og 512Kb flash, GPIO, NFC-tag, MAG3110 magnetometer, IR-sender, indbygget termometer samt sensorer til lys og batteriniveau.
  • Spurino Pixl.js: Det er en enhed, der ligner den forrige, men i stedet for en knap er det en programmerbar Bluetooth LE-smart skærm. Dens skærm har dimensioner på 128 × 64 monokrom, mens resten af ​​karakteristika ligner Puck.js.
  • MDBT42Q: det er det samme modul som Pixl.js og Puck.js, men med en keramisk antenne. Resten af ​​de tekniske egenskaber falder sammen med de to foregående, men uden skærm eller knap i dette tilfælde ...
  • bangle.js: det er det nyeste produkt. Det er et bærbart, et smart ur eller et smart ur. Du vil være i stand til at installere apps og udvikle nye funktioner ved hjælp af JavaScript eller et grafisk programmeringssprog (Blockly). Du har kun brug for en webbrowser for at kunne skrive dine koder og uploade dem til uret ... Derudover er den vandtæt, har Bluetooth, GPS, accelerometer, magnetometer (for at kvantificere styrken og retningen af ​​magnetiske signaler), etc.

Hvis du har brug for det køb noget af disse Espurino plader kan du finde dem i officiel websitet Fra dette projekt. Du kan også finde det gennem en række forhandlere embedsmænd tildelt projektet, såsom nogle berømte dagligvarer som Adafruit osv.


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.