INHOUDSOPGAWE:

Koppel u plant aan die wolk: 10 stappe
Koppel u plant aan die wolk: 10 stappe

Video: Koppel u plant aan die wolk: 10 stappe

Video: Koppel u plant aan die wolk: 10 stappe
Video: Wanneer een douche nemen te duur is... 2024, September
Anonim
Koppel u plant aan die wolk
Koppel u plant aan die wolk
Koppel u plant aan die wolk
Koppel u plant aan die wolk
Koppel u plant aan die wolk
Koppel u plant aan die wolk

In ons kantoor is daar 'n kaktus wat nie die aandag gekry het wat dit verdien nie. Aangesien ek by 'n IT -onderneming werk en wou eksperimenteer met LoRa, bedienerlose oplossings en AWS, het ek ons kaktus Steeve genoem en hom aan die wolk gekoppel. U kan Steeve nou omtrent oral in die wêreld monitor met behulp van die webblad wat ek vir hom gemaak het: Steeve se webkoppelvlak.

Voorrade

1 kaktus / jou gunsteling plant

1 Arduino MKR WAN 1300 (Arduino -winkel)

1 868mHz/914mHz (hang af van u ligging) antenna (Amazon)

1 LoRa Gateway as dit nie binne een bereik is nie (Amazon)

2 AA batterye

1 TMP102 -sensor (Amazon)

1 grondvogsensor (Amazon)

Geleidende kabels (Amazon)

soldeerbout

Batteryhouer (Amazon)

saak

opsioneel: 3D -drukker (as u 'n 3D -drukker kan gebruik, hoef u nie 'n batteryhouer of 'n tas te hê nie)

Stap 1: Druk die omhulsel (opsioneel)

Druk die kas (opsioneel)
Druk die kas (opsioneel)
Druk die kas (opsioneel)
Druk die kas (opsioneel)

Laai hierdie zip -lêer af, pak dit uit en druk die lêers af. Die lêers is gemerk met die benodigde hoeveelheid van die item.

Voeg gerus iets by die deksel soos ek.

Ek het dit gedruk met 'n laaghoogte van 0,2 mm en 15% invul.

Die bokshoeke kan met m3 -skroewe vasgemaak word.

As die boks gedruk is, kan u 'n draad gebruik om die nodige verbindings op die batteryhouer te maak. U kan die prentjie as verwysing gebruik.

Stap 2: Bedrading

Bedrading
Bedrading
  • Voordat u die arduino aanskakel, moet u seker maak dat die antenna gekoppel is. As u die arduino sonder die antenna aanskakel, kan dit skade veroorsaak.
  • Koppel alles volgens die meegaande bedradingsdiagram.
  • As u hierdie drade soldeer, moet u geen penne op die sensors of die arduino oorbrug nie!

Stap 3: Skep 'n app op die Things Network

  • Gaan na https://www.thethingsnetwork.org/ en as u nog nie 'n rekening het nie, maak 'n rekening.
  • Sodra u 'n rekening het en aangemeld is, kan u na die konsole gaan (regs bo, klik op u gebruikersnaam en dan op die konsole).
  • Klik op toepassings.
  • Sodra die bladsy gelaai is, moet u op 'voeg toepassing' kan klik.
  • Vul die vorm in en kies die korrekte gebied onderaan. Klik op "voeg aansoek by".
  • Baie geluk, u het pas 'n toepassing op die dinge -netwerk geskep. = D

Stap 4: Koppel die Arduino aan die Things Network

Om die arduino te programmeer, raai ek u aan om die aanlyn arduino -idee te gebruik; dit maak dit baie maklik om in die nodige biblioteek te laai.

  • Maak u aansoek oop op die dinge -netwerk.
  • Daar moet 'n veld met die titel toestelle wees, klik op die registertoestel.
  • u sal 'n veld genaamd Device ID sien. dit is die naam wat u aan u sensor wil gee. Daar moet 'n ander toestel met die naam EUI wees, dit is die unieke sleutel wat u arduino gebruik om homself te verifieer.
  • Om hierdie sleutel te kry, moet ons die arduino met 'n spesifieke skets flits. Die skets kan hier gevind word. Hierdie skets moet uitgevoer word en die seriële monitor moet die eui stuur. Kopieer die eui van die seriële monitor na die Device EUI -veld op die dinge -netwerk.
  • Klik op registreer.
  • Nou het ons ons arduino by die wolk geregistreer. Dit is tyd om boodskappe te stuur.
  • U moes na 'n bladsy met die naam toesteloorsig herlei gewees het. Hier kan u u eui, app eui en app -sleutel van u toestel sien.
  • Om voort te gaan, moet ons die finale skets na die arduino flits. Die skets kan hier gevind word.
  • As u hierdie skakel oopmaak, sal u sien dat daar verskeie oortjies is. Maak die geheime -oortjie oop. Daar is 2 sleutels wat u nodig het om van die dinge -netwerk na die geheime -lêer te werk.
  • Sodra hierdie sleutels ingevul is, kan u die arduino flits. Dit begin een keer per uur data na die dinge -netwerk stuur.
  • As alles reg verloop, sou u boodskappe op die tabblad Data op die netwerk kon sien wanneer u die arduino herstel (die enigste knoppie op die bord).

    • As daar geen data hierbo verskyn nie, kan dit beteken dat u nie binne die korrekte LoRa -poort is nie. U kan 'n kaart met al die beskikbare gateways op https://thethingsnetwork.org nagaan. Die enkelkanaal LoRa -gateways werk nie met die aanbevole arduino nie.
    • As u nie binne die bereik van 'n poort is nie, kan u u eie poort aan die dinge -netwerk koppel. Hierdie gateways het gewoonlik redelike goeie tutoriale oor hoe om dit aan te sluit. Kyk in die aanbodlys na die aanbevole gateway.

Stap 5: Interpretasie van die data op die Things Network

  • Om bruikbare data uit die boodskappe op die dinge -netwerk te kry, moet ons die by -stroom dekodeer.
  • Gaan na u aansoek oor die dinge -netwerk.
  • Daar moet 'n oortjie met die naam "Payload formate" wees, klik op hierdie oortjie.
  • Daar is vier knoppies langs mekaar: "dekodeerder", "omskakelaar", "bekragtig", "encoder".
  • Klik op die dekodeerder.
  • Plak die volgende kode daar.

funksie Decoder (grepe, poort) {// Dekodeer 'n uplinkboodskap van 'n buffer // (skikking) grepe na 'n voorwerp van velde. var stringToDecode = bin2String (grepe); var res = stringToDecode.split (""); var temp = res [1]; var klam = res [3]; var bat = res [5]; var decoded = {"temperatuur": temp, "vog": klam, "battery": vlermuis}; terugkeer gedekodeer; } funksie bin2String (skikking) {var result = ""; vir (var i = 0; i <array.length; ++ i) {result+= (String.fromCharCode (array ))); } gee resultaat;}

  • Klik op stoor.
  • As u die arduino herstel en u data -oortjie bekyk, moet u 'n mooi geformateerde json -voorwerp sien wat u maklik kan lees.

Stap 6: Koppel u app aan AWS

Ons gaan AWS gebruik om die data van die dinge -netwerk te stoor en te gebruik. Al die hulpbronne wat ons gaan gebruik, word gedek onder die gratis vlak van AWS.

  • Gaan na AWS
  • Meld aan of skep 'n rekening.
  • Om u toepassing op die dinge-netwerk aan AWS te koppel, beveel ek aan dat u hierdie tutoriaal volg:
  • Nadat u hierdie tutoriaal voltooi het, navigeer u in die aws-konsole na die IoT-Core-segment.
  • In die linkermenubalk is daar 'n etiket "Bestuur", klik hierop.
  • U behoort nou 'n kaart te sien met die naam van u sensor daarin.
  • Klik weer in die menubalk aan die linkerkant op "Act"
  • As daar 'n kaart met die naam Store is, is u gereed.
  • Indien nie, klik op "Skep".
  • Vul die naam "winkel" in.
  • U kan 'n beskrywing byvoeg as u wil.
  • Vul as 'n navraagverklaring die volgende kode in: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • Onder "Stel een of meer aksies" klik op Voeg aksie by.
  • Kies "Verdeel boodskap in verskeie kolomme van 'n DynamoDb -tabel (DynamoDBv2)".
  • Klik op konfigureer aksie
  • Klik op skep nuwe bron.
  • Klik op skep tabel en gee u tafel 'n naam.
  • Vul "dev_id" onder die primêre sleutel in.
  • Klik op Voeg sorteersleutel by
  • Vul "tyd" in.
  • Klik op skep.
  • As alles goed verloop, moet u weer op die konfigurasie -aksiebladsy wees.
  • Daar is 'n effens grys gebied onder "Kies of skep 'n rol om AWS IoT toegang te verleen om hierdie aksie uit te voer."
  • Klik op Maak rol en gee hierdie rol 'n naam.
  • Klik op skep rol.
  • Klik Voeg aksie by.
  • Klik op skep reël.
  • U behoort nou 'n reël te hê wat alle inkomende boodskappe outomaties van die dinge -netwerk in DynamoDb stoor.
  • U kan kyk of dit werk deur die arduino terug te stel en na die DynamoDb -tabel te kyk wat u so pas geskep het.
  • Daar moet 'n rekord met die boodskap wees.

Stap 7: Maak 'n Lambda

Om die data van DynamoDB te lees, gaan ons 'n AWS -lambda skryf.

  • In die AWS -bestuurskonsole onder dienste is daar 'n skakel met die naam "Lambda", klik op hierdie.
  • Klik op skep funksie.
  • Kies 'n naam.
  • Stel runtime in op python 3.7.
  • Klik op skep funksie.
  • Plak hierdie kode in die geïntegreerde IDE.

invoer json

invoer boto3 invoertyd vanaf datetime invoer datetime, timedelta vanaf boto3.dynamodb.conditions invoer sleutel, Attr def lambda_handler (gebeurtenis, konteks): retour retreive_data () def retreive_data (): # Kry die dienshulpbron. dynamodb = boto3.resource ('dynamodb') tafel = dynamodb. Table ('TABLE NAME HERE') nou = datetime.now () gister = nou - timedelta (uur = 24) fe = sleutel ('tyd'). tussen (gister.isoformat (), now.isoformat ()) fed = Key ('time'). lt (gister.isoformat ()) response = table.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = fed) for f in recordsToDelete ['Items']: #print (f) table.delete_item (Sleutel = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = response ['Items '] data terugstuur

  • Verander die tabelnaam na die een wat u kies.
  • Rol af na die uitvoeringsrol.
  • Klik op skep 'n nuwe rol uit aws -beleidsjablone.
  • Kies 'n naam.
  • Kies 'beleidstoestemmings' en 'eenvoudige toestelle vir mikrodienste' onder beleidsjablone.
  • Klik op stoor.
  • Klik op toets.
  • 'N Opspring kan verskyn, kies 'n naam en stoor.
  • Klik weer op toets.
  • Aan die bokant moet daar 'n groen vaandel wees wat sê "Uitvoering resultaat: geslaag".
  • As u op hierdie banier klik, moet u die uitset van hierdie funksie sien; dit moet 'n lys van sensordata wees.
  • Hou in gedagte dat hierdie script al die data wat ouer as 24 uur is, uitvee.
  • As u vaandel nie groen maar rooi is nie, het u iets gemis en deur op hierdie vaandel te klik, kry u die volledige foutberig. In hierdie geval is Google jou beste vriend.

Stap 8: Skep 'n API -eindpunt

  • In die AWS-bestuurskonsole onder dienste is daar 'n skakel met die naam 'api-gateway', klik op hierdie.
  • Klik op skep API.
  • Maak seker dat beide "REST" en "Nuwe API" gekies is.
  • Kies 'n naam vir u API.
  • Klik op skep API.
  • Daar moet nou 'n knoppie met die naam aksies op die skerm verskyn, klik daarop.
  • Klik dan op skep hulpbron.
  • As hulpbronnaam moet u iets eenvoudig soos "plant" of "plantdata" kies.
  • Klik op skep hulpbron.
  • Aan die linkerkant moet daar nou die naam wees wat u so pas ingevoer het. klik op hierdie naam.
  • Klik nou weer op aksies en klik nou op metode voeg.
  • Kies GET.
  • Klik op die vinkje.
  • Daar moet 'n tekskassie met die naam Lambda Function wees.
  • Voer hier die naam in wat u aan u gegee het.
  • Klik op stoor.
  • Daar is moontlik 'n opspring wat u waarsku dat dit ekstra toestemmings skep.
  • Aanvaar hierdie opspring.
  • Klik nou onder aksies op aktiveer kors.
  • Klik op "aktiveer CORS en vervang bestaande CORS -opskrifte".
  • Klik op "ja, …".
  • Klik weer op aksies en klik op Implementeer API.
  • Kies [Nuwe fase] onder die implementeringsfase.
  • Kies 'n naam.
  • Klik op implementeer.
  • U het u api nou aanlyn aan die wêreld gepubliseer.
  • Klik op die skerm waarheen u aangekom het, op die "KRY" ander bron wat u so pas geskep het.
  • Daar moet 'n skakel aan die bokant wees met die naam "aanroep URL".
  • Kopieer hierdie skakel.
  • Plak dit in 'n blaaier en druk enter.
  • U behoort die data in die databasis te sien.

Stap 9: Koppel u plant aan die Social Plant Network

  • Gaan na
  • Klik op "Login".
  • Klik op skep rekening.
  • Vul die vorm in om u rekening te skep.
  • Let asseblief daarop dat die gebruikersnaam ook u e -posadres moet wees.
  • Klik op skep rekening.
  • Miskien moet u u e -posadres verifieer voordat u kan voortgaan.
  • Maak seker dat u aangemeld is.
  • Gaan terug na die tuisblad (klik op die logo in die linker boonste hoek).
  • Klik op die instellingsknoppie.
  • Vul die vorm in, u moet elke veld invul.
  • Die skakel na die api is die skakel wat u gestoor het nadat u die API -eindpunt geskep het.
  • As alles ingevul is, klik op die knoppie Stoor plant. die stelsel sal nou die api -skakel wat u ingevoer het, verifieer, en as dit korrek is, sal dit u plant in die netwerk stoor.
  • Gaan terug na die tuisblad.
  • U kan nou op alle plante klik, u moet al die geregistreerde plante kan sien. jou plant moet ook daar wees. As u op die kaart klik, word u na 'n oorsigbladsy van u fabriek geneem; dit sal ook advies bevat op grond van die waardes wat u in die instellings gestel het.

Stap 10: Leun terug en klap jouself op die rug

U het pas 'n aanleg aan die internet gekoppel. Nogal indrukwekkend, reg?

Aanbeveel: