- btz: Internet fejlesztés országosan!
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- ricshard444: Fényképező ? Telefon helyett
- Random25: Windows 11 telepítés Pendriveról
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Magga: PLEX: multimédia az egész lakásban
- Parci: Milyen mosógépet vegyek?
- VoidXs: Tényleg minden játék optimalizálatlan?
-
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
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Épített vízhűtés (nem kompakt) topic
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Revolut
- Linux kezdőknek
- AliExpress tapasztalatok
- ThinkPad (NEM IdeaPad)
- Motorola Edge 40 - jó bőr
- Tarr Kft. kábeltv, internet, telefon
- Mibe tegyem a megtakarításaimat?
- További aktív témák...
- Xiaomi Redmi Note 10 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- LG OLED Televíziók: FRISS SZÁLLÍTMÁNY -30%
- Xiaomi Redmi 13128GB Kártyafüggetlen 1Év Garanciával
- Részletfizetés , Acer Nitro V 15 minimálisan használt uj állapot sok garancia
- Telefon szerviz helyben - Gyors javítás, akár 30 perc alatt!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest