Espurino: Ji bo mîkrokontroloran JavaScript

Mîkrokontrola Atmel, Espurino

We dibe ku carî bihîstiye Spûrîn, ji ber ku ev proje bi navê siyasetmedarek û zilamekî leşkerî yê Komara Romayê vaftîz bûye. An jî dibe ku hûn hatine vê gotarê li bêtir agahdariyê digerin ji ber ku hûn berê pê dizanin û dixwazin dest bi karanîna wê bikin.

An away, ez ê hewl bidim ku bidim te mifteyên der barê Espurino çi ye û ya ku ew dikare ji bo we ji bo projeyên pêşerojê çi bike, û her weha hin pêşniyaran da ku fêr bibin ka ew bi rengek hêsan ew bername dike.

Çendek berê me ji we re got li ser Anaconda, Ji bo hezkiriyên Python ên ku dixwestin projeyeke din a balkêş demjimêra lijneyên arduîno bi vê zimanê bernameyê ku ew qas populer bûye. Tiştek dişibe ya ku dike micropython, lê vê carê, bi Espurino re, ew bi we re zimanek cûda bikar tîne fersendek din a nû ...

Espurino çi ye?

Spûrîn

Spûrîn projeyek çavkaniya vekirî ye ku ji bo microcontrollers wergêrê zimanê bernameyê JavaScript-ê diafirîne. Ango, ev IDE ya tevde hatiye sêwirandin da ku karibe amûrên bi mîkrokontrollorê bernamebar ên ku bîranînên RAM-ên piçûk hene, bername bike, mînakî yên ku tenê 8kB hene û di gelek alavên bicîhkirî de pir têne bikar anîn.

Projeya Espurino ji hêla hate afirandin Gordon Williams di 2012 de, wekî hewlek ku destûrê bide pêşveçûna mîkrokontrolêran li ser pir platforman. Di destpêkê de ew ne çavkaniya vekirî bû, ew bi tenê dakêşana firmware-ya belaş ji bo STM32 MCU pêşkêş dike.

Di 2013 de dê proje gavek pir girîng bavêje, bibe çavkaniya vekirî piştî kampanyayek fînansekirinê pir serfiraz li ser platforma girseyî-fînansekirina Kickstarter. Vê kampanyayê ji derûdora pêşkeftina destpêkê wêdetir, li fonan geriya ku di heman demê de panelên ku dikarin vê nermalavê piştgirî bikin jî çêdikin.

Firmware-a Espurino-yê nuha di bin lîsansa Mozilla Public License 2.0 de hatî lîsans kirin, dema ku kodên nimûneyê di bin lîsansa MIT-ê de, belgeyên di binê Creative Commons Attribution-ShareAlike 3.0-an de, û pelên sêwirana alavê jî di binê paşîn de.

Ev çawa ye Nîşana fermî ya Espurino, ku dê ji hêla gelek weşanên guhertoyên din ve were şopandin çawa ku bi projeyên din ên wekhev re mîna Arduino qewimiye. Wekî din, di van tabloyan de lihevhatina ji bo mertalên lihevhatî Arduino jî hene, ji bo çêker û DIY hin kapasîteyên bi rastî jî balkêş dide wan.

Vêga projeya hin populerîte, xwedî girîngiyek heye civaka geşedanê û gelek tutorials û alîkariya ku hûn dikarin li ser nternetê bibînin. Ji ber vê yekê, heke hûn ji JC û mîkrokontrolgerên bernameyê hez dikin, we çu carî ew qas hêsan nedîtiye ...

Koda çavkaniya projeyê - GitHub

Malpera Fermî - Spûrîn

Firmware - Dakêşandin (ji bo lewheyên cûda)

JavaScript? Mîkrokontroller?

Ger we li vê cîhanê dest pê kiriye, dibe ku hûn difikirin ew term çi ne an çi ew dikarin beşdarî projeyên we bibin. Heke hûn me timûtim bixwînin hûn ê jixwe zanibin mîkrokontrolker çi ye, û bê guman hûn jî JavaScript an JS dizanin.

Un mîkrokontrollerMCU (Yekeya Mîkro Kontrolker) jî tê gotin, ew çîpek bernameker e ku karibe hin fermanan ji bîra xwe bîne cih. Dibe ku ev pênaseya CPU-yê jî li hev bike, lê di rewşa MCU-yê de, ew bi gelemperî kêmtir pêşkeftî û hêzdar in, hin peywirên taybetî, yên wekî cîhazên bicîhkirî, dikin hedef.

Ez başim cûdahiya ji CPU, mîkrokontrolrek dorpêçek entegre ye ku CPU bixwe tê de, û her weha blokên fonksiyonel ên din ên wekî bîranîn û pergala I / O jî heye. Ez dibêjim, ew di bingeh de li ser çîpek tenê komputerek bêkêmasî ye ...

Ji ber vê yekê, hûn ê amûrek erzan û hêsan hebe ku hûn dikarin bername bikin da ku ketin û derketinên wê wekî ku hûn dixwazin tevbigerin û bi vî rengî çalakiyan çêbikin. Hûn dikarin bikin ku ew ji sensors an çalakkerên derveyî agahdariyê werbigire, û li ser bingeha wê hin îşaretan bi derketinên xwe ji yên din re bişîne Pêkhateyên elektronîkî ve girêdayî ye.

Ji bo JavaScript, ew zimanek şirovekirî ye. Ango, berevajî yên hatine berhev kirin ku piştî berhevkirinê binaryek çêdibe ku dikare ji hêla CPU ve were meşandin, di mijara nivîsarên şirovekirî de, dê nermalavek navbeynkar a bi navê wergêr hewce be, ku dê fermanên koda şirove bike ku "vebêje "CPU çi ye. çi divê bike.

JS Ew îro ji ber gelek sepanên ku hene, nemaze di sepanên tevnê de, pir girîng bûye. Bi rastî, ew di destpêkê de ji hêla Netscape's Brendan Eich ve hate pêşve xistin (dûv re jê re digotin Mocha, paşê navê LiveScript lê hate kirin, û di dawiyê de JavaScript).

Ew populerîte bûye sedema hejmarek mezin ji bernamenûs û bikarhênerên balkêş di JavaScript de, û projeyên mîna Espurino dikarin wan hemîyan nêzîkê bernameyên mîkrokontrollerên bi wê re bike.

Bi awayê, ji bo bi Espurino IDE dest pê bikin, hûn ê ne hewce ne ku tiştek di pergala xebitandina xwe de saz bikin, ew jîngehek tevn-bingeh e ku hûn dikarin bikar bînin ji rastê vir ve di geroka weya bijare de.

Tevî ku gerokên tevnî yên cihêreng têne bikar anîn, ji bo biriqandina firmwareya van panelan tê pêşniyar kirin ku Chrome û pêvekek bi navê Espurino Web IDE ya ku ji malpera fermî tê pêşniyar kirin bikar bînin û hûn dikarin ji bo Chrome-ya xwe li Ev link.

Meriv çawa fêrî JavaScriptê dibe?

Heke hûn hîn jî nizanin di JavaScript-ê de bername çawa bikin, divê hûn zanibin ku, wekî bi zimanek din, pirtûkên ji bo fêrbûnê, qurs, hînkarên vîdyoyê, û hejmarek pir çavkaniyên ku ji bo belaş fêr bibin. Lê çavkaniyek din jî heye ku dibe ku kêm zêde li ser tê axaftin û ku ew bi taybetî ji bo çêkirina gamification prosedura fêrbûna JS balkêş e.

Ez behs dikim lîstikên vîdyoyê ku ji we re dibe alîkar ku hûn fêr bibin ku bi hin zimanên bernamekirinê, JS jî di nav de, bernameyan bikin. Bi van lîstikan, li şûna karanîna klavye an mişk ji bo rasterastkirina karakter an têkiliya bi jîngeha virtual re, tiştê ku we dê hebe, wergêrekî vî zimanî ye li rexek dîmenderê û li ku hûn ê dest bi têketina kodê bikin (dest bi hêsantirîn jî pêşkeftîtirîn).

Bi vî rengî, hûn ê lîstikê bi karanîna zimanê bernameyê kontrol bikin, ji ber vê yekê di dema lîstikên xwe de hûn ê biçin hema bêyî ku hay jê hebe fêr dibe û her ku hûn di mîsyonan de pêşve diçin dê zanîna we mezin bibe.

Heke hûn bi vê awayê fêrbûnê re eleqedar in ku hûn bi Espurino dest pê bikin, li vir ez we dihêlim hin çavkaniyên ku fêr bibin JavaScript bi karanîna lîstikan:

Pelên fermî yên Espurino

Pelên spurîn

Piştî pêşkeftina yekem a plakaya Eslî Espurino bêtir projeyên ku bi IDE û JS re bikar bînin hene. Heke hûn dixwazin li ser wan bêtir fêr bibin, li vir pêşgotinek ji bo her yekê heye:

  • Espurino (orjînal): ew plaka orîjînal e, ya yekem ku di binê vê projeyê de tê sêwirandin. Taybetmendiyên wan ev in:
    • STM32F103RCT6 32-bit 72Mhz ARM Cortex-M3 MCU
    • 256Kb bîra bîranînê, 28Kb RAM
    • microUSB, connector SD, û JST PHR-2 connector battêrî ya derveyî
    • LED-yên sor, şîn û kesk
    • Pelên ku destûrê dide girêdana modulên Bluetooth HC-05
    • 44 GPIO bi 26 PWM, 16 ADC, 3 UARTS, 2 SPI, 2 I2C û 2 DAC.
    • Pîvan: 54x41mm
  • Spurino Peak: desteyek piçûk e ku bi mîkrokontrolker heye ku dest bi xebitandina projeyên xwe yên JavaScript dike û di nav çend saniyan de tiştan kontrol dike. Ew bi navgîniya xweya USB ve tête bernamekirin ku nivîsara ku hûn li ser Espurino IDE dinivîsin barkirin. Wekî din, bihayek wê ya aboriyê heye û hûn dikarin wê bi pîneyan û bêyî pincarên solder ên li serê wê bibînin. Agahdariyên bêtir:
      • 22 GPIO (9 input analog, 21 PWM, 2 serial, 3 SPI û 3 I2C).
      • Têkiliya USB-A li ser rê.
      • 2 LED û 1 bişkojk li ser PCB.
      • STM32F401CDU6 32-bit 84Mhz ARM Cortex-M4 MCU
      • Bîra: 384 Kb birûskê û 96Kb RAM
      • 33x15mm pîvan
  • Spurino WiFi: Ew bi pratîkî duşteyek ji ya berê re ye, tenê ku hin başbûn zêde bûne. Mînakî, mezinahiya wê 30x23mm e, mezin dibe da ku cîhek ji çîpa ESP8266 WiFi re çêbike. Wekî din, USB bi microUSB ve hatî guhertin, hejmara GPIOyan daket 21 (8 analog, 20 PWM, 1 serial, 3 SPI û 3 I2C). Ji aliyek din ve, mîkrokontroller jî hate zêdekirin, naha ew STM32F411CEU6 32-bit 100Mhz ARM Cortex-M4 bi 512kb bîra flash û 128 kb RAM e.
  • Spurino Puck.js: Ew di bingeh de bişkojek hişmend a Bluetooth-ê ye ku hûn dikarin bi saya mîkrokontrolêra wê ya navxweyî û wergêr (pêş-sazkirî) bi JS re bername bikin. Wekî din, wê xwedî 52832Mhz ARM Cortex-M4 nRF64 SoC bi 64kB RAM û 512Kb flash, GPIO, nîşana NFC, magnetometer MAG3110, veguhastina IR, termometra hundurîn, û her weha hestiyarên asta ronahî û pîlê heye.
  • Spurino Pixl.js: Ew amûrek dişibihe ya berê, lê li şûna bişkokê ew ekrana biaqil a Bluetooth LE ya bernamebar e. Dîmendera wê xwedan dîmenên 128 × 64 monokrom e, lê taybetmendiyên mayî dişibin Puck.js.
  • MDBT42Q: ew module wek Pixl.js û Puck.js e, lê digel antenna seramîkî. Taybetmendiyên teknîkî yên mayî bi her du berê re li hev dikin, lê di vê rewşê de bêyî ekran an bişkok ...
  • bangle.js: ew hilbera herî nû ye. Ew kirasek, seetek zîrek an seetek zîrek e. Hûn ê bikaribin sepanan saz bikin û fonksiyonên nû bi karanîna JavaScript an zimanê bernameyek grafîkî (Blockly) pêşve bibin. Ji bo ku hûn bikaribin kodên xwe binivîsin û li ser saetê bar bikin hûn ê tenê hewceyê rûgerek tevnê bin ... Ji bilî vê, ew avnegir e, Bluetooth, GPS, akselerometer, magnetometer heye (da ku hêz û rêça îşaretên magnetîkî bête hejmartin), hwd.

Ger hewce be hinek bikirin ji van lewheyên Espurino hûn dikarin wan di nav de bibînin dikana malpera fermî Ji vê projeyê. Her weha hûn dikarin wê bi riya rêzek ji belavker karbidestên ku ji projeyê re hatine wezîfedarkirin, wekî hin firoşgehên navdar ên wekî Adafruit, û hwd.


Naveroka gotarê bi prensîbên me ve girêdayî ye etîka edîtoriyê. Ji bo raporkirina çewtiyek bitikîne vir.

Beşa yekem be ku şîrove bike

Commentîroveya xwe bihêlin

Navnîşana e-peyamê ne, dê bê weşandin. qadên pêwist in bi nîşankirin *

*

*

  1. Berpirsê daneyê: Miguel Ángel Gatón
  2. Armanca daneyê: SPAM-ê kontrol bikin, rêveberiya şîroveyê.
  3. Qanûnîbûn: Destûra we
  4. Ragihandina daneyê: Daneyî dê ji aliyên sêyemîn re neyê ragihandin ji bilî peywira qanûnî.
  5. Tomarkirina daneyê: Databaza ku ji hêla Occentus Networks (EU) ve hatî mazûvan kirin
  6. Maf: Di her demê de hûn dikarin agahdariya xwe bi sînor bikin, vegerînin û jê bibin.