Помогите с python и esp32
У меня есть TCP сервер на python реализованный через библиотеку socket вот код, который принимает файлы и сохранеяет их в файл comeData.jpg какой файл он примет бз разници но сохранит именно туда. Вот код: import socket
server = socket.socket() # создаем объект сокета сервера
hostname = "0.0.0.0" # получаем имя хоста локальной машины
port = 12345 # устанавливаем порт сервера
server.bind((hostname, port)) # привязываем сокет сервера к хосту и порту
server.listen(5) # начинаем прослушиваение входящих подключений
print("Server running")
while True:
con, adr = server.accept() # принимаем клиента
dt = open("comeData.jpg", "wb")
print("dsfgfgdg")
while True:
data = con.recv(1024) # получаем данные от сервера
# print(bytes.decode(data))
dt.write(data)
if not data:
print("dataGetted")
break
dt.close()
con.close() # закрываем клиента
server.close()
Помоките пожалуйста написать TCP клиент на esp32 он должен подключаться к серверу, получать снмок с камеры и отключаться. Я набросал небольшой код но он не работает(я и не надеялся) помогите пожалуйста написать рабочий код. Вот код который я набросал:#include <ESP32_FTPClient.h>
#include "Arduino.h"
#include <octocat.h>
#include "camera.h"
camera_fb_t* frame;
#include <WiFi.h>
byte num=0;
char* host="192.168.1.13";
uint16_t port=12345;
void setup() {
// put your setup code here, to run once:
connectWiFi();
if (initCamera()) Serial.println("Camera OK");
else Serial.println("Camera Error");
}
void loop() {
// put your main code here, to run repeatedly:
WiFiClient client;
if (!client.connect(host,port)){
delay(3000);
}
if (client.connected()){
String str="Num: ";
frame = esp_camera_fb_get();
client.print((byte*)frame->buf);
Serial.println(frame->len);
esp_camera_fb_return(frame);
num+=1;
delay(3000);
}
}
void connectWiFi() {
delay(2000);
Serial.begin(115200);
Serial.println();
WiFi.begin("ASUS21G", "Asus164w");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (millis() > 15000) ESP.restart();
}
Serial.println("Connected");
}
Если вы хотите использовать этот код для обработки файлов, полученных от клиентов, вам нужно добавить логику для чтения данных из файла и записи его на стороне клиента.
Например, вы можете использовать код вроде этого:
with open("clientData.jpg", "rb") as file:
data = file.read ()
con.send(data)
Это отправит содержимое файла “clientData.jpg” клиенту.
На стороне клиента вам нужно будет прочитать полученные данные и сохранить их в файл. Для этого вы можете использовать функцию open() с режимом “wb” (для двоичного режима записи) и вызвать метод write() для объекта файла, передав ему полученные данные.