Obsah:
- Zásoby
- Krok 1: Tisk pouzdra (volitelně)
- Krok 2: Zapojení
- Krok 3: Vytvořte aplikaci v síti věcí
- Krok 4: Připojení Arduina k síti věcí
- Krok 5: Interpretace dat v síti věcí
- Krok 6: Připojení vaší aplikace k AWS
- Krok 7: Vytvoření lambdy
- Krok 8: Vytvoření koncového bodu API
- Krok 9: Připojte svůj závod k síti Social Plant Network
- Krok 10: Nakloňte se a pohlaďte se po zádech
Video: Připojte svůj závod k cloudu: 10 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
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ě)
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í
- 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:
Připojte svůj Magicbit k Thingsboard: 3 kroky
Připojte svůj Magicbit k Thingsboard: V tomto projektu budeme odesílat data ze senzorů připojených k Magicbit, které můžeme vizuálně zobrazit na thingsboardu
Připojte svůj RevPi Core + RevPi DIO k Ubidots: 8 kroků
Připojte svůj RevPi Core + RevPi DIO k Ubidots: Revolution Pi je otevřený, modulární a odolný průmyslový počítač založený na zavedeném Raspberry Pi při splnění standardu EN61131-2. Základnu RevPi Core vybavenou modulem Raspberry Pi Compute Module lze bez problémů rozšířit pomocí vhodných
Připojte svůj RevPi Core k Ubidots: 5 kroků
Připojte svůj RevPi Core k Ubidots: Revolution Pi je otevřený, modulární a odolný průmyslový počítač založený na zavedeném Raspberry Pi při splnění standardu EN61131-2. Základnu RevPi Core vybavenou modulem Raspberry Pi Compute Module lze bez problémů rozšířit pomocí vhodných
Připojte svůj Headless Pi k WiFi síti knihovny: 7 kroků
Připojte svůj Headless Pi k knihovně WiFi síti: Kolikrát jste již chtěli pracovat na svých bezhlavých projektech Raspberry Pi v místní knihovně, abyste se ocitli zaseknutí, protože otevřená WiFi síť vyžaduje použití prohlížeče? Už se nemusíte bát, tento Instructable je tu, aby vám pomohl! Budeme
Připojte svůj Mac k HDTV: 5 kroků
Připojte svůj Mac k HDTV: V tomto Návodu podrobně vysvětlím, jak připojit váš MacBook nebo iMac k HDTV. Existuje mnoho aplikací pro takové nastavení a seznam je prakticky nekonečný. Zde je několik: - Streamování videa z internetu. Mnoho stránek