sábado, 18 de julho de 2020

NINA W102 - COMPILANDO COMANDOS NO WINDOWS - MSYS32

U-BLOX NINA W102 e COMANDOS AT

O objetivo deste BLOG é demonstrar como é possível adicionar os comandos AT ao módulo U-BLOX NINA W102. Foi utilizado o EVK-NINA-W para o teste. 
Neste blog é apresentado uma forma fácil de compilar os comandos AT para o NINA W102, deste forma você pode alterar as configurações padrões, incluindo ou removendo os comandos AT que quiser, sempre controlando o tamanho da FLASH.


Como foi possível compilar no Windows ? Esta é uma das formas, a mais fácil na minha opinião.

1) Baixei 
O MSYS2 é uma coleção de ferramentas e bibliotecas, oferecendo um ambiente fácil de usar para criar, instalar e executar o software nativo do Windows.
2) Instalei Toolchain do ESP32 (8.2.0) e ESP-IDF (este último é carregado com o GIT dos comandos AT) xtensa-esp32-elf-gcc8_2_0-esp-2019r2-win32
3) Baixei com GIT os source code com comandos AT.
4) Criei variáveis de ambiente em profile.d
5) Atualizei requirements.txt do PYTHON 3.8
6) Pronto, configure com make menuconfig, compile com make, grave com make flash

Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Toolchain version: esp-2019r2
Compiler version: 8.2.0
Python requirements from C:/msys32/home/tcpipchip/esp/esp-idf/requirements.txt are satisfied.
App "esp-at" version: ESP-AT

Foi necessário alterar partições

Name, Type, SubType, Offset, Size

# Name,   Type, SubType, Offset,  Size
phy_init, data, phy,     0xf000,  0x1000
otadata,data,ota,  0x10000,        8K
nvs,data,nvs,   0x12000,        56K
at_customize,0x40,0,0x20000,0x20000
ota_0,app,    ota_0,   0x40000,0x1C0000 <====mais FLASH para PROGRAMA (1835008)

Name,Type,SubType,Offset,Size

# Name,Type,SubType,Offset,Size
ble_data,0x40,1,0x21000,12K
server_cert,0x40,2,0x24000,8K
server_key,0x40,3,0x26000,8K
server_ca,0x40,4,0x28000,8K
client_cert,0x40,5,0x2a000,8K
client_key,0x40,6,0x2c000,8K
client_ca,0x40,7,0x2e000,8K
factory_param,0x40,8,0x30000,4K
wpa2_cert,0x40,9,0x31000,8K
wpa2_key,0x40,10,0x33000,8K
wpa2_ca,0x40,11,0x35000,8K
mqtt_cert,0x40,12,0x37000,8K
mqtt_key,0x40,13,0x39000,8K
mqtt_ca,0x40,14,0x3B000,8K
fatfs,data,fat,0x70000,16K <====menos FAT

PINOS TXD E RXD

Acrescentei no arquivo factory_param_data.csv a primeira linha. Utilizei o mesmo TXD,RXD para upload de programas.

platform,module_name,magic_flag,version,module_id,tx_max_power,uart_port,start_channel,channel_num,country_code,uart_baudrate,uart_tx_pin,uart_rx_pin,uart_ctx_pin,uart_rts_pin,tx_control_pin,rx_control_pin
PLATFORM_ESP32,NINA-W102,0xfcfc,2,1,78,1,1,13,CN,115200,1,3,-1,-1,-1,-1
PLATFORM_ESP32,WROOM-32,0xfcfc,2,1,78,1,1,13,CN,115200,17,16,15,14,-1,-1
PLATFORM_ESP32,WROVER-32,0xfcfc,2,2,78,1,1,13,CN,115200,22,19,15,14,-1,-1
PLATFORM_ESP32,PICO-D4,0xfcfc,2,3,78,1,1,13,CN,115200,22,19,15,14,-1,-1
PLATFORM_ESP32,SOLO-1,0xfcfc,2,4,78,1,1,13,CN,115200,17,16,15,14,-1,-1
PLATFORM_ESP8266,WROOM-02,0xfcfc,2,0,78,0,1,13,CN,115200,15,13,3,1,-1,-1
PLATFORM_ESP8266,WROOM-5V2L,0xfcfc,2,1,78,0,1,13,CN,115200,15,13,3,1,5,-1
PLATFORM_ESP8266,ESP8266_1MB,0xfcfc,2,2,78,0,1,13,CN,115200,15,13,3,1,-1,-1
PLATFORM_ESP32S2,WROOM,0xfcfc,2,0,78,1,1,13,CN,115200,17,18,20,19,-1,-1

Datasheet

---> COMO COMPILAR <---

  • BAIXE O RAR DESTE LINK
  • DESCOMPACTE EM UMA PASTA QUALQUER
  • EXECUTE O PROGRAMA mingw32

  • APARECERÁ O O SEGUINTE AMBIENTE
  • ENTRE NA PASTA esp-->esp-at
  • EXECUTE make menuconfig (última versão do esp-idf será instalado antes)
  • ALTERE A COMXX PARA GRAVAR A FLASH DO W102 (ONDE ESTÁ CONECTADO) 


make menuconfig --> Component config --> Common ESP-related --> UART for console output

  • Save e Exit

  • Execute make menuconfig novamente caso queiras habilitar outros comandos AT. 


  • Compile :) com make clean e make

  • Grave no no W102 com make flash (reset no modo bootloader)


  • Agora abra um emulador de terminal (exemplo TERATERM e configure para 115200, N,8,1)
Resete o NINA W102.


Você verá o BOOT acima.

Nao esquecer que cada comando AT dever ser seguido dos caracteres de controle CR/LF, no caso do TERATERM se consegue isto pressionado a sequencia CRTL-J. Você pode mudar os caracteres de controle.

Para varrer os ACCESS POINTS próximos, o NINA W102 deve estar no modo station

Execute

AT+CWMODE=1
OK
AT+CWLAP
+CWLAP:(3,"Andreia&Miguel",-28,"f8:1a:67:dc:1a:9e",6)
+CWLAP:(3,"HP-Print-73-Deskjet 2540 series",-81,"ec:b1:d7:fb:3e:73",6)
+CWLAP:(4,"NET_2GDFC060",-82,"94:2c:b3:df:c0:65",6)
+CWLAP:(3,"carlos",-83,"5c:e3:0e:13:0f:e7",1)
+CWLAP:(0,"#NET-CLARO-WIFI",-83,"5e:e3:0e:23:0f:e7",1)
+CWLAP:(4,"VIVO-5AF0",-86,"a4:33:d7:11:5a:f0",3)
+CWLAP:(4,"Evo-W301AR",-87,"00:1d:1a:0d:85:54",11)
+CWLAP:(0,"",-89,"fa:8f:ca:53:16:be",11)
+CWLAP:(3,"chicatto",-90,"90:0d:cb:e5:32:e0",6)
+CWLAP:(4,"REDE1",-92,"84:a4:23:99:97:8d",9)
+CWLAP:(0,"#NET-CLARO-WIFI",-93,"96:0d:cb:e5:32:e0",6)
+CWLAP:(4,"VIVO-1A51",-93,"04:8d:39:13:1a:50",11)

wifi scan

+BLESCAN:"f6:dd:c1:31:04:0c",-62,02010615ff59000007000815464962de02dafecc3e5c2b0
0f3,,1                                                                      
+BLESCAN:"f6:dd:c1:31:04:0c",-61,02010615ff59000007000815464962de02dafecc3e5c2b0
0f3,,1                                                                        
+BLESCAN:"db:9c:ed:d2:a2:f7",-43,02010615ff59000007000815554b5f00000000000063000
0f1,,1                                                              
+BLESCAN:"db:9c:ed:d2:a2:f7",-50,02010615ff59000007000815554b5f00000000000063000
0f1,,1                                                              
+BLESCAN:"db:9c:ed:d2:a2:f7",-37,02010615ff59000007000815554b5f00000000000063000
0f1,,                                                                        
+BLESCAN:"db:9c:ed:d2:a2:f7",-43,02010615ff59000007000815554b5f00000000000063000
0f1,,1                                                                        
+BLESCAN:"db:9c:ed:d2:a2:f7",-49,02010615ff59000007000815554b5f00000000000063000
0f1,,1
                                             
ble scan

Ligando NINA W102 (atenção)

PC/uC                                            NINA W102
TXD   --------------------------------> RXD (GPIO 3)
RXD  <-------------------------------- TXD  (GPIO 1)
GND ----------------------------------GND

Ambos lados 3.3V e 115200 BAUD

Datasheet

Ótima Referência para comandos AT da ESPRESSIF
Outras opções para compilar


Questões: suporte@smartcore.com.br

FONTES:
https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/kconfig.html
https://www.espressif.com/en/products/hardware/esp32/resources
https://github.com/espressif/esp32-at
https://github.com/espressif/esp32-at/issues/201
 

Sobre a SMARTCORE

A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portifólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
Mais detalhes em www.smartcore.com.br

 

Nenhum comentário:

Postar um comentário