Jeffrey Cross
Jeffrey Cross

OpenSprinklerin tarina: avoimen lähdekoodin web-pohjainen sprinkleriohjain

OpenSprinkler (Arduino-pohjainen)

Tämä on tarina siitä, miten Arduino-oppiminen innoitti minua keksimään OpenSprinklerin - avoimen lähdekoodin, web-pohjaisen sprinkleriohjaimen. Minulla on ollut intohimo tehdä sähköisiä piirejä, koska olin lapsi, joka vietti tuntikausia ja rakensi yksinkertaisia ​​piirejä, kuten yhden transistorin radion, elektronisen kriketin, ääntä ohjaavan kytkimen. Suurin osa elektroniikkaosista, joita olin työskennellyt takaisin, poistettiin jätepiirilevyistä. Käytettyjen piirien erottaminen, juotoksen oppiminen ja PCB: iden etsaus - nämä olivat joitakin lapsuuteni onnellisimmista hetkistä.

Ensimmäinen kohtaaminen Arduinon kanssa

Ensimmäisen kerran tutustuin Arduinoon, kun luin vuonna 2007 Phillip Torronen avoimen lähdekoodin laitteiston lahjaoppaan. Avoimen lähdekoodin laitteisto, fyysinen tietojenkäsittely, Arduino, nämä olivat minulle aivan uusia käsitteitä, ja ne näyttivät täysin kiehtovilta. Tutustuminen Arduinoon oli kuin lapsuuden intohimo elektroniikkaan - tulin ymmärtämään, kuinka paljon se olisi voinut tehdä, jos se olisi ollut lapsena. Aloin pian oppia Arduinosta.

UMass Amherstin tietojenkäsittelyprofessorina näin sen innostavana ja mahdollistavana työkaluna tutkimukseen ja opetukseen. Rakensimme yhdessä opiskelijoiden kanssa kameran kaukosäätimen valokuvien ottamiseen ja ohjaimen pan-tilt-kameraan, joka seuraa esineitä reaaliajassa. Aloin antaa luentoja Arduinosta ja fyysisen laskennan tietokonegrafiikan ja Java-ohjelmointiluokkien opetuksesta. Viime aikoina olen tarjonnut useita käyttökelpoisia elektroniikkatyöpajoja UMassissa ja läheisissä oppilaitoksissa käyttäen Arduino-pohjaista ohjauskorttia, jonka suunnittelin nimeltään SquareWear.

Mint-tina-vesiventtiiliohjain

Toivon aina, että käytän Arduinoa kotiautomaatiohankkeessa. Tilaisuus tuli, kun asensin uuden nurmikon takapihalleni keväällä 2010. Minun oli ostettava sprinkleri-ajastin, joka vei nurmikon säännöllisesti. Menin vähittäismyymälöihin ja en ollut kovin tyytyväinen siihen, mitä löysin siellä. Vähittäismyymälöissä myytävät sprinkleri-ajastimet näyttivät siltä, ​​että ne on suunniteltu 80-luvulla - hyvin rajallinen toiminnallisuus ja ei yhtään verkkoyhteyttä.

Entä jos tarvitsen joustavampia kasteluaikatauluja? Mitä jos matkustan ja tarvitsen sprinklerit pois päältä? Eikö olisi siistiä, jos voisin rakentaa oman sprinkleriohjaimen, aseta aikataulut mihin tahansa haluaisin, ja vielä parempi, ohjelmoida se langattomasti? Kokemukseni Arduinosta sai minut vakavasti ajattelemaan ajatusta. Aloin tehdä tutkimusta, ja muutama viikko myöhemmin valmistin ensimmäisen toiminnallisen prototyypin, joka on rakennettu Arduino Pro Mini, langaton lähetin-vastaanotin ja kotitekoinen piirilevy. Olen julkaissut projektin yhdessä demovideon kanssa ensimmäisenä blogiviestinäni: ”Mint-tin Water Valve Controller.” Muutama päivä myöhemmin se julkaistiin Tehdä: blogi.

Mint-tina-vesiventtiiliohjain

Arduino-pohjainen OpenSprinkler

Mint-tin-venttiilin ohjain oli palkitseva hanke ja hauskaa tehdä. Mutta tällä hetkellä en tiennyt automatisoituja sprinklereitä tulla tärkeäksi osaksi elämääni lähivuosina. Siihen asti, kunnes Chris Anderson (entinen päätoimittaja) Wired aikakauslehti ja nyt 3DRoboticsin toimitusjohtaja) otti minuun yhteyttä, kun olen nähnyt blogiviestini. Hän oli keskellä kirjoittamassa tulevaa kirjaansa Makers - uusi teollinen vallankumous, ja hän näki projektini paitsi hienon tarinan hänen teoksestaan, mutta mahdollinen liiketoimintamahdollisuus: avoimen lähdekoodin, web-pohjaisen älykäs sprinkleriohjaimella voisi olla suuri markkina. Koska olemme sekä intohimoisia, avoimen lähdekoodin laitteistoja että automaattisia sprinklereitä, aloitimme yhteistyön. Meillä oli nimi ”OpenSprinkler” - se tarkoittaa avoimen lähdekoodin sprinkleriohjainta.

Minun on tärkeää pitää sitä avoimen lähdekoodin projektina: opettajana olen aina halunnut, että ihmiset käyttävät vain tuotetta, mutta heillä on mahdollisuus oppia perusteet - miten tuote toimii sisäisesti. Siihen on olemassa vahva koulutus. Kuka tahansa, joka haluaa suunnitella uuden sprinkleriohjaimen, voi perustaa työnsä minun, ilman että tarvitsen keksiä pyörää uudelleen. Tämä on erinomainen tapa edistää teknologian innovaatioita.

Chris ja minä asetimme aloitussuunnitelman OpenSprinklerille. Ensinnäkin, ohjaimen tulisi olla yhteensopiva 24 V AC-sprinkleriventtiilien kanssa nurmikon kastelu- ja kastelujärjestelmissä. Toiseksi sen pitäisi olla Arduino-pohjainen, koska Arduinon laajalti saatavilla olevat kirjastot ja yhteisön tuki helpottavat OpenSprinklerin toimintojen laajentamista. Lopuksi ja mikä tärkeintä, siinä pitäisi olla Ethernet-ohjain ja web-pohjainen käyttöliittymä, jotta voit määrittää ja muokata sprinkleriohjelmia verkossa selaimessa tai mobiilisovelluksen kautta. Tämä olisi paljon intuitiivisempaa ja kätevämpää kuin perinteinen sprinkleriohjain, jossa kaikki on asetettava ohjaimen runkoon painikkeilla, nuppeilla ja pienellä LCD-näytöllä (jota kukaan ei tykkää!). Lisäksi web-pohjainen ohjain mahdollistaa etäkäytön ja mahdollistaa säätietojen vetämisen verkossa helpottamaan kasteluaikataulujen säätämistä tarvittaessa.

OpenSprinkler 1.0 julkaistiin 9. lokakuuta 2011 DIY-sarjana. Mukana oli piirilevy, kaikki läpivientikomponentit ja kaunis, kirkas kansi. Juotto- ja kokoonpano-ohjeiden mukaan voit rakentaa oman web-pohjaisen sprinkleriohjaimen tyhjästä, parin tunnin kuluttua.

OpenSprinkler v1.1

Versiosta 1.0 lähtien OpenSprinkler on käynyt läpi useita kierroksen kierroksia uusimpaan versioon 2.1 asti. Jokainen tarkistus parantaa piirisuunnittelua ottamalla huomioon edellisen kierroksen palautteet ja ehdotukset. Se on ollut minulle todella palkitseva oppimiskokemus. Toukokuussa 2012 menin Maker Faire Bayn alueelle osoittamaan OpenSprinkleriä ensimmäistä kertaa, ja se otettiin hyvin vastaan. Korko ja kysyntä ovat sen jälkeen kasvaneet merkittävästi. Versiosta 1.4 lähtien aloimme tarjota täysin koottuja OpenSprinklereitä, jotka on valmistettu pääosin pinta-asennuskomponenteista. DIY-sarjat ovat edelleen saatavilla niille, jotka nauttivat juotto- ja rakennuspiiristä. Versiosta 2.0 olemme päivittäneet mikrokontrollerin ATmega328: sta ATmega644: een, ja tämä on myös ensimmäinen versio, joka käyttää SeeedStudyn suunnittelemaa OpenSprinkler-ruiskuvalettua koteloa.

Nykyisellä OpenSprinkler v2.1: llä on seuraavat sisäänrakennetut laitteiston ominaisuudet:

  • ATmega644 vilkkuu OpenSprinkler-laiteohjelmiston ja USB-käynnistyslataimen avulla
  • 16 × 2 LCD, DS1307 RTC varaparistolla, microSD-korttipaikka, minirele
  • Ethernet-liitäntä, sade-anturin liitin ja vyöhykkeen laajennusliitin OpenSprinkler-vyöhykkeen laajennuslevyn liittämiseen
  • Vapauta digitaaliset ja analogiset nastat antureihin, langattomiin lähetin-vastaanottimiin tai muihin komponentteihin.

OpenSprinkler-laiteohjelmisto (kirjoitettu Arduinossa) tarjoaa runsaasti ominaisuuksia, kuten web-pohjainen käyttöliittymä, aikaväliohjelmointi, graafinen esikatselu, mukautetut asemien nimet, tuki tukiasemalle, sateen viive, samanaikainen asema jne. Voit muuttaa ohjelmaa tiedot ja asetukset Web-selaimessa tai OpenSprinkler-mobiilisovelluksen avulla. Laitteiston suunnittelu ja ohjelmistokoodi ovat ladattavissa OpenSprinkler Github -varastosta.

OpenSprinkler Pi ja Beagle

Vuoden 2012 lopulla huomasin, että jotkut käyttäjät käyttivät OpenSprinkleriä yhdessä Raspberry Pi: n (RPi) kanssa tarjoamaan lisäominaisuuksia, kuten kirjautumista ja sääpohjaista säätöä. Minulle tuli ajatus: miksi ei suunnitella sprinklerilevyä RPi: lle, jotta RPi: n GPIO-nastoja voidaan käyttää suoraan sprinkleriventtiilien ohjaamiseen? Ostin heti RPi: n, ja olin iloisesti yllättynyt siitä, että se sopii täydellisesti OpenSprinkler-koteloon. Kahden prototyyppikierroksen jälkeen OpenSprinkler Pi (OSPi) 1.0 syntyi ja julkaistiin 18. helmikuuta 2013.

OpenSprinkler Pi ja OpenSprinkler Beagle

Ero kuin Arduino-pohjainen OpenSprinkler, OSPi-ohjelmistoa ei itse kehitetä, vaan ryhmä innostuneita käyttäjiä. Dan Kimberling siirsi ensin Arduino-koodin Pythoniin ja on sittemmin ottanut käyttöön monia uusia ohjelmistotoimintoja. Rich Zimmerman kehitti sprinklers_pi-ohjelman, jossa on sisäänrakennettu langaton etuosa ja kehittynyt lokitiedosto. Viime aikoina Samer Albahra ja Jonathan Marsh ovat liittyneet tiimiin uudistamaan koodia ja tarjoamaan modernin, virtaviivaisen käyttöliittymän. Olen kiitollinen tästä ihmisryhmästä, jolla on sama intohimo kanssani ja jotka ovat valmiita auttamaan ja osallistumaan hankkeeseen - tämä on suuri osoitus avoimen lähdekoodin kehittämisen hengestä.

OSPin menestyksen myötä suunnittelin BeagleBone Blackille samanlaisen sprinklerilaajennuskortin ja vapautin sen OpenSprinkler Beagle (OSBo) 15.11.2013.

Sekä OSPi: lle että OSBolle olen julkaissut esiasetetun SD-kortin kuvan, jossa on esiasennettu OpenSprinkler-ohjelmisto. Lataa kuva, kirjoita se SD-kortille, avaa se ja voit välittömästi muuttaa RPi: n tai BeagleBone-laitteen kykeneväksi sprinkleriohjaimeksi.

Samer Albahran OpenSprinkler Mobile App

Vuoden 2013 puoliväliin saakka OpenSprinklerillä oli yksi iso puuttuva ominaisuus - mobiilisovellus. Sisäänrakennettu web frontend toimii hyvin työpöydän selaimessa, mutta se ei ole erityisen tyylikäs, eikä se ole myöskään mobiiliystävällinen. 07.6.2013 Samer Albahra julkaisi ensimmäisen version OpenSprinkler Mobile Appista. Sovellus sai ylivoimaisia ​​vastauksia. Sittemmin Samer on jatkanut sovelluksen parantamista integroimalla käyttäjien palautetta ja ehdotuksia. Nykyään sovellus on saatavilla iOS-, Android- ja Windows-sovellusmyymälöissä (hae vain "opensprinkler"), ja se tarjoaa monia siistejä ominaisuuksia, kuten kielen lokalisoinnin ja useiden laitteiden tukemisen jne.

OpenSprinkler Mobile App

OpenSprinkler Bee ja Sip

Kuten viimeisten kahden vuoden aikana, aion jälleen Maker Faire Bayn alueelle jälleen tänä vuonna näyttääkseni OpenSprinklerin. Arduino-pohjaisen OpenSprinklerin, OpenSprinkler Pi: ​​n ja Beaglen lisäksi tuotan pari uutta jännittävää projektia, jotka toivon pian vapauttavan. OpenSprinkler Bee on OpenSprinkler-versio, joka on suunniteltu erityisesti akkukäyttöisille sprinkleriventtiileille. Se on varustettu AA-paristoilla ja siinä on sisäänrakennettu 2,4 G: n RF-lähetin-vastaanotin langattoman ohjelmoinnin mahdollistamiseksi. OpenSprinkler Sip on toinen akkukäyttöinen ohjain, joka on suunniteltu sisäilman kasteluun. Siinä on mini-vesipumppu ja maaperän kosteusanturi, jolla voit automaattisesti vedellä kasveja ja kukkia. Sekä OpenSprinkler Bee että Sip ovat avoimen lähdekoodin ja Arduino-pohjaisia.

Viime vuosina olen ollut uskomaton matka minulle, oppimasta kirjoittamaan ensimmäistä Arduino-ohjelmaa täysimittaisen OpenSprinklerin kehittämiseen. Matkan upein osa on yhteydet, jotka olen tehnyt ihmisten kanssa, joilla on sama intohimo. Se on ollut hauska ja palkitseva matka, jota odotan innolla.

Osake

Jättänyt Kommenttia