İçindekiler:

NodeMCU, MySQL, PHP ve Chartjs.org Kullanarak Verileri Günlüğe Kaydetme ve Çevrimiçi Grafik Çizme: 4 Adım
NodeMCU, MySQL, PHP ve Chartjs.org Kullanarak Verileri Günlüğe Kaydetme ve Çevrimiçi Grafik Çizme: 4 Adım

Video: NodeMCU, MySQL, PHP ve Chartjs.org Kullanarak Verileri Günlüğe Kaydetme ve Çevrimiçi Grafik Çizme: 4 Adım

Video: NodeMCU, MySQL, PHP ve Chartjs.org Kullanarak Verileri Günlüğe Kaydetme ve Çevrimiçi Grafik Çizme: 4 Adım
Video: ESP8266 + PHP + MySQL Data Logger 2024, Temmuz
Anonim
NodeMCU, MySQL, PHP ve Chartjs.org Kullanarak Verileri Günlüğe Kaydetme ve Çevrimiçi Grafik Çizme
NodeMCU, MySQL, PHP ve Chartjs.org Kullanarak Verileri Günlüğe Kaydetme ve Çevrimiçi Grafik Çizme
NodeMCU, MySQL, PHP ve Chartjs.org Kullanarak Verileri Günlüğe Kaydetme ve Çevrimiçi Grafik Çizme
NodeMCU, MySQL, PHP ve Chartjs.org Kullanarak Verileri Günlüğe Kaydetme ve Çevrimiçi Grafik Çizme

Bu Eğitilebilir Tablo, birden fazla sensörden veri toplamak için Düğüm MCU panosunu nasıl kullanabileceğimizi, bu verileri barındırılan bir PHP dosyasına nasıl gönderebileceğimizi ve ardından verileri bir MySQL veritabanına ekleyebileceğimizi açıklar. Veriler daha sonra chart.js kullanılarak çevrimiçi olarak bir grafik olarak görüntülenebilir.

Bu proje için temel bir PHP ve MySQL bilgisi gerekli olacak ve kendi grafiklerinizi oluşturup görüntüleyebilmek için bu kurulumlarla web barındırma erişimine ihtiyacınız olacak. Ayrıca, Düğüm MCU panosunu kullanma ve ona eskiz yükleme konusunda temel bilgilere sahip olduğunuzu varsayıyorum. (Bunun için Arduino IDE kullanıyorum)

Adım 1: Devreyi Kurmak

Devreyi Kurmak
Devreyi Kurmak
Devreyi Kurmak
Devreyi Kurmak
Devreyi Kurmak
Devreyi Kurmak

Düğüm MCU'su yalnızca bir analog pime sahip olduğundan, birden çok sensörden gelen verileri okuyabilmek için çoğullamayı kullanacağız. (Bir dizi talimat bu kavramı daha ayrıntılı olarak ele almaktadır, bu yüzden burada buna girmeyeceğim). Bu örnekte iki sensör kullandım (ışık ve sıcaklık için) ancak bunları istediğiniz gibi değiştirebilir ve gerekirse daha fazla sensör ekleyebilirsiniz. Işığa duyarlı bir direnç, bir termistör, iki doğrultucu diyot, 330 ohm direnç ve 10K direnç ve birkaç atlama kablosu kullandım. Ekli Fritzing şeması, bunların hepsinin devre tahtasına nasıl bağlandığını gösterir.

2. Adım: Çizimi Düzenleyin ve Düğüm MCU'suna Yükleyin

Bu ekli.ino dosyasını kullanın. Düğüm MCU'sunun kendi ağınıza bağlanabilmesi için bunu kendi WiFi ağ adınız ve parolanızla düzenlemeniz gerekecektir.

Bu taslağın alt kısmında 'delay(60000);' satırı var. sensör okumaları arasında bir dakikalık gecikme sağlar ancak bu, kendi gereksinimlerinize göre ayarlanabilir. Yine de her seferinde 'updater.php' dosyasına bağlantıya izin vermek için en az 10 saniye ayırmanızı tavsiye ederim.

Ayrıca, gerekli olan iki.php dosyasını ve iki javascript dosyasını barındıracağınız yolun yolunu da düzenlemeniz gerekecektir. Bunları bir sonraki adımda indirebilirsiniz.

3. Adım: Veritabanı ve Web Dosyaları

MySql veritabanınızı oluşturun. 'temp_light' adlı bir tablo oluşturun (bunu değiştirebilirsiniz, ancak yaptığınız değişiklikleri yansıtmak için iki php dosyasını düzenlemeniz gerekir). Tabloya dört alan verin. Birincil otomatik artış alanı. 'temp' adında bir tamsayı alanı, 'light' adında bir tamsayı alanı ve bir zaman damgası ve varsayılan değer 'CURRENT_TIMESTAMP' olacak 'date_time' adlı bir alan

Şimdi ekli.zip dosyasını indirin ve paketinden çıkarın. Bu size iki php dosyası ve chartjs.org'dan aldığım.js dosyalarını içeren 'scripts' adlı bir klasör verecektir. İki.js dosyasının düzenlenmesi gerekmez ve 'komut dosyaları' klasörünün iki php dosyanızla aynı konumda barındırılması gerekir. iki php dosyasının da kendi veritabanı adınız, şifreniz ve ana bilgisayar I. P. ile düzenlenmesi gerekecektir. adres.

index.php dosyasında 50. satırı göreceksiniz: $adjusted_temp=($temp*0.0623);

Bu hesaplama, sıcaklık okumasını santigrat derece alabileceğim ve deneme yanılma yoluyla ulaşabildiğim en yakın değere dönüştürmek içindir ve neredeyse kesinlikle kendi sıcaklık sensörünüze uyacak şekilde değiştirilmesi gerekecektir.

Şimdi hem php dosyalarını hem de iki.js dosyasını içeren 'scripts' klasörünü hep birlikte aynı dizinde barındırın. Bu dizine göz atın ve Düğüm MCU kartınızdan gönderilen verilerle kendi grafiğinizi görmelisiniz.

Adım 4: Bitmiş Sonuç

Başlangıçta bu projeyi yaklaşık iki yıl önce yaptım ama şimdiye kadar bunun için bir talimat yazmaya hiç başlamamıştım. Testim tarafından oluşturulan grafiği burada görebilirsiniz:

Grafikteki büyük artış, güneşin pencereden iki sensöre vurduğu yerdir ve yine yavaş düşüş, güneş yavaşça gözden kaybolurken olmuştur.

Önerilen: