Передача изображения на основе LI-FI с использованием ESP32Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Передача изображения на основе LI-FI с использованием ESP32

Сообщение Anonymous »

Дорогие, я работаю над проектом передачи изображения LiFi с использованием микроконтроллеров ESP32.
Затем я использую 2 микроконтроллера: один в качестве передатчика через лазер, а другой в качестве приемника через LDR. Коды Arduino и скрипт Python, которые я использовал для передачи, пока не работают.
  • КОД PYTHON ДЛЯ ПРЕОБРАЗОВАНИЯ ИЗОБРАЖЕНИЯ В STRING :

Код: Выделить всё

import base64
def image_to_base64(image_path):
with open(image_path, "rb") as img_file:
# Read the image file in binary mode
img_data = img_file.read()
# Encode the binary data as base64
base64_data = base64.b64encode(img_data)
# Decode bytes to string
base64_string = base64_data.decode("utf-8")
return base64_string
# Example usage
image_path = "blue.png" # Replace with your image file path
base64_string = image_to_base64(image_path)
print(base64_string) 

  • КОД ARDUINO ДЛЯ ПЕРЕДАЧИ ИЗОБРАЖЕНИЯ :
#define LED_PIN 22
#define PERIOD 15
char *string ="/9j/1/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBA gQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAOABEDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAAECAwQFBgcICQoL/8QA TRAAAgEDAwIEawUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDh IWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+ Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtRE AAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvaVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5 ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDzv4U6OPFd99mtWJu4iGaNI2YkbiCwD+nX0B ZfbPonjz4OzeGdFjmnZbKWeWMwRTSCOWfqSFRnJYgZPC9AeleY/Bvxi/wq8ZDxRa2K3awxTST WpfAkU5c4cg7W+RcNjjHIIyD+g3hr4AaP47tbP4t+Mtc1CbxH4n8GWuk3VtZOsGnWyytFcMYE KtID5igbnd+M8dAPwHNMBisuzb2lOXLGK5+nnePXTTe17Nddv1yXEcYYenGqtJKz031336Xv6 3sfBH/CCw/9BTVP+/En/wAVRXtP9hW/+x/37FFX/rtlP/Pyp9y/+RPX+pUv5fyP/9k=#";
int string_length;
void setup()
{
pinMode(LED_PIN, OUTPUT);
pinMode(3, INPUT);
digitalWrite(3,LOW) ;
string_length = strlen(string);
delay(5000);
if(digitalRead(3) == HIGH){
for(int i = 0; я //передача bits
for(int i = 0; i < 8; i++)
{
digitalWrite(LED_PIN, (my_byte&(0x01 0:
data = ser.read().decode('utf-8')

long_string += data
print(data, end="")
if " " в long_string:
break
ser.close()
long_string = long_string[:-1]
print(f"\ n\n{long_string}\n\n")
Декодируйте изображение из фиксированной строки base64
image_bytes = base64.b64decode(fixed_base64_str)
image = Image.open(BytesIO(image_bytes))
image.show()

Цепь эмиссии
  • КОД ARDUINO ДЛЯ ПОЛУЧЕНИЯ:
#define LED_PIN 3#define LDR_PIN 34
#define ПОРОГ 300
#define PERIOD 15
bool previous_state,current_state;
void setup()
{Serial.begin(9600);
pinMode(LED_PIN, OUTPUT); voidloop()
{current_state = get_ldr();
if(!current_state && previous_state)
{print_byte(get_byte());previous_state = current_state;bool get_ldr()
{int Volttage = AnalogRead(LDR_PIN);
//Serial.println (напряжение);
обратное напряжение > ПОРОГ ? true: false;char get_byte()
{char ret = 0;
delay(PERIOD*1.5);
for(int i = 0; i < 8; i++ ){
ret = ret | get_ldr()

Подробнее здесь: https://stackoverflow.com/questions/792 ... sing-esp32
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Передача изображения на основе LI-FI с использованием ESP32
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Передача изображения на основе LI-FI с использованием микроконтроллера ESP32.
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Клиент Firebase ESP32: получение ошибки INVALID_EMAIL при анонимной аутентификации на ESP32
    Anonymous » » в форуме C++
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Как интегрировать ESP32-CAM с Chirale_TensorFlowLite для обнаружения людей на основе Al?
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Ошибка HTTP POST ESP32-CAM -11 после отправки изображения на сервер
    Anonymous » » в форуме Php
    0 Ответы
    108 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»