Facebook
From Paltry Guinea Pig, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 187
  1. #include <ESP8266WiFi.h>
  2. #include <ESP8266HTTPClient.h>
  3. #include <SPI.h>
  4. #include <Wire.h>
  5. #include <NewPing.h>
  6.  
  7.  
  8. // ##################### WIFI připojení ####################
  9. const char* ssid = "";
  10. const char* password = "";
  11. // #########################################################
  12.  
  13. #define pinTrigger    5
  14. #define pinEcho       4
  15. #define maxVzdalenost 450
  16. // inicializace měřícího modulu z knihovny
  17. NewPing sonar(pinTrigger, pinEcho, maxVzdalenost);
  18.  
  19. // ################# ZAKLADNI NASTAVENI ####################
  20. WiFiClient client;
  21. HTTPClient http;
  22. unsigned long timeNow;
  23. String wifiData = "";
  24. String readString = "";
  25. // #########################################################
  26.  
  27.  
  28. void setup() {
  29.   Serial.begin(9600);
  30.   delay(1000);
  31.  
  32.  
  33.  
  34.   Serial.println();
  35.   Serial.print("Připojuji se k wifi ... ");
  36.   Serial.println(ssid);
  37.  
  38.   WiFi.begin(ssid, password); // samotný proces pripojeni k siti
  39.   WiFi.mode(WIFI_STA);
  40.  
  41.   while (WiFi.status() != WL_CONNECTED) { // dokud není pripojeno
  42.     delay(70); Serial.print(".");
  43.   }
  44.  
  45.   Serial.println("");
  46.   Serial.println("WiFi připojeno");
  47.   Serial.print("IP addresa: ");
  48.   Serial.println(WiFi.localIP());
  49.  
  50.   Serial.print("Wifi signál: ");
  51.   Serial.println(WiFi.RSSI());
  52.  
  53.   Serial.print("Data se odesílají na URL adresu:");
  54.   Serial.println("http://meteo-roven.cz/?data=?????");
  55.   Serial.println("==============================================");
  56. }
  57. void loop() {
  58.     if (millis() - timeNow >= 60000 || millis() < timeNow) {
  59.     timeNow = millis();
  60. // načtení vzdálenosti v centimetrech do vytvořené proměnné vzdalenost
  61. int vzdalenost = sonar.ping_cm();
  62. // pauza před dalším měřením
  63. delay(50);
  64. // pokud byla detekována vzdálenost větší než 0,
  65. // provedeme další měření
  66. if (vzdalenost > 0) {
  67. vzdalenost = 0;
  68.  // pro získání stabilnějších výsledků provedeme 5 měření
  69. // a výsledky budeme přičítat do proměnné vzdalenost
  70. for(int i=0; i<10; i++) {
  71.  vzdalenost += sonar.ping_cm();
  72.    delay(50);
  73.  }
  74.  // v proměnné vzdálenost máme součet posledních 5 měření
  75.  // a musíme tedy provést dělení 5 pro získání průměru
  76.  vzdalenost = vzdalenost/10;
  77.  // Odecteme kominek + odtok
  78.     vzdalenost = 275 - vzdalenost;
  79.  // vytištění informací po sériové lince
  80.  Serial.print("Vzdalenost mezi senzorem a predmetem je ");
  81. Serial.print(vzdalenost);
  82. Serial.println(" cm.");
  83.  }
  84.  // pokud byla detekována vzdálenost 0, je předmět mimo měřící rozsah,
  85.  // tedy příliš blízko nebo naopak daleko
  86. else {
  87.   Serial.println("Vzdalenost mezi senzorem a predmetem je mimo merici rozsah.");
  88.  delay(500) ;
  89.   }
  90. readString = vzdalenost + String("|"); // vzdalenost
  91.     wifiData = WiFi.RSSI();  
  92.     client.setTimeout(1000);
  93.  
  94.     http.begin("http://meteo-roven.cz/");
  95.     int httpCode = http.POST(wifiData + "|" + readString);
  96.    
  97.     if (httpCode > 0) {
  98.       // HTTP header has been send and Server response header has been handled
  99.       Serial.printf("[HTTP] POST... code: %d\n", httpCode);
  100.  
  101.       // file found at server
  102.       if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
  103.  
  104.         Serial.println("Data odeslána na: http://meteo-roven.cz/?data=?????");
  105.  
  106.         String payload = http.getString();
  107.         Serial.println(payload);
  108.  
  109.       }
  110.     } else {
  111.       Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
  112.       Serial.println(F("Nepodařilo se odeslat data na webovou stránku Meteo-Roven.cz"));
  113.     }
  114.  
  115.     http.end();    
  116.   }
  117.  
  118. }

Replies to Untitled rss

Title Name Language When
Re: Untitled Beige Lizard text 3 Years ago.