OpenSprinkler stāsts: atklātā pirmkoda tīmekļa sprinkleru kontrolieris - 💡 Fix My Ideas

OpenSprinkler stāsts: atklātā pirmkoda tīmekļa sprinkleru kontrolieris

OpenSprinkler stāsts: atklātā pirmkoda tīmekļa sprinkleru kontrolieris


Autors: Ethan Holmes, 2019

OpenSprinkler (balstīta uz Arduino)

Šis ir stāsts par to, kā Arduino mācīšanās mani iedvesmoja izgudrot OpenSprinkler - atklātā pirmkoda, tīmekļa sprinkleru kontrolieri. Man ir bijusi aizraušanās ar elektronisko ķēžu izgatavošanu, jo es biju bērns, pavadot stundas, apskatot shēmas un veidojot vienkāršas shēmas, piemēram, viena tranzistora radio, elektronisku kriketu, skaņas vadītu slēdzi. Lielākā daļa elektronisko detaļu, ar kurām es strādāju, tad tika noņemtas no atkritumu ķēdēm. Izņemot lietotās ķēdes, mācīšanās lodēt un PCB kodināt - šie bija daži no maniem bērnības laimīgākajiem mirkļiem.

Pirmā tikšanās ar Arduino

Es pirmo reizi iepazinu Arduino, kad 2007. gadā izlasīju Phillip Torrone atvērtā pirmkoda aparatūras dāvanu rokasgrāmatu. Atvērtā koda aparatūra, fiziskā skaitļošana, Arduino, man bija pilnīgi jaunas koncepcijas, un tās izskatījās pilnīgi aizraujošas. Arduino iepazīšana bija kā bērnības aizraušanās ar elektroniku - atkal sapratu, cik daudz tas būtu ļāvis man darīt, ja tas būtu bijis bērns. Es drīz sāku mācīties par Arduino.

Kā datorzinātņu profesors UMass Amherst, es to redzēju kā iedvesmojošu un veicinošu pētījumu un mācību līdzekli. Kopā ar saviem studentiem mēs izveidojām fotokameras tālvadības pulti, lai uzņemtu laika nobīdes fotogrāfijas, un kontrolieri, lai izveidotu pan-tilt kameru, kas izseko objektus reālā laikā. Es sāku lasīt lekcijas par Arduino un fizisko skaitļošanu datorgrafikā un Java programmēšanas klasēs, ko mācu. Nesen es esmu piedāvājis vairākas valkājamas elektronikas darbnīcas UMass un tuvumā esošajās koledžās, izmantojot Arduino balstītu kontrolieru padomi, ko es izveidoju kā SquareWear.

Pelējuma skārda ūdens vārsta kontrolieris

Es vienmēr cerēju izmantot Arduino mājas automatizācijas projektā. Iespēja atnāca, kad 2010. gada pavasarī manā pagalmā uzstādīju jaunu zālienu. Man bija jādarbojas sprinkleru taimerim, lai regulāri pļāvētu zālienu. Es devos uz mazumtirdzniecības veikaliem un neesmu ļoti apmierināts ar to, ko es tur atradu. Mazumtirdzniecības veikalos pārdotie sprinkleru taimeri izskatījās, ka tie ir izstrādāti 80. gados - ļoti ierobežota funkcionalitāte un vispār nav interneta savienojumu.

Ko darīt, ja man ir nepieciešams elastīgāks laistīšanas grafiks? Ko darīt, ja es ceļoju un nepieciešams izslēgt sprinklerus no attāluma? Vai nebūtu forši, ja es varētu uzbūvēt savu sprinkleru kontrolieri, iestatīt grafikus jebkādā veidā, un vēl labāk, programmēt to bez vadiem? Mana pieredze Arduino ieguva mani nopietni domājot par šo ideju. Es sāku veikt pētījumus par to, un dažas nedēļas vēlāk es pabeigu pirmo funkcionējošo prototipu, kas uzbūvēts ar Arduino Pro Mini, bezvadu uztvērēju un mājīgu PCB. Es publicēju projektu kopā ar demo video kā manu pirmo bloga ierakstu: „A piparmētru skārda ūdens vārstu kontrolieris.” Dažas dienas vēlāk tas tika publicēts Veidot: emuārs.

Pelējuma skārda ūdens vārsta kontrolieris

Arduino balstīta OpenSprinkler

Piparmētru skārda kontrolieris bija atalgojošs projekts un bija daudz jautrības. Bet tajā brīdī es nesapratu, ka automatizētie smidzinātāji nākamajos gados kļūtu par svarīgu manas dzīves daļu. Tas ir līdz brīdim, kad Chris Anderson (bijušais galvenais redaktors) Vadu žurnāls un tagad 3DRobotics izpilddirektors) sazinājās ar mani pēc sava emuāra ieraksta. Viņš bija savā gaidāmajā grāmatā Makers - jaunā rūpniecības revolūcija, un viņš redzēja, ka mans projekts ir ne tikai jauks stāsts par savu grāmatu, bet arī potenciāla biznesa iespēja: atvērtā koda, tīmekļa viedo sprinkleru kontrolierim varētu būt liels tirgus. Tā kā mēs esam gan kaismi, gan atvērtā koda aparatūra, gan automatizēti sprinkleri, mēs sākām sadarboties. Mēs nācām klajā ar nosaukumu “OpenSprinkler” - tas nozīmē, ka tas ir atvērtā koda sprinkleru kontrolieris.

Man tas ir svarīgs kā atvērtā koda projekts: kā pedagogs, es vienmēr esmu gribējis, lai cilvēki ne tikai izmantotu produktu, bet arī būtu iespēja apgūt pamatus - kā produkts darbojas iekšēji. Tam ir spēcīgs izglītības mērķis. Arī ikviens, kas vēlas izveidot jaunu sprinkleru kontrolieri, var balstīt savu darbu uz raktuves, nepārpublicējot riteni. Tas ir lielisks veids, kā veicināt tehnoloģiju inovācijas.

Chris un es noteicu OpenSprinkler sākotnējo plānu. Pirmkārt, kontrolierim jābūt saderīgam ar standarta 24V maiņstrāvas sprinkleru vārstiem zāliena laistīšanas un apūdeņošanas sistēmās. Otrkārt, tam vajadzētu būt Arduino pamatā, jo Arduino plaši pieejamās bibliotēkas un kopienas atbalsts atvieglo OpenSprinkler funkcionalitātes paplašināšanu. Visbeidzot, un vissvarīgāk, tam vajadzētu būt Ethernet kontrolierim un tīmekļa saskarnei, lai varētu iestatīt un mainīt sprinkleru programmas tiešsaistē tīmekļa pārlūkprogrammā vai mobilajā lietotnē. Tas būtu daudz intuitīvāks un ērtāks par tradicionālo sprinkleru kontrolieri, kur viss ir jānorāda uz vadības ierīces, izmantojot pogas, kloķus un tiny LCD (ko neviens nevēlas!). Turklāt tīmekļa kontrolieris ļauj attālināti piekļūt, un ļauj tiešsaistē vilkt laika apstākļu datus, lai vajadzības gadījumā palīdzētu pielāgot laistīšanas grafikus.

OpenSprinkler 1.0 tika izdots 2011. gada 9. oktobrī kā DIY komplekts. Tas ietvēra PCB, visas caurumu daļas un skaistu, caurspīdīgu plastmasas korpusu. Pēc lodēšanas un montāžas instrukcijām, jūs varat izveidot savu tīmekļa sprinkleru kontrolieri no nulles, pāris stundu laikā.

OpenSprinkler v1.1

Kopš versijas 1.0, OpenSprinkler ir izgājusi vairākas revīzijas kārtas līdz jaunākajai versijai 2.1. Katra pārskatīšana uzlabo shēmas dizainu, ņemot vērā atgriezenisko saiti un ieteikumus, kas saņemti no iepriekšējās kārtas. Tā ir bijusi patiesi atalgojoša mācīšanās pieredze man. 2012. gada maijā es devos uz Maker Faire Bay Area, lai pirmo reizi demonstrētu OpenSprinkler, un tas bija ļoti labi saņemts. Kopš tā laika procentu un pieprasījums ir ievērojami palielinājies. Sākot ar 1.4 versiju, mēs sākām piedāvāt pilnībā samontētus OpenSprinklers, kas izgatavoti galvenokārt no virsmas montāžas komponentiem. DIY komplekti joprojām ir pieejami tiem, kas bauda lodēšanas un būvniecības ķēdes. No 2.0 versijas mēs esam modernizējuši mikrokontrolleru no ATmega328 uz ATmega644, un šī ir arī pirmā versija, kas izmanto Openedprinklera iesmidzināto korpusu, ko projektējis SeeedStudio.

Pašreizējam OpenSprinkler v2.1 ir šādas iebūvētās aparatūras funkcijas:

  • ATmega644 mirgo ar OpenSprinkler programmaparatūru un USB bootloader
  • 16 × 2 LCD, DS1307 RTC ar rezerves akumulatoru, microSD slots, mini relejs
  • Ethernet ligzda, lietus sensora ligzda un zonas paplašināšanas savienotājs OpenSprinkler zonas paplašināšanas plāksnes savienošanai
  • Rezerves digitālās un analogās tapas savienošanai ar sensoriem, bezvadu uztvērējiem vai citiem komponentiem.

OpenSprinkler programmaparatūra (rakstīta Arduino) nodrošina bagātīgu funkciju kopumu, tostarp tīmekļa lietotāja interfeisu, intervālu programmēšanu, grafisko priekšskatījumu, pielāgotus staciju nosaukumus, galveno staciju atbalstu, lietus aizkavēšanos, vienlaicīgu staciju darbību utt. Varat mainīt programmu datus un uzstādījumus tīmekļa pārlūkprogrammā vai izmantojot OpenSprinkler mobilo lietotni. Aparatūras dizains un programmatūras kods ir lejupielādējami OpenSprinkler Github repozitorijā.

OpenSprinkler Pi un Beagle

2012. gada beigās es pamanīju, ka daži lietotāji izmantoja OpenSprinkler kopā ar Raspberry Pi (RPi), lai nodrošinātu tādas uzlabotas funkcijas kā mežizstrāde un laika apstākļu regulēšana. Manuprāt, radās ideja par to, kāpēc nav jāizstrādā sprinkleru pagarinātājs RPi, lai varētu izmantot RPi GPIO tapas, lai tieši kontrolētu sprinkleru vārstus? Es uzreiz nopirku RPi, un es biju patīkami pārsteigts, ka tas perfekti iekļaujas esošajā OpenSprinkler kamerā. Pēc divām prototipu rašanās kārtām OpenSprinkler Pi (OSPi) 1.0 ir dzimis un izlaists 2013. gada 18. februārī.

OpenSprinkler Pi un OpenSprinkler Beagle

Atšķirībā no Arduino bāzētā OpenSprinkler, OSPi programmatūra tiek izstrādāta nevis pats, bet gan entuziasmu lietotāju grupa. Dan Kimberling pirmo reizi pārnāca Arduino kodu Python un kopš tā laika ir ieviesis daudzas jaunas programmatūras funkcijas. Rich Zimmerman izstrādāja sprinklers_pi programmu, kurai ir iebūvēts mobilais frontends un uzlabota mežizstrāde. Pavisam nesen Samer Albahra un Jonathan Marsh pievienojās komandai, lai atjaunotu kodu un nodrošinātu mūsdienīgu, racionalizētu lietotāja interfeisu. Es esmu pateicīgs šai cilvēku grupai, kam ir vienāda kaislība ar mani un esmu gatavs palīdzēt un piedalīties projektā - tas ir liels pierādījums atklātā pirmkoda attīstības garam.

