Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam.
Mam takie coś:
#include<DallasTemperature.h> #include<ESP8266WiFi.h> #include<WiFiUdp.h> #include<Wire.h> #include<OneWire.h> #include<SPI.h> #include<Arduino.h> #include "stacja_pogodowa.h" #include <LiquidCrystal_I2C.h> OneWire termo(termometr); DallasTemperature sensor(&termo); WiFiUDP udp; LiquidCrystal_I2C lcd(0x23, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); void setup(){ Serial.begin(115200); sensor.begin(); Serial.println(); Serial.println(); WiFi.begin("*****","*********"); while(WiFi.status() != WL_CONNECTED){ delay(500); Serial.print("."); } Serial.println(); Serial.print("Polaczono...IP adres:"); Serial.println(WiFi.localIP()); udp.begin(udp_port); lcd.begin(20,4); lcd.setCursor(0,0); lcd.print("Pokoj_moj:"); lcd.setCursor(0,1); lcd.print("Pokoj_mama:"); } void loop(){ int odbior_danych = udp.parsePacket(); if(odbior_danych){ udp.read(bufor,rozmiar); for(int i = 0; i < rozmiar; i++){ data_mama += (char)bufor[i]; } } sensor.requestTemperatures(); String temp = String (sensor.getTempCByIndex(0)); String data= String (data_mama); lcd.setCursor(13, 0); lcd.print(temp); lcd.print("*C"); lcd.setCursor(13,1); lcd.print(data); lcd.print("*C"); }
i klient:
#include <Arduino.h> #include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <DHT.h> #define dht_pin D2 #define dht_typ DHT22 float tempert; float wilgotnosc; DHT dht(dht_pin,dht_typ,15); WiFiUDP udp; void setup() { Serial.begin(115200); dht.begin(); Serial.println(); WiFi.begin("****","***********"); Serial.print("Laczenie..."); while(WiFi.status() != WL_CONNECTED){ delay(500); Serial.print("."); } Serial.println(); Serial.print("Polaczono....IP_Adres: "); Serial.println(WiFi.localIP()); udp.beginPacket("****, )****; } void loop(){ String temperatura = String (dht.readTemperature()); wilgotnosc = dht.readHumidity(); //udp.write(dht.readTemperature()); udp.print(temperatura); delay(1000); udp.endPacket(); }
Niby wszystko dziala, ale problem polega na tym, że przychodzaćy pakiet "przeskakuje" przez wszystkie wiersze wyswietlacza...a wygląda to tak:
Offline
Nie mów że Ci się to kompiluje?
Gdzie definicja data_mama? Czyżby w tym tajemniczym pliku *.h którego uprzejmie nie pokazałeś?
Poza tym po co kombinujesz z zamianą odebranych danych na String (i to błędnie)?
Poza tym dlaczego delay między udp.write a udp.endPacket?
Poczytaj coś o programowaniu w C/C++ dla początkujących (np. kursy na Forbocie), bo tu co linijkę masz błąd.
Offline
Strony: 1