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

Użytkownik


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



Użytkownik
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