Ar OSPi panākumiem es pēc tam izveidoju līdzīgu sprinkleru pagarinājumu BeagleBone Black un 2013. gada 15. novembrī to izlaida kā OpenSprinkler Beagle (OSBo).

Gan OSPi, gan OSBo, es esmu izlaidis iepriekš konfigurētu SD kartes attēlu ar iepriekš instalētu OpenSprinkler programmatūru. Lejupielādējiet attēlu, ierakstiet to SD kartē, ienāciet to un varat nekavējoties pārveidot savu RPi vai BeagleBone par spējīgu sprinkleru kontrolieri.

OpenSprinkler Mobile App no ​​Samer Albahra

Līdz 2013. gada vidum OpenSprinkler bija viena liela trūkstošā funkcija - mobilā lietotne. Iebūvētais web frontends darbojas labi darbvirsmas pārlūkprogrammā, bet tas nav īpaši stilīgs, un tas nav arī mobilais. 2013. gada 7. jūnijā Samer Albahra izlaida pirmo OpenSprinkler Mobile App versiju. Programma saņēma milzīgas atbildes. Kopš tā laika Samer ir turpinājis uzlabot lietotni, integrējot lietotāju atsauksmes un ieteikumus. Šodien lietojumprogramma ir pieejama iOS, Android un Windows lietotņu veikalos (vienkārši meklējiet “opensprinkler”), un tā nodrošina daudzus veiklus līdzekļus, tostarp valodu lokalizāciju un atbalstu vairākām ierīcēm utt.

OpenSprinkler Mobile App

OpenSprinkler Bee un Sip

Tāpat kā pēdējos divos gados, šogad es atkal apmeklēju Maker Faire Bay Area, lai parādītu OpenSprinkler. Papildus Arduino balstītajai OpenSprinkler, OpenSprinkler Pi un Beagle, es sniegšu pāris jaunus aizraujošus projektus, kurus es ceru drīz atbrīvot. OpenSprinkler Bee ir OpenSprinkler variants, kas īpaši izstrādāts ar baterijām darbināmiem sprinkleru vārstiem. Tas ir aprīkots ar AA baterijām un tajā ir iebūvēts 2.4G RF uztvērējs, kas ļauj veikt bezvadu programmu. OpenSprinkler Sip ir vēl viens akumulators darbināms regulators, kas paredzēts iekštelpu augu laistīšanai. Tas ir aprīkots ar mini ūdens sūkni un augsnes mitruma sensoru, lai automātiski iztīrītu augus un ziedus. Gan OpenSprinkler Bee, gan Sip būs atvērtā koda un Arduino bāzes.

Pēdējos gados man ir bijis neticams ceļojums, mācoties rakstīt pirmo Arduino programmu, lai izveidotu pilnvērtīgu OpenSprinkler. Pārsteidzošākā ceļojuma daļa ir savienojumi, ko esmu darījis ar cilvēkiem, kuriem ir vienāda kaislība. Tas ir bijis jautrs un atalgojošs ceļojums, ko es ceru turpināt.



Jums Var Būt Interesē

Maker Pro biļetens - 02/20/14

Maker Pro biļetens - 02/20/14


Hangouts ar Tim O'Reilly un Kevin Kelly, runājot par Makers un Cool Tools

Hangouts ar Tim O'Reilly un Kevin Kelly, runājot par Makers un Cool Tools


Las Vegas Mini Maker Faire: Zvaniet uz Makers

Las Vegas Mini Maker Faire: Zvaniet uz Makers


New Maker Pilsēta: Cleveland

New Maker Pilsēta: Cleveland






Jaunākās Publikācijas