Obsah:

Připojte svůj závod k cloudu: 10 kroků
Připojte svůj závod k cloudu: 10 kroků

Video: Připojte svůj závod k cloudu: 10 kroků

Video: Připojte svůj závod k cloudu: 10 kroků
Video: Pomalý PC? 😫 TĚCHTO 20 TIPŮ TI POMŮŽE.. [JAK ZRYCHLIT PC🔥] 2024, Září
Anonim
Připojte svůj závod k cloudu
Připojte svůj závod k cloudu
Připojte svůj závod k cloudu
Připojte svůj závod k cloudu
Připojte svůj závod k cloudu
Připojte svůj závod k cloudu

V naší kanceláři je kaktus, kterému se nedostává zasloužené pozornosti. Protože pracuji v IT společnosti a chtěl jsem experimentovat s LoRa, bezserverovými řešeními a AWS, pojmenoval jsem náš kaktus Steeve a připojil ho ke cloudu. Nyní můžete Steeve sledovat téměř odkudkoli na světě pomocí webové stránky, kterou jsem pro něj vytvořil: webového rozhraní Steeve.

Zásoby

1 kaktus / vaše oblíbená rostlina

1 Arduino MKR WAN 1300 (obchod Arduino)

1 868 MHz/914 MHz (závisí na vaší poloze) anténa (Amazon)

1 brána LoRa, pokud není v dosahu jedné (Amazon)

2 baterie AA

1 snímač TMP102 (Amazon)

1 snímač vlhkosti půdy (Amazon)

Vodivé kabely (Amazon)

páječka

Držák baterie (Amazon)

případ

volitelně: 3D tiskárna (pokud můžete použít 3D tiskárnu, nepotřebujete držák baterie ani pouzdro)

Krok 1: Tisk pouzdra (volitelně)

Tisk pouzdra (volitelně)
Tisk pouzdra (volitelně)
Tisk pouzdra (volitelně)
Tisk pouzdra (volitelně)

Stáhněte si tento zip soubor, rozbalte jej a vytiskněte soubory. Soubory jsou označeny potřebným množstvím položky.

Klidně něco přidejte na víko jako já.

Vytiskl jsem je pomocí výšky vrstvy 0,2 mm a 15% výplně.

Boxhooky lze připevnit pomocí šroubů m3.

Když je krabice vytištěna, můžete použít nějaký drát k vytvoření potřebných spojení na držáku baterie. Poskytnutý obrázek můžete použít jako referenci.

Krok 2: Zapojení

Elektrické vedení
Elektrické vedení
  • Před zapnutím arduina se ujistěte, že je připojena anténa, zapnutí arduina bez antény může způsobit poškození.
  • Připojte vše podle dodaného schématu zapojení.
  • Pokud tyto vodiče pájíte, ujistěte se, že nepřemostíte žádné kolíky na senzorech nebo arduino!

Krok 3: Vytvořte aplikaci v síti věcí

  • Přejděte na https://www.thethingsnetwork.org/ a pokud ještě nemáte účet, vytvořte si jej.
  • Jakmile máte účet a jste přihlášeni, můžete přejít na konzolu (pravý horní roh, kliknout na své uživatelské jméno a poté na konzolu).
  • Klikněte na aplikace.
  • Jakmile se stránka načte, měli byste být schopni kliknout na „přidat aplikaci“.
  • Vyplňte formulář a dole vyberte správnou oblast. Klikněte na „přidat aplikaci“.
  • Gratulujeme, právě jste vytvořili aplikaci v síti věcí. = D

Krok 4: Připojení Arduina k síti věcí

K programování arduina vám doporučuji použít online arduino ide, což velmi usnadňuje načítání potřebné knihovny.

  • Otevřete aplikaci v síti věcí.
  • Mělo by existovat pole s názvem zařízení, klikněte na zaregistrovat zařízení.
  • uvidíte pole s názvem ID zařízení. toto je jméno, které chcete dát svému senzoru. Měl by existovat ještě jeden označený Device EUI, to je jedinečný klíč, který vaše arduino používá k autentizaci.
  • Abychom získali tento klíč, musíme flashovat arduino s konkrétním náčrtem. Náčrt lze nalézt zde. Tato skica by měla běžet a přes sériový monitor by měla odeslat eui. Zkopírujte eui ze sériového monitoru do pole Device EUI v síti věcí.
  • Klikněte na zaregistrovat.
  • Nyní jsme zaregistrovali naše arduino do cloudu. Je čas začít posílat zprávy.
  • Měli byste být přesměrováni na stránku s názvem přehled zařízení. Zde vidíte své zařízení eui, app eui a klíč aplikace.
  • Abychom mohli pokračovat, musíme flashovat finální skicu na arduino. Skicu najdete zde.
  • Když otevřete tento odkaz, uvidíte, že existuje více karet. Otevřete kartu tajemství. Od sítě věcí až po soubor tajemství musíte zvládnout 2 klíče.
  • Jakmile jsou tyto klíče vyplněny, můžete blikat arduino. Jednou za hodinu začne odesílat data do sítě věcí.
  • Pokud vše proběhlo správně, měli byste po resetování arduina (jediné tlačítko na desce) vidět zprávy přicházející na kartu Data v síti věcí.

    • Pokud se zde nezobrazují žádná data, může to znamenat, že nejste v dosahu správné brány LoRa. Mapu se všemi dostupnými branami můžete zkontrolovat na https://thethingsnetwork.org. Jednokanálové brány LoRa nebudou fungovat s doporučeným arduinem.
    • Pokud nejste v dosahu brány, můžete svou vlastní bránu propojit se sítí věcí. Tyto brány mají obvykle docela dobré návody, jak je připojit. Doporučenou bránu vyhledejte v seznamu dodávek.

