Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <Ethernet.h>
- #include "MD5.h"
- //MAC adresa Arduina
- byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
- char server[] = "www.spseke.sk"; // adresa webového servera (napríklad www.spseke.sk)
- // IP konfigurácia pre Arduino v prípade, že sa nepodarí načítať ju cez DHCP
- IPAddress ip(192, 168, 0, 177);
- IPAddress gw(192,168 , 1, 1);
- IPAddress dnserver(8, 8, 8, 8);
- IPAddress sm(255, 255, 255, 0);
- // Inicializácia webového klienta
- EthernetClient client;
- void setup() {
- Serial.begin(9600);
- // ak sa nepodarí načítať IP adresu cez DHCP
- if (Ethernet.begin(mac) == 0) {
- Serial.println("Nepodarilo sa načítať adresu cez DHCP"); //výpis chybovej hlášky na serial monitor
- Ethernet.begin(mac, ip, dnserver, gw, sm); //nastavenie statických parametrov do shieldu
- }
- delay(1000);
- Serial.println("connecting...");
- String data="teplota=23&dvere1=otv&okno2=zat"; //data posielane cez GET request
- String salted="Qx9d3 "+data+" P4tB1"; //osolene data
- int len=salted.length()+1; //zistenie dĺžky osolených dát
- char beforeMD5[len]; //vytvorenie statického poľa znakov pre MD5 algoritmus
- salted.toCharArray(beforeMD5,len); //konverzia dátového typu String na pole znakov (char), ktoré vyžaduje ako vstup funkcia pre MD5 hash (make_hash)
- unsigned char* hash=MD5::make_hash(beforeMD5); //príprava reťazca pre tvorbu hashu
- char *md5str = MD5::make_digest(hash, 16); //tvorba hashu a jeho uloženie do premennej md5str
- data+="&hash="; //pridanie novej premennej do GET requestu
- data+=md5str; //a za premennú pridáme jej hodnotu, ktorou je MD5 hash
- free(md5str); //odstránenie nepotrebných premenných z RAM
- free(beforeMD5); //odstránenie nepotrebných premenných z RAM
- free(hash); //odstránenie nepotrebných premenných z RAM
- // spojenie na server
- if (client.connect(server, 80)) {
- Serial.println("connected");
- // Make a HTTP request:
- client.print("GET /uloz.php?");
- client.print(data);
- client.println(" HTTP/1.1");
- client.println("Host: www.spseke.sk");
- client.println("Connection: close");
- client.println();
- } else {
- // výpis chybovej hlášky v prípade neúspešného spojenia na server
- Serial.println("connection failed");
- }
- }
- void loop() {
- // výpis odpovede zo servera
- if (client.available()) {
- char c = client.read();
- Serial.print(c);
- }
- if (!client.connected()) {
- Serial.println();
- Serial.println("disconnecting.");
- client.stop();
- // "zastavenie" arduina
- while (true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment