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

Arduino- ից Laravel- ի հաղորդակցություն. 4 քայլ
Arduino- ից Laravel- ի հաղորդակցություն. 4 քայլ

Video: Arduino- ից Laravel- ի հաղորդակցություն. 4 քայլ

Video: Arduino- ից Laravel- ի հաղորդակցություն. 4 քայլ
Video: Խելացի տուն /Գեղարքունիք էքսպո 2019/ 2024, Նոյեմբեր
Anonim
Image
Image
Arduino- ից Laravel Communication- ին
Arduino- ից Laravel Communication- ին

Բարեւ բոլորին, Այս Ուղեցույցում ես ձեզ ցույց կտամ, թե ինչպես կարող եք տվյալներ ուղարկել Arduino- ից Laravel ծրագրին:

Քայլ 1: Ներածություն

Ներածություն
Ներածություն
Ներածություն
Ներածություն

Ամեն անգամ, երբ մենք ունենք նախագիծ, որը պահանջում է որոշ տվյալների ցուցադրում և գրանցում, սովորաբար պահանջվում է, որ մենք ունենանք տվյալներ համացանցում: Այս կերպ մենք, հնարավոր է, կարող ենք հեռակա կարգով վերահսկել օբյեկտի վիճակը կամ նույնիսկ վերահսկել մեր սարքերը աշխարհի ցանկացած կետից:

Այս նախագծի համար մենք կօգտագործենք NodeMCU v1.0 տախտակ, որի վրա կա ESP8266 12e մոդուլ: Բացի այդ, մենք պետք է օգտագործենք համակարգիչ, որտեղ կարող ենք տեղակայել մեր Laravel ծրագիրը: Եթե ցանկանում եք պարզել, թե ինչպես կարող եք կարգավորել նման միջավայրը, ստուգեք դրա մասին իմ տեսանյութը:

Քայլ 2. Պատրաստեք Laravel հավելվածը

Պատրաստեք Laravel հավելվածը
Պատրաստեք Laravel հավելվածը
Պատրաստեք Laravel հավելվածը
Պատրաստեք Laravel հավելվածը

Մեր առաջին քայլը Laravel- ի տեղադրումն է Composer- ի միջոցով: Չեմ մանրամասնի, թե ինչպես կարող եք դա անել, քանի որ փաստաթղթերը դա մանրամասն բացատրում են, և դուք կարող եք գտնել այստեղ:

Այս ցուցադրական ցուցադրումը պարզ պահելու համար Laravel- ում մենք մուտք կգործենք Arduino- ից ուղարկվող տեղեկատվությունը տեքստային ֆայլ, որպեսզի հետագայում դրանք վերանայենք: Դրա համար մենք նախ կստեղծենք նոր POST երթուղի «api.php» ֆայլում: Հետադարձ կապում մենք ներարկելու ենք հարցման մանրամասները, որպեսզի հետագայում կարողանանք ստանալ ուղարկվող պարամետրերը:

Ֆայլին գրելու համար ես օգտագործում եմ Laravel- ի Storage ֆասադը `դրա հարմար հավելվածի մեթոդով: Երբ կոչվում է, այս մեթոդը ստանում է ֆայլի անուն և տողային տվյալներ, որտեղ այն ավելացնում է նշված ֆայլը: Եթե ֆայլը ներկա չէ, ապա այն ստեղծվում է առաջին զանգի ժամանակ:

Տվյալները, որոնք մենք գրում ենք յուրաքանչյուր տողում, բաղկացած են ընթացիկ ամսաթվից և ժամից, որին հաջորդում են ջերմաստիճանի և խոնավության պահանջների արժեքները: Եթե ունեք բազմաթիվ այդպիսի արժեքներ, կարող եք կրկնել նույն որոնման գործընթացը բոլորի համար:

Քայլ 3. Պատրաստեք Arduino ուղարկողը

Պատրաստեք Arduino ուղարկողը
Պատրաստեք Arduino ուղարկողը
Պատրաստեք Arduino ուղարկողը
Պատրաստեք Arduino ուղարկողը

Եկեք հիմա նայենք Arduino ծածկագրին և տվյալների ուղարկմանը:

Որպեսզի NodeMCU- ի խորհուրդը կարողանա միանալ մեր WiFi- ին և հարցում ուղարկել, նախ պետք է մի քանի գրադարան ներառել վերևում: Հաջորդը մենք պետք է նշենք այն ցանցի SSID- ը, որին միանում ենք և դրա գաղտնաբառը: Եթե դուք օգտագործում եք Uno Ethernet վահանով, ապա ձեր ընթացքը այլ կլինի:

Բացի այդ, մենք այստեղ պահում ենք նոր ստեղծած Laravel սերվերի արմատային URL- ը: Իմ դեպքում սա իմ տեղական համակարգչի IP հասցեն է, բայց դուք կարող եք ավելացնել ցանկացած տանտիրոջ URL, որտեղ կոդը հասանելի է:

Կարգավորման գործառույթում մենք սկսում ենք սերիական հաղորդակցությունը, որպեսզի կարողանանք վերահսկել, թե ինչ է կատարվում: Բացի այդ, մենք պետք է կարգավորենք NodeMCU խորհուրդը, որպեսզի այն կարողանա պատշաճ կերպով միանալ WiFi- ին: Երբ դա արվի, մենք կարող ենք սկսել կապը և սպասել, մինչև երթուղիչից IP հասցե ստանալը:

Այս օրինակի համար ես իրականում տախտակին միացված տվիչներ չունեմ: Փոխարենը, ես պարզապես ստեղծում եմ որոշ պատահական տվյալներ ՝ օգտագործելով պատահական գործառույթը, և ես դրանք ուղարկում եմ:

Այս տվյալները պետք է պատրաստվեն հարցման տողի տեսքով և HTTP հարցումը սկսելուց հետո մենք պետք է այն ուղարկենք HTTP հաճախորդի վրա POST մեթոդով: Վերնագիրը, որը մենք ավելացրել էինք նախկինում, կա սերվերին տեղեկացնելու համար, որ պահանջի մեջ կան տվյալներ, որոնք անհրաժեշտ է հավաքել:

Արդյունքում, մենք նախ ստանում ենք HTTP կարգավիճակի կոդը, այնուհետև արձագանքման բեռնվածությունը: Եթե ամեն ինչ հարթ ընթանա, մենք պետք է ստանանք 200 ՝ որպես ծածկագիր, և քանի որ մենք ոչինչ չենք վերադարձել մեր Laravel հավելվածից, բեռնվածությունը դատարկ կլինի:

Եթե ինչ -ինչ պատճառներով կարգավիճակի կոդը 200 չէ, ապա բեռնվածությունը սովորաբար պարունակում է տեղի ունեցածի սխալի հաղորդագրություն:

Վերջում, մենք պետք է անպայման փակենք հարցումը և սպասենք որոշակի ժամանակ ՝ 5 վայրկյան մեր օրինակում ՝ նույն գործընթացը նորից կատարելու համար:

Արդյունքն այն է, որ մենք ստանում ենք այդ արժեքները, որոնք պահվում են տեքստային ֆայլում յուրաքանչյուր կրկնության վրա, որպեսզի հետագայում կարողանանք օգտագործել այն ՝ այն ցուցադրելու կամ գծապատկերում քարտեզագրելու համար:

Քայլ 4: Հետագա քայլեր

Հետագա քայլեր
Հետագա քայլեր

Ինչպես տեսնում եք, գործընթացը բավականին պարզ է և կարող է հեշտությամբ ընդլայնվել `տարբեր սենսորների արժեքները կարդալու և գուցե դրանք տվյալների բազայում գրի առնելու համար: Այն, ինչ կարող եք կառուցել դրանով, սահմանափակվում է ձեր երևակայությամբ: Սկսելու համար ՝ ստորև բերված է օրինակում օգտագործված ամբողջական աղբյուրի հղումը:

github.com/bkolicoski/arduino-laravel-comm…

Հուսով եմ, որ դուք կարողացաք ինչ -որ նոր բան սովորել այս Instructable- ից, և եթե դա արեցիք, ապա խնդրում եմ ինձ տեղյակ պահեք մեկնաբանություններում, հետևեք ինձ Instructables- ին և մի մոռացեք բաժանորդագրվել իմ YouTube ալիքին:

Շնորհակալություն

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