Skocz do zawartości

Przesyłanie danych na strone WWW


Mrpatryk

Pomocna odpowiedź

Ta dyskusja już dawno nie ma sensu, albo chociaż związku z tematem watku - więc może prośba do moderatora o wydzielanie tej zaciętej dyskusji do oddzielnego tematu? W każdym razie moje podsumowanie jest takie: oryginalny kod działa tak samo z const, jak i z define. Natomiast ogólnie lepiej używać define niż const, a najlepiej constexpr. Chyba że ktoś ma inne zdanie, ja chętnie dowiem się czegoś nowego 🙂

  • Lubię! 1
Link do komentarza
Share on other sites

15 minut temu, SOYER napisał:

autora wątku interesuje rozwiązanie problemu, dlaczego dodanie tych "dziwnych" (dla mnie;)) define blokuje wykonywanie jego programu... 

Strzelam: bo autor w programie posługuje się zamiast nazwami pinów NodeMCU (np. D6, co oznacza GPIO12, czyli pin do dyspozycji programisty grzecznie podłączony do nogi oznaczonej D6 na NodeMCU) cyferkami (np. 6, co oznacza GPIO6, który to pin podłączony wyłącznie wewnętrznie odpowiedzialny jest za komunikację z pamięcią flash i próba jakichś operacji na tym pinie powoduje natychmiastowy crash)?

  • Lubię! 2
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Hej, mam kolejny problem, próbuję przekazać dane z Noda na Blynka. w Blynk jest opisane jak to zrobić ale ta opcja nie działa. Wykorzystuję aktualnie ten kod i tez nie działa jak powinien, pokazuje temp 1.0*C i się nie zmienia. Co może być zrobione źle?

BLYNK_READ(V1) //Blynk app has something on V1
{
  sensorData = digitalRead(D1); //reading the sensor on D1
  Blynk.virtualWrite(V1, sensorData); //sending to Blynk
}

 

Link do komentarza
Share on other sites

@hazi18 wczytaj się proszę w dokumentację Blynka, do czego innego służy BLYNK_READ() - - to zapis z apki do hardware, a Blynk.virtualWrite() to zapis z hardware do apki... 

Nie myl też pinów virtual z fizycznymi. 

Wystarczy Blynk.virtualWrite(V1, sensorData);

w aplikacji twoim value display ustawiasz jako źródło V1 i musi działać... 

Poczytaj tu:

http://docs.blynk.cc/#blynk-main-operations-get-data-from-hardware

  • Lubię! 2
Link do komentarza
Share on other sites

#include "DHT.h"
//#include <TM1637Display.h>
#define DHTPIN D1     // what pin we're connected to
#define DHTTYPE DHT22   // DHT 22  (AM2302)
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
char auth[] = "_hyKFQylC32c9eUlduUNgp_oM1c9RydD";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "TP-LINK";
char pass[] = "";

DHT dht(DHTPIN, DHTTYPE);
/*const int CLK = D3; //Set the CLK pin connection to the display
const int DIO = D4; //Set the DIO pin connection to the display
const int CLK1 = D5; //Set the CLK pin connection to the display
const int DIO1 = D6; //Set the DIO pin connection to the display
const int CLK2 = D7; //Set the CLK pin connection to the display
const int DIO2 = D8; //Set the DIO pin connection to the display
int NumStep = 0;  //Variable to interate
TM1637Display tm1637a(CLK, DIO);  //set up the 4-Digit Display.
TM1637Display tm1637b(CLK1, DIO1);  //set up the 4-Digit Display.
TM1637Display tm1637c(CLK2, DIO2);  //set up the 4-Digit Display.
int resetPin = D2;
int przekaznik=D0;*/
//BlynkTimer timer;
 int sensorData;

void setup(void)
{
  // Debug console
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  
  /* digitalWrite(resetPin, HIGH);
  delay(1000);
  digitalWrite(resetPin, LOW);
  pinMode(przekaznik,OUTPUT);  // ustawienie pinu jako wyjście
  digitalWrite(przekaznik,LOW); // ustawienie na nim stanu niskiego
  tm1637a.setBrightness(0x0a);  //set the diplay to maximum brightness
  tm1637b.setBrightness(0x0a);  //set the diplay to maximum brightness
  tm1637c.setBrightness(0x0a);  //set the diplay to maximum brightness
  Serial.begin(9600); //Begin serial communication*/

  dht.begin();
}
BLYNK_READ(V1) //Blynk app has something on V1
{
  //sensorData = digitalRead(D1); //reading the sensor on D1
  Blynk.virtualWrite(1, millis() / 1000); //sending to Blynk
}
void loop(void)

{ 
  Blynk.run();
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  int i=0;
if (dht.readTemperature()>=36.5)  // wywołanie funkcji warunkowej
{
    // digitalWrite(przekaznik,HIGH);  // włączenie przekaźnika   
    Serial.print("Humidity: "); 
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: "); 
    Serial.print(t);
    Serial.println(" *C");

}

  else  // wywołanie funkcji warunkowej
  {
//   digitalWrite(przekaznik,LOW);  // wyłączenie przekaźnika
   Serial.print("Humidity: "); 
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: "); 
    Serial.print(t);
    Serial.println(" *C");  
  } 
    //  tm1637a.showNumberDec(h); //Display the Variable value;
    //  tm1637b.showNumberDec(t); //Display the Variable value;
      
      
   /* for (i; i <= 10; i++) {
     tm1637c.showNumberDec(i); //Display the Variable value;  
    delay(1000);
    }  */
  
}

Zrobione według wytycznych podanej przez Cb strony

Screenshot_20191004-134717.png

Link do komentarza
Share on other sites

Po kolei:

w aplikacji w Reading rate daj PUSH, a w szkicu wywal z setupa blynk_read bo przecież z apki nic nie wysyłasz, a Blynk.virtualWrite() wywal z setupa do loopa, ale koniecznie w jakimś timerze, np. co 10 sekund timer odpala to Blynk.virtualWrite(1, cośtam). 

Jak nie radzisz sobie z angielskim to wszystko masz tu: Blynk.pl

 

Edytowano przez SOYER
  • Lubię! 1
Link do komentarza
Share on other sites

Hej,

 zastosowałem się do Twoich instrukcji i dalej mi liczy co 1 w górę... a co do angielskiego to trochę rozumiem i z tego co wyczytałem w punkcie "Get data from hardware" - pobierz dane z urządzenia to właśnie jest tam taki kod

BLYNK_READ(V5) // Widget in the app READs Virtal Pin V5 with the certain frequency
{
  // This command writes Arduino's uptime in seconds to Virtual Pin V5
  Blynk.virtualWrite(5, millis() / 1000);
}

Więc albo ja coś źle zrozumiałem że mnie poprawiłeś albo oni źle napisali...

Link do komentarza
Share on other sites

#include "DHT.h"
#define DHTPIN D1     // what pin we're connected to
#define DHTTYPE DHT22   // DHT 22  (AM2302)
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
char auth[] = "_hyKFQylC32c9eUlduUNgp_oM1c9RydD";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "TP-LINK";
char pass[] = "";

DHT dht(DHTPIN, DHTTYPE);

void setup(void)
{
  // Debug console
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  
  dht.begin();
}

void loop(void)

{ 
  Blynk.run();
  Blynk.virtualWrite(1, millis() / 1000); //sending to Blynk
}

 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.