Waarde in database opslaan (localhost) d.m.v. ethernetshield
41 berichten
• Pagina 1 van 5 • 1, 2, 3, 4, 5
Waarde in database opslaan (localhost) d.m.v. ethernetshield
Beste allemaal,
Voor een project wil ik graag een waarde opslaan in de database door middel van een Arduino Uno met V1 Arduino Ethernet shield
Nu heb ik al bepaalde testen gedaan, om te kijken of alle hardware werkt. En dat blijkt zo te zijn.
Echter ben ik nu begonnen met een poging om (voor nu nog) een vaste variabele (22) naar de database te schrijven met deze setup.
Helaas krijg ik nu geen connectie met mijn localhost (ik gebruik WAMP) om dit gemakkelijk te testen.
Zowel mijn eigen IP en die van de Arduino zijn correct. Toch krijg ik in de serial telkens de lijn dat de connectie gefaald is.
Mijn vraag is dus, of het uberhaupt mogelijk is om via localhost data, naar een database te sturen door middel van deze setup. En zo ja, waar ga ik de mist in. Of zie ik iets over het hoofd
Mochten er eventuele andere fouten zijn, word ik daar ook graag op gewezen, ik ben niet heel erg sterk in het programmeren van arduino's
Voor een project wil ik graag een waarde opslaan in de database door middel van een Arduino Uno met V1 Arduino Ethernet shield
Nu heb ik al bepaalde testen gedaan, om te kijken of alle hardware werkt. En dat blijkt zo te zijn.
Echter ben ik nu begonnen met een poging om (voor nu nog) een vaste variabele (22) naar de database te schrijven met deze setup.
Helaas krijg ik nu geen connectie met mijn localhost (ik gebruik WAMP) om dit gemakkelijk te testen.
Zowel mijn eigen IP en die van de Arduino zijn correct. Toch krijg ik in de serial telkens de lijn dat de connectie gefaald is.
Mijn vraag is dus, of het uberhaupt mogelijk is om via localhost data, naar een database te sturen door middel van deze setup. En zo ja, waar ga ik de mist in. Of zie ik iets over het hoofd
- Code: Alles selecteren
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// Enter the IP address for Arduino, as mentioned we will use 192.168.0.16
// Be careful to use , insetead of . when you enter the address here
IPAddress ip(192,168,178,11);
char server[] = "192,168,178,7"; // IMPORTANT: If you are using XAMPP you will have to find out the IP address of your computer and put it here (it is explained in previous article).
// Initialize the Ethernet server library
EthernetClient client;
void setup() {
// Serial.begin starts the serial connection between computer and Arduino
Serial.begin(9600);
// start the Ethernet connection
Ethernet.begin(mac, ip);
}
void loop() {
// Connect to the server (your computer or web page)
if (client.connect(server, 80)) {
client.print("GET /write_data.php?"); // This
client.print("value=22"); // This
client.println(" HTTP/1.1"); // Part of the GET request
client.println("Host: 192,168,178,7"); // IMPORTANT: If you are using XAMPP you will have to find out the IP address of your computer and put it here (it is explained in previous article). If you have a web page, enter its address (ie.Host: "www.yourwebpage.com")
client.println("Connection: close"); // Part of the GET request telling the server that we are over transmitting the message
client.println(); // Empty line
client.println(); // Empty line
client.stop(); // Closing connection to server
}
else {
// If Arduino can't connect to the server (your computer or web page)
Serial.println("--> connection failed\n");
}
// Give the server some time to recieve the data and store it. I used 10 seconds here. Be advised when delaying. If u use a short delay, the server might not capture data because of Arduino transmitting new data too soon.
delay(10000);
}
Mochten er eventuele andere fouten zijn, word ik daar ook graag op gewezen, ik ben niet heel erg sterk in het programmeren van arduino's
Advertisement
Re: Waarde in database opslaan (localhost) d.m.v. ethernetsh
Vergelijk dit:
Met dit: https://www.arduino.cc/en/Reference/ClientConnect
- Code: Alles selecteren
char server[] = "192,168,178,7";
Met dit: https://www.arduino.cc/en/Reference/ClientConnect
Re: Waarde in database opslaan (localhost) d.m.v. ethernetsh
Ik ben hier ook al een tijdje mee aan het stoeien en de sketch van jordi heb ik wel werkende gekregen door de juiste ip adressen in te vullen.
Echter mijn php script ontvangt geen variabele.
Dit is de code die ik geprobeerd heb:
php file
Echter mijn php script ontvangt geen variabele.
Dit is de code die ik geprobeerd heb:
- Code: Alles selecteren
#include <Ethernet.h>
#include <SPI.h>
byte mac[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // RESERVED MAC ADDRESS
EthernetClient client;
long previousMillis = 0;
unsigned long currentMillis = 0;
long interval = 250000; // READING INTERVAL
String data;
void setup() {
Serial.begin(115200);
Serial.println("ok");
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
}
delay(1000);
}
void loop(){
Serial.println("loop");
currentMillis = millis();
if(currentMillis - previousMillis > interval) { // READ ONLY ONCE PER INTERVAL
previousMillis = currentMillis;
}
data = "test" ;
if (client.connect("192.168.1.105",80)) { // REPLACE WITH YOUR SERVER ADDRESS
client.println("POST /add.php HTTP/1.1");
client.println("192.168.1.105"); // SERVER ADDRESS HERE TOO
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(data.length());
client.println();
client.print(data);
Serial.print("data= ");Serial.println(data);
Serial.println(Ethernet.localIP());
}
if (client.connected()) {
client.stop(); // DISCONNECT FROM THE SERVER
}
delay(3000); // WAIT FIVE MINUTES BEFORE SENDING AGAIN
}
php file
- Code: Alles selecteren
<?php
$temp1=$_POST["temp1"];
echo '<br />';
echo '________';
echo '<br />';
echo $temp1;
echo '<br />';
echo '______';
?>
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Waarde in database opslaan (localhost) d.m.v. ethernetsh
Moet "temp1" niet "data" zijn?
Re: Waarde in database opslaan (localhost) d.m.v. ethernetsh
- Code: Alles selecteren
<?php
$data=$_POST["data"];
echo '<br />';
echo '________';
echo '<br />';
echo $data;
echo '<br />';
echo '_';
?>
Maakt niet uit zo, print nog steeds geen data.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Waarde in database opslaan (localhost) d.m.v. ethernetsh
ff ter controle... Je script heet toch wel add.php en staat in de root van de server?
@edit: Hier staat ook en leuk voorbeeld : http://stackoverflow.com/questions/3902 ... to-website
@edit: Hier staat ook en leuk voorbeeld : http://stackoverflow.com/questions/3902 ... to-website
Re: Waarde in database opslaan (localhost) d.m.v. ethernetsh
Ik type in de browser mijn ip adres van de nas op + php file: http://192.168.1.105/add.php
de regel echo '_'; gewijzigd en die zie ik wel veranderen.
de regel echo '_'; gewijzigd en die zie ik wel veranderen.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Waarde in database opslaan (localhost) d.m.v. ethernetsh
Betekent dus dat je het script vind maar de variabele loopt nog niet lekker. Had je die link nog bekeken? Daar controleert de php of de variabele gevuld is.
Re: Waarde in database opslaan (localhost) d.m.v. ethernetsh
Dat is vreemd, ik heb het php script een beetje aangepast en nu lijkt er wel iets binnen te komen want hij print "ok" maar hij geeft nog niet weer wat
<?php
$data="";
if(isset($_POST["data"]));{
echo 'ok';
$data = $_POST['temp'];
}
echo '<br />';
echo '________';
echo '<br />';
echo $data;
echo '<br />';
echo '_';
?>
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Waarde in database opslaan (localhost) d.m.v. ethernetsh
Je zoekt op temp maar zo te zien schrijf je hem weg als temp1?
41 berichten
• Pagina 1 van 5 • 1, 2, 3, 4, 5
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 3 gasten