Spurino: JavaScript voor microcontrollers

Atmel-microcontroller, Espurino

Je hebt waarschijnlijk ooit gehoord Spurine, aangezien dit project is gedoopt met de naam van een politicus en militair van de Romeinse Republiek. Of misschien ben je naar dit artikel gekomen op zoek naar meer informatie omdat je het al weet en het wilt gaan gebruiken.

Hoe het ook zij, ik zal proberen het je te geven de sleutels over wat Espurino is en wat het voor u zou kunnen doen voor uw toekomstige projecten, evenals enkele aanbevelingen om te leren hoe u het op een eenvoudige manier kunt programmeren.

Een tijdje geleden hebben we het je verteld over Anaconda, een ander interessant project voor liefhebbers van Python die wilden programma Arduino-kaarten met deze programmeertaal die zo populair is geworden. Iets vergelijkbaars met wat het doet MicroPython, maar deze keer, met Espurino, biedt het je weer een nieuwe kans in een andere taal ...

Wat is Espurino?

Spurine

Spurine is een open source-project om een ​​JavaScript-programmeertaalinterpreter voor microcontrollers te maken. Dat wil zeggen, deze complete IDE is ontworpen om apparaten te kunnen programmeren met een programmeerbare microcontroller die kleine RAM-geheugens hebben, zoals sommige die slechts 8 kB hebben en op grote schaal worden gebruikt in veel ingebouwde apparaten.

Het Espurino-project is gemaakt door Gordon Williams in 2012, als een poging om de ontwikkeling van microcontrollers op meerdere platforms mogelijk te maken. Aanvankelijk was het geen open source, het bood gewoon een gratis firmware-download aan voor STM32 MCU's.

In 2013 zou het project een zeer belangrijke stap zetten, namelijk open source na een zeer succesvolle financieringscampagne op het Kickstarter crowdfundingplatform. Deze campagne ging verder dan de oorspronkelijke ontwikkelomgeving en zocht fondsen om ook borden te vervaardigen die deze software zouden kunnen ondersteunen.

De firmware van Espurino is nu gelicentieerd onder de Mozilla Public License 2.0, terwijl de voorbeeldcodes onder de MIT-licentie vallen, de documentatie onder Creative Commons Attribution-ShareAlike 3.0 en ook de hardware-ontwerpbestanden onder de laatste.

Dit is hoe de Officiële badge van Espurino, die zouden worden gevolgd door talloze releases van andere versies, zoals is gebeurd met andere soortgelijke projecten zoals Arduino. Bovendien waren deze boards ook compatibel met Arduino-compatibele schilden, wat ze een aantal echt interessante mogelijkheden geeft voor makers en doe-het-zelvers.

Momenteel heeft het project enige populariteit, met een belangrijk ontwikkelingsgemeenschap en een groot aantal tutorials en hulp die u op internet kunt vinden. Daarom, als je van JS en programmeermicrocontrollers houdt, heb je het nog nooit zo gemakkelijk gehad ...

Project broncode - GitHub

Officiële website - Spurine

Firmware - Download (voor de verschillende platen)

JavaScript? Microcontroller?

Als je in deze wereld bent begonnen, vraag je je misschien af wat zijn die termen of wat ze kunnen bijdragen aan uw projecten. Als je ons regelmatig leest, weet je al wat een microcontroller is, en ken je vast ook JavaScript of JS.

Un microcontroller, ook wel MCU (Micro Controller Unit) genoemd, is een programmeerbare chip die in staat is om bepaalde opdrachten uit het geheugen uit te voeren. Dit kan ook overeenkomen met de definitie van een CPU, maar in het geval van een MCU zijn ze meestal minder geavanceerd en krachtig en richten ze zich op bepaalde specifieke taken, zoals embedded apparaten.

In aanvulling op verschil met een CPUis de microcontroller een geïntegreerd circuit dat de CPU zelf bevat, naast andere functionele blokken zoals geheugen en het I / O-systeem. Ik bedoel, het is eigenlijk een complete computer op een enkele chip ...

Daarom heb je een goedkoop en eenvoudig apparaat dat u kunt programmeren zodat de inputs en outputs werken zoals u wilt en zo acties genereren. U kunt het informatie laten ontvangen van externe sensoren of actuatoren, en op basis daarvan bepaalde signalen via de uitgangen naar anderen sturen Elektronische componenten verbonden.

Wat betreft de JavaScript, het is een geïnterpreteerde taal. Met andere woorden, in tegenstelling tot gecompileerde versies die na compilatie een binair bestand genereren dat kan worden uitgevoerd door een CPU, is in het geval van geïnterpreteerde scripts intermediaire software nodig, een interpreter genaamd, die de code-opdrachten zal interpreteren om de CPU te "vertellen". wat het moet doen.

JS Het is tegenwoordig erg belangrijk geworden vanwege de vele toepassingen die het heeft, vooral in web-apps. In feite werd het oorspronkelijk ontwikkeld door Netscape's Brendan Eich (toen heette het Mocha, daarna omgedoopt tot LiveScript en tenslotte JavaScript).

Die populariteit heeft geleid tot een groot aantal geïnteresseerde programmeurs en gebruikers in JavaScript, en projecten zoals Espurino kunnen ze allemaal dichter bij het programmeren van microcontrollers brengen.

Trouwens, voor ga aan de slag met Espurino IDE, u hoeft niets in uw besturingssysteem te installeren, het is een webgebaseerde omgeving die u kunt gebruiken vanaf hier in uw favoriete webbrowser.

Hoewel verschillende webbrowsers kunnen worden gebruikt, wordt het aanbevolen om Chrome en een plug-in genaamd Espurino Web IDE te gebruiken om de firmware van deze boards te flashen, die wordt aanbevolen vanaf de officiële website en die u voor uw Chrome kunt krijgen op deze link.

Hoe kan ik JavaScript leren?

Als u nog steeds niet weet hoe u in JavaScript moet programmeren, moet u weten dat er, net als in elke andere taal, boeken voor zijn leren, cursussen, videozelfstudies en een enorme hoeveelheid bronnen om gratis te leren. Maar er is nog een andere bron waarover misschien minder wordt gesproken en die vooral interessant is om van gamification de leerprocedure van JS te maken.

Ik verwijs naar de videogames die u helpen te leren programmeren met bepaalde programmeertalen, waaronder JS. Met deze spellen, in plaats van het toetsenbord of de muis te gebruiken om het personage te leiden of te communiceren met de virtuele omgeving, heb je een vertolker van deze taal aan de ene kant van het scherm en begin je code in te voeren (beginnend met de eenvoudigste zelfs de meest geavanceerde).

Op deze manier bestuur je het spel met behulp van programmeertaal, dus tijdens het spelen ga je mee leren bijna zonder het te beseffen en naarmate je vordert in de missies, zal je kennis toenemen.

Als je geïnteresseerd bent in deze manier om te leren beginnen met Espurino, laat ik je hier achter enkele bronnen om te leren JavaScript met behulp van games:

Officiële Espurino-borden

Spurine platen

Na de eerste ontwikkeling van het bord Van Espurino's origineel kwamen meer projecten beschikbaar voor gebruik met de IDE en JS. Als u er meer over wilt weten, vindt u hier een inleiding op elk ervan:

  • Espurino (origineel): het is de originele plaat, de eerste die in het kader van dit project is ontworpen. Hun kenmerken zijn:
    • STM32F103RCT6 32-bit 72 Mhz ARM Cortex-M3 MCU
    • 256 KB flash-geheugen, 28 KB RAM
    • microUSB, SD-connector en JST PHR-2 externe batterijconnector
    • Rode, blauwe en groene leds
    • Pads waarmee de Bluetooth-modules HC-05 kunnen worden aangesloten
    • 44 GPIO met 26 PWM, 16 ADC, 3 UARTS, 2 SPI, 2 I2C en 2 DAC's.
    • Afmetingen: 54x41mm
  • Spurino-piek: is een klein bord met een microcontroller waarmee u binnen enkele seconden uw JavaScript-projecten kunt uitvoeren en dingen kunt beheren. Het is geprogrammeerd via de USB-interface om het script te laden dat u over de Espurino IDE schrijft. Bovendien is het voordelig geprijsd en vind je het met pinnen en zonder gesoldeerde pinnen op de koppen. Meer details:
      • 22 GPIO (9 analoge ingang, 21 PWM, 2 serieel, 3 SPI en 3 I2C).
      • USB-A-connector aan boord.
      • 2 LED's en 1 knop op de print.
      • STM32F401CDU6 32-bits 84Mhz ARM Cortex-M4 MCU
      • Geheugen: 384 Kb flash en 96 KB RAM
      • 33x15mm afmetingen
  • Spurino WiFi: Het is een praktisch dubbel bord met het vorige, alleen zijn er enkele verbeteringen aangebracht. Het formaat is bijvoorbeeld 30x23 mm en groeit om plaats te maken voor een ESP8266 wifi-chip. Bovendien is USB veranderd naar microUSB, het aantal GPIO's is teruggebracht tot 21 (8 analoog, 20 PWM, 1 serieel, 3 SPI en 3 I2C). Aan de andere kant heeft de microcontroller ook een boost gekregen, nu is het een STM32F411CEU6 32-bit 100Mhz ARM Cortex-M4 met 512kb flash-geheugen en 128 kb RAM.
  • Spurino Puck.js: Het is eigenlijk een slimme Bluetooth-knop die u kunt programmeren dankzij de interne microcontroller en de tolk (vooraf geïnstalleerd) met JS. Bovendien heeft het een 52832Mhz ARM Cortex-M4 nRF64 SoC met 64 KB RAM en 512 KB flitser, GPIO, NFC-tag, MAG3110-magnetometer, IR-zender, ingebouwde thermometer, evenals licht- en batterijniveausensoren.
  • Spurino Pixl.js: Het is een apparaat dat lijkt op het vorige, maar in plaats van een knop is het een programmeerbaar Bluetooth LE smart-scherm. Het scherm heeft afmetingen van 128 x 64 zwart-wit, terwijl de rest van de kenmerken vergelijkbaar is met de Puck.js.
  • MDBT42Q: het is dezelfde module als Pixl.js en Puck.js, maar met een keramische antenne. De rest van de technische kenmerken vallen samen met de vorige twee, maar in dit geval zonder scherm of knop ...
  • bangle.js: het is het nieuwste product. Het is een wearable, een smartwatch of smartwatch. U kunt apps installeren en nieuwe functies ontwikkelen met JavaScript of een grafische programmeertaal (Blockly). Je hebt alleen een webbrowser nodig om je codes te kunnen schrijven en ze naar het horloge te uploaden ... Bovendien is het waterdicht, heeft het Bluetooth, GPS, versnellingsmeter, magnetometer (om de sterkte en richting van magnetische signalen te kwantificeren), enz.

Als je nodig hebt koop wat van deze Espurino borden vind je ze in de officiële website winkel Van dit project. Je kunt het ook vinden via een reeks distributeurs ambtenaren die aan het project zijn toegewezen, zoals enkele beroemde boodschappen zoals Adafruit, enz.


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.