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

Գրանցեք տվյալները և գծեք գրաֆիկ առցանց ՝ օգտագործելով NodeMCU, MySQL, PHP և Chartjs.org: 4 քայլ
Գրանցեք տվյալները և գծեք գրաֆիկ առցանց ՝ օգտագործելով NodeMCU, MySQL, PHP և Chartjs.org: 4 քայլ

Video: Գրանցեք տվյալները և գծեք գրաֆիկ առցանց ՝ օգտագործելով NodeMCU, MySQL, PHP և Chartjs.org: 4 քայլ

Video: Գրանցեք տվյալները և գծեք գրաֆիկ առցանց ՝ օգտագործելով NodeMCU, MySQL, PHP և Chartjs.org: 4 քայլ
Video: Փաշինյանն արձագանքեց Ալիևի` «Զանգեզուրի միջանցք» ձևակերպմանը 2024, Հուլիսի
Anonim
Գրանցեք տվյալները և գծեք գրաֆիկ առցանց ՝ օգտագործելով NodeMCU, MySQL, PHP և Chartjs.org
Գրանցեք տվյալները և գծեք գրաֆիկ առցանց ՝ օգտագործելով NodeMCU, MySQL, PHP և Chartjs.org
Գրանցեք տվյալները և գծեք գրաֆիկ առցանց ՝ օգտագործելով NodeMCU, MySQL, PHP և Chartjs.org
Գրանցեք տվյալները և գծեք գրաֆիկ առցանց ՝ օգտագործելով NodeMCU, MySQL, PHP և Chartjs.org

Այս Instructable- ը նկարագրում է, թե ինչպես կարող ենք օգտագործել Node MCU տախտակը ՝ բազմաթիվ սենսորներից տվյալներ հավաքելու, այս տվյալները ուղարկելու համար տեղակայված PHP ֆայլ, որն այնուհետև տվյալները ավելացնում է MySQL տվյալների բազայում: Տվյալները կարող են առցանց դիտվել որպես գրաֆիկ ՝ օգտագործելով chart.js:

Այս նախագծի համար կպահանջվի PHP- ի և MySQL- ի հիմնական իմացություն, և ձեզ անհրաժեշտ կլինի մուտք դեպի վեբ հոստինգ ՝ դրանցով ստեղծված, որպեսզի կարողանաք ստեղծել և դիտել ձեր սեփական գրաֆիկները: Ես նաև ենթադրում եմ, որ դուք ունեք հիմնական գիտելիքներ ՝ Node MCU տախտակից օգտվելու և դրա վրա ուրվագծեր վերբեռնելու վերաբերյալ: (Ես դրա համար օգտագործում եմ Arduino IDE- ն)

Քայլ 1: Շղթայի կառուցում

Շրջանի կառուցում
Շրջանի կառուցում
Շրջանի կառուցում
Շրջանի կառուցում
Շրջանի կառուցում
Շրջանի կառուցում

Քանի որ Node MCU- ն ունի միայն մեկ անալոգային քորոց, մենք կօգտագործենք մուլտիպլեքսավորումը, որպեսզի կարողանանք կարդալ տվյալները բազմաթիվ սենսորներից: (Մի շարք հրահանգներ ավելի մանրամասն լուսաբանում են այս հայեցակարգը, այնպես որ ես այստեղ չեմ անդրադառնա դրան): Այս օրինակում ես օգտագործել եմ երկու տվիչ (լույսի և ջերմաստիճանի համար), բայց դուք կարող եք դրանք փոխել այն, ինչ ցանկանում եք, և անհրաժեշտության դեպքում ավելացնել ավելի շատ տվիչներ: Ես օգտագործել եմ թեթև զգայուն դիմադրություն, թերմիստոր, երկու ուղղիչ դիոդ, 330 օմ ռեզիստոր և 10K ռեզիստոր և մի քանի ցատկող լարեր: Կցված Fritzing դիագրամը ցույց է տալիս, թե ինչպես են դրանք բոլորը միացված հացահատիկի վրա:

Քայլ 2. Խմբագրել և վերբեռնել էսքիզը Node MCU- ում

Օգտագործեք այս կցված.ino ֆայլը: Դուք պետք է խմբագրեք սա ձեր սեփական WiFi ցանցի անունով և գաղտնաբառով, որպեսզի Node MCU- ն կարողանա միանալ ձեր սեփական ցանցին:

Այս ուրվագծի ներքևում «ուշացում (60000)» տողը: տալիս է մեկ րոպե ուշացում սենսորների ընթերցումների միջև, բայց դա կարող է ճշգրտվել `ձեր սեփական պահանջներին համապատասխան: Ես խորհուրդ կտայի թողնել առնվազն 10 վայրկյան, որպեսզի ամեն անգամ միանաք «updater.php» ֆայլին:

Դուք նաև պետք է խմբագրեք այն ուղին, որտեղ դուք կհյուրընկալեք երկու.php ֆայլերը և երկու javascript ֆայլերը, որոնք անհրաժեշտ են: Դուք կարող եք դրանք ներբեռնել հաջորդ քայլին:

Քայլ 3: Տվյալների բազա և վեբ ֆայլեր

Ստեղծեք ձեր MySql տվյալների բազան: Ստեղծեք աղյուսակ, որը կոչվում է «temp_light» (կարող եք փոխել սա, բայց ձեզ հարկավոր է խմբագրել երկու php ֆայլերը ՝ ձեր կատարած ցանկացած փոփոխություն արտացոլելու համար): Աղյուսակին տվեք չորս դաշտ: Ավտոմատ ավելացման հիմնական դաշտ: «Temp» կոչվող ամբողջ թիվ, «լույս» կոչվող ամբողջ թիվ և «date_time» կոչվող դաշտ, որը կլինի ժամանակային դրոշմ և կանխադրված արժեք «CURRENT_TIMESTAMP»

Այժմ ներբեռնեք կցված.zip ֆայլը և բացեք այն: Սա ձեզ կտա երկու php ֆայլ և մի թղթապանակ, որը կոչվում է «սցենարներ», որը պարունակում է.js ֆայլեր, որոնք ես ստացել եմ chartjs.org- ից: Երկու.js ֆայլերը խմբագրման կարիք չունեն, և «սցենարների» թղթապանակը պետք է տեղակայված լինի ձեր php երկու ֆայլերի նույն տեղում: երկու php ֆայլերը երկուսն էլ պետք է խմբագրվեն ձեր սեփական տվյալների շտեմարանի անունով, գաղտնաբառով և հյուրընկալող I. P. հասցեն:

Index.php ֆայլում կտեսնեք տող 50: $ adjusted_temp = ($ temp*0.0623);

Այս հաշվարկը նշանակում է, որ ջերմաստիճանի ցուցանիշը հնարավորինս մոտենա աստիճանի, որը հասել է ցենտի աստիճանի և այն հասել է փորձության և սխալի միջոցով:

Այժմ ընդունեք ինչպես php ֆայլերը, այնպես էլ երկու.js ֆայլերը պարունակող «սցենարներ» թղթապանակը ՝ բոլորը միասին նույն գրացուցակում: Փնտրեք այդ գրացուցակում և դուք պետք է տեսնեք ձեր սեփական գրաֆիկը ՝ ձեր Node MCU տախտակից ուղարկված տվյալների հետ:

Քայլ 4: Ավարտված արդյունքը

Ես ի սկզբանե պատրաստեցի այս նախագիծը մոտ երկու տարի առաջ, բայց մինչ այժմ երբեք չէի հասցրել գրել դրա համար ուսանելի առարկա: Իմ փորձարկման արդյունքում ստեղծված գրաֆիկը կարող եք տեսնել այստեղ ՝

Գրաֆիկի մեծ թռիչքն այն է, որտեղ արևը պատուհանից փայլեց երկու տվիչների վրա, և նորից դանդաղ անկումը տեղի ունեցավ, երբ արևը դանդաղորեն դուրս եկավ տեսադաշտից:

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