Отладочная плата ESP32-Ethernet-Kit

Какой микроконтроллер лучше?

Вопрос на собеседовании:

  • Какой микроконтроллер вам нравится? Отвечанию не задумываясь:
  • Модуль ESP32 WiFi!

Отладочная плата ESP32-Ethernet-Kit

Дали “пощупать” отладочную плату ‘ESP32-Ethernet-Kit’ фирмы Espressif Systems с ESP32, с интегрированным WiFi и поддержкой Ethernet. С интересом приступил к практическим опытам.

Благо эта отладочная плата рекомендована производителем, фирмой Espressif Systems. И, главное, имеются примеры проектов.

Что будем проверять?

Во-первых, оценим скорость обмена “по проводам”. Сколько “копий было сломано” на эмоциональных совещаниях при обсуждениях в поисках ответов на вопросы “Взлетит или не взлетит?”, “Успеем ли передавать все потоковые данные звука или видео?”.

Будем “посмотреть”

Во-вторых, испытаем интерсный проект, а именно используем отладочную плату как беспроводную точку доступа WiFi.

В-третьих, хочется оценить, что может ESP32 WiFi + ethernet и можно ли такой платой заменить миникомпьютер на операционной системе OS Linux.

Проверить инженерную гипотезу. Можно ли использовать это аппаратное решение как “управляющие умное устройством” (IoT) для чего нибудь? Контролировать дистанционно, через локальную сеть или интернет теплицей, микроклиматом, домашними устройствами.

“Отладочная плата ESP32-Ethernet-Kit”

Инструменты для сборки проектов esp-idf

Установка и настройка инструмента для сборки проекта прошла штатно и без замечаний по инструкции от производителя модуля ESP32 - https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit.html

Обнаружил примеры в каталоге ’esp-idf/examples/ethernet’

$ tree -L 1
.
├── basic
├── enc28j60
├── eth2ap
├── iperf
└── README.md

Исследуем скорость обмена в локальной сети ethernet

Проект iperf

Пример реализует сетевой инструмент ‘iperf’ для измерения пропускной способности Ethernet.

Командный интерпретатор ‘cli’ позволяет использовать команды и настраивать ESP32 или как клиент протоколов client UDP,TCP, или как сервер server UDP,TCP.

Сборка проекта iperf

$ idf.py build
...
esptool esp32 -p /dev/ttyUSB1 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 bootloader/bootloader.bin 0x10000 ethernet_iperf.bin 0x8000 partition_table/partition-table.bin
...

Запись проекта iperf в отладочную плату ESP32

$ idf.py flash
...
esptool.py v4.4
Serial port /dev/ttyUSB1
Connecting.......
Chip is ESP32-D0WD-V3 (revision v3.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 70:b8:f6:12:bf:10
Uploading stub...
...

Тест скорости обмена при отправке данных по ethernet

ESP32: run command: `iperf -s -i 3`
mode=tcp-server sip=ip_addr_board:5001, dip=0.0.0.0:5001, interval=3, time=30   
I (955966) iperf: Socket created                                                
iperf> I (978896) iperf: accept: ip_addr_computer,37204                            
                                                                                
                                                                                
        Interval Bandwidth                                                      
   0-   3 sec       34.28 Mbits/sec                                             
   3-   6 sec       34.44 Mbits/sec                                             
   6-   9 sec       34.41 Mbits/sec                                             
   9-  12 sec       34.40 Mbits/sec                                             
  12-  15 sec       34.33 Mbits/sec                                             
  15-  18 sec       34.35 Mbits/sec                                             
  18-  21 sec       34.40 Mbits/sec                                             
  21-  24 sec       34.35 Mbits/sec                                             
  24-  27 sec       34.24 Mbits/sec                                             
  27-  30 sec       34.19 Mbits/sec                                             
   0-  30 sec       34.34 Mbits/sec                                             
I (1008906) iperf: TCP Socket server is closed.                                 
I (1008906) iperf: iperf exit  

Тест скорости обмена при получении данных по ethernet

ESP32: run command: `iperf -c ip_addr_computer -i 3'

mode=tcp-client sip=ip_addr_board:5001, dip=ip_addr_computer:5001, interval=3, tim0
iperf> I (721816) iperf: Successfully connected                                 
                                                                                
        Interval Bandwidth                                                      
   0-   3 sec       49.20 Mbits/sec                                             
   3-   6 sec       50.42 Mbits/sec                                             
   6-   9 sec       49.94 Mbits/sec                                             
   9-  12 sec       50.46 Mbits/sec                                             
  12-  15 sec       49.94 Mbits/sec                                             
  15-  18 sec       50.55 Mbits/sec                                             
  18-  21 sec       49.98 Mbits/sec                                             
  21-  24 sec       50.55 Mbits/sec                                             
  24-  27 sec       49.98 Mbits/sec                                             
  27-  30 sec       50.51 Mbits/sec                                             
   0-  30 sec       50.15 Mbits/sec                                             
I (751826) iperf: TCP Socket client is closed.                                  
I (751826) iperf: iperf exit 

Реклама

Консультации:

  • Составить техническое задание
  • Применение микроконтроллеров в проектах
  • Как сократить сроки разработки программ для микроконтроллеров, мини- компьютеров ?

Услуга программирования:

  • Arduino IDE
  • PlatformIO
  • Микроконтроллер EPS32 WiFi язык С/С++
  • язык Flutter
  • язык Golang

Пишите: эл. почта: vlad-free@mail.ru

#SENSORCURRENT

 Ссылки :