Obsah:

Zaznamenávejte data a vykreslete graf online pomocí NodeMCU, MySQL, PHP a Chartjs.org: 4 kroky
Zaznamenávejte data a vykreslete graf online pomocí NodeMCU, MySQL, PHP a Chartjs.org: 4 kroky

Video: Zaznamenávejte data a vykreslete graf online pomocí NodeMCU, MySQL, PHP a Chartjs.org: 4 kroky

Video: Zaznamenávejte data a vykreslete graf online pomocí NodeMCU, MySQL, PHP a Chartjs.org: 4 kroky
Video: Mastering Latency Testing with PsPing: IT Admin Edition 2024, Červenec
Anonim
Zaznamenávejte data a vykreslete graf online pomocí NodeMCU, MySQL, PHP a Chartjs.org
Zaznamenávejte data a vykreslete graf online pomocí NodeMCU, MySQL, PHP a Chartjs.org
Zaznamenávejte data a vykreslete graf online pomocí NodeMCU, MySQL, PHP a Chartjs.org
Zaznamenávejte data a vykreslete graf online pomocí NodeMCU, MySQL, PHP a Chartjs.org

Tento Instructable popisuje, jak můžeme použít desku Node MCU ke sběru dat z více senzorů, odeslání těchto dat do hostovaného souboru PHP, který pak data přidá do databáze MySQL. Data lze poté zobrazit online jako graf pomocí chart.js.

Pro tento projekt budou vyžadovány základní znalosti PHP a MySQL a budete potřebovat přístup k webhostingu s těmito nastaveními, abyste mohli vytvářet a zobrazovat vlastní grafy. Předpokládám také, že máte základní znalosti o používání desky Node MCU a nahrávání skic na ni. (Používám k tomu Arduino IDE)

Krok 1: Budování obvodu

Budování okruhu
Budování okruhu
Budování okruhu
Budování okruhu
Budování okruhu
Budování okruhu

Protože Node MCU má pouze jeden analogový pin, použijeme multiplexování, abychom mohli číst data z více senzorů. (Několik instrukčních pokynů pojednává o tomto konceptu podrobněji, takže se zde nebudu zabývat). V tomto příkladu jsem použil dva senzory (pro světlo a teplotu), ale můžete je změnit na cokoli chcete a v případě potřeby přidat další senzory. Použil jsem světlocitlivý rezistor, termistor, dvě usměrňovací diody, odpor 330 ohmů a odpor 10K a několik propojovacích vodičů. Přiložený Fritzingův diagram ukazuje, jak jsou všechny propojeny na desce.

Krok 2: Upravte a nahrajte skicu do uzlu MCU

Použijte tento připojený soubor.ino. Budete to muset upravit pomocí názvu a hesla vlastní WiFi sítě, aby se Node MCU mohlo připojit k vaší vlastní síti.

V dolní části tohoto náčrtu je řádek „zpoždění (60 000);“poskytuje minutové zpoždění mezi odečty senzorů, ale toto lze upravit tak, aby vyhovovalo vašim vlastním požadavkům. Doporučil bych však nechat alespoň 10 sekund, aby bylo možné připojení k souboru 'updater.php' pokaždé.

Budete také muset upravit cestu k místu, kde budete hostovat dva požadované soubory.php a dva soubory javascript. Můžete si je stáhnout v dalším kroku.

Krok 3: Databáze a webové soubory

Vytvořte svou databázi MySql. Vytvořte tabulku s názvem „temp_light“(můžete to změnit, ale bude nutné upravit dva soubory php, aby odrážely všechny změny, které provedete). Dejte tabulce čtyři pole. Pole primárního automatického přírůstku. Celočíselné pole s názvem „temp“, celočíselné pole s názvem „light“a pole s názvem „date_time“, což bude časové razítko a výchozí hodnota „CURRENT_TIMESTAMP“

Nyní si stáhněte přiložený soubor.zip a rozbalte jej. Tím získáte dva soubory php a složku nazvanou 'skripty', která obsahuje soubory.js, které jsem získal z chartjs.org. Dva soubory.js není třeba upravovat a složka 'skripty' by měla být hostována na stejném místě jako vaše dva soubory php. oba soubory php budou muset být upraveny pomocí vašeho vlastního názvu databáze, hesla a hostitele IP adresa.

V souboru index.php uvidíte řádek 50: $ adjust_temp = ($ temp*0,0623);

Tento výpočet má převést odečet teploty na co nejblíže stupním Celsia a byl dosažen metodou pokusu a omylu a téměř jistě bude nutné jej upravit tak, aby vyhovoval vašemu vlastnímu teplotnímu senzoru.

Nyní hostte soubory php i složku 'scripts' obsahující dva soubory.js společně ve stejném adresáři. Přejděte do tohoto adresáře a měli byste vidět svůj vlastní graf s daty odeslanými z desky Node MCU.

Krok 4: Hotový výsledek

Původně jsem tento projekt vytvořil asi před dvěma lety, ale až dosud jsem se k psaní instrukcí nikdy nedostal. Graf vytvořený mým testem si můžete prohlédnout zde:

Velký bod v grafu je místo, kde slunce zazářilo oknem na dva senzory, a pomalý pokles opět nastal, když slunce pomalu zmizelo z dohledu.

Doporučuje: