Inhoudsopgave:

Gegevens loggen en online een grafiek plotten met NodeMCU, MySQL, PHP en Chartjs.org: 4 stappen
Gegevens loggen en online een grafiek plotten met NodeMCU, MySQL, PHP en Chartjs.org: 4 stappen

Video: Gegevens loggen en online een grafiek plotten met NodeMCU, MySQL, PHP en Chartjs.org: 4 stappen

Video: Gegevens loggen en online een grafiek plotten met NodeMCU, MySQL, PHP en Chartjs.org: 4 stappen
Video: Scriptcase - Exploring PDF Report for receipts generation 2024, November
Anonim
Log gegevens en plot een grafiek online met NodeMCU, MySQL, PHP en Chartjs.org
Log gegevens en plot een grafiek online met NodeMCU, MySQL, PHP en Chartjs.org
Log gegevens en plot een grafiek online met NodeMCU, MySQL, PHP en Chartjs.org
Log gegevens en plot een grafiek online met NodeMCU, MySQL, PHP en Chartjs.org

Deze Instructable beschrijft hoe we het Node MCU-bord kunnen gebruiken om gegevens van meerdere sensoren te verzamelen, deze gegevens naar een gehost PHP-bestand te sturen dat de gegevens vervolgens aan een MySQL-database toevoegt. De gegevens kunnen vervolgens online worden bekeken als een grafiek, met behulp van chart.js.

Voor dit project is een basiskennis van PHP en MySQL vereist en je hebt toegang tot webhosting nodig om je eigen grafieken te kunnen maken en bekijken. Ik ga er ook van uit dat je basiskennis hebt van het gebruik van het Node MCU-bord en het uploaden van schetsen ernaar. (Ik gebruik hiervoor de Arduino IDE)

Stap 1: Het circuit bouwen

Het circuit bouwen
Het circuit bouwen
Het circuit bouwen
Het circuit bouwen
Het circuit bouwen
Het circuit bouwen

Omdat de Node MCU slechts één analoge pin heeft, zullen we multiplexing gebruiken om gegevens van meerdere sensoren te kunnen lezen. (Een aantal instructables behandelen dit concept in meer detail, dus daar ga ik hier niet op in). In dit voorbeeld heb ik twee sensoren gebruikt (voor licht en temperatuur), maar je kunt deze veranderen in wat je wilt en indien nodig meer sensoren toevoegen. Ik heb een lichtgevoelige weerstand, een thermistor, twee gelijkrichtdiodes, een weerstand van 330 ohm en een weerstand van 10K en een paar jumperdraden gebruikt. Het bijgevoegde Fritzing-diagram laat zien hoe deze allemaal op het breadboard zijn aangesloten.

Stap 2: Bewerk en upload de schets naar Node MCU

Gebruik dit bijgevoegde.ino-bestand. U zult dit met uw eigen wifi-netwerknaam en wachtwoord moeten bewerken, zodat de Node MCU verbinding kan maken met uw eigen netwerk.

Onderaan deze schets staat de regel 'delay(60000);' geeft een minuut vertraging tussen sensormetingen, maar dit kan worden aangepast aan uw eigen wensen. Ik zou echter aanraden om elke keer minstens 10 seconden te laten om verbinding te maken met het 'updater.php'-bestand.

U moet ook het pad bewerken naar waar u de twee.php-bestanden en de twee vereiste javascript-bestanden wilt hosten. Deze kunt u in de volgende stap downloaden.

Stap 3: Database- en webbestanden

Maak uw MySql-database aan. Maak een tabel met de naam 'temp_light' (u kunt dit wijzigen, maar u moet de twee php-bestanden bewerken om eventuele wijzigingen weer te geven). Geef de tabel vier velden. Een primair veld voor automatische verhoging. Een integer veld genaamd 'temp', een integer veld genaamd 'light' en een veld genaamd 'date_time' dat een tijdstempel en standaardwaarde 'CURRENT_TIMESTAMP' zal zijn

Download nu het bijgevoegde.zip-bestand en pak het uit. Dit geeft je twee php-bestanden en een map met de naam 'scripts' die naar.js-bestanden bevat die ik van chartjs.org heb gekregen. De twee.js-bestanden hoeven niet te worden bewerkt en de map 'scripts' moet op dezelfde locatie worden gehost als uw twee php-bestanden. de twee php-bestanden moeten beide worden bewerkt met uw eigen databasenaam, wachtwoord en host-IP. adres.

In het index.php bestand zie je regel 50: $adjusted_temp=($temp*0.0623);

Deze berekening is bedoeld om de meetwaarde voor temperatuur om te zetten naar zo dicht mogelijk bij graden Celsius en is met vallen en opstaan tot stand gekomen en zal vrijwel zeker moeten worden aangepast aan uw eigen temperatuursensor.

Host nu beide php-bestanden en de map 'scripts' met de twee.js-bestanden allemaal samen in dezelfde map. Blader naar die map en je zou je eigen grafiek moeten zien met de gegevens die zijn verzonden vanaf je Node MCU-bord.

Stap 4: Het eindresultaat

Ik heb dit project oorspronkelijk ongeveer twee jaar geleden gemaakt, maar was er tot nu toe nooit aan toegekomen om er een instructable voor te schrijven. U kunt de grafiek die door mijn test is gemaakt hier zien:

De grote piek in de grafiek is waar de zon door het raam op de twee sensoren scheen en de langzame daling was weer toen de zon langzaam uit het zicht verdween.

Aanbevolen: