-
PROHARDVER!
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
válasz
polgcsabi #17540 üzenetére
De ahogy elnézem, ezt is hasonlóan lehet írni, olvasni:
https://how2electronics.com/interface-enc28j60-ethernet-module-with-arduino/
-
Janos250
őstag
válasz
polgcsabi #17540 üzenetére
Ez meg egy minta WEB szerverre, eggyel magasabb szinten:
#include <iostream>
#include <string>
#include <WiFi.h>
#include <SPI.h>
using namespace std;
const char* ssid = "*********";
const char* password = "*********";
IPAddress ip(192, 168, 0, 30);
IPAddress dns(192, 168, 0, 1);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 0, 0);
IPAddress primaryDNS(8, 8, 8, 8); //optional
IPAddress secondaryDNS(8, 8, 4, 4); //optional
WiFiServer myServer(80);
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 WEB szerver</title>
</head>
)=====";
char body[] PROGMEM = R"=====(
<body>
Ez a kiirando
</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();
Serial.println("setup lefutott");
} ; // end setup
void loop(void) {
string header = "";
uint16_t karakterszam = 0 ;
unsigned long previousTime = 0;
const long timeoutTime = 1000; //in milliseconds (example: 2000ms = 2s)
IPAddress tavoliIP ; // = uint8_t tavoliIP[4]
//https://randomnerdtutorials.com/esp32-web-server-arduino-ide/
WiFiClient client = myServer.available(); // Listen for incoming clients
if (client) {
tavoliIP = client.remoteIP() ;
printf("tavoli IP: %3d.%3d.%3d.%3d\n",tavoliIP[0],
tavoliIP[1],tavoliIP[2],tavoliIP[3]);
previousTime = millis();
// Serial.println();
// printf("\nNew Client\n");
String currentLine = "";
while (!client.available()){
if ( (millis()- previousTime) > 100 ) {
tavoliIP = client.remoteIP() ;
Serial.println(tavoliIP) ;
client.flush() ;
client.stop() ;
printf ("megszakitva\n");
return;
} ; // if ( (millis()- previousTime) > 100 )
} ; // while (!client.available())
while (client.connected() &&
( (millis() - previousTime) <= timeoutTime) ) {
if (client.available()) {
karakterszam++ ;
char c = client.read();
Serial.write(c);
header += c;
if (c == '\n') {
if (currentLine.length() == 0) {
break;
// printf ("ures sor\n");
}
else {
currentLine = "";
// printf ("uj sor\n");
}
} else
if (c != '\r') {
currentLine += c;
} ; // if (c != '\r')
} ; // if (client.available())
} ; // while (client.connected()
if (karakterszam == 0){
client.flush() ;
client.stop() ;
return;
} ; // if (karakterszam == 0)
// Serial.println(header.c_str());
client.println(httpHeader);
client.println(htmlHeader);
client.println(body);
client.flush();
client.stop(); // Close the connection
while (client.available()){
delay(1) ;
}; // while (client.connected())
} ; // if (client)
delay(50);
} ; // end loopAzért WEB, mert figyeli, hogy mikor jön közvetlenül egymás után két sorváltás, mert a http szerint az jelzi az üzenet végét.
Természetesen bármilyen beérkező szöveget figyelhetsz, és bármit válaszolhatsz rá, nem kell a headereket küldeni, ha nem WEB lap, amit elküldesz.Ezt használtam fel:
https://randomnerdtutorials.com/esp32-web-server-arduino-ide/ -
Janos250
őstag
válasz
polgcsabi #17540 üzenetére
Például:
https://prohardver.hu/tema/arduino/hsz_16434-16434.htmlAz int socket_descriptor-tól a FILE* -ig változatlanul beírhatod, persze a 216.58.208.110 helyett a saját szerver címét. De még vannak más lehetőségek is.
Új hozzászólás Aktív témák
Hirdetés
- NTFS, exFAT, FAT32 – Melyiket válaszd és miért?
- Kerékpárosok, bringások ide!
- Kés topik
- Otthoni hálózat és internet megosztás
- Google Pixel 8a - kis telefon kis késéssel
- E-roller topik
- Milyen okostelefont vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Autós topik
- További aktív témák...
- Intel Core i7 6700K / GTX 1660TI / 16GB DDR4 RAM / 500 GB SSD konfig eladó
- Samsung Galaxy S23 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Megkímélt állapotú Xbox Series X 1TB eladó. Kitisztítva és újrapasztázva!
- Gamer PC - i5 13400F, GTX 1080ti és 16gb DDR5
- Bomba ár! Toshiba Satellite Pro R50-C - i3-6G I 4GB I 128GB SSD I 15,6" I HDMI I Cam I W10 I Gari!
- LG 77G3 - 77" OLED evo - 4K 120Hz 0.1ms - MLA - 2000 Nits - NVIDIA G-Sync - AMD FreeSync - HDMI 2.1
- ViewSonic VG700b monitor 17" 1280 1024 DSUB, DVI, beépített hangszórókkal
- 121 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!)
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C docking station (akár 3x4K felbontás)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest