Spurino: JavaScript para sa mga microcontroller

Atmel microcontroller, Espurino

Marahil ay narinig mo na Spurine, dahil ang proyektong ito ay nabinyagan na may pangalan ng isang politiko at militar na tao ng Roman Republic. O baka napunta ka sa artikulong ito na naghahanap ng karagdagang impormasyon dahil alam mo na ito at nais mong simulang gamitin ito.

Maging ganoon, susubukan kong ibigay sa iyo ang mga susi tungkol sa kung ano ang Espurino at kung ano ang magagawa nito para sa iyo para sa iyong mga hinaharap na proyekto, pati na rin ang ilang mga rekomendasyon upang malaman kung paano i-program ito sa isang simpleng pamamaraan.

Kanina pa sinabi namin sa iyo tungkol sa Anaconda, isa pang kagiliw-giliw na proyekto para sa mga mahilig sa Python na nais iskedyul mga board ng arduino sa wikang ito sa pag-program na naging tanyag. Isang bagay na katulad sa ginagawa nito micropython, ngunit sa oras na ito, kasama si Espurino, magbibigay sa iyo ng isa pang bagong pagkakataon na gumagamit ng ibang wika ...

Ano ang Espurino?

Spurine

Spurine ay isang bukas na proyekto ng mapagkukunan upang lumikha ng isang tagasalin ng wika ng programang JavaScript para sa mga microcontroller. Iyon ay, ang kumpletong IDE na ito ay dinisenyo upang ma-program ang mga aparato gamit ang isang programmable microcontroller na may maliit na memorya ng RAM, tulad ng ilan na mayroon lamang 8kB at malawak na ginagamit sa maraming mga naka-embed na aparato.

Ang proyektong Espurino ay nilikha ni Gordon Williams noong 2012, bilang isang pagtatangka upang payagan ang pagbuo ng mga microcontroller sa maraming mga platform. Sa una ay hindi ito bukas na mapagkukunan, nag-aalok lamang ito ng isang libreng pag-download ng firmware para sa STM32 MCUs.

Noong 2013 ang proyekto ay kukuha ng isang napakahalagang hakbang, na nagiging bukas na pinagmulan pagkatapos ng isang matagumpay na kampanya sa pagpopondo sa Kickstarter crowdfunding platform. Ang kampanyang ito ay lumampas sa paunang kapaligiran sa pag-unlad, na naghahanap ng mga pondo upang makagawa rin ng mga board na maaaring suportahan ang software na ito.

Ang firmware ni Espurino ay lisensyado ngayon sa ilalim ng Mozilla Public License 2.0, habang ang mga sample na code ay nasa ilalim ng MIT Lisensya, ang dokumentasyon sa ilalim ng Creative Commons Attribution-ShareAlike 3.0, at ang mga file ng disenyo ng hardware sa ilalim din ng huli.

Ganito ang Espurino opisyal na badge, na susundan ng maraming mga paglabas ng iba pang mga bersyon tulad ng nangyari sa iba pang mga katulad na proyekto tulad ng Arduino. Bilang karagdagan, ang mga board na ito ay nagtatampok din ng pagiging tugma para sa mga kalasag na katugmang Arduino, na nagbibigay sa kanila ng ilang talagang kawili-wiling mga kakayahan para sa mga gumagawa at DIYer.

Sa kasalukuyan ang proyekto ay may ilang katanyagan, na may isang mahalagang pag-unlad na pamayanan at maraming mga tutorial at tulong na maaari mong makita sa Internet. Samakatuwid, kung gusto mo ang JS at mga programa ng mga microcontroller, hindi mo ito napakadali ...

Source code ng proyekto - GitHub

Opisyal na website - Spurine

Firmware - Mag-download (para sa iba't ibang mga plato)

JavaScript? Microcontroller?

Kung nagsimula ka na sa mundong ito, maaaring nagtataka ka ano ang mga term na iyon o kung ano ang maaari nilang ibigay sa iyong mga proyekto. Kung madalas mo kaming basahin malalaman mo na kung ano ang isang microcontroller, at tiyak na alam mo rin ang JavaScript o JS.

Un microcontroller, na tinatawag ding MCU (Micro Controller Unit), ay isang programmable chip na may kakayahang magpatupad ng ilang mga order mula sa memorya. Maaari din itong tumugma sa kahulugan ng isang CPU, ngunit sa kaso ng isang MCU, kadalasan ay hindi sila gaanong advanced at malakas, na nagta-target ng ilang partikular na gawain, tulad ng mga naka-embed na aparato.

Karagdagan sa pagkakaiba mula sa isang CPU, ang microcontroller ay isang integrated circuit na may kasamang CPU mismo, bilang karagdagan sa iba pang mga functional block tulad ng memorya at ng I / O system. Ibig kong sabihin, isa lamang itong kumpletong computer sa isang solong chip ...

Samakatuwid, magkakaroon ka ng isang mura at simpleng aparato na maaari kang magprograma upang ang mga input at output ay kumilos ayon sa gusto mo at sa gayon ay makabuo ng mga pagkilos. Maaari mo itong matanggap na impormasyon mula sa mga panlabas na sensor o actuator, at batay sa pagpapadala ng ilang mga signal sa pamamagitan ng mga output nito sa iba Mga elektronikong sangkap nakakonekta

Sa mga tuntunin ng JavaScript, ito ay isang interpretadong wika. Iyon ay upang sabihin, hindi katulad ng mga naipon na pagkatapos ng pagtitipon ay bumubuo ng isang binary na maaaring maipatupad ng isang CPU, sa kaso ng mga naisalin na script, kinakailangan ng isang tagapamagitan na software na tinatawag na isang interpreter na magbibigay kahulugan sa mga utos ng code upang "sabihin" kung ano ang CPU. ano ang dapat gawin.

JS Naging napakahalaga ngayon dahil sa maraming mga application na mayroon ito, lalo na sa mga web app. Sa katunayan, una itong binuo ni Netscape na Brendan Eich (pagkatapos ay ang Mocha, pagkatapos ay pinalitan ang pangalan ng LiveScript, at sa wakas ay ang JavaScript).

Ang katanyagan na iyon ay humantong sa isang malaking bilang ng mga interesadong programmer at gumagamit sa JavaScript, at ang mga proyekto tulad ng Espurino ay maaaring maglapit sa kanilang lahat sa mga microcontroller ng programa kasama nito.

Siya nga pala, para sa magsimula sa Espurino IDE, hindi mo na kailangang i-install ang anumang bagay sa iyong operating system, ito ay isang web-based na kapaligiran na maaari mong gamitin mula dito mismo sa iyong paboritong web browser.

Bagaman maaaring magamit ang iba't ibang mga web browser, upang mai-flash ang firmware ng mga board na ito inirerekumenda na gamitin ang Chrome at isang plugin na tinatawag na Espurino Web IDE na inirerekomenda mula sa opisyal na website at maaari kang makakuha para sa iyong Chrome sa ang link na ito.

Paano matutunan ang JavaScript?

Kung hindi mo pa rin alam kung paano magprogram sa JavaScript, dapat mong malaman na, tulad ng sa anumang ibang wika, may mga libro para sa pag-aaral, mga kurso, video tutorial, at maraming mapagkukunan upang malaman nang libre. Ngunit may isa pang mapagkukunan na marahil ay hindi gaanong pinag-uusapan at lalo na itong kawili-wili para sa paggawa ng gamification bilang pamamaraan ng pag-aaral ng JS.

Tinutukoy ko ang mga videogame na makakatulong sa iyo na malaman na programa sa ilang mga wika sa pagprograma, kasama ang JS. Sa mga larong ito, sa halip na gamitin ang keyboard o mouse upang idirekta ang character o makipag-ugnay sa virtual na kapaligiran, ang magkakaroon ka ay isang interpreter ng wikang ito sa isang gilid ng screen at kung saan ka magsisimulang maglagay ng code (simula sa pinakasimpleng kahit na ang pinaka-advanced).

Sa ganitong paraan, makokontrol mo ang laro gamit ang wika ng programa, kaya't sa panahon ng iyong mga laro ay pupunta ka natututo ng halos hindi namamalayan at sa pagsulong mo sa mga misyon ang iyong kaalaman ay lalago.

Kung interesado ka sa ganitong paraan ng pag-aaral upang magsimula kay Espurino, narito iniiwan kita ilang mapagkukunan upang malaman Ang JavaScript ay gumagamit ng mga laro:

Opisyal na mga plato ng Espurino

Mga plato ng spurine

Matapos ang unang pag-unlad ng ang plato Ang orihinal ni Espurino ay nagmula sa maraming mga proyekto na magagamit upang magamit sa IDE at JS. Kung nais mong malaman ang tungkol sa kanila, narito ang isang pagpapakilala sa bawat isa:

  • Espurino (orihinal): ito ang orihinal na plato, ang unang idinisenyo sa ilalim ng proyektong ito. Ang kanilang mga katangian ay:
    • STM32F103RCT6 32-bit 72Mhz ARM Cortex-M3 MCU
    • 256Kb ng flash memory, 28Kb ng RAM
    • microUSB, SD konektor, at JST PHR-2 panlabas na konektor ng baterya
    • Pula, asul at berde na mga LED
    • Pinapayagan ang mga pad na koneksyon ng mga Bluetooth module na HC-05
    • 44 GPIO na may 26 PWM, 16 ADC, 3 UARTS, 2 SPI, 2 I2C at 2 DACs.
    • Mga Dimensyon: 54x41mm
  • Spurino Peak: ay isang maliit na board na may isang microcontroller upang simulang patakbuhin ang iyong mga proyekto sa JavaScript at kontrolin ang mga bagay sa loob ng ilang segundo. Naka-program ito sa pamamagitan ng interface ng USB nito upang mai-load ang script na iyong sinusulat tungkol sa Espurino IDE. Bilang karagdagan, mayroon itong isang matipid na presyo at mahahanap mo ito sa mga pin at walang solder na mga pin sa mga ulo nito. Higit pang mga detalye:
      • 22 GPIO (9 analog input, 21 PWM, 2 serial, 3 SPI at 3 I2C).
      • Nakakonekta ang USB-A.
      • 2 LEDs at 1 button sa PCB.
      • STM32F401CDU6 32-bit 84Mhz ARM Cortex-M4 MCU
      • Memorya: 384 Kb ng flash at 96Kb ng RAM
      • 33x15mm na sukat
  • Spurino WiFi: Ito ay isang praktikal na kambal na board sa nakaraang isa, tanging ang ilang mga pagpapabuti ay naidagdag. Halimbawa, ang laki nito ay 30x23mm, lumalaki upang magbigay ng puwang para sa isang chipsong WiFi na8266. Bilang karagdagan, ang USB ay binago sa microUSB, ang bilang ng mga GPIO ay nabawasan sa 21 (8 analog, 20 PWM, 1 serial, 3 SPI at 3 I2C). Sa kabilang banda, ang microcontroller ay napalakas din, ngayon ay isang STM32F411CEU6 32-bit 100Mhz ARM Cortex-M4 na may 512kb ng flash memory at 128 kb ng RAM.
  • Spurino Puck.js: Karaniwan ito ay isang pindutan ng matalinong Bluetooth na maaari mong mai-program salamat sa panloob na microcontroller at ang interpreter (paunang naka-install) na may JS. Bilang karagdagan, mayroon itong 52832Mhz ARM Cortex-M4 nRF64 SoC na may 64kB ng RAM at 512Kb ng flash, GPIO, tag ng NFC, MAG3110 magnetometer, IR transmitter, built-in thermometer, pati na rin ang mga ilaw at antas ng baterya na sensor.
  • Spurino Pixl.js: Ito ay isang aparato na katulad ng nakaraang isa, ngunit sa halip na isang pindutan ito ay isang nai-program na Bluetooth LE na smart screen. Ang screen nito ay may sukat na 128 × 64 monochrome, habang ang natitirang mga katangian ay katulad ng Puck.js.
  • MDBT42Q: ito ay ang parehong module tulad ng Pixl.js at Puck.js, ngunit may isang ceramic antena. Ang natitirang mga teknikal na katangian ay tumutugma sa nakaraang dalawa, ngunit walang screen o pindutan sa kasong ito ...
  • bangle.js: ito ang pinakabagong produkto. Ito ay isang naisusuot, isang matalinong relo o matalinong relo. Magagawa mong i-install ang mga app at bumuo ng mga bagong pag-andar gamit ang JavaScript o isang graphic na wika ng programa (Blockly). Kakailanganin mo lamang ang isang web browser upang maisulat ang iyong mga code at mai-upload ang mga ito sa relo ... Bilang karagdagan, ito ay hindi tinatagusan ng tubig, mayroong Bluetooth, GPS, accelerometer, magnetometer (upang mabilang ang lakas at direksyon ng mga magnetic signal), atbp.

Kung kailangan mo bumili ka na ng mga Espurino plate na ito maaari mong makita ang mga ito sa opisyal na tindahan ng website Mula sa proyektong ito. Mahahanap mo rin ito sa pamamagitan ng isang serye ng mga namamahagi mga opisyal na nakatalaga sa proyekto, tulad ng ilang bantog na groseri tulad ng Adafruit, atbp.


Maging una sa komento

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.