- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Gurulunk, WAZE?!
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Magga: PLEX: multimédia az egész lakásban
- Ivqkzy-: Eddig
- sziku69: Szólánc.
- Argos: Szeretem az ecetfát
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
-
LOGOUT
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Janos250
őstag
Ismét előkerült egy fűtésszabályozási dolog ESP32-vel.
Mivel a jómúltkor megtanítottatok a range slider használatára, átvariáltam egy kicsit, hogy demónak (talán) alkalmas legyen, és felteszem ide. Nem Githubra, vagy egyébre, mert a változók neveit átírtam magyarra. Miért szeretem a kezdőknek szánt demót így csinálni? Azért, mert ha magyar az azonosító, azonnal tudja első rápillantásra is, aki a kezébe veszi, hogy azt a nevet szabadon adhatjuk neki.
Jobbat írni szabad!!!!!
Kicsit hosszú, de - mivel szöveg - talán nem terheli nagyon a memóriát.# define IPharmadikSzama 0 // router fuggo
# define IPnegyedikSzama 30 // olyat, ami nem utkozik massal
#include <string>
#include <WiFi.h>
using namespace std;
// PWM minta leddel
const int ledPin = 2;
const int freq = 5000;
const int ledChannel = 0;
const int resolution = 8 ;
const char* ssid = "*********";
const char* password = "*********";
IPAddress ip(192, 168, IPharmadikSzama, IPnegyedikSzama);
IPAddress dns(192, 168, IPharmadikSzama, 1);
IPAddress gateway(192, 168, IPharmadikSzama, 1);
IPAddress subnet(255, 255, IPharmadikSzama, 0);
IPAddress primaryDNS(8, 8, 8, 8); //optional
IPAddress secondaryDNS(8, 8, 4, 4); //optional
char inputCode ;
WiFiServer myServer(80);
uint8_t futesSzazalek ;
const char httpHeaderNull[] PROGMEM = R"=====(
HTTP/1.1 200 OK
Connection: close
)=====";
const char httpHeader[] PROGMEM = R"=====(
HTTP/1.1 200 OK
Content-type:text/html
Connection: close
)=====";
char htmlHeader[] PROGMEM = R"=====(
<!DOCTYPE html>
<html lang = hu >
<head>
<meta charset="UTF-8">
<title>Minta csuszkára</title>
<style>
.futesContainer {
text-align: center;
}
</style>
</head>
)=====";
char body[] PROGMEM = R"=====(
<body>
<div class="futesContainer">
fűtés százalék: <span id="FutesSzazalek"></span>
<br>
<input type="range"
id="FutesSlider"
min="1" max="99" value="50"
oninput="FutesSzazalek.innerText = this.value"
onchange="servernekElkuld('F',this.value)"
>
</div>
<script>
/*megallas utan az ertek kuldese a szervernek: */
servernekElkuld= function(keszulekKod,mitKuldErtek) {
var futesXML = new XMLHttpRequest();
futesXML.open("GET", keszulekKod+"="+mitKuldErtek, true);
futesXML.send();
}
/*kezdoertek kiiras: */
document.getElementById("FutesSzazalek").innerHTML = document.getElementById("FutesSlider").value;
</script>
</body></html>
)=====";
void setup(void) {
Serial.begin(115200);
delay(2000);
WiFi.begin(ssid, password);
if(!WiFi.config(ip, gateway, subnet, dns, secondaryDNS)) {
Serial.println("STA Failed to configure");
}
Serial.print("Connecting to ");
Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// Print local IP address and start web server
Serial.println("");
Serial.println("WiFi connected.");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());// this will display the Ip address of the Pi which should be entered into your browser
myServer.begin();
// PWM minta leddel
ledcSetup(ledChannel, freq, resolution);
ledcAttachPin(ledPin, ledChannel);
Serial.println("setup lefutott");
} ; // end setup
void loop(void) {
string aktualisSor = "";
char elsoSor[50];
uint16_t karakterszam = 0 ;
uint16_t sorokSzama = 0 ;
unsigned long elozoIdoMilliSec= 0;
const long timeoutIdoMilliSec = 1000; //in milliseconds (example: 2000ms = 2s)
IPAddress tavoliIP ; // = uint8_t tavoliIP[4]
WiFiClient myClient = myServer.available(); // Listen for incoming clients
if (myClient) {
tavoliIP = myClient.remoteIP() ;
// printf("tavoli IP: %d.%d.%d.%d\n",tavoliIP[0],
// tavoliIP[1],tavoliIP[2],tavoliIP[3]);
elozoIdoMilliSec= millis();
aktualisSor = "";
// printf ("aktualisSor1 = %s\n",aktualisSor.c_str());
while (!myClient.available()){
if ( (millis()- elozoIdoMilliSec) > 100 ) {
tavoliIP = myClient.remoteIP() ;
Serial.println(tavoliIP) ;
myClient.flush() ;
myClient.stop() ;
printf ("megszakitva\n");
return;
} ; // if ( (millis()- elozoIdo) > 100 )
} ; // while (!myClient.available())
while (myClient.connected()
&& ( (millis() - elozoIdoMilliSec) <= timeoutIdoMilliSec) ) {
if (myClient.available()) {
karakterszam++ ;
char c = myClient.read();
// Serial.print(c);
aktualisSor += c;
if (c == '\n') {
if (aktualisSor.length() == 0) {
break;
printf (" ures sor \n");
}
else {
sorokSzama++ ;
if ( sorokSzama == 1){
aktualisSor.copy (elsoSor, aktualisSor.length(), 0);
elsoSor[aktualisSor.length()] = 0 ;
};
aktualisSor = "" ;
} ; // end else (if(c == '\n'))
} ; //end if (c == '\n')
} ; // if (myClient.available())
} ; // while (myClient.connected()
inputCode = elsoSor[5];
switch (inputCode) {
case ' ':
printf("IP: %d.%d.%d.%d bejelentkezett, vagy frissített\n",tavoliIP[0],
tavoliIP[1],tavoliIP[2],tavoliIP[3]);
myClient.println(httpHeader);
myClient.println(htmlHeader);
myClient.println(body);
break;
case 'F':
char futesSzazalekChar[2] ;
futesSzazalekChar[0] = elsoSor[7];
futesSzazalekChar[1] = elsoSor[8];
futesSzazalekChar[2] = 0; // terminator
futesSzazalek = stoi(futesSzazalekChar);
myClient.println(httpHeaderNull);
printf("kuldo IP: %d.%d.%d.%d\n",tavoliIP[0],
tavoliIP[1],tavoliIP[2],tavoliIP[3]);
printf (" F=%d\n",futesSzazalek);
// PWM minta leddel
futesszabalyozasMinta () ;
break;
default:
printf (" ismeretlen jott, valami hiba van\n");
break;
}; // end switch (inputCode)
myClient.flush();
myClient.stop();
while (myClient.available()){
delay(1) ;
}; // while (myClient.available())
} ; // if (myClient)
delay(50);
} ; // end loop
void futesszabalyozasMinta (){
// PWM minta leddel
ledcWrite(ledChannel, futesSzazalek/100.0*255);
} ;
Új hozzászólás Aktív témák
Hirdetés
- Milyen házat vegyek?
- Kazy Computers - Fehérvár - Megbízható?
- Vicces képek
- Media Player Classic és Home Cinema (MPC-HC)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- TCL LCD és LED TV-k
- Apple Watch
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Asustor NAS
- Gurulunk, WAZE?!
- További aktív témák...
- BESZÁMÍTÁS! MSI SUPRIM X RTX 4080 16GB videokártya garanciával hibátlan működéssel
- BESZÁMÍTÁS! 6TB Seagate SkyHawk SATA HDD meghajtó garanciával hibátlan működéssel
- BESZÁMÍTÁS! 4TB Samsung 870 EVO SATA SSD meghajtó garanciával hibátlan működéssel
- BESZÁMÍTÁS! Intel Core i7 8700K 6 mag 12 szál processzor garanciával hibátlan működéssel
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
- 128 - Lenovo Legion 5 (16IRX9) - Intel Core i7-14650HX, RTX 4070 (ELKELT)
- ÁRGARANCIA! Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- 4 év gari - magyar bill. - Lenovo ThinkPad Z13 G1 - AMD Ryzen R7 Pro 6850U, 13.3" 2.8K OGS érintő
- Bomba ár! Dell Latitude 7320 - i5-11GEN I 8GB I 512SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest