İstemci - sunucu iletişimiyle çalışmayı öğreniyorum. Sunucumla iletişim kurabiliyorum ve değerleri tabloda saklayabiliyorum. Ancak veritabanından belirli verilerden birini almak istiyorum.
Burada Arduino'mdaki bir değişkende saklamak için 'Current' sütunundan 'abc' değerini almak istiyorum.
Şimdiye kadar yaptığım kod aşağıdadır. Sorunu çözebilirseniz çok mutlu olurum.
İşte veritabanı yapım
---------------- ----------------------------------- | Cihaz | Önceki | Sonraki | Mesafe | Güncel | -------------------------------------------------- - | katup123 | xyz | abc | 2.600 | abc | -------------------------------------------------- -
İşte PHP kodum:
locator.php
<? php $ con = mysqli_connect ("alan_adiniz.com.tr "," peter "," abc123 "," locate "); // Bağlantıyı kontrol etif (mysqli_connect_errno ()) {echo" MySQL'e bağlanılamadı: ". mysqli_connect_error ();} $ sonuç = mysqli_query ($ con, "SELECT Current FROM locate WHERE Device = 'katup123'"); while ($ row = mysqli_fetch_array ($ sonuç)) {echo $ row ['Current']; echo "<br>"; }? >
İşte benim Arduino kodum:
// GSM kitaplığını dahil et # include <GSM.h> # define PINNUMBER "" // APN verileri #define GPRS_APN "GPRS_APN" // GPRS APNgpsll'nizi değiştirin # define GPRS_LOGIN "giriş" // GPRS giriş bilgilerinizle değiştirin # define GPRS_PASSWORD "şifre" // GPRS şifrenizle değiştirin // kütüphane örneğini başlatınGSM gsmAccess; GSMClient istemcisi; GPRS gprs; // URL, yol & bağlantı noktası (örneğin: arduino.cc) char server [] = "alan_adiniz.com"; karakter yolu [] = "/locater.php";int bağlantı noktası = 80; // HTTPvoid setup () için varsayılan port 80'dir {Serial.begin (9600); Serial.println ("Arduino web istemcisinin başlatılması."); // bağlantı durumu boole notConnected = true; // GSM kalkanı başlat
// SIM'inizin PIN'i varsa, bunu tırnak işaretleri içinde bir begin () parametresi olarak iletin (bağlı değil) {if ((gsmAccess.begin (PINNUMBER) == GSM_READY) & (gprs.attachGPRS (GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) = = GPRS_READY)) notConnected = yanlış; else {Serial.println ("Bağlı değil"); gecikme (1000); }} Serial.println ("GSM başlatıldı"); Serial.println ("bağlanıyor ...");} void döngü () {karakter sonuç [20]; Serial.print ("Sunucu Veritabanına Bağlanma"); eğer (client.connect (sunucu, bağlantı noktası)) {client.print ("GET /locator.php?"); Serial.print ("GET /locator.php?"); client.println ("HTTP / 1.1"); Serial.println ("HTTP / 1.1"); client.println ("Ana Bilgisayar: www.alan_adiniz.com"); Serial.println ("Ana Bilgisayar: www.alan_adiniz.com"); client.println ("Kullanıcı-Aracı: Arduino"); Serial.println ("Kullanıcı-Aracı: Arduino"); client.println ("Kabul Et: metin / html"); Serial.println ("Kabul Et: metin / html"); client.println ("Bağlantı: kapat"); Serial.println ("Bağlantı: kapat"); client.println (); Serial.println (); Serial.println ("\ nKOMPLE! \ N"); client.stop (); } else {Serial.println ("bağlantı başarısız oldu"); Serial.println ("\ n BAŞARISIZ! \ N"); } delay (5000);}
Burada 'abc' değerini 'sonuç' değişkenime kaydetmek istiyorum. Nasıl yapacağımı bilmiyorum.