MakerBot + RaspberryPi + „Google Chrome“ = „HappyMaker“! - 💡 Fix My Ideas

MakerBot + RaspberryPi + „Google Chrome“ = „HappyMaker“!

MakerBot + RaspberryPi + „Google Chrome“ = „HappyMaker“!


Autorius: Ethan Holmes, 2019

Neseniai įsigijome „MakerBot“ replikatorių 2 „Truth Labs“. Jis yra meiliai žinomas kaip Arnoldas iš Villanova II (trumpas Arnoldas). Sukūrėme savo chromo plėtinį, kad praneštume, ką Arnoldas turi. Mes naudojome kai kuriuos gerus tech-s3g protokolus, Raspberry Pi, Node.js ir, žinoma, „Google Chrome“ plėtinius. Štai kaip mes tai padarėme.

The Problem: Vieta Location Location

Arnoldas nėra centralizuotai įsikūręs, todėl mums reikia nuvažiuoti, kad patikrintume spausdinimo darbų būklę, ir daug kartų, mūsų neramumams, randame Arnoldo klaidą savo gijų. Spausdinimo užduotys trunka nuo 30 minučių iki paprastų modelių iki kelių valandų sudėtingiems modeliams, todėl pėsčiomis į Arnoldą ir iš jo per visą dienos trukmę būna varginantis.

Sprendimas: „Self-Aware MakerBots“

Na, tiksliai nežino „MakerBots“, bet tai yra pradžia. Tradicinis MakerBot Replicator 2 neturi galimybės prisijungti prie interneto, bet su maža Raspberry Pi pagalba, viskas įmanoma. Išskyrus puslapį „Iš daiktų interneto“, norėjau prisijungti prie „Arnold“ prie interneto ir paleisti paprastą pranešimų sistemą. Galimi pora vienetų, paaiškinsiu, kaip jie susilieja žemiau. Taip pat galite išsiregistruoti „makerbot“ būsenos repo, pvz., Kodą, kad galėtumėte pradėti. Repo parodo, kaip naudoti s3g protokolą, jei norite užklausos informacijos iš „MakerBot“, prijungto per USB.

Dėlionės gabalai

„MakerBot Replicator 2“ - veikianti programinė įranga, galinti palaikyti nuoseklų ryšį per USB jungtį.

Raspberry Pi - paleisti paprastą „Node.js“ programą, atsakingą už ryšį su „MakerBot“ per s3g protokolą.

Pidora 18 (Raspberry Pi Fedora Remix) - „Linux Distro“, prieinamas „Pi“. Jis grindžiamas „Fedora“, mano pasirinktu pasirinkimu.

„Node.js“ (parengta iš šaltinio) - „Node.js“ kompiliavimas iš šaltinio, siekiant užtikrinti, kad „node-gyp“ tinkamai veiktų „Raspberry Pi“, ir grojo gražiai su mazgų-serijinių kortelių paketu.

„Windows Azure“ - sukurtas „Arnold“ debesies pagrindu sukurtas taškas siųsti informaciją. „Azure“ svetainėje taip pat yra „bayeux“ serveris, kuris gali valdyti visus klientus, kurie klausosi naujos informacijos.

„Google Chrome“ (plėtiniai) - „Chrome“, naudodama plėtinius, lengvai sujungia į darbalaukio pranešimus.

Svarbiausi dalykai

Šis ypatingas technologijų derinys pasiūlė keletą unikalių iššūkių. Čia pateikiami svarbiausi dalykai:

„Node.js“ kūrimas iš šaltinio „Raspberry Pi“

Atsižvelgiant į mazgų ir mažo lygio ryšių per serijinius tvarkykles būtinybę, turėjau statyti mazgų iš šaltinio Raspberry Pi. Tai paprastas procesas, kol jūsų aplinka yra teisingai nustatyta. Pirmiausia turėsite įdiegti „Linux“ distro, galite juos rasti „Raspberry Pi“ svetainėje. Taip pat atkreipkite dėmesį, kad toliau pateiktos instrukcijos buvo baigtos naudojant „Pidora“. Pora gali skirtis.

Sukurti aplinkos sąranką

Yra keletas dalykų, kuriuos turite padaryti prieš kurdami „Node.js“ iš šaltinio. Taip pat atkreipkite dėmesį, kad kai kurioms komandoms reikalingos padidintos privilegijos, ir, priklausomai nuo jūsų distro, jums gali tekti naudoti su arba sudo komandas.

Pirmas dalykas, kurį darysime, yra nustatyti sistemos laikrodį. Kai sistemos laikrodis neteisingas, atsiranda tam tikrų keistų kūrimo klaidų.

$ date --set = "18 NOV 2013 18:00:00"

Kai data ir laikas yra teisingi, turėsite atnaujinti paketų tvarkyklę ir visus įdiegtus paketus, „Yum Package Manager“ yra paketų tvarkyklė, įdiegta „Pidora“. Visą sistemos atnaujinimą galima atlikti atlikdami šiuos veiksmus:

$ yum atnaujinimas

Kai jūsų sistema bus atnaujinta, turime įsitikinti, kad įdiegta Python (2.6 arba 2.7), GCC 4.2 ar naujesnė versija ir GNU Make 3.81 arba naujesnė. „Python“ jau turėtų būti įdiegta, kad įdiegtumėte „gcc“ ir atliktumėte toliau nurodytas komandas:

$ yum įdiegti gcc-c ++. armv6hl $ yum įdiegti make.armv6hl

Atsisiųskite ir sukurkite „Node.js“

Dabar, kai mes turime savo kūrimo aplinką, kurią turime pasiruošti eiti, turime atsisiųsti, kurti ir įdiegti „Node.js. Atlikite šiuos veiksmus:

  1. Atsisiųsti node-v0.10.18.tar.gz šaltinio failus arba lygiaverčius
  2. Ištraukite failus į katalogą, tada pakeiskite katalogą į išgautą katalogą

    $ tar xvfz node-v0.10.18.tar.gz $ cd node-v0.10.18

  3. Vykdyti ./konfigūruoti scenarijų

    $ ./configure

  4. Vykdyti komandą (tai užtruks šiek tiek laiko)

    $ make

  5. Vykdykite komandą „make install“ (tai taip pat užtruks)

    $ įdiegti

  6. Baigta - jei viskas vyks gerai, turėtumėte atlikti šią komandą:

    $ node --version

Kalbant su „Arnold“ per s3g protokolą, naudokite „Node.js“

S3g protokolas yra serijinis protokolas, kurį naudoja MakerWare ir panaši programinė įranga, skirta bendrauti su „MakerBots“. „MakerBot Industries“ čia pateikia „Python“ protokolo įgyvendinimą. Naudojant „Python“ protokolą kaip nuorodą, aš įdiegiau nedidelį protokolo pogrupį „Node.js“, galite rasti šaltinį „github“.

s3g protokolo užklausos naudojant „ArrayBuffer“ ir „Buffer“ objektus, įdiegiau paprastą užklausų kūrėją, kuris sukuria gerai suformuotus s3g paketus, kurie siunčiami „MakerBot“ per nuoseklųjį prievadą. Šiuo metu sąsaja palaiko tris s3g užklausas:

  • Gaukite vardo pavadinimą
  • Gaukite statybų statistiką
  • Gaukite įrankių galvutės temp

Serijinis ryšys per mazgų serijinį prievadą „Node-serialport“ paketas suteikia paprastą nuoseklią sąsają, skirtą bendrauti su „MakerBot“. Aš parašiau apvalkalą aplink serijinę sąsają, kad būtų palaikomas komandų / atsakymų analizavimas.

Transliavimo būsena Azure

„Raspberry Pi“ mazgo taikymas užklausa „MakerBot“ kas 20 sekundžių. Kai būsenos pakeitimas nustatomas, atliekamas „Windows Azure Node.js“ paslaugos POST. „Windows Azure“ naudojama norint išvengti „Raspberry Pi“ išorinio prieigos IP adreso ir pašalinti klientų aptarnavimo atsakomybę.

„Chrome“ plėtiniai ir pranešimai

„Chrome“ palaiko W3C žiniatinklio pranešimų standarto projekto dalis. Iš pradžių žiūriu į pranešimų naudojimą naudojant standartą, tačiau manau, kad vis dar yra trūkumų. Konkrečiai vartotojas turi duoti leidimą pranešimams, ir jūs turėtumėte naršyti į svetainę, kad gautumėte pranešimus. Jei norite apeiti šiuos apribojimus, nusprendžiau įdiegti „Chrome“ plėtinį. Aš sukūriau paprastą iššokantį langą, rodantį dabartinę „MakerBot“ būseną. Jei norite leisti pranešimus, kai iššokantis langas buvo neaktyvus, naudoju fono puslapį, kuris bus paaiškintas žemiau.

„Background Pages“ (fono puslapiai) „Background“ (fonas) yra skriptų rinkinys, kurio gyvavimo ciklas yra ilgesnis už iššokantį langą, rodomą spustelėjus plėtinio piktogramą. Tai leidžia gauti atnaujinimus ir pranešimus, kurie bus rodomi pradėjus naudoti chromą. Jei norite nustatyti fono puslapį, turite pridėti įrašą į plėtinio manifesto failą. Ji taip pat turėtų apimti visas priklausomybes, kurias naudos jūsų fono puslapis.

"fonas": {"scenarijai": ["jquery.min.1.10.2.js", "faye-browser-min.js", "background.js"]}, "content_security_policy": "script-src" „https://makerstatus.azurewebsites.net; objektas-src„ savęs “

„Faye Publish-Subscribe Messaging System“ Pastebėsite, kad fono puslapio įraše manifeste yra faye-browser-min.js. Naudojame „Faye“, kad užmegztume ryšį su „Windows Azure Node.js“ paslauga. „Faye“ naudojama naujinti iš „Arnold“. Jei norite, kad „Faye“ veiktų plėtinio „smėlio dėžėje“, turime pridėti įrašą, kad atlaisvintumėte plėtinio turinio saugumo politiką. Tai leidžia „JSON-P“ grįžtamąjį ryšį, kuris yra „Faye“ naudojamas transporto mechanizmas. Čia būtina, nes plėtinys ir „Azure“ paslauga nėra toje pačioje srityje.

Pranešimai Norint įgalinti pranešimus, būtina įtraukti eilutę į manifesto failo leidimų skyrių. Kadangi naudojame piktogramą su mūsų pranešimu, mes taip pat turime ją pridėti kaip žiniatinklio prieinamą šaltinį.

„leidimai“: [„pranešimai“], „web_accessible_resources“: ["makerbot.logo.notify.png"]

Kai visi scenarijai bus įdiegti, o likęs manifesto failas atsiranda, kai gauname atnaujinimą, mes sukuriame paprastą pranešimą, kaip ir toliau.

Viskas supakuota

Šiame pranešime mes atlikome keletą žingsnių, kaip prijungti „MakerBot“ prie interwebs. Dabar, kai mes turime bazę, kai kurie įdomūs papildymai gali apimti pridėtinės vertės pridėjimą arba net gyvo srauto srauto srautą per „WebRTC“.

Laimingas kūrimas!

@aowola



Jums Gali Būti Įdomu

Pasirinkite savo picą: 6 lauko krosnys, kurias galite statyti

Pasirinkite savo picą: 6 lauko krosnys, kurias galite statyti


Susipažinkite su savo skaitmeninio saugojimo osciloskopais

Susipažinkite su savo skaitmeninio saugojimo osciloskopais


Baltųjų namų statybos vidurinės mokyklos kūrėjai

Baltųjų namų statybos vidurinės mokyklos kūrėjai


Nuotolinio gydymo dozatorius siunčia jums žavingas jūsų augintinio nuotraukas

Nuotolinio gydymo dozatorius siunčia jums žavingas jūsų augintinio nuotraukas






Naujausios Žinutės