Inhoudsopgave:

Verbind uw installatie met de cloud: 10 stappen
Verbind uw installatie met de cloud: 10 stappen

Video: Verbind uw installatie met de cloud: 10 stappen

Video: Verbind uw installatie met de cloud: 10 stappen
Video: Energieverbruik verlagen? Leer dan in 13 min Hybride Ready Intergas xtreme installeren 2024, Juli-
Anonim
Verbind uw fabriek met de cloud
Verbind uw fabriek met de cloud
Verbind uw fabriek met de cloud
Verbind uw fabriek met de cloud
Verbind uw fabriek met de cloud
Verbind uw fabriek met de cloud

In ons kantoor staat een cactus die niet de aandacht kreeg die hij verdiende. Omdat ik bij een IT-bedrijf werk en wilde experimenteren met LoRa, serverloze oplossingen en AWS, noemde ik onze cactus Steeve en verbond hem met de cloud. Je kunt Steeve nu van bijna overal ter wereld in de gaten houden met behulp van de webpagina die ik voor hem heb gemaakt: Steeve's webinterface.

Benodigdheden

1 cactus / je favoriete plant

1 Arduino MKR WAN 1300 (Arduino-winkel)

1 868mHz/914mHz (afhankelijk van uw locatie) antenne (Amazon)

1 LoRa Gateway wanneer niet binnen bereik van één (Amazon)

2 AA-batterijen

1 TMP102-sensor (Amazon)

1 bodemvochtsensor (Amazon)

Geleidende kabels (Amazon)

soldeerbout

Batterijhouder (Amazon)

geval

optioneel: 3D-printer (als je een 3D-printer kunt gebruiken, heb je geen batterijhouder of een koffer nodig)

Stap 1: De zaak afdrukken (optioneel)

De behuizing afdrukken (optioneel)
De behuizing afdrukken (optioneel)
De behuizing afdrukken (optioneel)
De behuizing afdrukken (optioneel)

Download dit zip-bestand, pak het uit en print de bestanden. De bestanden zijn gemarkeerd met het benodigde bedrag van het item.

Voel je vrij om iets toe te voegen aan het deksel zoals ik deed.

Ik heb deze afgedrukt met een laaghoogte van 0,2 mm en 15% vulling.

De kokerhaken kunnen worden bevestigd met m3 schroeven.

Wanneer de doos is bedrukt, kunt u wat draad gebruiken om de benodigde verbindingen op de batterijhouder te maken. U kunt de meegeleverde afbeelding als referentie gebruiken.

Stap 2: Bedrading

Bedrading
Bedrading
  • Voordat u de arduino inschakelt, moet u ervoor zorgen dat de antenne is aangesloten, het inschakelen van de arduino zonder de antenne kan schade veroorzaken.
  • Sluit alles aan volgens het meegeleverde aansluitschema.
  • Als je deze draden soldeert, zorg er dan voor dat je geen pinnen op de sensoren of de arduino overbrugt!

Stap 3: Maak een app op het Things Network

  • Ga naar https://www.thethingsnetwork.org/ en als je nog geen account hebt, maak er dan een aan.
  • Zodra u een account heeft en bent ingelogd, kunt u naar de console gaan (rechtsboven op uw gebruikersnaam en vervolgens op console).
  • Klik op toepassingen.
  • Zodra de pagina is geladen, zou u op "toepassing toevoegen" moeten kunnen klikken.
  • Vul het formulier in en kies onderaan de juiste regio. Klik op "toepassing toevoegen".
  • Gefeliciteerd, je hebt zojuist een applicatie gemaakt op het things-netwerk. =D

Stap 4: De Arduino verbinden met het Things Network

Om de arduino te programmeren raad ik je aan om de online arduino ide te gebruiken, dit maakt het laden in de benodigde bibliotheek erg makkelijk.

  • Open uw applicatie op het things-netwerk.
  • Er zou een veld moeten zijn met de titel apparaten, klik op apparaat registreren.
  • u ziet een veld met de naam Apparaat-ID. dit is de naam die u uw sensor wilt geven. Er zou er nog een moeten zijn met het label Device EUI, dit is de unieke sleutel die je arduino gebruikt om zichzelf te authenticeren.
  • Om deze sleutel te krijgen, moeten we de arduino flashen met een specifieke schets. De schets is hier te vinden. Deze schets moet lopen en over de seriële monitor moet de eui worden verzonden. Kopieer de eui van de seriële monitor naar het veld Device EUI op het things-netwerk.
  • Klik op registreren.
  • Nu hebben we onze arduino geregistreerd in de cloud. Het is tijd om berichten te gaan versturen.
  • U zou zijn doorgestuurd naar een pagina met de naam apparaatoverzicht. Hier kunt u uw apparaat eui, app eui en app-sleutel zien.
  • Om verder te gaan, moeten we de laatste schets naar de Arduino flashen. De schets is hier te vinden.
  • Wanneer u deze link opent, ziet u dat er meerdere tabbladen zijn. Open het tabblad geheimen. Er zijn 2 sleutels die je nodig hebt om het hoofd te bieden aan het dingennetwerk tot het geheimenbestand.
  • Zodra deze toetsen zijn ingevuld, kunt u de arduino flashen. Het begint eenmaal per uur met het verzenden van gegevens naar het things-netwerk.
  • Als alles goed is gegaan, zou je berichten moeten kunnen zien die binnenkomen op het tabblad Gegevens op het dingennetwerk bij het resetten van de arduino (de enige knop op het bord).

    • Als hier geen gegevens verschijnen, kan dit betekenen dat u zich niet binnen het bereik van een correcte LoRa-gateway bevindt. U kunt een kaart met alle beschikbare gateways bekijken op https://thethingsnetwork.org. De enkelkanaals LoRa-gateways werken niet met de aanbevolen arduino.
    • Als u zich niet binnen het bereik van een gateway bevindt, kunt u uw eigen gateway koppelen aan het things-netwerk. Deze gateways hebben meestal redelijk goede tutorials over hoe ze te verbinden. Kijk in de aanbodlijst voor de aanbevolen gateway.

Stap 5: Interpretatie van de gegevens op het Things Network

  • Om bruikbare gegevens uit de berichten op het dingennetwerk te krijgen, moeten we de bytestream decoderen.
  • Ga op het dingennetwerk naar uw applicatie.
  • Er zou een tabblad moeten zijn met het label "Payload-indelingen", klik op dit tabblad.
  • Er zijn 4 knoppen naast elkaar: "decoder", "converter", "validator", "encoder".
  • Klik op decoder.
  • Plak daar de volgende code.

function Decoder(bytes, port) { // Decodeer een uplinkbericht van een buffer // (array) van bytes naar een object van velden. var stringToDecode=bin2String(bytes); var res=stringToDecode.split(" "); var temp=res[1]; var vochtig = res[3]; var bat= res[5]; var decoded = {"temperatuur":temp, "vocht":vochtig, "batterij":bat}; terug gedecodeerd; } functie bin2String (array) { var resultaat = ""; for(var i = 0; i <array.length; ++i){ result+= (String.fromCharCode(array)); } resultaat retourneren;}

  • Klik op opslaan.
  • Wanneer u de arduino reset en uw gegevenstabblad bekijkt, zou u een mooi opgemaakt json-object moeten zien dat u gemakkelijk kunt lezen.

Stap 6: Uw app verbinden met AWS

We gaan AWS gebruiken om de gegevens van het things-netwerk op te slaan en te gebruiken. Alle bronnen die we gaan gebruiken, vallen onder de gratis laag van AWS.

  • Ga naar AWS
  • Login of creëer een account.
  • Om uw applicatie op het things-netwerk te verbinden met AWS, raad ik aan deze tutorial te volgen:
  • Nadat u deze zelfstudie hebt voltooid, navigeert u in de aws-console naar het IoT-Core-segment.
  • In de linker menubalk staat een label "Beheren", klik hierop.
  • U zou nu een kaart moeten zien met de naam van uw sensor erin.
  • Klik nogmaals in de linker menubalk op "Act"
  • Als er een kaart met het label Store is, bent u klaar om te gaan.
  • Zo niet, klik dan op "Maken".
  • Vul de naam "Winkel" in.
  • U kunt desgewenst een beschrijving toevoegen.
  • Vul als query-instructie de volgende code in: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • Klik onder 'Een of meer acties instellen' op actie toevoegen.
  • Selecteer "Bericht splitsen in meerdere kolommen van een DynamoDb-tabel (DynamoDBv2)".
  • Klik op actie configureren
  • Klik op nieuwe bron maken.
  • Klik op tabel maken en geef uw tabel een naam.
  • Vul onder primaire sleutel "dev_id" in.
  • Klik op sorteersleutel toevoegen
  • Vul "tijd" in.
  • Klik op maken.
  • Als alles goed is gegaan, zou je terug moeten zijn op de actiepagina voor configureren.
  • Er is een enigszins grijs gebied onder "Kies of maak een rol om AWS IoT-toegang te verlenen om deze actie uit te voeren."
  • Klik op Rol aanmaken en geef deze rol een naam.
  • Klik op rol maken.
  • Klik op actie toevoegen.
  • Klik op regel maken.
  • U zou nu een regel moeten hebben die automatisch alle inkomende berichten van het things-netwerk opslaat in DynamoDb.
  • U kunt controleren of dit werkt door de arduino opnieuw in te stellen en in de DynamoDb-tabel te kijken die u zojuist hebt gemaakt.
  • Er moet een record met het bericht zijn.

Stap 7: Een Lambda maken

Om de data uit DynamoDB te lezen gaan we een AWS lambda schrijven.

  • In de AWS-beheerconsole onder services is er een link met het label "Lambda", klik hierop.
  • Klik op functie aanmaken.
  • Kies een naam.
  • Stel runtime in op python 3.7.
  • Klik op functie aanmaken.
  • Plak deze code in de geïntegreerde IDE.

import json

importeer boto3 importeer tijd van datetime importeer datetime, timedelta van boto3.dynamodb.conditions import Key, Attr def lambda_handler(event, context): return retreive_data() def retreive_data(): # Haal de servicebron op. dynamodb = boto3.resource('dynamodb') table = dynamodb. Table('TABELNAAM HIER') now = datetime.now() gisteren = nu - timedelta(hours=24) fe = Key('time').tussen(gisteren.isoformat(), now.isoformat()) fed =Key('time').lt(yesterday.isoformat()) response = table.scan(FilterExpression=fe) recordsToDelete=table.scan(FilterExpression=fed) voor f in recordsToDelete['Items']: #print(f) table.delete_item(Key={'dev_id':f['dev_id'], 'time':f['time']}) data = response['Items '] gegevens retourneren

  • Wijzig de tafelnaam in de naam die u kiest.
  • Scroll naar beneden naar de uitvoeringsrol.
  • Klik op een nieuwe rol maken op basis van aws-beleidssjablonen.
  • Kies een naam.
  • Selecteer onder beleidssjablonen "Test harnasmachtigingen" en "Eenvoudige microservicemachtigingen".
  • Klik op opslaan.
  • Klik op testen.
  • Er kan een pop-up verschijnen, kies gewoon een naam en sla op.
  • Klik nogmaals op testen.
  • Bovenaan zou er een groene banner moeten staan met de tekst "Uitvoeringsresultaat: geslaagd".
  • Wanneer u op deze banner klikt, zou u de uitvoer van deze functie moeten zien, dit zou een lijst van sensordata moeten zijn.
  • Houd er rekening mee dat dit script alle gegevens verwijdert die ouder zijn dan 24 uur.
  • Als uw banner niet groen maar rood is, heeft u iets gemist en als u op deze banner klikt, krijgt u de volledige foutmelding. In dit geval is Google je beste vriend.

Stap 8: Een API-eindpunt maken

  • In de AWS-beheerconsole onder services is er een link met het label "api-gateway", klik hierop.
  • Klik op API maken.
  • Zorg ervoor dat "REST" en "Nieuwe API" beide zijn geselecteerd.
  • Kies een naam voor uw api.
  • Klik op API maken.
  • Er zou nu een knop met het label acties op het scherm moeten staan, klik erop.
  • Klik vervolgens op bron maken.
  • Als resourcenaam zou u iets eenvoudigs moeten gebruiken, zoals "plant" of "plant-data".
  • Klik op bron maken.
  • Aan de linkerkant zou nu de naam moeten staan die u zojuist hebt ingevoerd. klik op deze naam.
  • Klik nu opnieuw op acties en klik nu op methode toevoegen.
  • Selecteer KRIJGEN.
  • Klik op het vinkje.
  • Er zou een tekstvak moeten zijn met het label Lambda Function.
  • Voer hier de naam in die u aan de lambda-functie hebt gegeven.
  • Klik op opslaan.
  • Er kan een pop-up verschijnen die u waarschuwt dat het extra machtigingen aanmaakt.
  • Accepteer deze pop-up.
  • Klik nu onder acties op cors inschakelen.
  • Klik op "CORS inschakelen en bestaande CORS-headers vervangen".
  • Klik op "ja, …".
  • Klik nogmaals op acties en klik op API implementeren.
  • Selecteer onder implementatiefase [Nieuwe fase].
  • Kies een naam.
  • Klik op implementeren.
  • U heeft uw api nu online aan de wereld gepubliceerd.
  • Op het scherm waar je nu bent aangekomen klik je op "GET" naast de resource die je zojuist hebt aangemaakt.
  • Er moet een link bovenaan staan met het label "invoke URL".
  • Kopieer deze link.
  • Plak het in een browser en druk op enter.
  • U zou de gegevens in de database moeten zien.

Stap 9: Verbind uw plant met het sociale plantennetwerk

  • Ga naar
  • Klik op "Inloggen".
  • Klik op account aanmaken.
  • Vul het formulier in om uw account aan te maken.
  • Houd er rekening mee dat de gebruikersnaam ook uw e-mailadres moet zijn.
  • Klik op account aanmaken.
  • Mogelijk moet u uw e-mailadres verifiëren voordat u verder kunt gaan.
  • Zorg ervoor dat u bent ingelogd.
  • Ga terug naar de startpagina (klik op het logo in de linkerbovenhoek).
  • Klik op de instellingenknop.
  • Vul het formulier in, u dient elk veld in te vullen.
  • De link naar de api is de link die je hebt opgeslagen nadat je het API-eindpunt hebt gemaakt.
  • Als alles is ingevuld klikt u op de knop plant opslaan. het systeem zal nu de ingevoerde api-link verifiëren en als dit correct is, wordt uw installatie in het netwerk opgeslagen.
  • Ga terug naar de startpagina.
  • U kunt nu op alle planten klikken, u zou alle geregistreerde planten moeten kunnen zien. je plant moet er ook in staan. klik op de kaart en je komt op een overzichtspagina van je plant, ook geeft het advies op basis van de waarden die je in de instellingen hebt ingesteld.

Stap 10: Leun achterover en klop jezelf op de rug

U heeft zojuist een installatie op internet aangesloten. Best indrukwekkend, toch?

Aanbevolen: