Jeg lærer å jobbe med klienten - serverkommunikasjon. Jeg er i stand til å kommunisere med serveren min og kan lagre verdier i tabellen. Men jeg vil motta en av de spesifikke dataene fra databasen.
Her vil jeg få 'abc' -verdien fra 'Current' -kolonnen for å lagre i en variabel i min Arduino.
Nedenfor er koden jeg har gjort til nå. Jeg ville vært veldig glad hvis du kunne løse problemet.
Her er databasestrukturen min
---------------- ----------------------------------- | Enhet | Forrige | Neste | Avstand | Gjeldende | -------------------------------------------------- - | katup123 | xyz | abc | 2.600 | abc | -------------------------------------------------- -
Her er PHP-koden min:
locator.php
<? php $ con = mysqli_connect ("ditt_domene.com "," peter "," abc123 "," find "); // Sjekk tilkobling if (mysqli_connect_errno ()) {echo" Kunne ikke koble til MySQL: ". mysqli_connect_error ();} $ result = mysqli_query ($ con, "SELECT Current FROM find WHERE Device = 'katup123'"); while ($ row = mysqli_fetch_array ($ result)) {echo $ row ['Current']; ekko "<br>"; }? >
Her er min Arduino-kode:
// Inkluder GSM-biblioteket # inkluderer <GSM.h> # definere PINNUMBER "" // APN-data #define GPRS_APN "GPRS_APN" // erstatt GPRS APNgpsll # definer GPRS_LOGIN "pålogging" // erstatt med GPRS-innlogging # definer GPRS_PASSWORD "passord" // erstatt med GPRS-passord // initialiser bibliotekforekomsten GSM gsmAccess; GSMClient-klient; GPRS gprs; // URL, sti &-port (for eksempel: arduino.cc) char server [] = "your_domain.com"; char path [] = "/locater.php";int port = 80; // port 80 er standard for HTTPvoid-oppsett () {Serial.begin (9600); Serial.println ("Starter Arduino nettklient."); // tilkoblingstilstand boolsk notConnected = true; // Start GSM-skjold
// Hvis SIM-kortet ditt har PIN, send det som en parameter for start () i anførselstegn mens (notConnected) {if ((gsmAccess.begin (PINNUMBER) == GSM_READY) & (gprs.attachGPRS (GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) = = GPRS_READY)) notConnected = false; annet {Serial.println ("Ikke tilkoblet"); forsinkelse (1000); }} Serial.println ("GSM initialisert"); Serial.println ("forbinder ...");} ugyldig sløyfe () {char resultat [20]; Serial.print ("Koble til serverdatabase"); hvis (client.connect (server, port)) {client.print ("GET /locator.php?"); Serial.print ("GET /locator.php?"); client.println ("HTTP / 1.1"); Serial.println ("HTTP / 1.1"); client.println ("Vert: www.your_domain.com"); Serial.println ("Vert: www.your_domain.com"); client.println ("Brukeragent: Arduino"); Serial.println ("Brukeragent: Arduino"); client.println ("Godta: tekst / html"); Serial.println ("Godta: tekst / html"); client.println ("Tilkobling: lukk"); Serial.println ("Tilkobling: lukk"); client.println (); Serial.println (); Serial.println ("\ nKOMPLETT! \ N"); client.stop (); } annet {Serial.println ("tilkoblingen mislyktes"); Serial.println ("\ n MISLYKKET! \ N"); } forsinkelse (5000);}
Her vil jeg lagre 'abc' -verdien til min 'resultat' -variabel. Jeg vet ikke hvordan jeg skal gjøre det.