Pergunta: Se o programa enviado no Esp 32 está protegido contra cópia?Se não,como proteger?

No ESP8266 a memória Flash é externa e não tem como proteger. Já o ESP32, pelo fato de possuir recurso de criptografia em hardware, é possível criptografar a Flash.
https://github.com/esp8266/Arduino/issues/2494

Internamente no ESP32 existem muitos setores de memória. É possível por meio dos fuses do ESP32, encriptar setores da flash (isso é feito por meio do programa espefuse.py que vem no SDK-IDF). O problema que é que parte dos setores encriptados da flash podem ser lidos pelo programa de bootloader do ESP32 e armazenado na RAM. Por esse motivo é recomendado desabilitar também o bootloader serial.
Se o ​fuse de criptografia na flash estiver definido, todo o código em flash será criptografado. ​Esse processo é irreversível.

​O link abaixo mostra um simples exemplo de criptografia do ESP32 (foi utilizado um outro SDK, porém o processo de criptografia é o mesmo para o SDK-IDF). ​

​Segue a relação dos fusíveis de proteção do ESP32, conforme: https://github.com/espressif/esptool/wiki/espefuse
WR_DIS,RD_DIS
FLASH_CRYPT_CNT //Criptografa a flash
MAC
XPD_SDIO_FORCE
XPD_SDIO_REG
XPD_SDIO_TIEH
SPI_PAD_CONFIG_CLK
SPI_PAD_CONFIG_Q
SPI_PAD_CONFIG_D
SPI_PAD_CONFIG_HD
SPI_PAD_CONFIG_CS0
FLASH_CRYPT_CONFIG
CODING_SCHEME
CONSOLE_DEBUG_DISABLE
DISABLE_SDIO_HOST
ABS_DONE_0
ABS_DONE_1
JTAG_DISABLE
DISABLE_DL_ENCRYPT
DISABLE_DL_DECRYPT
DISABLE_DL_CACHE
KEY_STATUS
BLK1
BLK2
BLK3

​Exemplo de comando de Escrita:
espefuse.py –port COM1 write_protect_efuse FLASH_CRYPT_CNT
​Exemplo de comando de Leitura

espefuse.py –port COM1 read_protect_efuse KEY_STATUS

——————————–
Pergunta : Quantos ESP posso ligar no Wifi,ou seja qual o total que pode ligar na rede ?1,2, 20, 40, 100 etc.. ?

Se você configurar o ESP32 como cliente TCP, a limitação passa a ser do roteador WiFi​​. Um roteador comum de mercado (50 a 150 reais), suporta cerca de 20 a 30 conexões simultânea. Caso o ESP32 esteja configurado como um roteador tcp (server), a limitação passa a ser a memória interna no Stack TCP que você reservou para cada cliente conectado. Normalmente é de 4 a 8 conexões simultânea no máximo.

O ideal é configurar o ESP32 como cliente tcp, ou seja, ele vai enviar informações para um servidor TCP (na nuvem ou localhost). Uma vez enviado ou recebido o pacote de dados devemos encerrar a conexão para liberar memória e desocupar o roteador.

Abraços,
Fernando Simplicio

Categories: Internet of Things

Leave a Reply

Your email address will not be published. Required fields are marked *

Bitnami