26-05-2022, 13:05
(Ten post był ostatnio modyfikowany: 26-05-2022, 22:33 przez kaczakat.
Powód edycji: porzadki
)
Witam.
Mam takie coś:
Niby wszystko dziala, ale problem polega na tym, że przychodzaćy pakiet "przeskakuje" przez wszystkie wiersze wyswietlacza...a wygląda to tak:
Kacza: Wklejaj w znaczniki Kod
Mam takie coś:
Kod:
#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");
}
Kod:
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:
Kacza: Wklejaj w znaczniki Kod