• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ethernet Shild niełączy się określoną stroną - problem z kodem

Object Storage Arubacloud
0 głosów
70 wizyt
pytanie zadane 1 czerwca 2018 w Mikrokontrolery przez mikoh81 Obywatel (1,260 p.)
edycja 1 czerwca 2018 przez mikoh81

Witam, próbuię zrobić program do arduino który to wysyłał by dane przez Ethernet shild do PHP.

Lecz z jakiś przyczyn arduino nie chce się połączyć z stroną. Oto mój kod:

#include <Wire.h>
#include <SPI.h>
#include "RTClib.h"
#include <Ethernet.h>
#include <SoftwareSerial.h>
#include "I2C.h" 
RTC_DS1307 RTC;
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01 }; 
EthernetClient client;

    const byte numChars = 40;
    char receivedChars[numChars];
char tempChars[numChars];
String fTemp, fPress, fwil, fpomiar, iilosc;
boolean newData = false;
static unsigned long NowMillis = 0;
static unsigned long LastMillis = 0;
static unsigned long LoopMillis = 0;
int mies;
int t = 0;  // TEMPERATURE VAR
int h = 0;  // HUMIDITY VAR
String data;
long previousMillis = 0;
unsigned long currentMillis = 0;
long interval = 250000; 


    SoftwareSerial HC12(53, 54); // HC-12 TX Pin, HC-12 RX Pin
   

    void setup() {
 Serial.begin(9600);             // Serial port to computer
      HC12.begin(9600);    
       Wire.begin();
    RTC.begin();
  // Check to see if the RTC is keeping time.  If it is, load the time from your computer.
  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    // This will reflect the time that your sketch was compiled
    RTC.adjust(DateTime(__DATE__, __TIME__));
    if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP"); 
  }
  } 
     
  }
    void loop() {
       recvWithStartEndMarkers();
  if (newData == true) {
    strcpy(tempChars, receivedChars);  // this temporary copy is necessary to protect the original data
                                           // because strtok() used in parseData() replaces the commas with \0
    parseData();  // Strip required data out of received string
    
   
    showParsedData();
    newData = false;

  }
}
 void recvWithStartEndMarkers() {
  static boolean recvInProgress = false;
  static byte ndx = 0;
  char startMarker = '<';
  char endMarker = '>';
  char rc;

  while (HC12.available() > 0 && newData == false) {
    rc = HC12.read();
    if (recvInProgress == true) {
      if (rc != endMarker) {
        receivedChars[ndx] = rc;
        ndx++;
        if (ndx >= numChars) {
          ndx = numChars - 1;
        }
      }
      else {
        receivedChars[ndx] = '\0';
        recvInProgress = false;
        ndx = 0;
        newData = true;
      }
    }
    else if (rc == startMarker) {
      recvInProgress = true;
    }
  }
}

void parseData() {  // split the data into its parts

  char * strtokIndx;  // this is used by strtok() as an index

  strtokIndx = strtok(tempChars,",");  // Get the first part of the data
  fTemp = atof(strtokIndx);
 
  strtokIndx = strtok(NULL, ",");  // this continues where the previous call left off
  fPress = atof(strtokIndx);

  strtokIndx = strtok(NULL, ",");
  fwil = atof(strtokIndx);

  strtokIndx = strtok(NULL, ",");
  fpomiar = atof(strtokIndx);

  strtokIndx = strtok(NULL, ",");
  iilosc = atol(strtokIndx);
  }
  void showParsedData() {

    DateTime now = RTC.now(); 
    
    
   
     Serial.print(now.month(), DEC);
     
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print('/');
    Serial.print(now.year(), DEC);
    Serial.print(' ');
      Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute()-23, DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.print(" : T ");
  Serial.print(fTemp);
  Serial.print(" : Pr ");
  Serial.print(fPress);
  Serial.print(" : wil ");
  Serial.print(fwil);
  Serial.print(" : pomiar ");
  Serial.print(fpomiar);
  Serial.print(" : ilosc ");
  Serial.print(iilosc);
Serial.print('/t');
LastMillis = NowMillis;
  NowMillis = millis();
  LoopMillis = NowMillis - LastMillis;
    Serial.print(" : LoopTime ");
    Serial.println(LoopMillis);
    delay(500);
//-------------------------------------------------
 
data = "temp1=" + fTemp + "&hum1=" + fwil;
Serial.println(data);
 if (client.connect("***********.com",80)) { // REPLACE WITH YOUR SERVER ADDRESS
   client.println("POST /add.php HTTP/1.1"); 
    client.println("Host: "***********.com"); // 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); 
 }
 if (client.connected()) { 
  Serial.println("coneted");
  delay(500);
  }

 
  }
  
     

 

1 odpowiedź

0 głosów
odpowiedź 2 czerwca 2018 przez Jaroslaw Roj Obywatel (1,990 p.)
 if (client.connect("***********.com",80)) { // REPLACE WITH YOUR SERVER ADDRESS
   client.println("POST /add.php HTTP/1.1"); 
    client.println("Host: "***********.com");

zamien gwiazdki, np na xammp daj localhost lub 127.0.0.1 albo adres witryny na ktorej jest kod php

Podobne pytania

0 głosów
0 odpowiedzi 155 wizyt
pytanie zadane 20 listopada 2016 w Mikrokontrolery przez Hubert Siast Nowicjusz (140 p.)
0 głosów
1 odpowiedź 393 wizyt
pytanie zadane 13 lutego 2020 w Mikrokontrolery przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
1 odpowiedź 138 wizyt
pytanie zadane 4 lipca 2018 w Mikrokontrolery przez mikoh81 Obywatel (1,260 p.)

92,555 zapytań

141,403 odpowiedzi

319,558 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...