//*************************************
// Geigerzähler-Web-Bridge
//
// 01.01.2018 JM
//
// Jürgen, DL8MA www.DL8MA.de
//
// Übertragung der Ortsdosisleistungswerte über Serielle Schnittstelle vom Geigerzähler R42 an Arduino
//
// Ausgabe der Messwerte an Webserver: http://192.168.178.108/db0gh/in.php?odl=114&einheit=1
//
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xFF };
IPAddress server( 192,168,178,108);
IPAddress ip(192, 168, 178, 99);
EthernetClient client;
String telCall = "db0gh";
String telPfad = "/" + telCall + "/in.php";
String telArrayLabel[] = { "odl", "einheit" };
int telArrayValue[] = { 0, 0 };
boolean telArrayFlag[] = { 0, 0 };
String buffer;
//**************************
void setup() {
Serial.begin(9600);
Serial1.begin( 115100 );
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
Ethernet.begin(mac, ip);
}
Serial.print("IP Addresse: ");
for (byte thisByte = 0; thisByte < 4; thisByte++)
{
Serial.print(Ethernet.localIP()[thisByte], DEC);
Serial.print(".");
}
}
//**************************
void loop() {
int einheit, zeiger;
while(Serial1.available()) {
buffer = Serial1.readString();
buffer = buffer.substring( 41 );
buffer.trim();
Serial.println(buffer);
telArrayValue[ 0 ] = buffer.toInt();
telArrayFlag[ 0 ] = 1;
if( buffer.indexOf('n') > 0 ) {
einheit = 1;
}
else
einheit = 2;
telArrayValue[ 1 ] = einheit;
telArrayFlag[ 1 ] = 1;
httpRequest();
}
}
//**************************
void httpRequest() {
int i;
String pfadString = telPfad;
if( sizeof( telArrayFlag ) > 0 )
pfadString += "?";
for( i = 0; i < sizeof( telArrayFlag ); i++ ) {
if( telArrayFlag[ i ] == 1 ) {
pfadString += telArrayLabel[ i ];
pfadString += "=";
pfadString += telArrayValue[ i ];
if( i < sizeof( telArrayFlag ) - 1 )
pfadString += "&";
telArrayFlag[ i ] = 0;
}
}
Serial.println( pfadString );
client.stop();
if (client.connect(server, 80)) {
Serial.println("connecting...");
// send the HTTP GET request:
client.println("GET " + pfadString + " HTTP/1.1");
client.println("Host: www.arduino.cc");
client.println("User-Agent: arduino-ethernet");
client.println("Connection: close");
client.println();
} else {
Serial.println("connection failed");
}
}