Krok 5: Interpretace dat v síti věcí

  • Abychom získali použitelná data ze zpráv v síti věcí, musíme dekódovat bytestream.
  • V síti věcí přejděte do své aplikace.
  • Měla by existovat karta s názvem „Formáty užitečného zatížení“, klikněte na tuto kartu.
  • Vedle sebe jsou 4 tlačítka: „dekodér“, „převodník“, „validátor“, „kodér“.
  • Klikněte na dekodér.
  • Vložte tam následující kód.

funkce Dekodér (bajty, port) {// Dekóduje vzestupnou zprávu z vyrovnávací paměti // (pole) bajtů na objekt polí. var stringToDecode = bin2String (bajty); var res = stringToDecode.split (""); var temp = res [1]; var vlhký = res [3]; var bat = res [5]; var decoded = {"teplota": teplota, "vlhkost": vlhká, "baterie": bat}; návrat dekódován; } funkce bin2String (pole) {var result = ""; for (var i = 0; i <array.length; ++ i) {result+= (String.fromCharCode (array )); } vrátit výsledek;}

  • Klikněte na Uložit.
  • Když resetujete arduino a zobrazíte kartu dat, měli byste vidět pěkně formátovaný objekt json, který můžete snadno přečíst.

Krok 6: Připojení vaší aplikace k AWS

AWS použijeme k ukládání a používání dat ze sítě věcí. Všechny prostředky, které použijeme, jsou zahrnuty pod bezplatnou úrovní AWS.

  • Přejděte na AWS
  • Přihlaste se nebo si vytvořte účet.
  • Chcete-li připojit svou aplikaci v síti věcí k AWS, doporučuji použít tento návod:
  • Po dokončení tohoto kurzu přejděte v konzole aws do segmentu IoT-Core.
  • V levém podnabídce je štítek „Spravovat“, klikněte na toto.
  • Nyní byste měli vidět kartu se jménem vašeho senzoru.
  • V levém menu opět klikněte na „Akt“
  • Pokud existuje karta s označením Store, můžete jít.
  • Pokud ne, klikněte na „Vytvořit“.
  • Vyplňte název „Obchod“.
  • Pokud chcete, můžete přidat popis.
  • Jako příkaz dotazu zadejte následující kód: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up'.
  • V části „Nastavit jednu nebo více akcí“klikněte na Přidat akci.
  • Vyberte „Rozdělit zprávu do více sloupců tabulky DynamoDb (DynamoDBv2)“.
  • Klikněte na konfigurovat akci
  • Klikněte na vytvořit nový prostředek.
  • Klikněte na vytvořit tabulku a pojmenujte ji.
  • Pod primární klíč zadejte „dev_id“.
  • Klikněte na Přidat klíč řazení
  • Vyplňte „čas“.
  • Klikněte na vytvořit.
  • Pokud vše proběhlo dobře, měli byste být zpět na stránce akce konfigurace.
  • V části „Vyberte nebo vytvořte roli pro udělení přístupu AWS IoT k provedení této akce“je mírně zašedlá oblast.
  • Klikněte na vytvořit roli a pojmenujte tuto roli.
  • Klikněte na vytvořit roli.
  • Klikněte na Přidat akci.
  • Klikněte na vytvořit pravidlo.
  • Nyní byste měli mít pravidlo, které automaticky ukládá všechny příchozí zprávy ze sítě věcí do DynamoDb.
  • Můžete zkontrolovat, zda to funguje, resetováním arduina a jít se podívat do tabulky DynamoDb, kterou jste právě vytvořili.
  • Se zprávou by měl být záznam.

Krok 7: Vytvoření lambdy

Ke čtení dat z DynamoDB napíšeme lambdu AWS.

  • V konzole pro správu AWS pod službami je odkaz označený „Lambda“, klikněte na tento.
  • Klikněte na vytvořit funkci.
  • Vyberte jméno.
  • Nastavit runtime na python 3.7.
  • Klikněte na vytvořit funkci.
  • Vložte tento kód do integrovaného IDE.

importovat json

import boto3 import time from datetime import datetime, timedelta from boto3.dynamodb.conditions import key, Attr def lambda_handler (event, context): return retreive_data () def retreive_data (): # Get the service resource. dynamodb = boto3.resource ('dynamodb') tabulka = dynamodb. Table ('TABLE NAME HERE') now = datetime.now () včera = nyní - timedelta (hodiny = 24) fe = klíč ('čas'). mezi (včera.isoformat (), now.isoformat ()) fed = klíč ('čas'). lt (včera.isoformat ()) response = table.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = fed) pro f in recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = response ['Items '] vrátit data

  • Změňte název tabulky na ten, který si vyberete.
  • Přejděte dolů na roli provádění.
  • Klikněte na Vytvořit novou roli ze šablon zásad AWS.
  • Vyberte jméno.
  • V části šablony zásad vyberte „Testovat oprávnění svazku“a „Jednoduchá oprávnění pro mikroslužby“.
  • Klikněte na Uložit.
  • Klikněte na test.
  • Může se zobrazit vyskakovací okno, stačí vybrat jméno a uložit.
  • Klikněte znovu na test.
  • Nahoře by měl být zelený banner s nápisem „Execution result: failed“.
  • Po kliknutí na tento banner byste měli vidět výstup této funkce, měl by to být seznam smyslů.
  • Pamatujte, že tento skript odstraní všechna data starší než 24 hodin.
  • Pokud váš banner není zelený, ale červený, něco vám uniklo a kliknutím na tento banner získáte úplnou chybovou zprávu. V tomto případě je Google váš nejlepší přítel.

Krok 8: Vytvoření koncového bodu API

  • V konzole pro správu AWS pod službami je odkaz označený jako „api-gateway“, klikněte na tento.
  • Klikněte na vytvořit API.
  • Ujistěte se, že jsou vybrány „REST“a „New API“.
  • Vyberte název rozhraní API.
  • Klikněte na vytvořit API.
  • Na obrazovce by nyní mělo být tlačítko označené akcí, klikněte na něj.
  • Poté klikněte na vytvořit zdroj.
  • Jako název zdroje byste měli zadat něco jednoduchého, například „závod“nebo „data zařízení“.
  • Klikněte na vytvořit zdroj.
  • Vlevo by nyní mělo být jméno, které jste právě zadali. klikněte na toto jméno.
  • Nyní znovu klikněte na akce a nyní klikněte na metodu přidání.
  • Vyberte ZÍSKAT.
  • Klikněte na zatržítko.
  • Mělo by existovat textové pole označené jako Lambda Function.
  • Sem zadejte název, který jste vám dali funkci lambda.
  • Klikněte na Uložit.
  • Může se zobrazit vyskakovací okno, které vás upozorní, že vytváří další oprávnění.
  • Přijměte toto vyskakovací okno.
  • Nyní v rámci akcí klikněte na povolit cors.
  • Klikněte na „povolit CORS a nahradit stávající záhlaví CORS“.
  • Klikněte na „ano,…“.
  • Klikněte znovu na akce a klikněte na Nasadit API.
  • Ve fázi nasazení vyberte [Nová fáze].
  • Vyberte jméno.
  • Klikněte na nasadit.
  • Nyní jste zveřejnili své API online do světa.
  • Na obrazovce, kam jste dorazili, nyní klikněte na „ZÍSKAT“a znovu vytvořte zdroj.
  • Nahoře by měl být odkaz označený jako „vyvolávací adresa URL“.
  • Zkopírujte tento odkaz.
  • Vložte jej do prohlížeče a stiskněte Enter.
  • Měli byste vidět data, která jsou v databázi.

Krok 9: Připojte svůj závod k síti Social Plant Network

  • Přejděte na
  • Klikněte na „Přihlásit“.
  • Klikněte na vytvořit účet.
  • Vyplňte formulář pro vytvoření účtu.
  • Uživatelské jméno musí být také váš e -mail.
  • Klikněte na vytvořit účet.
  • Než budete moci pokračovat, bude možná nutné ověřit váš e -mail.
  • Ujistěte se, že jste přihlášeni.
  • Přejděte zpět na domovskou stránku (klikněte na logo v levém horním rohu).
  • Klikněte na tlačítko nastavení.
  • Vyplňte formulář, měli byste vyplnit všechna pole.
  • Odkaz na rozhraní API je odkaz, který jste uložili po vytvoření koncového bodu API.
  • Když je vše vyplněno, klikněte na tlačítko Uložit rostlinu. systém nyní ověří odkaz API, který jste zadali, a pokud je správný, uloží váš závod do sítě.
  • Vraťte se na domovskou stránku.
  • Nyní můžete kliknout na všechny rostliny, měli byste vidět všechny registrované rostliny. měla by tam být i vaše rostlina. kliknutím na kartu se dostanete na stránku s přehledem vašeho závodu, zobrazí také rady založené na hodnotách, které jste nastavili v nastavení.

Krok 10: Nakloňte se a pohlaďte se po zádech

Právě jste připojili závod k internetu. Docela působivé, že?

Doporučuje: