Jump to content
    

vvk123

Участник
  • Posts

    15
  • Joined

  • Last visited

Reputation

0 Обычный

About vvk123

  • Rank
    Участник
    Участник

Информация

  • Город
    Array

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Суть вопроса в следующем: Одновременно активны оба интерфейса (как WiFi, так и Ethernet). На оба приходят UDP-пакеты, для обработки запущен UDP-сервер из библиотеки WiFiUDP: WiFiUDP Udp; Udp.beginMulticast(multicastIP, multicastPort); Для приема вызывается функция uint16_t packetSize = Udp.parsePacket(); и затем Udp.read(...) Пакет принимается правильно. Но проблема в том, что сервер не привязан к какому-то интерфейсу, и я не знаю, пришел пакет по WiFi или по Ethernet. А ответить мне нужно по тому интерфейсу, откуда получен пакет. Поэтому у меня такие вопросы: 1. Как можно узнать по какому интерфейсу пришел пакет? 2. Как выбрать интерфейс для отправки? (Сейчас отправку выполняю функцией Udp.write(...) ) 3. Может есть библиотека, позволяющая выбирать интерфейс для сервера/клиента
  2. 1. Нахожусь в поиске работы. 2. Кто-нибудь знает, остались ли какие-нибудь фриланс-биржи типа upwork для России? Может есть посредники для upwork?
  3. Все привет! Имел кто-нибудь дело с flash encryption? Не получается запустить ESP32 с этой функцией, не пойму, что не так делаю. Пробовал как с генерацией ключа внутри ESP, так и с генерацией на хосте, в любом случае результат получаю такой: rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) flash read err, 1000 ets_main.c 371 Вроде делаю согласно документации ( https://docs.espressif.com/projects/esp-idf/en/latest/esp32/security/flash-encryption.html#pregenerated-flash-encryption-key ) Плата ESP32 devkit v1 Ниже подробнее, что делал: 1. Скачал свежий пример ..\esp-idf\examples\get-started\hello_world 2. Через menuconfig включаю "Enable flash encryption on boot" и выбираю Development ( пробовал и Release, на результат не влияет ): 3.Отключаю этот сертификат, т.к. с ним не компилируется (вроде его срок недавно истек): 4. Отключаю логирование бутлоадера, т.к. с логированием и шифрованием его размер превышает максимальный: 5. Сохраняю конфигурацию и компилирую проект командой: idf.py build 6. Прошиваю командой: idf.py flash monitor 7. На всякий случай перед прошивкой считываю eFuses командой espefuse.py -p com3 summary Они такие: Detecting chip type... ESP32 espefuse.py v3.1-dev ---------------------------------------------------------------------------------------- Calibration fuses: BLK3_PART_RESERVE (BLOCK0): BLOCK3 partially served for ADC calibration data = False R/W (0b0) ADC_VREF (BLOCK0): Voltage reference calibration = 1086 R/W (0b10010) Config fuses: XPD_SDIO_FORCE (BLOCK0): Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) XPD_SDIO_REG (BLOCK0): If XPD_SDIO_FORCE, enable VDD_SDIO reg on reset = False R/W (0b0) CLK8M_FREQ (BLOCK0): 8MHz clock freq override = 53 R/W (0x35) SPI_PAD_CONFIG_CLK (BLOCK0): Override SD_CLK pad (GPIO6/SPICLK) = 0 R/W (0b00000) SPI_PAD_CONFIG_Q (BLOCK0): Override SD_DATA_0 pad (GPIO7/SPIQ) = 0 R/W (0b00000) SPI_PAD_CONFIG_D (BLOCK0): Override SD_DATA_1 pad (GPIO8/SPID) = 0 R/W (0b00000) SPI_PAD_CONFIG_HD (BLOCK0): Override SD_DATA_2 pad (GPIO9/SPIHD) = 0 R/W (0b00000) SPI_PAD_CONFIG_CS0 (BLOCK0): Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) DISABLE_SDIO_HOST (BLOCK0): Disable SDIO host = False R/W (0b0) Efuse fuses: WR_DIS (BLOCK0): Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0): Efuse read disable mask = 0 R/W (0x0) CODING_SCHEME (BLOCK0): Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) KEY_STATUS (BLOCK0): Usage of efuse block 3 (reserved) = False R/W (0b0) Identity fuses: MAC (BLOCK0): Factory MAC Address = 3c:61:05:14:b5:6c (CRC 0x22 OK) R/W MAC_CRC (BLOCK0): CRC8 for factory MAC address = 34 R/W (0x22) CHIP_VER_REV1 (BLOCK0): Silicon Revision 1 = True R/W (0b1) CHIP_VER_REV2 (BLOCK0): Silicon Revision 2 = False R/W (0b0) CHIP_VERSION (BLOCK0): Reserved for future chip versions = 2 R/W (0b10) CHIP_PACKAGE (BLOCK0): Chip package identifier = 0 R/W (0b000) MAC_VERSION (BLOCK3): Version of the MAC field = 0 R/W (0x00) Security fuses: FLASH_CRYPT_CNT (BLOCK0): Flash encryption mode counter = 0 R/W (0b0000000) UART_DOWNLOAD_DIS (BLOCK0): Disable UART download mode (ESP32 rev3 only) = False R/W (0b0) FLASH_CRYPT_CONFIG (BLOCK0): Flash encryption config (key tweak bits) = 0 R/W (0x0) CONSOLE_DEBUG_DISABLE (BLOCK0): Disable ROM BASIC interpreter fallback = True R/W (0b1) ABS_DONE_0 (BLOCK0): Secure boot V1 is enabled for bootloader image = False R/W (0b0) ABS_DONE_1 (BLOCK0): Secure boot V2 is enabled for bootloader image = False R/W (0b0) JTAG_DISABLE (BLOCK0): Disable JTAG = False R/W (0b0) DISABLE_DL_ENCRYPT (BLOCK0): Disable flash encryption in UART bootloader = False R/W (0b0) DISABLE_DL_DECRYPT (BLOCK0): Disable flash decryption in UART bootloader = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0): Disable flash cache in UART bootloader = False R/W (0b0) BLOCK1 (BLOCK1): Flash encryption key = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2): Secure boot key = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3): Variable Block 3 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V). И после прошивки и перезапуска получаются такие: Detecting chip type... ESP32 espefuse.py v3.1-dev EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: BLK3_PART_RESERVE (BLOCK0): BLOCK3 partially served for ADC calibration data = False R/W (0b0) ADC_VREF (BLOCK0): Voltage reference calibration = 1086 R/W (0b10010) Config fuses: XPD_SDIO_FORCE (BLOCK0): Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) XPD_SDIO_REG (BLOCK0): If XPD_SDIO_FORCE, enable VDD_SDIO reg on reset = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0): If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) CLK8M_FREQ (BLOCK0): 8MHz clock freq override = 53 R/W (0x35) SPI_PAD_CONFIG_CLK (BLOCK0): Override SD_CLK pad (GPIO6/SPICLK) = 0 R/W (0b00000) SPI_PAD_CONFIG_Q (BLOCK0): Override SD_DATA_0 pad (GPIO7/SPIQ) = 0 R/W (0b00000) SPI_PAD_CONFIG_D (BLOCK0): Override SD_DATA_1 pad (GPIO8/SPID) = 0 R/W (0b00000) SPI_PAD_CONFIG_HD (BLOCK0): Override SD_DATA_2 pad (GPIO9/SPIHD) = 0 R/W (0b00000) SPI_PAD_CONFIG_CS0 (BLOCK0): Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) DISABLE_SDIO_HOST (BLOCK0): Disable SDIO host = False R/W (0b0) Efuse fuses: WR_DIS (BLOCK0): Efuse write disable mask = 128 R/W (0x0080) RD_DIS (BLOCK0): Efuse read disable mask = 1 R/W (0x1) CODING_SCHEME (BLOCK0): Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) KEY_STATUS (BLOCK0): Usage of efuse block 3 (reserved) = False R/W (0b0) Identity fuses: MAC (BLOCK0): Factory MAC Address = 3c:61:05:14:b5:6c (CRC 0x22 OK) R/W MAC_CRC (BLOCK0): CRC8 for factory MAC address = 34 R/W (0x22) CHIP_VER_REV1 (BLOCK0): Silicon Revision 1 = True R/W (0b1) CHIP_VER_REV2 (BLOCK0): Silicon Revision 2 = False R/W (0b0) CHIP_VERSION (BLOCK0): Reserved for future chip versions = 2 R/W (0b10) CHIP_PACKAGE (BLOCK0): Chip package identifier = 0 R/W (0b000) MAC_VERSION (BLOCK3): Version of the MAC field = 0 R/W (0x00) Security fuses: FLASH_CRYPT_CNT (BLOCK0): Flash encryption mode counter = 0 R/W (0b0000000) UART_DOWNLOAD_DIS (BLOCK0): Disable UART download mode (ESP32 rev3 only) = False R/W (0b0) FLASH_CRYPT_CONFIG (BLOCK0): Flash encryption config (key tweak bits) = 15 R/W (0xf) CONSOLE_DEBUG_DISABLE (BLOCK0): Disable ROM BASIC interpreter fallback = True R/W (0b1) ABS_DONE_0 (BLOCK0): Secure boot V1 is enabled for bootloader image = False R/W (0b0) ABS_DONE_1 (BLOCK0): Secure boot V2 is enabled for bootloader image = False R/W (0b0) JTAG_DISABLE (BLOCK0): Disable JTAG = False R/W (0b0) DISABLE_DL_ENCRYPT (BLOCK0): Disable flash encryption in UART bootloader = False R/W (0b0) DISABLE_DL_DECRYPT (BLOCK0): Disable flash decryption in UART bootloader = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0): Disable flash cache in UART bootloader = False R/W (0b0) BLOCK1 (BLOCK1): Flash encryption key = ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? -/- BLOCK2 (BLOCK2): Secure boot key = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3): Variable Block 3 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V). Видно, что после перепрошивки параметр FLASH_CRYPT_CNT остается в '0', а должен, как я понимаю, стать '1' Если кто знает, что с этим делать, буду рад совету.
  4. На VSCode и platformio все нормально работает, вот видеоинструкция по установке:
  5. Тут подробно про 3d угол наклона и пример кода:
  6. Из последних работ: Многофункциональный контроллер управления роботом: Плата питания робота: Контроллер BLDC двигателя, вид со всех сторон: Принимаю заказы.
  7. Добрый день. К сожалению, с RFID практически не работал.
  8. Есть свободное время могу взять проект в работу. Работаю с микроконтроллерами STM, PIC, ESP. Приложения под Win: VC#, VC++. Простые приложение под андроид: Android studio. Платы: Altium. Кому нужно, могу дать ссылку на полное резюме.
  9. Только Москва, Спб и Рига? Удаленщиков из других городов рассматриваете?
  10. А почему нельзя просто измерять длительность импульса и паузы и передавать их по UART? Еще можно по каждому фронту импульса передавать байт по UART. На приемной стороне по стартовому биту (или по всему байту) можно будет восстановить импульс. Только в этом случае скорость UART нужно побольше сделать.
  11. Появилось свободное время, могу взять заказ. Зарегистрировал профиль на FL.ru . На этом сайте есть возможность проведения безопасной сделки, что может быть удобно тем, кто не любит давать предоплату. Ссылка на мой профиль
  12. Добрый день! Нет, я загрузчик для своей программы не делал, в ней был просто функционал транслятора UART - BLE
  13. Это у меня есть. Кроме непосредственно работы с ESP8266, нужно будет отобразить содержимое sd-карты в htm(l) - странице, которая будет показываться пользователю в браузере любого подключенного устройства. По нажатию на имя файла в браузере, контроллер должен обработать запрос и переслать выбранный файл этому браузеру. Т.е. для меня такая задача будет сведена больше к html-программированию и работе с файловой системой. Могу сделать за месяц - два. Стоимость нужно будет обговаривать дополнительно. Если интересно, пишите: vvk43210 на yandex.ru
  14. Нет, красивые интерфейсы получаются плохо - в основном только функционал. Windows: VC#,VC++ ВАЖНО: пишу с нового аккаунта, т.к. пароль к старому, похоже, безвозвратно утерян вместе с email, на который он был зарегистрирован. При этом отвечать мне можно на тот же адрес, который указан в предыдущих сообщениях: vvk43210 на yandex.ru Примеры моих разработок можно увидеть на моем youtube канале.
×
×
  • Create New...