Բովանդակություն:

Միացրեք ձեր գործարանը ամպին: 10 քայլ
Միացրեք ձեր գործարանը ամպին: 10 քայլ
Anonim
Միացրեք ձեր գործարանը ամպին
Միացրեք ձեր գործարանը ամպին
Միացրեք ձեր գործարանը ամպին
Միացրեք ձեր գործարանը ամպին
Միացրեք ձեր գործարանը ամպին
Միացրեք ձեր գործարանը ամպին

Մեր գրասենյակում կա մի կակտուս, որը չարժանացավ իր արժանի ուշադրությանը: Քանի որ ես աշխատում էի ՏՏ ընկերությունում և ցանկանում էի փորձարկել LoRa- ն, առանց սերվերների լուծումները և AWS- ը, ես մեր կակտուսին անվանեցի Սթիվ և կապեցի ամպի հետ: Այժմ դուք կարող եք վերահսկել Սթիվին աշխարհի գրեթե ցանկացած վայրից ՝ օգտագործելով այն կայքը, որը ես պատրաստել եմ նրա համար ՝ Սթիվի վեբ ինտերֆեյսը:

Պարագաներ

1 կակտուս / ձեր սիրած բույսը

1 Arduino MKR WAN 1300 (Arduino խանութ)

1 868 մՀց/914 մՀց (կախված է ձեր գտնվելու վայրից) ալեհավաք (Amazon)

1 LoRa Gateway, երբ մեկի միջակայքում չէ (Amazon)

2 AA մարտկոց

1 TMP102 սենսոր (Amazon)

1 հողի խոնավության տվիչ (Amazon)

Հաղորդիչ մալուխներ (Amazon)

զոդման երկաթ

Մարտկոցի կրիչ (Amazon)

գործը

ըստ ցանկության. 3D տպիչ (եթե կարող եք օգտագործել 3D տպիչ, ապա ձեզ հարկավոր չէ մարտկոցի պահոց կամ պատյան)

Քայլ 1: Գործի տպում (ըստ ցանկության)

Գործի տպում (ըստ ցանկության)
Գործի տպում (ըստ ցանկության)
Գործի տպում (ըստ ցանկության)
Գործի տպում (ըստ ցանկության)

Ներբեռնեք այս zip ֆայլը, բացեք այն և տպեք ֆայլերը: Ֆայլերը նշված են նյութի անհրաժեշտ քանակությամբ:

Ազատորեն ավելացրեք ինչ -որ բան կափարիչին, ինչպես ես արեցի:

Ես դրանք տպել եմ ՝ օգտագործելով 0,2 մմ բարձրության շերտ և 15% լցոնում:

Արկղերը կարելի է ամրացնել ՝ օգտագործելով m3 պտուտակներ:

Երբ տուփը տպագրվում է, կարող եք մի փոքր մետաղալար օգտագործել մարտկոցի բռնակի վրա անհրաժեշտ միացումներ կատարելու համար: Որպես հղում կարող եք օգտագործել տրամադրված նկարը:

Քայլ 2: Լարերի տեղադրում

Հաղորդալարեր
Հաղորդալարեր
  • Արդուինոն միացնելուց առաջ համոզվեք, որ ալեհավաքը միացված է, առանց ալեհավաքի արդուինոյի սնուցումը կարող է վնաս պատճառել:
  • Միացրեք ամեն ինչ `համաձայն էլեկտրագծերի սխեմայի:
  • Եթե դուք կպցնում եք այս լարերը, համոզվեք, որ սենսորների կամ արդուինոյի վրա որևէ կապում չեք կամրջում:

Քայլ 3: Ստեղծեք ծրագիր Things Network- ում

  • Գնացեք https://www.thethingsnetwork.org/ և եթե դեռ հաշիվ չունեք, ստեղծեք այն:
  • Հաշիվ ունենալուց և մուտք գործելուց հետո կարող եք գնալ մխիթարել (վերևի աջ անկյունում, կտտացրեք ձեր օգտվողի անունին, այնուհետև վահանակին):
  • Սեղմեք դիմումների վրա:
  • Էջը բեռնելուց հետո դուք պետք է կարողանաք սեղմել «ավելացնել ծրագիր»:
  • Լրացրեք ձևը և ներքևում ընտրեք ճիշտ շրջանը: Կտտացրեք «ավելացնել ծրագիր»:
  • Շնորհավորում ենք, դուք հենց նոր ծրագիր ստեղծեցիք իրերի ցանցում: = Դ

Քայլ 4. Arduino- ի միացում իրերի ցանցին

Արդուինոն ծրագրավորելու համար խորհուրդ եմ տալիս օգտագործել առցանց arduino ide- ը, ինչը շատ դյուրին է դարձնում անհրաժեշտ գրադարանում բեռնումը:

  • Բացեք ձեր ծրագիրը իրերի ցանցում:
  • Պետք է լինի դաշտ, որը կոչվում է սարքեր, կտտացրեք գրանցել սարքը:
  • դուք կտեսնեք մի դաշտ, որը կոչվում է Device Id: սա այն անունն է, որը ցանկանում եք տալ ձեր սենսորին: Պետք է լինի մեկ այլ պիտակ ՝ Device EUI, սա եզակի բանալին է, որն օգտագործում է ձեր arduino- ն ինքնությունը հաստատելու համար:
  • Այս բանալին ստանալու համար մենք պետք է arduino- ն թռցնենք կոնկրետ ուրվագծով: Էսքիզը կարելի է գտնել այստեղ: Այս ուրվագիծը պետք է գործարկվի, իսկ սերիական մոնիտորի վրայով պետք է ուղարկվի eui: Պատճենեք eui- ն սերիական մոնիտորից դեպի Device EUI դաշտ իրերի ցանցում:
  • Կտտացրեք գրանցվել:
  • Այժմ մենք գրանցեցինք մեր arduino- ն ամպին: Itամանակն է սկսել հաղորդագրություններ ուղարկել:
  • Դուք պետք է վերահղված լինեիք սարքի ակնարկ կոչվող էջին: Այստեղ կարող եք տեսնել ձեր սարքի eui- ն, ծրագրի eui- ն և ծրագրի բանալին:
  • Շարունակելու համար մենք պետք է վերջնական ուրվագիծը հասցնենք arduino- ի: Էսքիզը կարելի է գտնել այստեղ:
  • Երբ բացեք այս հղումը, կտեսնեք, որ կան բազմաթիվ ներդիրներ: Բացեք գաղտնիքների ներդիրը: Կան 2 բանալիներ, որոնք անհրաժեշտ են բաների ցանցից գաղտնիքների ֆայլը հաղթահարելու համար:
  • Այս ստեղները լրացնելուց հետո կարող եք լուսավորել arduino- ն: Այն կսկսի ամեն ժամ մեկ անգամ տվյալներ ուղարկել իրերի ցանց:
  • Եթե ամեն ինչ ճիշտ է ընթանում, դուք պետք է կարողանաք տեսնել հաղորդագրությունների ներթափանցումը իրերի ցանցում ՝ իրերի arduino- ն (տախտակի միակ կոճակը) վերականգնելուց հետո:

    • Եթե այնտեղ որևէ տվյալ չկա, դա կարող է նշանակել, որ դուք ճիշտ LoRa դարպասի տիրույթում չեք: Կարող եք ստուգել քարտեզը ՝ առկա բոլոր դարպասներով ՝ https://thethingsnetwork.org կայքում: Մեկ ալիքով LoRa դարպասները չեն աշխատի առաջարկվող arduino- ի հետ:
    • Եթե դուք դարպասի տիրույթում չեք, ապա կարող եք միացնել ձեր սեփական դարպասը իրերի ցանցին: Այս դարպասները սովորաբար ունեն բավականին լավ ձեռնարկներ, թե ինչպես միացնել դրանք: Նայեք մատակարարման ցանկին `առաջարկվող դարպասի համար:

Քայլ 5. Իրերի ցանցի տվյալների մեկնաբանություն

  • Իրերի ցանցի հաղորդագրություններից օգտագործելի տվյալներ ստանալու համար մեզ անհրաժեշտ է վերծանել անցանց հոսքը:
  • Իրերի ցանցում անցեք ձեր դիմումին:
  • Պետք է լինի «Բեռի ձևաչափեր» պիտակով ներդիր, կտտացրեք այս ներդիրին:
  • Մեկը մյուսի կողքին կա 4 կոճակ ՝ «ապակոդավորիչ», «փոխարկիչ», «վավերացուցիչ», «կոդավորիչ»:
  • Կտտացրեք ապակոդավորիչի վրա:
  • Տեղադրեք հետևյալ կոդը այնտեղ:

ֆունկցիա Վերծանող (բայթ, նավահանգիստ) {// Վերծանեք վերին կապի հաղորդագրությունը բուֆերային // (զանգված) բայթերից դեպի դաշտերի օբյեկտ: var stringToDecode = bin2String (բայթ); var res = stringToDecode.split (""); var temp = res [1]; var խոնավ = res [3]; var bat = res [5]; var վերծանված = {"ջերմաստիճան". ջերմաստիճան, "խոնավություն" `խոնավ," մարտկոց "` չղջիկ}; վերադարձը վերծանված; } գործառույթը bin2String (զանգված) {var result = ""; համար (var i = 0; i <array.length; ++ i) {result+= (String.fromCharCode (array ))); } վերադարձի արդյունքը;}

  • Կտտացրեք պահպանել:
  • Երբ դուք վերականգնում եք arduino- ն և դիտում ձեր տվյալների ներդիրը, դուք պետք է տեսնեք գեղեցիկ ձևաչափված json օբյեկտ, որը հեշտությամբ կարող եք կարդալ:

Քայլ 6: Միացրեք ձեր ծրագիրը AWS- ին

Մենք պատրաստվում ենք օգտագործել AWS- ը ՝ իրերի ցանցից տվյալները պահելու և օգտագործելու համար: Բոլոր ռեսուրսները, որոնք մենք պատրաստվում ենք օգտագործել, ծածկված են AWS- ի անվճար մակարդակով:

  • Գնացեք AWS
  • Մուտք գործեք կամ ստեղծեք հաշիվ:
  • Իրերի ցանցի ձեր դիմումը AWS- ին միացնելու համար խորհուրդ եմ տալիս հետևել այս ձեռնարկին ՝
  • Այս ձեռնարկը ավարտելուց հետո նավարկեք aws վահանակով դեպի IoT-Core հատված:
  • Ձախ menubar- ում կա «Կառավարել» պիտակը, կտտացրեք սա:
  • Այժմ դուք պետք է տեսնեք մի քարտ, որի մեջ կա ձեր սենսորի անունը:
  • Կրկին ձախ դաշտում կտտացրեք «Գործել»
  • Եթե կա խանութ պիտակով քարտ, ապա լավ կլինի:
  • Եթե ոչ, կտտացրեք «Ստեղծել»:
  • Լրացրեք «Խանութ» անունը:
  • Եթե ցանկանում եք, կարող եք ավելացնել նկարագրություն:
  • Որպես հարցման հայտարարություն լրացրեք հետևյալ ծածկագիրը ՝ SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network/devices/+/up':
  • «Մեկ կամ մի քանի գործողություն սահմանել» բաժնում կտտացրեք գործողություն ավելացնել:
  • Ընտրեք «Պառակտել հաղորդագրությունը DynamoDb աղյուսակի (DynamoDBv2) բազմաթիվ սյուների մեջ»:
  • Կտտացրեք կազմաձևել գործողությունը
  • Կտտացրեք ստեղծել նոր ռեսուրս:
  • Կտտացրեք Ստեղծեք աղյուսակ և տվեք ձեր սեղանին անուն:
  • Հիմնական բանալու տակ լրացրեք «dev_id»:
  • Կտտացրեք ավելացնել տեսակավորման բանալին
  • Լրացրեք «ժամանակը»:
  • Կտտացրեք ստեղծել:
  • Եթե ամեն ինչ լավ է ընթանում, դուք պետք է վերադառնաք կազմաձևման գործողությունների էջ:
  • Մի փոքր մոխրագույն տարածք կա ՝ «Ընտրեք կամ ստեղծեք դեր ՝ այս գործողությունը կատարելու համար AWS IoT մուտք գործելու համար»:
  • Կտտացրեք Ստեղծել դեր և տվեք այս դերին անուն:
  • Կտտացրեք ստեղծել դեր:
  • Կտտացրեք գործողություն ավելացնել:
  • Կտտացրեք ստեղծել կանոն.
  • Այժմ դուք պետք է ունենաք կանոն, որը ավտոմատ կերպով պահում է DynamoDb- ի իրերի ցանցից ստացվող բոլոր հաղորդագրությունները:
  • Կարող եք ստուգել, թե արդյոք դա աշխատում է ՝ վերականգնելով arduino- ն և անցեք ձեր ստեղծած DynamoDb աղյուսակին:
  • Հաղորդագրության հետ պետք է լինի ձայնագրություն:

Քայլ 7: Լամբդայի ստեղծում

DynamoDB- ի տվյալները կարդալու համար մենք պատրաստվում ենք գրել AWS lambda:

  • Wառայությունների ներքո գտնվող AWS կառավարման վահանակում կա «Լամբդա» պիտակով հղում, կտտացրեք այս մեկի վրա:
  • Կտտացրեք ստեղծել գործառույթը:
  • Ընտրեք անուն:
  • Գործողության ժամանակը սահմանեք Python 3.7 -ի վրա:
  • Կտտացրեք ստեղծել գործառույթը:
  • Տեղադրեք այս կոդը ինտեգրված IDE- ում:

ներմուծել json

ներմուծել boto3 ներմուծման ժամանակը տվյալ ամսաթվից ներմուծման ամսաթիվ, timedelta boto3.dynamodb.conditions import Key, Attr def lambda_handler (event, context): return retreive_data () def retreive_data (): # Ստացեք ծառայության ռեսուրսը: dynamodb = boto3.resource ('dynamodb') աղյուսակ = dynamodb. Աղյուսակ ('ԱՅՍ ՍԵABԱՆԻ ԱՆՎԱՆՈՄ') այժմ = datetime.now () երեկ = այժմ - timedelta (ժամ = 24) fe = Key ('ժամանակ'): միջև (երեկ. isoformat (), այժմ. isoformat ()) սնվում = Բանալին («ժամանակը»): lt (երեկ. isoformat ()) պատասխան = table.scan (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 ['Items '] վերադարձնել տվյալները

  • Փոխեք սեղանի անունը ձեր ընտրածի վրա:
  • Ոլորեք ներքև դեպի կատարման դերը:
  • Կտտացրեք aws քաղաքականության ձևանմուշներից ստեղծել նոր դեր:
  • Ընտրեք անուն:
  • Քաղաքականության ձևանմուշների ներքո ընտրեք «Փորձարկման գոտու թույլտվությունները» և «Միկրոծառայության պարզ թույլտվություններ»:
  • Կտտացրեք պահպանել:
  • Սեղմեք թեստը:
  • Կարող է բացվել պատուհան, պարզապես ընտրեք անուն և պահեք:
  • Կրկին սեղմեք թեստը:
  • Վերևում պետք է լինի կանաչ պաստառ, որն ասում է «Կատարման արդյունքը. Հաջողվեց»:
  • Երբ սեղմում եք այս դրոշի վրա, դուք պետք է տեսնեք այս ֆունկցիայի ելքը, սա պետք է լինի ցուցակի ցուցակ:
  • Խնդրում ենք նկատի ունենալ, որ այս սցենարը ջնջում է 24 ժամից ավելի հին բոլոր տվյալները:
  • Այն դեպքում, երբ ձեր դրոշը կանաչ չէ, այլ կարմիր, դուք ինչ -որ բան բաց եք թողել, և սեղմելով այս պաստառի վրա, դուք կստանաք ամբողջական սխալ: Այս դեպքում Google- ը ձեր լավագույն ընկերն է:

Քայլ 8: Ստեղծեք API վերջնակետ

  • Underառայությունների ներքո գտնվող AWS կառավարման վահանակում կա «api-gateway» պիտակով հղում, կտտացրեք այս մեկի վրա:
  • Կտտացրեք ստեղծել API:
  • Համոզվեք, որ երկուսն էլ ընտրված են «REST» և «New API»:
  • Ընտրեք անուն ձեր api- ի համար:
  • Կտտացրեք ստեղծել API:
  • Այժմ էկրանին պետք է լինի գործողություններ պիտակավորված կոճակ, կտտացրեք այն:
  • Այնուհետև կտտացրեք Ստեղծեք ռեսուրս:
  • Որպես ռեսուրսի անուն, դուք պետք է նշեք մի պարզ բան, ինչպիսին է «գործարանը» կամ «գործարանի տվյալները»:
  • Կտտացրեք Ստեղծեք ռեսուրս:
  • Ձախ կողմում այժմ պետք է լինի այն անունը, որը դուք պարզապես մուտքագրել եք: սեղմեք այս անվան վրա:
  • Այժմ կրկին կտտացրեք գործողությունները և այժմ կտտացրեք ավելացնել մեթոդը:
  • Ընտրեք GET:
  • Կտտացրեք չեկի նշանը:
  • Պետք է լինի Lambda Function պիտակով տեքստային տուփ:
  • Այստեղ մուտքագրեք այն անունը, որը ձեզ տվել եք lambda գործառույթը:
  • Կտտացրեք պահպանել:
  • Կարող է լինել թռուցիկ, որը նախազգուշացնում է ձեզ, որ ստեղծում է լրացուցիչ թույլտվություններ:
  • Ընդունեք այս թռուցիկը:
  • Այժմ գործողությունների ներքո կտտացրեք միացնել կոճակները:
  • Կտտացրեք «միացնել CORS- ը և փոխարինել գոյություն ունեցող CORS վերնագրերը»:
  • Կտտացրեք «այո,…»:
  • Կրկին սեղմեք գործողությունների վրա և կտտացրեք Տեղակայել API- ն:
  • Տեղակայման փուլում ընտրեք [Նոր փուլ]:
  • Ընտրեք անուն:
  • Կտտացրեք տեղակայել:
  • Դուք այժմ հրապարակել եք ձեր api առցանց աշխարհին:
  • Էկրանի վրա, որտեղ դուք այժմ ժամանել եք, կտտացրեք «GET» և ձեր ստեղծած ռեսուրսի վրա:
  • Վերևում պետք է լինի հղում `« կանչել URL »պիտակով:
  • Պատճենեք այս հղումը:
  • Տեղադրեք այն դիտարկիչում և սեղմեք enter:
  • Դուք պետք է տեսնեք տվյալները, որոնք գտնվում են տվյալների բազայում:

Քայլ 9. Միացրեք ձեր բույսը սոցիալական բույսերի ցանցին

  • Գնացեք
  • Կտտացրեք «Մուտք»:
  • Կտտացրեք ստեղծել հաշիվ:
  • Լրացրեք ձևը `ձեր հաշիվը ստեղծելու համար:
  • Խնդրում ենք նկատի ունենալ, որ օգտվողի անունը նույնպես պետք է լինի ձեր էլ.
  • Կտտացրեք ստեղծել հաշիվ:
  • Շարունակելու համար գուցե ստիպված լինեք հաստատել ձեր էլ.
  • Համոզվեք, որ մուտք եք գործել:
  • Ga վերադառնալ գլխավոր էջ (կտտացրեք պատկերակին ՝ վերին ձախ անկյունում):
  • Կտտացրեք կարգավորումների կոճակին:
  • Լրացրեք ձևը, դուք պետք է լրացնեք յուրաքանչյուր դաշտ:
  • API- ի հղումը այն հղումն է, որը դուք պահել եք API- ի վերջնակետը ստեղծելուց հետո:
  • Երբ ամեն ինչ լրացված է, կտտացրեք պահպանել գործարանը: համակարգը այժմ կստուգի ձեր մուտքագրած api հղումը, և եթե դա ճիշտ է, այն կպահի ձեր գործարանը ցանցում:
  • Վերադառնալ գլխավոր էջ:
  • Այժմ կարող եք սեղմել բոլոր բույսերի վրա, պետք է կարողանաք տեսնել գրանցված բոլոր բույսերը: ձեր գործարանը նույնպես պետք է այնտեղ լինի: կտտացրեք քարտի վրա և ձեզ կտանեն ձեր գործարանի ակնարկ էջ, այն նաև կցուցադրի խորհուրդներ ՝ հիմնված կարգավորումներում ձեր կողմից սահմանված արժեքների վրա:

Քայլ 10: Հենվեք մեջքին և թեքեք ինքներդ մեջքին

Դուք նոր գործարան եք միացրել ինտերնետին: Բավականին տպավորիչ է, այնպես չէ՞:

Խորհուրդ ենք տալիս: