Turinys:

Prijunkite savo gamyklą prie debesies: 10 žingsnių
Prijunkite savo gamyklą prie debesies: 10 žingsnių

Video: Prijunkite savo gamyklą prie debesies: 10 žingsnių

Video: Prijunkite savo gamyklą prie debesies: 10 žingsnių
Video: ESP32 Tutorial 9 - Using Push button to Toggle LED, Push ON, Push OFF -SunFounder ESP32 IoT kit 2024, Lapkritis
Anonim
Prijunkite savo gamyklą prie debesies
Prijunkite savo gamyklą prie debesies
Prijunkite savo gamyklą prie debesies
Prijunkite savo gamyklą prie debesies
Prijunkite savo gamyklą prie debesies
Prijunkite savo gamyklą prie debesies

Mūsų biure yra kaktusas, kuris nesulaukė nusipelniusio dėmesio. Kadangi dirbu IT įmonėje ir norėjau eksperimentuoti su „LoRa“, sprendimais be serverių ir AWS, pavadinau mūsų kaktusą „Steeve“ir prijungiau jį prie debesies. Dabar galite stebėti Steeve beveik iš bet kurios pasaulio vietos, naudodami jam sukurtą tinklalapį: Steeve'o žiniatinklio sąsają.

Prekės

1 kaktusas / jūsų mėgstamiausias augalas

1 „Arduino MKR WAN 1300“(„Arduino“parduotuvė)

1 868 MHz/914 MHz (priklauso nuo jūsų buvimo vietos) antena („Amazon“)

1 „LoRa Gateway“, kai nėra vieno diapazono („Amazon“)

2 AA baterijos

1 TMP102 jutiklis („Amazon“)

1 dirvožemio drėgmės jutiklis („Amazon“)

Laidūs kabeliai („Amazon“)

lituoklis

Baterijos laikiklis („Amazon“)

atvejis

pasirinktinai: 3D spausdintuvas (jei galite naudoti 3D spausdintuvą, jums nereikia akumuliatoriaus laikiklio ar dėklo)

1 veiksmas: dėklo spausdinimas (pasirinktinai)

Dėklo spausdinimas (neprivaloma)
Dėklo spausdinimas (neprivaloma)
Dėklo spausdinimas (neprivaloma)
Dėklo spausdinimas (neprivaloma)

Atsisiųskite šį ZIP failą, išpakuokite jį ir atsispausdinkite failus. Failai pažymėti reikiamu elemento kiekiu.

Nedvejodami pridėkite kažką prie dangčio, kaip aš.

Aš juos atspausdinau naudodamas 0,2 mm aukščio sluoksnį ir 15% užpildą.

Dėžes galima pritvirtinti naudojant m3 varžtus.

Kai dėžutė yra atspausdinta, galite naudoti tam tikrą laidą, kad prijungtumėte reikiamą akumuliatoriaus laikiklio jungtį. Pateiktą nuotrauką galite naudoti kaip nuorodą.

2 žingsnis: laidų prijungimas

Laidai
Laidai
  • Prieš įjungdami arduino, įsitikinkite, kad antena prijungta, įjungus arduino be antenos, galite sugadinti.
  • Prijunkite viską pagal pateiktą prijungimo schemą.
  • Jei lituojate šiuos laidus, įsitikinkite, kad nesujungiate jokių jutiklių ar arduino kaiščių!

3 veiksmas: sukurkite programą daiktų tinkle

  • Eikite į https://www.thethingsnetwork.org/ ir, jei dar neturite paskyros, susikurkite ją.
  • Kai turite paskyrą ir esate prisijungę, galite pereiti prie konsolės (viršutiniame dešiniajame kampe spustelėkite savo vartotojo vardą, o tada - konsolėje).
  • Spustelėkite programas.
  • Kai puslapis bus įkeltas, turėtumėte spustelėti „pridėti programą“.
  • Užpildykite formą ir apačioje pasirinkite tinkamą regioną. Spustelėkite „pridėti programą“.
  • Sveikiname, ką tik sukūrėte programą daiktų tinkle. = D

4 žingsnis: „Arduino“prijungimas prie daiktų tinklo

Norėdami programuoti arduino, patariu naudotis internetine arduino ide, todėl labai lengva įkelti į reikalingą biblioteką.

  • Atidarykite savo programą daiktų tinkle.
  • Turėtų būti laukas pavadinimu įrenginiai, spustelėkite registruoti įrenginį.
  • pamatysite lauką, pavadintą Įrenginio ID. tai yra pavadinimas, kurį norite suteikti savo jutikliui. Turėtų būti dar vienas įrenginys EUI, tai yra unikalus raktas, kurį jūsų arduino naudoja autentifikavimui.
  • Norėdami gauti šį raktą, turime sugadinti arduino konkrečiu eskizu. Eskizą galima rasti čia. Šis eskizas turėtų būti paleistas ir per serijinį monitorių turėtų siųsti „eui“. Nukopijuokite „eui“iš nuoseklaus monitoriaus į „Device EUI“lauką daiktų tinkle.
  • Spustelėkite Registruotis.
  • Dabar mes užregistravome savo arduino debesyje. Atėjo laikas pradėti siųsti žinutes.
  • Turėtumėte būti nukreipti į puslapį, vadinamą įrenginio apžvalga. Čia galite pamatyti savo įrenginio eui, programos eui ir programos raktą.
  • Kad tęstume, paskutinį eskizą turime parodyti arduino. Eskizą rasite čia.
  • Atidarę šią nuorodą pamatysite, kad yra keli skirtukai. Atidarykite paslapčių skirtuką. Yra du raktai, kuriuos reikia susidoroti nuo daiktų tinklo iki paslapčių failo.
  • Užpildę šiuos klavišus, galite mirksėti arduino. Ji pradės siųsti duomenis į daiktų tinklą kartą per valandą.
  • Jei viskas pavyko teisingai, iš naujo nustatydami „arduino“(vienintelis mygtukas lentoje), turėsite matyti pranešimus, gaunamus daiktų tinklo skirtuke „Duomenys“.

    • Jei duomenų nėra, tai gali reikšti, kad nesate tinkamo „LoRa“šliuzo diapazone. Žemėlapį su visais turimais šliuzais galite patikrinti https://thethingsnetwork.org. Vieno kanalo „LoRa“šliuzai neveiks su rekomenduojamu „arduino“.
    • Jei nesate vartų diapazone, galite susieti savo vartus prie daiktų tinklo. Šie vartai paprastai turi gana gerų pamokų, kaip juos sujungti. Ieškokite rekomenduojamo šliuzo tiekimo sąraše.

5 veiksmas: daiktų tinklo duomenų aiškinimas

  • Norėdami gauti tinkamų duomenų iš daiktų tinklo pranešimų, turime iššifruoti tarpinį srautą.
  • Dalykų tinkle eikite į savo programą.
  • Turėtų būti skirtukas, pavadintas „Naudingos apkrovos formatai“, spustelėkite šį skirtuką.
  • Šalia yra 4 mygtukai: „dekoderis“, „keitiklis“, „patvirtintojas“, „koduotojas“.
  • Spustelėkite dekoderį.
  • Ten įklijuokite šį kodą.

funkcija Dekoderis (baitai, prievadas) {// Iššifruokite aukštyn nukreiptą pranešimą iš baitų buferio // (masyvo) į laukų objektą. var stringToDecode = bin2String (baitai); var res = stringToDecode.split (""); var temp = res [1]; var drėgnas = res [3]; var bat = res [5]; var dekoduotas = {"temperatūra": temperatūra, "drėgmė": drėgna, "baterija": šikšnosparnis}; grąža dekoduojama; } funkcija bin2String (masyvas) {var result = ""; for (var i = 0; i <array.length; ++ i) {result+= (String.fromCharCode (masyvas )); } grąžinimo rezultatas;}

  • Spustelėkite išsaugoti.
  • Kai iš naujo nustatote „arduino“ir peržiūrite savo duomenų skirtuką, turėtumėte pamatyti gražiai suformatuotą „json“objektą, kurį galite lengvai perskaityti.

6 veiksmas: programos prijungimas prie AWS

Mes ketiname naudoti AWS, norėdami saugoti ir naudoti daiktų tinklo duomenis. Visi ištekliai, kuriuos ketiname naudoti, yra įtraukti į nemokamą AWS pakopą.

  • Eikite į AWS
  • Prisijunkite arba susikurkite paskyrą.
  • Norėdami prijungti savo programą daiktų tinkle prie AWS, rekomenduoju vadovautis šia pamoka:
  • Baigę šią mokymo programą, aws konsolėje pereikite prie „IoT-Core“segmento.
  • Kairėje meniu juostoje yra etiketė „Tvarkyti“, spustelėkite tai.
  • Dabar turėtumėte pamatyti kortelę su jutiklio pavadinimu.
  • Dar kartą kairėje meniu juostoje spustelėkite „Veikti“
  • Jei yra kortelė su užrašu Parduotuvė, galite eiti.
  • Jei ne, spustelėkite „Sukurti“.
  • Užpildykite pavadinimą „Parduotuvė“.
  • Jei norite, galite pridėti aprašymą.
  • Kaip užklausos pareiškimą užpildykite šį kodą: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • Skiltyje „Nustatyti vieną ar daugiau veiksmų“spustelėkite Pridėti veiksmą.
  • Pasirinkite „Skaidyti pranešimą į kelis„ DynamoDb “lentelės stulpelius („ DynamoDBv2 “)“.
  • Spustelėkite konfigūruoti veiksmą
  • Spustelėkite sukurti naują išteklių.
  • Spustelėkite „Sukurti lentelę“ir pavadinkite savo lentelę.
  • Po pirminiu raktu užpildykite „dev_id“.
  • Spustelėkite pridėti rūšiavimo raktą
  • Užpildykite „laiką“.
  • Spustelėkite sukurti.
  • Jei viskas klostėsi gerai, turėtumėte grįžti į veiksmų konfigūravimo puslapį.
  • Skiltyje „Pasirinkite arba sukurkite vaidmenį, kad suteiktumėte AWS IoT prieigą atlikti šį veiksmą“yra šiek tiek pilkšva sritis.
  • Spustelėkite sukurti vaidmenį ir suteikite šiam vaidmeniui pavadinimą.
  • Spustelėkite sukurti vaidmenį.
  • Spustelėkite pridėti veiksmą.
  • Spustelėkite sukurti taisyklę.
  • Dabar turėtumėte turėti taisyklę, kuri automatiškai saugo visus gaunamus pranešimus iš daiktų tinklo „DynamoDb“.
  • Galite patikrinti, ar tai veikia, iš naujo nustatydami arduino ir pereikite prie ką tik sukurtos „DynamoDb“lentelės.
  • Su žinute turėtų būti įrašas.

7 žingsnis: „Lambda“sukūrimas

Norėdami perskaityti „DynamoDB“duomenis, mes parašysime AWS lambda.

  • AWS valdymo pulte po paslaugomis yra nuoroda „Lambda“, spustelėkite šią.
  • Spustelėkite sukurti funkciją.
  • Pasirinkite vardą.
  • Nustatykite veikimo laiką į python 3.7.
  • Spustelėkite sukurti funkciją.
  • Įklijuokite šį kodą į integruotą IDE.

importuoti json

importuoti boto3 importo laiką iš datetime importavimo datetime, timedelta iš boto3.dynamodb.conditions importavimo raktas, Attr def lambda_handler (įvykis, kontekstas): return retreive_data () def retreive_data (): # Gaukite paslaugos šaltinį. dynamodb = boto3.resource ('dynamodb') table = dynamodb. Lentelė ('TABLE NAME HERE') dabar = datetime.now () vakar = dabar - timedelta (valandos = 24) fe = raktas ('laikas'). tarp (vakar.isoformatas (), dabar.izoformatas ()) paduotas = raktas ('laikas'). lt (vakar.izoformatas ()) atsakymas = lentelė.skenuoti (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = fed) for f in recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = response ['Elementai '] grąžinimo duomenis

  • Pakeiskite lentelės pavadinimą į pasirinktą.
  • Slinkite žemyn iki vykdymo vaidmens.
  • Spustelėkite sukurti naują vaidmenį iš aws politikos šablonų.
  • Pasirinkite vardą.
  • Politikos šablonuose pasirinkite „Išbandyti pakinktų leidimus“ir „Paprasti mikroservisų leidimai“.
  • Spustelėkite išsaugoti.
  • Spustelėkite testą.
  • Gali pasirodyti iššokantis langas, tiesiog pasirinkite pavadinimą ir išsaugokite.
  • Dar kartą spustelėkite testą.
  • Viršuje turėtų būti žalia reklamjuostė „Užpildymo rezultatas: pavyko“.
  • Spustelėję šią reklamjuostę turėtumėte pamatyti šios funkcijos išvestį, tai turėtų būti senų duomenų sąrašas.
  • Atminkite, kad šis scenarijus ištrina visus duomenis, kurie yra senesni nei 24 valandos.
  • Jei jūsų reklamjuostė yra ne žalia, o raudona, kažką praleidote ir spustelėję šią reklamjuostę gausite visą klaidos pranešimą. Šiuo atveju „Google“yra jūsų geriausias draugas.

8 veiksmas: sukurkite API galinį tašką

  • AWS valdymo konsolėje, esančioje paslaugose, yra nuoroda „api-gateway“, spustelėkite šią.
  • Spustelėkite sukurti API.
  • Įsitikinkite, kad pasirinktos „REST“ir „New API“.
  • Pasirinkite savo API pavadinimą.
  • Spustelėkite sukurti API.
  • Dabar ekrane turėtų būti mygtukas, pažymėtas veiksmais, spustelėkite jį.
  • Tada spustelėkite „Sukurti išteklių“.
  • Kaip šaltinio pavadinimą turėtumėte pasirinkti kažką paprasto, pvz., „Augalas“arba „augalų duomenys“.
  • Spustelėkite sukurti šaltinį.
  • Kairėje dabar turėtų būti ką tik įvestas vardas. spustelėkite šį pavadinimą.
  • Dabar dar kartą spustelėkite veiksmus ir dabar spustelėkite Pridėti metodą.
  • Pasirinkite GET.
  • Spustelėkite varnelę.
  • Turėtų būti teksto laukelis, pažymėtas „Lambda“funkcija.
  • Čia įveskite pavadinimą, kurį davėte lambda funkcijai.
  • Spustelėkite išsaugoti.
  • Gali būti iššokantis langas, įspėjantis, kad jis sukuria papildomus leidimus.
  • Priimkite šį iššokantįjį langą.
  • Dabar skiltyje „Veiksmai“spustelėkite „Įgalinti korsetes“.
  • Spustelėkite „įgalinti CORS ir pakeisti esamas CORS antraštes“.
  • Spustelėkite „taip,…“.
  • Dar kartą spustelėkite veiksmus ir spustelėkite Diegti API.
  • Diegimo etape pasirinkite [Naujas etapas].
  • Pasirinkite vardą.
  • Spustelėkite įdiegti.
  • Dabar pasauliui paskelbėte savo API internete.
  • Ekrane, į kurį atvykote, spustelėkite „GET“ir ką tik sukurtą išteklių.
  • Viršuje turėtų būti nuoroda su užrašu „iškviesti URL“.
  • Nukopijuokite šią nuorodą.
  • Įklijuokite jį į naršyklę ir paspauskite „Enter“.
  • Turėtumėte matyti duomenų bazėje esančius duomenis.

9 veiksmas: prijunkite savo gamyklą prie socialinių augalų tinklo

  • Eikite į
  • Spustelėkite „Prisijungti“.
  • Spustelėkite sukurti paskyrą.
  • Norėdami sukurti paskyrą, užpildykite formą.
  • Atminkite, kad vartotojo vardas taip pat turi būti jūsų el.
  • Spustelėkite sukurti paskyrą.
  • Prieš tęsdami, turėsite patvirtinti savo el. Pašto adresą.
  • Įsitikinkite, kad esate prisijungę.
  • Grįžkite į pagrindinį puslapį (spustelėkite logotipą viršutiniame kairiajame kampe).
  • Spustelėkite nustatymų mygtuką.
  • Užpildykite formą, turite užpildyti kiekvieną lauką.
  • Nuoroda į API yra nuoroda, kurią išsaugojote sukūrę API galinį tašką.
  • Kai viskas bus užpildyta, spustelėkite mygtuką „Išsaugoti augalą“. sistema dabar patikrins jūsų įvestą API nuorodą ir, jei tai teisinga, jūsų gamykla bus išsaugota tinkle.
  • Grįžkite į pagrindinį puslapį.
  • Dabar galite spustelėti visus augalus, turėtumėte matyti visus registruotus augalus. jūsų augalas taip pat turėtų būti ten. spustelėkite kortelę ir būsite nukreipti į savo augalo apžvalgos puslapį, kuriame taip pat bus pateikti patarimai, pagrįsti nustatymuose nustatytomis vertėmis.

10 žingsnis: atsiloškite ir paglostykite nugarą

Jūs ką tik prijungėte gamyklą prie interneto. Gana įspūdinga, tiesa?

Rekomenduojamas: