Programando u-blox NINA-W106 com NuttX - Network Support - Acesso ao servidor u-blox THINGSTREAM.IO via PPP
O objetivo é fornecer implementações da maioria das interfaces padrão do SISTEMA OPERACIONAL POSIX para oferecer suporte a um ambiente de desenvolvimento rico e multi-threaded para processadores profundamente incorporados.
Totalmente escalável de minúsculo (8 bits) a moderado incorporado (64 bits). A escalabilidade com conjunto de recursos ricos é realizada com: Muitos arquivos de origem minúsculos, link de bibliotecas estáticas, altamente configurável, uso de símbolos fracos quando disponíveis.
Em redes de computadores, o Point-to-Point Protocol (PPP), em português Protocolo ponto-a-ponto é um protocolo de enlace de dados (camada 2) usado para estabelecer uma conexão direta entre dois nós. Ele pode fornecer autenticação de conexão, criptografia de transmissão (usando ECP, RFC 1968) e compressão.
O PPP é usado sobre muitos tipos de redes físicas incluindo cabo serial, linha telefônica, linha tronco, telefone celular, enlaces de rádio especializados e enlaces de fibra ótica como SONET. O PPP também é usado sobre conexões de acesso à Internet. Provedores de serviços de Internet têm usado o PPP para acesso discado à Internet pelos clientes, uma vez que pacotes IP não podem ser transmitidos sobre uma linha de modem por si próprios, sem algum protocolo de enlace de dados.
- o custo do Thingstream como um MQTT Broker é muito menor do que o custo daqueles associados ao Azure e AWS;
- o gerenciador de fluxo de dados é uma excelente vantagem, dados podem ser tratados no servidor e então encaminhados;
- permite programação Node.js;
- a segurança é diferente e muito mais simplificada do que tentar fazer uma troca de certificados com a AWS etc;
- tem uma conexão segura em vez do dispositivo. Isso realmente simplifica a integração;
- capacidade de se inscrever em vários tópicos diferentes;
- nós para acessos para vários serviços da AWS Amazon, Azure IoT, IBM Watson, IFTTT (DashBoard e uma infinidade de outras opções)
- criação de Coisas (Thing);
- monitoração de eventos MQTT;
- alertas quando algo não vai bem.
- você deve fazer registro
- gerar Certificados
- manter, guardar e proteger seus Certificados
- despachar cada Certificado um por um para os Devices na produção
- você precisa manter identidades diferentes por cada um dispositivo e entregá-los com segurança
- fortes impactos na complexidade na logística, produção tempo, configuração do sistema e custos de manutenção
- você deve fazer um registro de CA (certificate authority) (Access ID e Secret Key), exemplo, IAM na AMAZON.
- quando você cria um Device (Things) no ThingStream, você deve pegar as credenciais (Username, Password, Client ID) (Device Certificate), basicamente muda Client Id e Password para cada Device
- utilize estas credenciais (Things) (Username, Password e Client ID) no Device (U-BLOX NINA W106) para acessar o ThingStream via MQTT
- crie Tópicos (Topics) que devem acessados pelos Devices (U-BLOX NINA W106), ou seja, para fazer Publish ou Subscribe
- no DATAFLOW manager (Flows), o Nó ThingStream Subscribe deve estar conectado à um Tópico previamente criado para o seu Device (U-BLOX NINA W106), é por ele que começa o disparo para o DATAFLOW manager
- Dentro do DATAFLOW pode de ter vários Nós ThingStream Subscribe
- no DATAFLOW manager tenha fácil acesso à AWS, AZURE, etc utilizando Access ID e Secret Key e então solicite os serviços disponíveis (S3, LAMBDA, etc) (No caso da AMAZON)
$sudo apt install \ bison flex gettext texinfo libncurses5-dev libncursesw5-dev \ gperf automake libtool pkg-config build-essential gperf genromfs \ libgmp-dev libmpc-dev libmpfr-dev libisl-dev binutils-dev libelf-dev \ libexpat-dev gcc-multilib g++-multilib picocom u-boot-tools util-linux
Nota 1: O NuttX utiliza um sistema de build semelhante ao do Kernel do Linux (https://www.kernel.org/doc/html/latest/kbuild/index.html). Ele utiliza o kconfig-frontends como seu sistema de configuração. O repositório tools.git é utilizado para instalar este pacote. Porém se você estiver usando o Ubuntu 19.10 ou mais recente, estas distribuições já contém o pacote, mas de qualquer forma, instale.$ sudo apt-get install kconfig-frontends
Nota 2: Outra dependência para o processo do NuttX com o ESP32 é o ESP-IDF (Espressif IoT Development Framework). Este framework é nativo do ESP e mantido pela Espressif. Ele compreende um conjunto de códigos como drivers, APIs, scripts, ferramental para compilar e fazer upload do firmware e o FreeRTOS customizado. Neste ponto, uma observação conceitual é muito importante, o NuttX não usa o FreeRTOS em nenhuma camada interna, apenas algumas ferramentas auxiliares que compõem o IDF serão utilizadas para geração do binário e gravação.
Download do NuttX
$ mkdir nuttx
$ cd nuttx
$ git clone https://github.com/apache/incubator-nuttx.git nuttx
$ git clone https://github.com/apache/incubator-nuttx-apps apps
O Ubuntu e o Debian ainda fornecem o Python 2.7 como o interpretador padrão, mas alguns
pacotes necessários podem estar faltando para distribuições mais recentes. Python 3 é
recomendado e pode ser instalado da seguinte maneira:
$ sudo apt-get install python3 python3-pip
python3-setuptool$sudo update-alternatives --install /usr/bin/python python /usr/bin/python3
Instale agora o ESP-IDF (ESP32 TOOLS, LIBS, ETC) manualmente
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-setup.html
(ESP-IDF) extrair
mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
osboxes@osboxes:~$ cd esp/
osboxes@osboxes:~/esp$ cd esp-idf/
osboxes@osboxes:~/esp/esp-idf$ ./install.sh
Detecting the Python interpreter
Checking "python" ...
/home/osboxes/esp/esp-idf/tools/detect_python.sh: line 16: python: command not found
Checking "python3" ...
Python 3.8.5
"python3" has been detected
Installing ESP-IDF tools
Installing tools: xtensa-esp32-elf, xtensa-esp32s2-elf, xtensa-esp32s3-elf, riscv32-esp-elf, esp32ulp-elf, esp32s2ulp-elf, openocd-esp32
Installing xtensa-esp32-elf@esp-2020r3-8.4.0
Downloading xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz to /home/osboxes/.espressif/dist/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz.tmp
Done
Extracting /home/osboxes/.espressif/dist/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz to /home/osboxes/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0
Installing xtensa-esp32s2-elf@esp-2020r3-8.4.0
Downloading xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz to /home/osboxes/.espressif/dist/xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz.tmp
Done
.
.
.
$cd nuttx
$make -C tools/esp32/ ${HOME}/esp/esp-idf
Após a instalação do IDF, ou caso já possua o IDF instalado, execute oseguinte comando para ativar o ambiente virtual que foi configurado nainstalação. Sempre que for realizar o build do NuttX, será necessárioativar este ambiente.$. ${HOME}/esp/esp-idf/export.sh
No presente momento, o NuttX utiliza 2 binários gerados através doIDF: o bootloader e a tabela de partição. Ainda dentro do diretório/nutxtx/nuttx/, faça o download destes binários pré configurados:
Mantenha-se no diretório do NuttX e execute o script de configuração para criar um arquivo de configuração para o
U-BLOX NINA W106.
To configure the project:
tools/configure.sh <config>
For a list of available configurations:
tools/configure.sh -L
osboxes@osboxes:~/nuttx/nuttx$ makeCreate .versionCreate version.hLN: include/arch/board to /home/osboxes/nuttx/nuttx/boards/xtensa/esp32/esp32-devkitc/includemake[1]: Entering directory '/home/osboxes/nuttx/nuttx/libs/libxx'make[1]: Leaving directory '/home/osboxes/nuttx/nuttx/libs/libxx'make[1]: Nothing to be done for 'dirlinks'. make[1]: Entering directory '/home/osboxes/nuttx/nuttx/boards'make[1]: Entering directory '/home/osboxes/nuttx/nuttx/openamp'make[1]: Nothing to be done for 'dirlinks'. make[1]: Leaving directory '/home/osboxes/nuttx/nuttx/boards' make[1]: Nothing to be done for 'dirlinks'.make[2]: Entering directory '/home/osboxes/nuttx/apps/platform'make[1]: Leaving directory '/home/osboxes/nuttx/nuttx/openamp' make[1]: Entering directory '/home/osboxes/nuttx/apps' LN: platform/board to /home/osboxes/nuttx/apps/platform/dummymake[2]: Entering directory '/home/osboxes/nuttx/nuttx/boards/xtensa/esp32/common'make[2]: Leaving directory '/home/osboxes/nuttx/apps/platform' make[1]: Leaving directory '/home/osboxes/nuttx/apps' make[1]: Entering directory '/home/osboxes/nuttx/nuttx/boards' make[2]: Nothing to be done for 'context'.make[1]: Nothing to be done for 'context'.make[2]: Leaving directory '/home/osboxes/nuttx/nuttx/boards/xtensa/esp32/common' make[1]: Leaving directory '/home/osboxes/nuttx/nuttx/boards' make[1]: Entering directory '/home/osboxes/nuttx/nuttx/fs' make[1]: Leaving directory '/home/osboxes/nuttx/nuttx/fs'make[2]: Entering directory '/home/osboxes/nuttx/apps'make[1]: Entering directory '/home/osboxes/nuttx/apps'...make[3]: Leaving directory '/home/osboxes/nuttx/apps/system/readline'make[2]: Leaving directory '/home/osboxes/nuttx/apps'IN: /home/osboxes/nuttx/apps/libapps.a -> staging/libapps.amake[1]: Leaving directory '/home/osboxes/nuttx/apps'make[1]: Leaving directory '/home/osboxes/nuttx/nuttx/fs'make[1]: Entering directory '/home/osboxes/nuttx/nuttx/fs' make[1]: 'libfs.a' is up to date.make[1]: Leaving directory '/home/osboxes/nuttx/nuttx/binfmt'make[1]: Entering directory '/home/osboxes/nuttx/nuttx/binfmt' make[1]: 'libbinfmt.a' is up to date.make[2]: 'libboard.a' is up to date.make[1]: Entering directory '/home/osboxes/nuttx/nuttx/arch/xtensa/src' make[2]: Entering directory '/home/osboxes/nuttx/nuttx/boards/xtensa/esp32/common'CP: nuttx.hexmake[2]: Leaving directory '/home/osboxes/nuttx/nuttx/boards/xtensa/esp32/common' LD: nuttx make[1]: Leaving directory '/home/osboxes/nuttx/nuttx/arch/xtensa/src' CP: nuttx.binosboxes@osboxes:~/nuttx/nuttx$
**Este binário não tem os cabeçalhos com as informações que o bootloader do ESP32 espera encontrar, então ele deve ser removido:
$ rm nuttx.bin
E um novo binário deverá ser gerado a partir do arquivo ELF chamado “nuttx”. Para isso, é necessário usar o script esptool.py para gerar este arquivo:
esptool.py --chip esp32 elf2image --flash_mode dio --flash_size 4MB -o ./nuttx.bin nuttx
$ make menuconfig
.config - NuttX/x86_64 Configuration────────────────────────────────────────────────────────────────────────────────────┌───────────────────────── NuttX/x86_64 Configuration ──────────────────────────┐│ Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty ││ submenus ----). Highlighted letters are hotkeys. Pressing <Y> includes, ││ <N> excludes, <M> modularizes features. Press <Esc><Esc> to exit, <?> for ││ Help, </> for Search. Legend: [*] built-in [ ] excluded <M> module < > ││ ┌───────────────────────────────────────────────────────────────────────────┐ ││ │ Build Setup ---> │ ││ │ System Type ---> │ ││ │ Board Selection ---> │ ││ │ RTOS Features ---> │ ││ │ Device Drivers ---> │ ││ │ Networking Support ---> │ ││ │ Crypto API ---> │ ││ │ File Systems ---> │ ││ │ Graphics Support ---> │ ││ │ Memory Management ---> │ ││ │ Audio Support ---> │ ││ │ Video Support ---> │ ││ │ Wireless Support ---> │ ││ │ Binary Loader ---> │ ││ │ Library Routines ---> │ ││ │ Open Asymmetric Multi Processing ---> │ ││ │ Application Configuration ---> │ ││ └───────────────────────────────────────────────────────────────────────────┘ │├───────────────────────────────────────────────────────────────────────────────┤│ <Select> < Exit > < Help > < Save > < Load > │└───────────────────────────────────────────────────────────────────────────────┘make menuconfig customiza o que deseja adicionar/retirar na placa. Por exemplo, permite adicionar os drivers de um determinado periférico, adicionar mensagens de debug, etc.Abaixo o .config gerado pela customização escolhida# # Automatically generated file; DO NOT EDIT. # NuttX/x86_64 Configuration # # # License Setup # # CONFIG_ALLOW_BSD_COMPONENTS is not set # CONFIG_ALLOW_GPL_COMPONENTS is not set # # Build Setup # # CONFIG_EXPERIMENTAL is not set # CONFIG_DEFAULT_SMALL is not set CONFIG_HOST_LINUX=y # CONFIG_HOST_MACOS is not set # CONFIG_HOST_WINDOWS is not set # CONFIG_HOST_OTHER is not set # # Build Configuration # CONFIG_APPS_DIR="../apps" CONFIG_BUILD_FLAT=y # CONFIG_BUILD_2PASS is not set # # Binary Output Formats # CONFIG_INTELHEX_BINARY=y # CONFIG_MOTOROLA_SREC is not set CONFIG_RAW_BINARY=y # CONFIG_UBOOT_UIMAGE is not set # CONFIG_DFU_BINARY is not set # # Customize Header Files # # CONFIG_ARCH_HAVE_STDINT_H is not set # CONFIG_ARCH_HAVE_STDBOOL_H is not set # CONFIG_ARCH_HAVE_MATH_H is not set # CONFIG_ARCH_FLOAT_H is not set CONFIG_ARCH_HAVE_STDARG_H=y # CONFIG_ARCH_STDARG_H is not set # CONFIG_ARCH_HAVE_SETJMP is not set CONFIG_ARCH_NONE_DEBUG_H=y # CONFIG_ARCH_DEBUG_H is not set # CONFIG_ARCH_CHIP_DEBUG_H is not set # # Debug Options # CONFIG_DEBUG_ALERT=y CONFIG_DEBUG_FEATURES=y # # Debug SYSLOG Output Controls # CONFIG_DEBUG_ERROR=y CONFIG_DEBUG_WARN=y CONFIG_DEBUG_INFO=y CONFIG_DEBUG_ASSERTIONS=y # # Subsystem Debug Options # # CONFIG_DEBUG_BINFMT is not set # CONFIG_DEBUG_FS is not set # CONFIG_DEBUG_GRAPHICS is not set # CONFIG_DEBUG_LIB is not set # CONFIG_DEBUG_MM is not set # CONFIG_DEBUG_NET is not set # CONFIG_DEBUG_POWER is not set # CONFIG_DEBUG_WIRELESS is not set # CONFIG_DEBUG_SCHED is not set # # OS Function Debug Options # # CONFIG_DEBUG_IRQ is not set # # Driver Debug Options # # CONFIG_DEBUG_LEDS is not set # CONFIG_DEBUG_GPIO is not set # CONFIG_DEBUG_TIMER is not set CONFIG_ARCH_HAVE_STACKCHECK=y # CONFIG_STACK_COLORATION is not set # CONFIG_STACK_CANARIES is not set # CONFIG_ARCH_HAVE_HEAPCHECK is not set # CONFIG_DEBUG_SYMBOLS is not set CONFIG_ARCH_HAVE_CUSTOMOPT=y # CONFIG_DEBUG_NOOPT is not set # CONFIG_DEBUG_CUSTOMOPT is not set CONFIG_DEBUG_FULLOPT=y # # System Type # # CONFIG_ARCH_ARM is not set # CONFIG_ARCH_AVR is not set # CONFIG_ARCH_HC is not set # CONFIG_ARCH_MIPS is not set # CONFIG_ARCH_MISOC is not set # CONFIG_ARCH_RENESAS is not set # CONFIG_ARCH_RISCV is not set # CONFIG_ARCH_SIM is not set # CONFIG_ARCH_X86 is not set # CONFIG_ARCH_X86_64 is not set CONFIG_ARCH_XTENSA=y # CONFIG_ARCH_Z16 is not set # CONFIG_ARCH_Z80 is not set # CONFIG_ARCH_OR1K is not set CONFIG_ARCH="xtensa" CONFIG_ARCH_CHIP="esp32" CONFIG_ARCH_BOARD="esp32-devkitc" CONFIG_ARCH_CHIP_ESP32=y # CONFIG_ARCH_CHIP_ESP32S2 is not set # CONFIG_ARCH_CHIP_XTENSA_CUSTOM is not set # CONFIG_XTENSA_HAVE_ICACHE is not set # CONFIG_XTENSA_HAVE_DCACHE is not set CONFIG_ARCH_FAMILY_LX6=y # CONFIG_ARCH_FAMILY_LX7 is not set # CONFIG_XTENSA_USE_OVLY is not set CONFIG_XTENSA_CP_INITSET=0x0001 CONFIG_XTENSA_DUMPBT_ON_ASSERT=y CONFIG_XTENSA_BTDEPTH=50 # CONFIG_XTENSA_INTBACKTRACE is not set # CONFIG_XTENSA_IMEM_USE_SEPARATE_HEAP is not set # CONFIG_XTENSA_EXTMEM_BSS is not set # CONFIG_XTENSA_TOOLCHAIN_XCC is not set # CONFIG_XTENSA_TOOLCHAIN_XCLANG is not set CONFIG_XTENSA_TOOLCHAIN_ESP=y # # ESP32 Configuration Options # # CONFIG_ARCH_CHIP_ESP32S0WD is not set # CONFIG_ARCH_CHIP_ESP32D0WD is not set # CONFIG_ARCH_CHIP_ESP32D2WD is not set # CONFIG_ARCH_CHIP_ESP32U4WD is not set # CONFIG_ARCH_CHIP_ESP32WROOM32 is not set # CONFIG_ARCH_CHIP_ESP32WROOM32_8MB is not set # CONFIG_ARCH_CHIP_ESP32WROOM32_16MB is not set CONFIG_ARCH_CHIP_ESP32WROVER=y # CONFIG_ARCH_CHIP_ESP32MINI1 is not set # CONFIG_ARCH_CHIP_ESP32SOLO1 is not set # CONFIG_ESP32_SINGLE_CPU is not set CONFIG_ESP32_DUAL_CPU=y # CONFIG_ESP32_FLASH_2M is not set CONFIG_ESP32_FLASH_4M=y # CONFIG_ESP32_FLASH_8M is not set # CONFIG_ESP32_FLASH_16M is not set CONFIG_ESP32_FLASH_DETECT=y CONFIG_ESP32_PSRAM_8M=y # CONFIG_ESP32_ESP32SXWDXX is not set # CONFIG_ESP32_ESP32UXWDXX is not set CONFIG_ESP32_ESP32DXWDXX=y CONFIG_ESP32_FLASH_MODE_DIO=y # CONFIG_ESP32_FLASH_MODE_DOUT is not set # CONFIG_ESP32_FLASH_MODE_QIO is not set # CONFIG_ESP32_FLASH_MODE_QOUT is not set # CONFIG_ESP32_FLASH_FREQ_80M is not set CONFIG_ESP32_FLASH_FREQ_40M=y # CONFIG_ESP32_FLASH_FREQ_26M is not set # CONFIG_ESP32_FLASH_FREQ_20M is not set # CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set # CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 CONFIG_ESP32_XTAL_40MZ=y # CONFIG_ESP32_XTAL_26MHz is not set CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y # CONFIG_ESP32_RTC_CLK_SRC_EXT_XTAL is not set # CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set # CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set CONFIG_ESP32_RT_TIMER=y # CONFIG_ESP32_RUN_IRAM is not set # CONFIG_ESP32_RTC_HEAP is not set # CONFIG_ESP32_IRAM_HEAP is not set # # ESP32 Peripheral Selection # CONFIG_ESP32_UART=y CONFIG_ESP32_TIMER=y # CONFIG_ESP32_WDT is not set # CONFIG_ESP32_EFUSE is not set # CONFIG_ESP32_EMAC is not set # CONFIG_ESP32_I2C is not set # CONFIG_ESP32_RNG is not set # CONFIG_ESP32_SPI is not set # CONFIG_ESP32_SPIFLASH is not set # CONFIG_ESP32_SPI2 is not set # CONFIG_ESP32_SPI3 is not set # CONFIG_ESP32_SPIRAM is not set # CONFIG_XTENSA_TIMER1 is not set # CONFIG_XTENSA_TIMER2 is not set CONFIG_ESP32_TIMER0=y # CONFIG_ESP32_TIMER1 is not set # CONFIG_ESP32_TIMER2 is not set # CONFIG_ESP32_TIMER3 is not set # CONFIG_ESP32_MWDT0 is not set # CONFIG_ESP32_MWDT1 is not set # CONFIG_ESP32_RWDT is not set CONFIG_ESP32_UART0=y # CONFIG_ESP32_UART1 is not set CONFIG_ESP32_UART2=y # CONFIG_ESP32_WIRELESS is not set # CONFIG_ESP32_I2C0 is not set # CONFIG_ESP32_I2C1 is not set # CONFIG_ESP32_AES_ACCELERATOR is not set # # Memory Configuration # CONFIG_ESP32_BT_RESERVE_DRAM=0 CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0 CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0 # CONFIG_ESP32_GPIO_IRQ is not set # # UART configuration # CONFIG_ESP32_UART0_TXPIN=1 CONFIG_ESP32_UART0_RXPIN=3 CONFIG_ESP32_UART2_TXPIN=17 CONFIG_ESP32_UART2_RXPIN=16 # # Real-Time Timer # CONFIG_ESP32_RT_TIMER_TASK_NAME="rt_timer" CONFIG_ESP32_RT_TIMER_TASK_PRIORITY=223 CONFIG_ESP32_RT_TIMER_TASK_STACK_SIZE=2048 # # Timer/counter Configuration # # CONFIG_ESP32_ONESHOT is not set # CONFIG_ESP32_FREERUN is not set # CONFIG_ESP32_HAVE_OTA_PARTITION is not set # # Application Image Configuration # CONFIG_ESP32_APP_FORMAT_LEGACY=y # # MCUboot support depends on CONFIG_EXPERIMENTAL # # CONFIG_ESP32_PARTITION is not set # CONFIG_ESP32_AUTO_SLEEP is not set # CONFIG_ESP32_TICKLESS is not set # CONFIG_ARCH_CHIP_CUSTOM is not set # CONFIG_ARCH_TOOLCHAIN_IAR is not set CONFIG_ARCH_TOOLCHAIN_GNU=y # CONFIG_ARCH_GNU_NO_WEAKFUNCTIONS is not set # CONFIG_ARCH_SIZET_LONG is not set # # Architecture Options # # CONFIG_ARCH_NOINTC is not set CONFIG_ARCH_VECNOTIRQ=y # CONFIG_ARCH_HAVE_IRQTRIGGER is not set # CONFIG_ARCH_DMA is not set # CONFIG_ARCH_HAVE_IRQPRIO is not set # CONFIG_ARCH_ICACHE is not set # CONFIG_ARCH_DCACHE is not set # CONFIG_ARCH_L2CACHE is not set # CONFIG_ARCH_HAVE_ADDRENV is not set # CONFIG_ARCH_NEED_ADDRENV_MAPPING is not set # CONFIG_ARCH_HAVE_EXTRA_HEAPS is not set CONFIG_ARCH_HAVE_TEXT_HEAP=y CONFIG_ARCH_HAVE_MULTICPU=y # CONFIG_ARCH_HAVE_VFORK is not set # CONFIG_ARCH_HAVE_FPU is not set # CONFIG_ARCH_HAVE_DPFPU is not set # CONFIG_ARCH_HAVE_MMU is not set # CONFIG_ARCH_HAVE_MPU is not set # CONFIG_ARCH_NAND_HWECC is not set # CONFIG_ARCH_HAVE_EXTCLK is not set # CONFIG_ARCH_HAVE_POWEROFF is not set # CONFIG_ARCH_HAVE_PROGMEM is not set CONFIG_ARCH_HAVE_RESET=y CONFIG_ARCH_HAVE_TESTSET=y # CONFIG_ARCH_HAVE_FETCHADD is not set # CONFIG_ARCH_HAVE_RTC_SUBSECONDS is not set # CONFIG_ARCH_HAVE_SYSCALL_HOOKS is not set # CONFIG_ARCH_HAVE_BACKTRACE is not set # CONFIG_ARCH_USE_TEXT_HEAP is not set CONFIG_ARCH_STACKDUMP=y # CONFIG_ENDIAN_BIG is not set # CONFIG_ARCH_IDLE_CUSTOM is not set # CONFIG_ARCH_HAVE_RAMFUNCS is not set # CONFIG_ARCH_HAVE_RAMVECTORS is not set # CONFIG_ARCH_MINIMAL_VECTORTABLE is not set # # Board Settings # CONFIG_BOARD_LOOPSPERMSEC=16717 # # Interrupt options # CONFIG_ARCH_HAVE_INTERRUPTSTACK=y CONFIG_ARCH_INTERRUPTSTACK=0 # CONFIG_ARCH_HAVE_HIPRI_INTERRUPT is not set # # Boot options # # CONFIG_BOOT_RUNFROMEXTSRAM is not set CONFIG_BOOT_RUNFROMFLASH=y # CONFIG_BOOT_RUNFROMISRAM is not set # CONFIG_BOOT_RUNFROMSDRAM is not set # CONFIG_BOOT_COPYTORAM is not set # # Boot Memory Configuration # CONFIG_RAM_START=0x20000000 CONFIG_RAM_SIZE=114688 CONFIG_ARCH_HAVE_SDRAM=y # CONFIG_BOOT_SDRAM_DATA is not set # # Board Selection # CONFIG_ARCH_BOARD_ESP32_DEVKITC=y # CONFIG_ARCH_BOARD_ESP32_ETHERNETKIT is not set # CONFIG_ARCH_BOARD_ESP32_WROVERKIT is not set # CONFIG_ARCH_BOARD_CUSTOM is not set # # Common Board Options # CONFIG_ARCH_HAVE_LEDS=y # CONFIG_ARCH_LEDS is not set CONFIG_ARCH_HAVE_BUTTONS=y # CONFIG_ARCH_BUTTONS is not set # # Board-Specific Options # # CONFIG_ESP32_MERGE_BINS is not set # CONFIG_ESP32_QEMU_IMAGE is not set # # Board-Common Options # # CONFIG_BOARD_CRASHDUMP is not set CONFIG_BOARDCTL=y # CONFIG_BOARDCTL_FINALINIT is not set # CONFIG_BOARDCTL_RESET is not set # CONFIG_BOARDCTL_UNIQUEID is not set # CONFIG_BOARDCTL_UNIQUEKEY is not set # CONFIG_BOARDCTL_SWITCH_BOOT is not set # CONFIG_BOARDCTL_BOOT_IMAGE is not set CONFIG_BOARDCTL_MKRD=y # CONFIG_BOARDCTL_ROMDISK is not set # CONFIG_BOARDCTL_APP_SYMTAB is not set # CONFIG_BOARDCTL_TESTSET is not set # CONFIG_BOARDCTL_IOCTL is not set # # RTOS Features # CONFIG_DISABLE_OS_API=y # CONFIG_DISABLE_POSIX_TIMERS is not set # CONFIG_DISABLE_PTHREAD is not set # CONFIG_DISABLE_MQUEUE is not set # CONFIG_DISABLE_ENVIRON is not set # # Clocks and Timers # CONFIG_USEC_PER_TICK=10000 # CONFIG_SYSTEMTICK_HOOK is not set # CONFIG_SYSTEM_TIME64 is not set CONFIG_CLOCK_MONOTONIC=y # CONFIG_ARCH_HAVE_TIMEKEEPING is not set # CONFIG_JULIAN_TIME is not set CONFIG_START_YEAR=2011 CONFIG_START_MONTH=12 CONFIG_START_DAY=6 CONFIG_PREALLOC_TIMERS=4 # # Tasks and Scheduling # # CONFIG_SPINLOCK is not set # CONFIG_IRQCHAIN is not set # CONFIG_IRQCOUNT is not set # CONFIG_INIT_NONE is not set CONFIG_INIT_ENTRYPOINT=y # CONFIG_INIT_FILEPATH is not set CONFIG_INIT_ARGS="" CONFIG_USER_ENTRYPOINT="nsh_main" CONFIG_USERMAIN_STACKSIZE=2048 CONFIG_USERMAIN_PRIORITY=100 CONFIG_RR_INTERVAL=200 # CONFIG_SCHED_SPORADIC is not set CONFIG_TASK_NAME_SIZE=31 # CONFIG_SCHED_HAVE_PARENT is not set CONFIG_SCHED_WAITPID=y # CONFIG_SCHED_USER_IDENTITY is not set # # Pthread Options # # CONFIG_PTHREAD_MUTEX_TYPES is not set CONFIG_PTHREAD_MUTEX_ROBUST=y # CONFIG_PTHREAD_MUTEX_UNSAFE is not set # CONFIG_PTHREAD_MUTEX_BOTH is not set # CONFIG_PTHREAD_CLEANUP is not set # CONFIG_CANCELLATION_POINTS is not set # # Performance Monitoring # # CONFIG_SCHED_SUSPENDSCHEDULER is not set # CONFIG_SCHED_RESUMESCHEDULER is not set # CONFIG_SCHED_IRQMONITOR is not set # CONFIG_SCHED_CRITMONITOR is not set # CONFIG_SCHED_CPULOAD is not set # CONFIG_SCHED_INSTRUMENTATION is not set # # Files and I/O # CONFIG_DEV_CONSOLE=y # CONFIG_FDCLONE_DISABLE is not set # CONFIG_FDCLONE_STDIO is not set CONFIG_SDCLONE_DISABLE=y CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=8 CONFIG_FILE_STREAM=y CONFIG_NAME_MAX=32 CONFIG_PATH_MAX=256 # CONFIG_PRIORITY_INHERITANCE is not set # # RTOS hooks # # CONFIG_BOARD_EARLY_INITIALIZE is not set # CONFIG_BOARD_LATE_INITIALIZE is not set # CONFIG_SCHED_STARTHOOK is not set # CONFIG_SCHED_ATEXIT is not set # CONFIG_SCHED_ONEXIT is not set # # Signal Configuration # CONFIG_SIG_PREALLOC_IRQ_ACTIONS=8 # CONFIG_SIG_EVTHREAD is not set # CONFIG_SIG_DEFAULT is not set # # Signal Numbers # # # Standard Signal Numbers # CONFIG_SIG_SIGUSR1=1 CONFIG_SIG_SIGUSR2=2 CONFIG_SIG_SIGALRM=3 CONFIG_SIG_PIPE=13 # # Non-standard Signal Numbers # CONFIG_SIG_SIGCONDTIMEDOUT=16 CONFIG_SIG_SIGWORK=17 # # POSIX Message Queue Options # CONFIG_PREALLOC_MQ_MSGS=4 CONFIG_PREALLOC_MQ_IRQ_MSGS=8 CONFIG_MQ_MAXMSGSIZE=32 # CONFIG_MODULE is not set # # Work queue support # CONFIG_SCHED_WORKQUEUE=y CONFIG_WQUEUE_NOTIFIER=y CONFIG_SCHED_HPWORK=y CONFIG_SCHED_HPNTHREADS=1 CONFIG_SCHED_HPWORKPRIORITY=224 CONFIG_SCHED_HPWORKSTACKSIZE=2048 # CONFIG_SCHED_LPWORK is not set # # Stack and heap information # CONFIG_DEFAULT_TASK_STACKSIZE=2048 CONFIG_IDLETHREAD_STACKSIZE=3072 CONFIG_PTHREAD_STACK_MIN=256 CONFIG_PTHREAD_STACK_DEFAULT=2048 # CONFIG_SCHED_BACKTRACE is not set # CONFIG_LIB_SYSCALL is not set # # Device Drivers # # CONFIG_DEV_SIMPLE_ADDRENV is not set CONFIG_DEV_NULL=y # CONFIG_DEV_ZERO is not set CONFIG_DRVR_MKRD=y # CONFIG_ARCH_HAVE_RDWR_MEM_CPU_RUN is not set # # Buffering # # CONFIG_DRVR_WRITEBUFFER is not set # CONFIG_DRVR_READAHEAD is not set # CONFIG_SPECIFIC_DRIVERS is not set # CONFIG_DEV_URANDOM is not set # CONFIG_DEV_LOOP is not set # CONFIG_ARCH_HAVE_CAN_ERRORS is not set # CONFIG_CAN is not set CONFIG_ARCH_HAVE_I2CRESET=y # CONFIG_I2C is not set # CONFIG_ARCH_HAVE_SPI_CRCGENERATION is not set # CONFIG_ARCH_HAVE_SPI_CS_CONTROL is not set # CONFIG_ARCH_HAVE_SPI_BITORDER is not set # CONFIG_SPI is not set # CONFIG_I2S is not set # # Timer Driver Support # # CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set # CONFIG_ARCH_HAVE_PWM_MULTICHAN is not set # CONFIG_PWM is not set # CONFIG_TIMER is not set # CONFIG_ONESHOT is not set # CONFIG_RTC is not set # CONFIG_WATCHDOG is not set # CONFIG_ANALOG is not set # CONFIG_DRIVERS_AUDIO is not set # CONFIG_FB_CMAP is not set # CONFIG_FB_TRANSPARENCY is not set # CONFIG_FB_UPDATE is not set # CONFIG_FB_SYNC is not set # CONFIG_FB_OVERLAY is not set # CONFIG_FB_MODULEINFO is not set # CONFIG_DRIVERS_VIDEO is not set # CONFIG_BCH is not set # CONFIG_INPUT is not set # # IO Expander/GPIO Support # # CONFIG_IOEXPANDER is not set # CONFIG_DEV_GPIO is not set # # LCD Driver Support # # CONFIG_LCD is not set # # Character/Segment LCD Devices # # CONFIG_SLCD is not set # # Other LCD-related Devices # # CONFIG_LCD_OTHER is not set # # LED Support # # CONFIG_USERLED is not set # CONFIG_LEDS_APA102 is not set # CONFIG_LEDS_MAX7219 is not set # CONFIG_RGBLED is not set # CONFIG_PCA9635PW is not set # CONFIG_NCP5623C is not set # CONFIG_WS2812 is not set # CONFIG_ARCH_HAVE_SDIO is not set # CONFIG_ARCH_HAVE_SDIOWAIT_WRCOMPLETE is not set # CONFIG_ARCH_HAVE_SDIO_PREFLIGHT is not set # CONFIG_MMCSD is not set CONFIG_MODEM=y CONFIG_MODEM_U_BLOX=y CONFIG_MODEM_U_BLOX_DEBUG=y # CONFIG_MODEM_ALTMDM is not set # CONFIG_MTD is not set # CONFIG_EEPROM is not set # CONFIG_EFUSE is not set # CONFIG_NETDEVICES is not set # CONFIG_PIPES is not set # CONFIG_PM is not set # CONFIG_DRIVERS_POWERLED is not set # CONFIG_DRIVERS_SMPS is not set # CONFIG_POWER is not set # CONFIG_SENSORS is not set CONFIG_ARCH_HAVE_SERIAL_TERMIOS=y CONFIG_SERIAL=y # CONFIG_SERIAL_REMOVABLE is not set CONFIG_SERIAL_CONSOLE=y # CONFIG_16550_UART is not set # CONFIG_OTHER_UART_SERIALDRIVER is not set CONFIG_MCU_SERIAL=y CONFIG_STANDARD_SERIAL=y CONFIG_SERIAL_NPOLLWAITERS=4 # CONFIG_SERIAL_IFLOWCONTROL is not set # CONFIG_SERIAL_RS485CONTROL is not set # CONFIG_SERIAL_OFLOWCONTROL is not set # CONFIG_SERIAL_TXDMA is not set # CONFIG_SERIAL_RXDMA is not set # CONFIG_SERIAL_TIOCSERGSTRUCT is not set # CONFIG_SERIAL_TERMIOS is not set # CONFIG_TTY_FORCE_PANIC is not set CONFIG_UART0_SERIAL_CONSOLE=y # CONFIG_UART2_SERIAL_CONSOLE is not set # CONFIG_OTHER_SERIAL_CONSOLE is not set # CONFIG_NO_SERIAL_CONSOLE is not set # CONFIG_UART_SERIALDRIVER is not set CONFIG_UART0_SERIALDRIVER=y # CONFIG_UART1_SERIALDRIVER is not set CONFIG_UART2_SERIALDRIVER=y # CONFIG_UART3_SERIALDRIVER is not set # CONFIG_UART4_SERIALDRIVER is not set # CONFIG_UART5_SERIALDRIVER is not set # CONFIG_UART6_SERIALDRIVER is not set # CONFIG_UART7_SERIALDRIVER is not set # CONFIG_UART8_SERIALDRIVER is not set # # UART0 Configuration # CONFIG_UART0_RXBUFSIZE=256 CONFIG_UART0_TXBUFSIZE=256 CONFIG_UART0_BAUD=115200 CONFIG_UART0_BITS=8 CONFIG_UART0_PARITY=0 CONFIG_UART0_2STOP=0 # CONFIG_UART0_IFLOWCONTROL is not set # CONFIG_UART0_OFLOWCONTROL is not set # CONFIG_UART0_RXDMA is not set # CONFIG_UART0_TXDMA is not set # # UART2 Configuration # CONFIG_UART2_RXBUFSIZE=2048 CONFIG_UART2_TXBUFSIZE=2048 CONFIG_UART2_BAUD=115200 CONFIG_UART2_BITS=8 CONFIG_UART2_PARITY=0 CONFIG_UART2_2STOP=0 # CONFIG_UART2_IFLOWCONTROL is not set # CONFIG_UART2_OFLOWCONTROL is not set # CONFIG_UART2_RXDMA is not set # CONFIG_UART2_TXDMA is not set # CONFIG_LPUART_SERIALDRIVER is not set # CONFIG_LPUART0_SERIALDRIVER is not set # CONFIG_LPUART1_SERIALDRIVER is not set # CONFIG_LPUART2_SERIALDRIVER is not set # CONFIG_LPUART3_SERIALDRIVER is not set # CONFIG_LPUART4_SERIALDRIVER is not set # CONFIG_LPUART5_SERIALDRIVER is not set # CONFIG_LPUART6_SERIALDRIVER is not set # CONFIG_LPUART7_SERIALDRIVER is not set # CONFIG_LPUART8_SERIALDRIVER is not set # CONFIG_USART0_SERIALDRIVER is not set # CONFIG_USART1_SERIALDRIVER is not set # CONFIG_USART2_SERIALDRIVER is not set # CONFIG_USART3_SERIALDRIVER is not set # CONFIG_USART4_SERIALDRIVER is not set # CONFIG_USART5_SERIALDRIVER is not set # CONFIG_USART6_SERIALDRIVER is not set # CONFIG_USART7_SERIALDRIVER is not set # CONFIG_USART8_SERIALDRIVER is not set # CONFIG_USART9_SERIALDRIVER is not set # CONFIG_SCI0_SERIALDRIVER is not set # CONFIG_SCI1_SERIALDRIVER is not set # CONFIG_SCI2_SERIALDRIVER is not set # CONFIG_SCI3_SERIALDRIVER is not set # CONFIG_SCI4_SERIALDRIVER is not set # CONFIG_SCI5_SERIALDRIVER is not set # CONFIG_SCI6_SERIALDRIVER is not set # CONFIG_SCI7_SERIALDRIVER is not set # CONFIG_SCI8_SERIALDRIVER is not set # CONFIG_SCI9_SERIALDRIVER is not set # CONFIG_SCI10_SERIALDRIVER is not set # CONFIG_SCI11_SERIALDRIVER is not set # CONFIG_SCI12_SERIALDRIVER is not set # CONFIG_PSEUDOTERM is not set # CONFIG_UART_BTH4 is not set # CONFIG_USBDEV is not set # CONFIG_USBHOST_HAVE_ASYNCH is not set # CONFIG_USBHOST is not set # CONFIG_USBMISC is not set # CONFIG_HAVE_USBTRACE is not set CONFIG_DRIVERS_WIRELESS=y # CONFIG_WL_CC1101 is not set # CONFIG_WL_GS2200M is not set # CONFIG_WL_SPIRIT is not set # CONFIG_SPIRIT_NETDEV is not set # CONFIG_DRIVERS_IEEE802154 is not set CONFIG_DRIVERS_IEEE80211=y # CONFIG_IEEE80211_BROADCOM_FULLMAC is not set # CONFIG_IEEE80211_BROADCOM_HAVE_CLM is not set # CONFIG_DRIVERS_BLUETOOTH is not set # CONFIG_DRIVERS_LPWAN is not set # CONFIG_WL_NRF24L01 is not set # CONFIG_DRIVERS_CONTACTLESS is not set # CONFIG_1WIRE is not set # # System Logging # # CONFIG_ARCH_SYSLOG is not set # # SYSLOG options # CONFIG_SYSLOG_MAX_CHANNELS=1 # CONFIG_RAMLOG is not set # CONFIG_SYSLOG_BUFFER is not set # CONFIG_SYSLOG_INTBUFFER is not set # # Formatting options # # CONFIG_SYSLOG_TIMESTAMP is not set # CONFIG_SYSLOG_PRIORITY is not set # CONFIG_SYSLOG_PROCESS_NAME is not set # CONFIG_SYSLOG_PROCESSID is not set # CONFIG_SYSLOG_PREFIX is not set # CONFIG_SYSLOG_COLOR_OUTPUT is not set # # SYSLOG channels # # CONFIG_SYSLOG_CHAR is not set # CONFIG_SYSLOG_CONSOLE is not set CONFIG_SYSLOG_DEFAULT=y # CONFIG_SYSLOG_FILE is not set # CONFIG_CONSOLE_SYSLOG is not set # CONFIG_SYSLOG_CHARDEV is not set # CONFIG_DRIVERS_RF is not set # CONFIG_DRIVERS_RC is not set # CONFIG_MOTOR is not set # # MATH Acceleration Support # # CONFIG_MATH_CORDIC is not set # # Networking Support # CONFIG_ARCH_HAVE_NET=y # CONFIG_ARCH_HAVE_PHY is not set # CONFIG_ARCH_PHY_INTERRUPT is not set # CONFIG_ARCH_PHY_POLLED is not set CONFIG_ARCH_HAVE_NETDEV_STATISTICS=y # CONFIG_NET_WRITE_BUFFERS is not set CONFIG_NET_READAHEAD=y # CONFIG_NET_MCASTGROUP is not set CONFIG_NET=y # CONFIG_NET_PROMISCUOUS is not set # # Driver buffer configuration # CONFIG_NET_ETH_PKTSIZE=590 CONFIG_NET_SLIP_PKTSIZE=296 CONFIG_NET_GUARDSIZE=2 CONFIG_NET_RECV_BUFSIZE=0 # # Link layer support # CONFIG_NET_ETHERNET=y # CONFIG_NET_LOOPBACK is not set CONFIG_NET_SLIP=y CONFIG_SLIP_NINTERFACES=1 CONFIG_SLIP_STACKSIZE=2048 CONFIG_SLIP_DEFPRIO=128 CONFIG_NET_TUN=y CONFIG_TUN_NINTERFACES=1 CONFIG_NET_TUN_PKTSIZE=296 CONFIG_NETDEV_LATEINIT=y # # Network Device Operations # # CONFIG_NETDEV_IOCTL is not set # CONFIG_NETDEV_PHY_IOCTL is not set # CONFIG_NETDEV_WIRELESS_IOCTL is not set CONFIG_NETDEV_IFINDEX=y # CONFIG_NETDOWN_NOTIFIER is not set # # Internet Protocol Selection # CONFIG_NET_IPv4=y # CONFIG_NET_IPv6 is not set # CONFIG_NET_IPFORWARD is not set # # Socket Support # CONFIG_NET_NACTIVESOCKETS=16 CONFIG_NET_SOCKOPTS=y CONFIG_NET_TCPPROTO_OPTIONS=y # CONFIG_NET_UDPPROTO_OPTIONS is not set # CONFIG_NET_CANPROTO_OPTIONS is not set # # Raw Socket Support # CONFIG_NET_PKT=y CONFIG_NET_PKT_CONNS=1 # # Unix Domain Socket Support # # CONFIG_NET_LOCAL is not set # # Rpmsg Socket Support # # CONFIG_NET_RPMSG is not set # # SocketCAN Support # # CONFIG_NET_CAN is not set # # Netlink Socket Support # CONFIG_NET_NETLINK=y CONFIG_NETLINK_CONNS=4 # # Netlink Protocols # # CONFIG_NETLINK_ROUTE is not set # # TCP/IP Networking # CONFIG_NET_TCP=y # CONFIG_NET_TCP_NO_STACK is not set # CONFIG_NET_TCP_DELAYED_ACK is not set CONFIG_NET_TCP_KEEPALIVE=y # CONFIG_NET_TCPURGDATA is not set CONFIG_NET_TCP_CONNS=8 CONFIG_NET_TCP_NPOLLWAITERS=1 CONFIG_NET_TCP_RTO=3 CONFIG_NET_TCP_WAIT_TIMEOUT=120 CONFIG_NET_MAX_LISTENPORTS=20 CONFIG_NET_TCP_FAST_RETRANSMIT_WATERMARK=3 # CONFIG_NET_TCP_WINDOW_SCALE is not set # CONFIG_NET_TCP_NOTIFIER is not set # CONFIG_NET_TCP_WRITE_BUFFERS is not set # CONFIG_NET_TCPBACKLOG is not set # CONFIG_NET_TCP_SPLIT is not set # CONFIG_NET_SENDFILE is not set # # UDP Networking # CONFIG_NET_UDP=y # CONFIG_NET_UDP_NO_STACK is not set # CONFIG_NET_BROADCAST is not set # CONFIG_NET_UDP_BINDTODEVICE is not set # CONFIG_NET_UDP_CHECKSUMS is not set CONFIG_NET_UDP_CONNS=8 CONFIG_NET_UDP_NPOLLWAITERS=1 # CONFIG_NET_UDP_WRITE_BUFFERS is not set # CONFIG_NET_UDP_NOTIFIER is not set # # Bluetooth socket support # # # IEEE 802.15.4 socket support # # # ICMP Networking Support # CONFIG_NET_ICMP=y # CONFIG_NET_ICMP_NO_STACK is not set CONFIG_NET_ICMP_SOCKET=y CONFIG_NET_ICMP_NCONNS=4 CONFIG_NET_ICMP_NPOLLWAITERS=1 # CONFIG_NET_IGMP is not set # # ARP Configuration # CONFIG_NET_ARP=y CONFIG_NET_ARPTAB_SIZE=16 CONFIG_NET_ARP_MAXAGE=120 # CONFIG_NET_ARP_IPIN is not set CONFIG_NET_ARP_SEND=y CONFIG_ARP_SEND_MAXTRIES=5 CONFIG_ARP_SEND_DELAYMSEC=20 # # User-space networking stack API # # CONFIG_NET_USRSOCK is not set # CONFIG_NET_ARCH_INCR32 is not set # CONFIG_NET_ARCH_CHKSUM is not set # CONFIG_NET_STATISTICS is not set # CONFIG_NET_HAVE_STAR is not set # # Network Topologies # # # Routing Table Configuration # CONFIG_NET_ROUTE=y CONFIG_ROUTE_IPv4_RAMROUTE=y # CONFIG_ROUTE_IPv4_ROMROUTE is not set # CONFIG_ROUTE_IPv4_FILEROUTE is not set CONFIG_ROUTE_MAX_IPv4_RAMROUTES=4 # # Crypto API # # CONFIG_CRYPTO is not set # # File Systems # # # File system configuration # # CONFIG_DISABLE_MOUNTPOINT is not set CONFIG_FS_LARGEFILE=y # CONFIG_FS_AUTOMOUNTER is not set CONFIG_FS_NEPOLL_DESCRIPTORS=8 # CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set # CONFIG_PSEUDOFS_ATTRIBUTES is not set # CONFIG_PSEUDOFS_SOFTLINKS is not set CONFIG_SENDFILE_BUFSIZE=512 # CONFIG_EVENT_FD is not set # CONFIG_FS_NAMED_SEMAPHORES is not set CONFIG_FS_MQUEUE_MPATH="/var/mqueue" CONFIG_FS_MQUEUE_NPOLLWAITERS=4 # CONFIG_FS_RAMMAP is not set # # Partition Table # # CONFIG_PTABLE_PARTITION is not set # CONFIG_FS_FAT is not set # CONFIG_FS_NXFFS is not set # CONFIG_FS_ROMFS is not set # CONFIG_FS_CROMFS is not set # CONFIG_FS_TMPFS is not set # CONFIG_FS_SMARTFS is not set # CONFIG_FS_BINFS is not set CONFIG_FS_PROCFS=y # CONFIG_FS_PROCFS_REGISTER is not set CONFIG_FS_PROCFS_MAX_TASKS=128 # # Exclude individual procfs entries # # CONFIG_FS_PROCFS_EXCLUDE_PROCESS is not set CONFIG_FS_PROCFS_EXCLUDE_ENVIRON=y # CONFIG_FS_PROCFS_EXCLUDE_BLOCKS is not set # CONFIG_FS_PROCFS_EXCLUDE_MOUNT is not set # CONFIG_FS_PROCFS_EXCLUDE_USAGE is not set # CONFIG_FS_PROCFS_EXCLUDE_UPTIME is not set # CONFIG_FS_PROCFS_EXCLUDE_VERSION is not set # CONFIG_FS_PROCFS_EXCLUDE_MEMINFO is not set # CONFIG_FS_PROCFS_EXCLUDE_IOBINFO is not set # CONFIG_FS_PROCFS_EXCLUDE_MOUNTS is not set # CONFIG_FS_PROCFS_EXCLUDE_NET is not set # CONFIG_FS_PROCFS_EXCLUDE_ROUTE is not set # CONFIG_FS_LITTLEFS is not set # CONFIG_FS_UNIONFS is not set # CONFIG_FS_HOSTFS is not set # # Graphics Support # # CONFIG_NX is not set # CONFIG_NXFONTS is not set # # Font Cache Pixel Depths # # CONFIG_NXFONTS_DISABLE_1BPP is not set # CONFIG_NXFONTS_DISABLE_2BPP is not set # CONFIG_NXFONTS_DISABLE_4BPP is not set # CONFIG_NXFONTS_DISABLE_8BPP is not set # CONFIG_NXFONTS_DISABLE_16BPP is not set # CONFIG_NXFONTS_DISABLE_24BPP is not set # CONFIG_NXFONTS_DISABLE_32BPP is not set CONFIG_NXFONTS_PACKEDMSFIRST=y # CONFIG_NXGLIB is not set # # Memory Management # CONFIG_MM_DEFAULT_MANAGER=y # CONFIG_MM_CUSTOMIZE_MANAGER is not set # CONFIG_MM_SMALL is not set CONFIG_MM_REGIONS=3 # CONFIG_ARCH_HAVE_HEAP2 is not set # CONFIG_GRAN is not set # CONFIG_MM_FILL_ALLOCATIONS is not set # CONFIG_MM_CIRCBUF is not set # # Common I/O Buffer Support # CONFIG_MM_IOB=y CONFIG_IOB_NBUFFERS=24 CONFIG_IOB_BUFSIZE=196 CONFIG_IOB_NCHAINS=24 CONFIG_IOB_THROTTLE=0 # CONFIG_IOB_NOTIFIER is not set # CONFIG_IOB_DEBUG is not set # # Audio Support # # CONFIG_AUDIO is not set # # Video Support # # # Video subsystem # # CONFIG_VIDEO is not set # # Wireless Support # # CONFIG_WIRELESS is not set # # Binary Loader # # CONFIG_BINFMT_DISABLE is not set # CONFIG_BINFMT_LOADABLE is not set # CONFIG_PIC is not set # CONFIG_NXFLAT is not set # CONFIG_ELF is not set # # Library Routines # # # Standard C Library Options # # # Standard C I/O # # CONFIG_STDIO_DISABLE_BUFFERING is not set CONFIG_STDIO_BUFFER_SIZE=64 CONFIG_STDIO_LINEBUFFER=y CONFIG_NUNGET_CHARS=2 CONFIG_LIBC_FLOATINGPOINT=y CONFIG_LIBC_LONG_LONG=y # CONFIG_LIBC_NUMBERED_ARGS is not set # CONFIG_LIBC_SCANSET is not set # CONFIG_EOL_IS_CR is not set # CONFIG_EOL_IS_LF is not set # CONFIG_EOL_IS_BOTH_CRLF is not set CONFIG_EOL_IS_EITHER_CRLF=y # CONFIG_AUDIO_SRC is not set # CONFIG_LIBM is not set # # Architecture-Specific Support # CONFIG_ARCH_LOWPUTC=y # CONFIG_ARCH_ROMGETC is not set # CONFIG_LIBC_ARCH_ATOMIC is not set CONFIG_LIBC_ARCH_MEMCPY=y CONFIG_LIBC_ARCH_MEMCMP=y CONFIG_LIBC_ARCH_MEMMOVE=y CONFIG_LIBC_ARCH_MEMSET=y # CONFIG_LIBC_ARCH_STRCHR is not set # CONFIG_LIBC_ARCH_STRCMP is not set # CONFIG_LIBC_ARCH_STRCPY is not set # CONFIG_LIBC_ARCH_STRLCPY is not set # CONFIG_LIBC_ARCH_STRNCPY is not set # CONFIG_LIBC_ARCH_STRLEN is not set # CONFIG_LIBC_ARCH_STRNLEN is not set # CONFIG_LIBC_ARCH_ELF is not set # # stdlib Options # CONFIG_LIBC_RAND_ORDER=1 CONFIG_LIBC_HOMEDIR="/" CONFIG_LIBC_TMPDIR="/tmp" CONFIG_LIBC_MAX_TMPFILE=32 # # Program Execution Options # # CONFIG_LIBC_EXECFUNCS is not set # CONFIG_SYMTAB_ORDEREDBYNAME is not set # CONFIG_SYMTAB_DECORATED is not set CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024 CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=2048 CONFIG_LIBC_HOSTNAME="" # # errno Decode Support # # CONFIG_LIBC_STRERROR is not set # CONFIG_LIBC_PERROR_STDOUT is not set # # memcpy/memset Options # # # pthread support # # CONFIG_LIBC_DLFCN is not set # CONFIG_LIBC_MODLIB is not set # CONFIG_LIBC_GROUP_FILE is not set # CONFIG_LIBC_PASSWD_FILE is not set # CONFIG_LIBC_WCHAR is not set # # Locale Support # # CONFIG_LIBC_LOCALE is not set # CONFIG_LIBC_LZF is not set # # Time/Time Zone Support # # CONFIG_LIBC_LOCALTIME is not set # # Thread Local Storage (TLS) # # CONFIG_TLS_ALIGNED is not set CONFIG_TLS_NELEM=4 # # Network-Related Options # # CONFIG_LIBC_IPv6_ADDRCONV is not set CONFIG_LIBC_NETDB=y # # NETDB Support # # CONFIG_LIBC_GAISTRERROR is not set CONFIG_NETDB_BUFSIZE=256 CONFIG_NETDB_MAX_IPADDR=1 # CONFIG_NETDB_HOSTFILE is not set CONFIG_NETDB_DNSCLIENT=y CONFIG_NETDB_DNSCLIENT_ENTRIES=8 CONFIG_NETDB_DNSCLIENT_NAMESIZE=32 CONFIG_NETDB_DNSCLIENT_LIFESEC=3600 CONFIG_NETDB_DNSCLIENT_MAXRESPONSE=256 CONFIG_NETDB_DNSCLIENT_RECV_TIMEOUT=30 CONFIG_NETDB_DNSCLIENT_RETRIES=3 # CONFIG_NETDB_RESOLVCONF is not set CONFIG_NETDB_DNSSERVER_NAMESERVERS=1 # CONFIG_NETDB_DNSSERVER_NOADDR is not set CONFIG_NETDB_DNSSERVER_IPv4=y CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x08080808 # # Non-standard Library Support # # CONFIG_LIBC_CRC64_FAST is not set # CONFIG_LIBC_KBDCODEC is not set # CONFIG_LIBC_SLCDCODEC is not set # CONFIG_LIBC_ENVPATH is not set # CONFIG_LIBC_HEX2BIN is not set CONFIG_BUILTIN=y # # Basic CXX Support # # CONFIG_C99_BOOL8 is not set CONFIG_HAVE_CXX=y CONFIG_LIBCXXMINI=y # CONFIG_LIBCXX is not set # CONFIG_UCLIBCXX is not set CONFIG_HAVE_CXXINITIALIZE=y # CONFIG_CXX_EXCEPTION is not set # CONFIG_LIBDSP is not set # # Open Asymmetric Multi Processing # # CONFIG_OPENAMP is not set # # Application Configuration # # # Bootloader Utilities # # CONFIG_BOOT_MCUBOOT is not set # # CAN Utilities # # # Cryptography Library Support # # CONFIG_CRYPTO_LIBTOMCRYPT is not set # # Examples # # CONFIG_EXAMPLES_ABNTCODI is not set # CONFIG_EXAMPLES_ADXL372_TEST is not set # CONFIG_EXAMPLES_APA102 is not set # CONFIG_EXAMPLES_AUDIO_SOUND is not set # CONFIG_EXAMPLES_BATTERY is not set # CONFIG_EXAMPLES_SIXAXIS is not set # CONFIG_EXAMPLES_BRIDGE is not set # CONFIG_EXAMPLES_CALIB_UDELAY is not set # CONFIG_EXAMPLES_CAMERA is not set # CONFIG_EXAMPLES_CCTYPE is not set # CONFIG_EXAMPLES_CHARGER is not set # CONFIG_EXAMPLES_CHAT is not set # CONFIG_EXAMPLES_CHRONO is not set # CONFIG_EXAMPLES_CONFIGDATA is not set # CONFIG_EXAMPLES_CORDIC is not set # CONFIG_EXAMPLES_DHCPD is not set # CONFIG_EXAMPLES_DHTXX is not set # CONFIG_EXAMPLES_DISCOVER is not set # CONFIG_EXAMPLES_ESP32_HIMEM is not set # CONFIG_EXAMPLES_FTPC is not set # CONFIG_EXAMPLES_FTPD is not set # CONFIG_EXAMPLES_FXOS8700CQ is not set # CONFIG_EXAMPLES_GPS is not set # CONFIG_EXAMPLES_HDC1008 is not set # CONFIG_EXAMPLES_HELLO is not set # CONFIG_EXAMPLES_HELLOXX is not set # CONFIG_EXAMPLES_HIDKBD is not set # CONFIG_EXAMPLES_IGMP is not set # CONFIG_EXAMPLES_INA219 is not set # CONFIG_EXAMPLES_INA226 is not set # CONFIG_EXAMPLES_IPFORWARD is not set # CONFIG_EXAMPLES_LSM330SPI_TEST is not set # CONFIG_EXAMPLES_LVGLDEMO is not set # CONFIG_EXAMPLES_MAX31855 is not set # CONFIG_EXAMPLES_MEDIA is not set # CONFIG_EXAMPLES_MLX90614 is not set # CONFIG_EXAMPLES_MODBUS is not set # CONFIG_EXAMPLES_MODBUSMASTER is not set # CONFIG_EXAMPLES_MOUNT is not set CONFIG_EXAMPLES_MQTTC=y CONFIG_EXAMPLES_MQTTC_PROGNAME="mqttc_pub" CONFIG_EXAMPLES_MQTTC_STACKSIZE=8192 CONFIG_EXAMPLES_MQTTC_TXSIZE=256 CONFIG_EXAMPLES_MQTTC_RXSIZE=256 # CONFIG_EXAMPLES_NETPKT is not set # CONFIG_EXAMPLES_NETTEST is not set # CONFIG_EXAMPLES_NRF24L01_BTLE is not set # CONFIG_EXAMPLES_NRF24L01TERM is not set # CONFIG_EXAMPLES_NULL is not set # CONFIG_EXAMPLES_NXDEMO is not set # CONFIG_EXAMPLES_OBD2 is not set # CONFIG_EXAMPLES_PCA9635 is not set # CONFIG_EXAMPLES_PDCURSES is not set # CONFIG_EXAMPLES_POSIXSPAWN is not set # CONFIG_EXAMPLES_POWERLED is not set # CONFIG_EXAMPLES_POWERMONITOR is not set CONFIG_EXAMPLES_PPPD=y CONFIG_EXAMPLES_PPPD_STACKSIZE=2048 # CONFIG_EXAMPLES_RFID_READUID is not set # CONFIG_EXAMPLES_RGBLED is not set # CONFIG_EXAMPLES_SENDMAIL is not set # CONFIG_EXAMPLES_SERIALBLASTER is not set # CONFIG_EXAMPLES_SERIALRX is not set # CONFIG_EXAMPLES_SERLOOP is not set # CONFIG_EXAMPLES_SLCD is not set # CONFIG_EXAMPLES_SMPS is not set # CONFIG_EXAMPLES_STAT is not set # CONFIG_EXAMPLES_TCPBLASTER is not set # CONFIG_EXAMPLES_TCPECHO is not set # CONFIG_EXAMPLES_TERMIOS is not set # CONFIG_EXAMPLES_TIFF is not set # CONFIG_EXAMPLES_TOUCHSCREEN is not set # CONFIG_EXAMPLES_UDPBLASTER is not set # CONFIG_EXAMPLES_UDP is not set # CONFIG_EXAMPLES_UID is not set # CONFIG_EXAMPLES_USBSERIAL is not set # CONFIG_EXAMPLES_USERFS is not set # CONFIG_EXAMPLES_WEBSERVER is not set # CONFIG_EXAMPLES_WGET is not set # CONFIG_EXAMPLES_XBC_TEST is not set # CONFIG_EXAMPLES_XMLRPC is not set # # File System Utilities # # CONFIG_FSUTILS_INIFILE is not set # CONFIG_FSUTILS_INIH is not set # CONFIG_FSUTILS_IPCFG is not set # CONFIG_FSUTILS_PASSWD is not set # # GPS Utilities # # CONFIG_GPSUTILS_MINMEA_LIB is not set # # Graphics Support # # CONFIG_GRAPHICS_FT80X is not set # CONFIG_GRAPHICS_LVGL is not set # # NxWidgets # # # NxWM # # CONFIG_GRAPHICS_PDCURSES is not set # CONFIG_TIFF is not set # # Industrial Applications # # CONFIG_INDUSTRY_ABNT_CODI_LIB is not set # CONFIG_INDUSTRY_FOC is not set # # Interpreters # # CONFIG_INTERPRETERS_BAS is not set # CONFIG_INTERPRETERS_DUKTAPE is not set # CONFIG_INTERPRETERS_FICL is not set # CONFIG_INTERPRETERS_MINIBASIC is not set # CONFIG_INTERPRETERS_QUICKJS is not set # CONFIG_INTERPRETERS_WAMR is not set # CONFIG_INTERPRETERS_WASM3 is not set # # Math Library Support # # CONFIG_MATH_LIBTOMMATH is not set # # FreeModBus # # CONFIG_MODBUS is not set # # Network Utilities # CONFIG_NETUTILS_CHAT=y # CONFIG_NETUTILS_CJSON is not set # CONFIG_NETUTILS_CODECS is not set # CONFIG_NETUTILS_DHCPD is not set # CONFIG_NETUTILS_DISCOVER is not set # CONFIG_NETUTILS_ESP8266 is not set CONFIG_NETUTILS_FTPC=y # CONFIG_DEBUG_FTPC is not set CONFIG_FTP_TMPDIR="/tmp" # CONFIG_FTP_SIZE_CMD_MODE_BINARY is not set # CONFIG_FTPC_DISABLE_EPRT is not set # CONFIG_FTPC_DISABLE_EPSV is not set # CONFIG_NETUTILS_FTPD is not set # CONFIG_NETUTILS_IPERF is not set # CONFIG_NETUTILS_LIBCURL4NX is not set CONFIG_NETUTILS_MQTTC=y CONFIG_NETUTILS_MQTTC_VERSION="1.1.5" # CONFIG_NETUTILS_NETCAT is not set CONFIG_NETUTILS_NETINIT=y # CONFIG_NETINIT_NETLOCAL is not set # CONFIG_NETINIT_THREAD is not set # CONFIG_NETINIT_DEBUG is not set # # IP Address Configuration # # # IPv4 Addresses # CONFIG_NETINIT_IPADDR=0x0a000002 CONFIG_NETINIT_DRIPADDR=0x0a000001 CONFIG_NETINIT_NETMASK=0xffffff00 # CONFIG_NETINIT_DNS is not set # CONFIG_NETINIT_NOMAC is not set CONFIG_NETUTILS_NETLIB=y # CONFIG_NETUTILS_NETLIB_GENERICURLPARSER is not set # CONFIG_NETUTILS_NTPCLIENT is not set CONFIG_NETUTILS_PING=y CONFIG_NETUTILS_PPPD=y CONFIG_NETUTILS_PPPD_PAP=y # CONFIG_NETUTILS_REXECD is not set # CONFIG_NETUTILS_REXEC is not set # CONFIG_NETUTILS_SMTP is not set # CONFIG_NETUTILS_TELNETC is not set # CONFIG_NETUTILS_TELNETD is not set CONFIG_NETUTILS_TFTPC=y # CONFIG_NETUTILS_WAKEONLAN is not set # CONFIG_NETUTILS_WEBCLIENT is not set # CONFIG_NETUTILS_WEBSERVER is not set # CONFIG_NETUTILS_XMLRPC is not set # # NSH Library # CONFIG_NSH_LIBRARY=y # CONFIG_NSH_MOTD is not set # # Command Line Configuration # CONFIG_NSH_PROMPT_STRING="nsh> " CONFIG_NSH_READLINE=y # CONFIG_NSH_CLE is not set CONFIG_NSH_LINELEN=64 # CONFIG_NSH_DISABLE_SEMICOLON is not set # CONFIG_NSH_QUOTE is not set # CONFIG_NSH_CMDPARMS is not set CONFIG_NSH_MAXARGUMENTS=7 # CONFIG_NSH_ARGCAT is not set CONFIG_NSH_NESTDEPTH=3 # CONFIG_NSH_DISABLEBG is not set CONFIG_NSH_BUILTIN_APPS=y # # Disable Individual commands # # CONFIG_NSH_DISABLE_ADDROUTE is not set # CONFIG_NSH_DISABLE_ARP is not set # CONFIG_NSH_DISABLE_BASENAME is not set # CONFIG_NSH_DISABLE_CAT is not set # CONFIG_NSH_DISABLE_CD is not set # CONFIG_NSH_DISABLE_CP is not set # CONFIG_NSH_DISABLE_CMP is not set CONFIG_NSH_DISABLE_DATE=y # CONFIG_NSH_DISABLE_DD is not set # CONFIG_NSH_DISABLE_DF is not set # CONFIG_NSH_DISABLE_DELROUTE is not set # CONFIG_NSH_DISABLE_DIRNAME is not set # CONFIG_NSH_DISABLE_ECHO is not set # CONFIG_NSH_DISABLE_ENV is not set # CONFIG_NSH_DISABLE_EXEC is not set # CONFIG_NSH_DISABLE_EXIT is not set # CONFIG_NSH_DISABLE_EXPORT is not set # CONFIG_NSH_DISABLE_FREE is not set # CONFIG_NSH_DISABLE_GET is not set # CONFIG_NSH_DISABLE_HELP is not set # CONFIG_NSH_DISABLE_HEXDUMP is not set # CONFIG_NSH_DISABLE_IFCONFIG is not set # CONFIG_NSH_DISABLE_IFUPDOWN is not set # CONFIG_NSH_DISABLE_KILL is not set # CONFIG_NSH_DISABLE_LOSETUP is not set CONFIG_NSH_DISABLE_LOSMART=y # CONFIG_NSH_DISABLE_LS is not set CONFIG_NSH_DISABLE_MB=y # CONFIG_NSH_DISABLE_MKDIR is not set # CONFIG_NSH_DISABLE_MKRD is not set CONFIG_NSH_DISABLE_MH=y # CONFIG_NSH_DISABLE_MOUNT is not set # CONFIG_NSH_DISABLE_MV is not set CONFIG_NSH_DISABLE_MW=y # CONFIG_NSH_DISABLE_NSLOOKUP is not set CONFIG_NSH_DISABLE_PRINTF=y # CONFIG_NSH_DISABLE_PS is not set # CONFIG_NSH_DISABLE_PUT is not set # CONFIG_NSH_DISABLE_PWD is not set # CONFIG_NSH_DISABLE_RM is not set # CONFIG_NSH_DISABLE_RMDIR is not set # CONFIG_NSH_DISABLE_ROUTE is not set # CONFIG_NSH_DISABLE_SET is not set # CONFIG_NSH_DISABLE_SOURCE is not set # CONFIG_NSH_DISABLE_SLEEP is not set # CONFIG_NSH_DISABLE_TIME is not set # CONFIG_NSH_DISABLE_TEST is not set # CONFIG_NSH_DISABLE_TELNETD is not set CONFIG_NSH_DISABLE_TRUNCATE=y # CONFIG_NSH_DISABLE_UMOUNT is not set # CONFIG_NSH_DISABLE_UNAME is not set # CONFIG_NSH_DISABLE_UNSET is not set # CONFIG_NSH_DISABLE_USLEEP is not set # CONFIG_NSH_DISABLE_WGET is not set # CONFIG_NSH_DISABLE_XD is not set CONFIG_NSH_MMCSDMINOR=0 # # Configure Command Options # # CONFIG_NSH_VARS is not set # CONFIG_NSH_CMDOPT_DD_STATS is not set CONFIG_NSH_CODECS_BUFSIZE=128 # CONFIG_NSH_CMDOPT_HEXDUMP is not set CONFIG_NSH_PROC_MOUNTPOINT="/proc" CONFIG_NSH_FILEIOSIZE=512 # # Scripting Support # # CONFIG_NSH_DISABLESCRIPT is not set # CONFIG_NSH_DISABLE_ITEF is not set # CONFIG_NSH_DISABLE_LOOPS is not set # # Console Configuration # CONFIG_NSH_CONSOLE=y # CONFIG_NSH_ALTCONDEV is not set CONFIG_NSH_ARCHINIT=y # # Networking Configuration # CONFIG_NSH_NETINIT=y CONFIG_NSH_WGET_BUFF_SIZE=512 # CONFIG_NSH_LOGIN is not set # CONFIG_NSH_CONSOLE_LOGIN is not set # # Platform-specific Support # # CONFIG_PLATFORM_CONFIGDATA is not set # # System Libraries and NSH Add-Ons # # CONFIG_SYSTEM_ADBD is not set # CONFIG_SYSTEM_ARGTABLE3 is not set # CONFIG_SYSTEM_CLE is not set # CONFIG_SYSTEM_CUTERM is not set # CONFIG_SYSTEM_EMBEDLOG is not set # CONFIG_SYSTEM_HEX2BIN is not set # CONFIG_SYSTEM_HEXED is not set # # libuv async i/o Library # # CONFIG_LIBUV is not set # CONFIG_SYSTEM_NETDB is not set CONFIG_SYSTEM_NSH=y CONFIG_SYSTEM_NSH_PRIORITY=100 CONFIG_SYSTEM_NSH_STACKSIZE=2048 CONFIG_SYSTEM_NSH_PROGNAME="nsh" # CONFIG_SYSTEM_NTPC is not set CONFIG_SYSTEM_PING=y CONFIG_SYSTEM_PING_PROGNAME="ping" CONFIG_SYSTEM_PING_PRIORITY=100 CONFIG_SYSTEM_PING_STACKSIZE=2048 # CONFIG_SYSTEM_POPEN is not set # # psmq requires SYSTEM_EMBEDLOG and !DISABLE_MQUEUE # # CONFIG_SYSTEM_RAMTEST is not set CONFIG_READLINE_HAVE_EXTMATCH=y CONFIG_SYSTEM_READLINE=y CONFIG_READLINE_ECHO=y # CONFIG_READLINE_TABCOMPLETION is not set # CONFIG_READLINE_CMD_HISTORY is not set # CONFIG_SYSTEM_SETLOGMASK is not set # CONFIG_SYSTEM_SYSTEM is not set # CONFIG_SYSTEM_TEE is not set # CONFIG_SYSTEM_TELNET_CHATD is not set # CONFIG_SYSTEM_TELNET_CLIENT is not set # CONFIG_SYSTEM_TERMCURSES is not set # CONFIG_SYSTEM_UBLOXMODEM is not set # CONFIG_SYSTEM_VI is not set # CONFIG_SYSTEM_ZMODEM is not set # # Testing # # CONFIG_TESTING_CXXTEST is not set # CONFIG_TESTING_FATUTF8 is not set # CONFIG_TESTING_FSTEST is not set # CONFIG_TESTING_GETPRIME is not set # CONFIG_TESTING_IRTEST is not set # CONFIG_TESTING_LTP is not set # CONFIG_TESTING_MM is not set # CONFIG_TESTING_NXFFS is not set # CONFIG_TESTING_OSTEST is not set # CONFIG_TESTING_SCANFTEST is not set # CONFIG_TESTING_SENSORTEST is not set # CONFIG_TESTING_SMART is not set # CONFIG_TESTING_SMART_TEST is not set # CONFIG_TESTING_UNITY is not set # # Wireless Libraries and NSH Add-Ons # # # Bluetooth applications # # CONFIG_BTSAK is not set # CONFIG_NIMBLE is not set # # IEEE 802.15.4 applications # # CONFIG_IEEE802154_I8SAK is not set # CONFIG_IEEE802154_LIBMAC is not set # CONFIG_IEEE802154_LIBUTILS is not set # CONFIG_WIRELESS_IWPAN is not set # CONFIG_WIRELESS_WAPI is not setAlém da customização, foi necessário configurar o modem U-blox SARA G450 com os seguintes parâmetros, no códigopppd_main.cstatic FAR const char connect_script[] = "ECHO ON " "TIMEOUT 30 " "\"\" ATE1 " "OK AT+CMEE=2 " "OK AT+UPSD=0,1,\\\"claro.com.br\\\" " "OK AT+UDCONF=0,0 " "OK AT+CGDCONT=1,\\\"IP\\\",\\\"claro.com.br\\\" " "OK ATD*99***1# " "CONNECT \\c";.pap_username = "claro",
.pap_password = "claro",bem como o Codigo em C (em negrito e com fonte maior as credenciais) do cliente mqttc-pub.c, da pasta APPS.
/**************************************************************************** * apps/examples/mqttc/mqttc_pub.c * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. The * ASF licenses this file to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance with the * License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. * ****************************************************************************/ /**************************************************************************** * Included Files ****************************************************************************/ #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <sys/socket.h> #include <fcntl.h> #include <netdb.h> #include <errno.h> #include <mqtt.h> /**************************************************************************** * Pre-processor Definitions ****************************************************************************/ /**************************************************************************** * Private Types ****************************************************************************/ struct mqttc_cfg_s { struct mqtt_client client; const FAR char *host; const FAR char *port; const FAR char *topic; const FAR char *msg; const FAR char *id; uint8_t sendbuf[CONFIG_EXAMPLES_MQTTC_TXSIZE]; uint8_t recvbuf[CONFIG_EXAMPLES_MQTTC_RXSIZE]; uint32_t tmo; uint8_t flags; uint8_t qos; }; /**************************************************************************** * Private Function Prototypes ****************************************************************************/ static FAR void *client_refresher(FAR void *data); static void parsearg(int argc, char *argv[], struct mqttc_cfg_s *cfg, int *n); static int initserver(const FAR struct mqttc_cfg_s *cfg); /**************************************************************************** * Private Functions ****************************************************************************/ /**************************************************************************** * Name: client_refresher * * Description: * The client's refresher. This function triggers back-end routines to * handle ingress/egress traffic to the broker. * ****************************************************************************/ static FAR void *client_refresher(FAR void *data) { while (1) { mqtt_sync((FAR struct mqtt_client *)data); usleep(100000U); } return NULL; } /**************************************************************************** * Name: parsearg * * Description: * Parse command line arguments. * ****************************************************************************/ static void parsearg(int argc, char *argv[], struct mqttc_cfg_s *cfg, int *n) { int opt; while ((opt = getopt(argc, argv, "h:p:m:t:n:")) != ERROR) { switch (opt) { case 'h': cfg->host = optarg; break; case 'p': cfg->port = optarg; break; case 'm': cfg->msg = optarg; break; case 't': cfg->topic = optarg; break; case 'n': *n = strtol(optarg, NULL, 10); break; default: fprintf(stderr, "ERROR: Unrecognized option\n"); break; } } } /**************************************************************************** * Name: initserver * * Description: * Resolve server's name and try to establish a connection. * ****************************************************************************/ static int initserver(const FAR struct mqttc_cfg_s *cfg) { struct addrinfo hints; struct addrinfo *servinfo; struct addrinfo *itr; int fd; int ret; memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_INET; hints.ai_socktype = SOCK_STREAM; printf("Connecting to %s:%s...\n", cfg->host, cfg->port); ret = getaddrinfo(cfg->host, cfg->port, &hints, &servinfo); if (ret < 0) { printf("ERROR! getaddrinfo() failed: %s\n", gai_strerror(ret)); } itr = servinfo; do { fd = socket(itr->ai_family, itr->ai_socktype, itr->ai_protocol); if (fd < 0) { continue; } ret = connect(fd, itr->ai_addr, itr->ai_addrlen); if (ret == 0) { break; } close(fd); fd = -1; } while ((itr = itr->ai_next) != NULL); freeaddrinfo(servinfo); if (fd < 0) { printf("ERROR! Couldn't create socket\n"); return -1; } ret = fcntl(fd, F_GETFL, 0); if (ret < 0) { printf("ERROR! fcntl() F_GETFL failed, errno: %d\n", errno); return -1; } ret = fcntl(fd, F_SETFL, ret | O_NONBLOCK); if (ret < 0) { printf("ERROR! fcntl() F_SETFL failed, errno: %d\n", errno); return -1; } return fd; } /**************************************************************************** * Public Functions ****************************************************************************/ int main(int argc, char *argv[]) { int sockfd; enum MQTTErrors mqtterr; pthread_t thrdid; int n = 1; struct mqttc_cfg_s mqtt_cfg = { .host = "mqtt.thingstream.io", .port = "1883", .topic = "esp32-sniffer/a4cf127531c8/ble", .msg = "test", .flags = MQTT_CONNECT_CLEAN_SESSION, .tmo = 400, .id = "device:352fc9a7-3211-xxxx-xxxx-a390f2e4ca86", .qos = MQTT_PUBLISH_QOS_2, }; parsearg(argc, argv, &mqtt_cfg, &n); sockfd = initserver(&mqtt_cfg); if (sockfd < 0) { return -1; } mqtterr = mqtt_init(&mqtt_cfg.client, sockfd, mqtt_cfg.sendbuf, sizeof(mqtt_cfg.sendbuf), mqtt_cfg.recvbuf, sizeof(mqtt_cfg.recvbuf), NULL); if (mqtterr != MQTT_OK) { printf("ERRPR! mqtt_init() failed.\n"); goto err_with_socket; } mqtterr = mqtt_connect(&mqtt_cfg.client, mqtt_cfg.id, NULL, /* Will topic */ NULL, /* Will message */ 0, /* Will message size */ "I7UPHZWCKHZASRDIXXXX", /* User name */ "xxxxeX6qvfBpKY2638AgYn1DqpZJa0lpBCI8yhzw", /* Password */ mqtt_cfg.flags, mqtt_cfg.tmo); if (mqtterr != MQTT_OK) { printf("ERROR! mqtt_connect() failed\n"); goto err_with_socket; } if (mqtt_cfg.client.error != MQTT_OK) { printf("error: %s\n", mqtt_error_str(mqtt_cfg.client.error)); goto err_with_socket; } else { printf("Success: Connected to broker!\n"); } /* Start a thread to refresh the client (handle egress and ingree client * traffic) */ if (pthread_create(&thrdid, NULL, client_refresher, &mqtt_cfg.client)) { printf("ERROR! pthread_create() failed.\n"); goto err_with_socket; } while (n--) { mqtterr = mqtt_publish(&mqtt_cfg.client, mqtt_cfg.topic, mqtt_cfg.msg, strlen(mqtt_cfg.msg) + 1, mqtt_cfg.qos); if (mqtterr != MQTT_OK) { printf("ERROR! mqtt_publish() failed\n"); goto err_with_thrd; } if (mqtt_cfg.client.error != MQTT_OK) { printf("error: %s\n", mqtt_error_str(mqtt_cfg.client.error)); goto err_with_thrd; } else { printf("Success: Published to broker!\n"); } sleep(5); } printf("\nDisconnecting from %s\n\n", mqtt_cfg.host); mqtterr = mqtt_disconnect(&mqtt_cfg.client); if (mqtterr != MQTT_OK) { printf("ERROR! mqtt_disconnect() failed\n"); } /* Force sending the DISCONNECT, the thread will be canceled before getting * the chance to sync this last packet. * Note however that close() would cleanly close the connection but only * through TCP (i.e. no MQTT DISCONNECT packet). */ mqtt_sync(&mqtt_cfg.client); err_with_thrd: pthread_cancel(thrdid); err_with_socket: close(sockfd); return 0; }
osboxes@osboxes:~/nuttx/nuttx$ cd .. osboxes@osboxes:~/nuttx$ cd apps/ osboxes@osboxes:~/nuttx/apps$ cd examples/ osboxes@osboxes:~/nuttx/apps/examples$ ls abntcodi cctype flowc ini_dumper modbusmaster nximage pwlines sx127x_demo ustream adc charger foc ipcfg module nxlines pwm system veml6070 adxl372_test chat ft80x ipforward mount nxterm qencoder tcpblaster watchdog ajoystick chrono ftpc json mqttc nxtext random tcpecho watched alarm configdata ftpd Kconfig mtdpart obd2 README.md telnetd watcher apa102 cpuhog fxos8700cq_test leds mtdrwb oneshot relays termios webserver apds9960 cromfs gpio lis3dsh_reader netlink_route pca9635 rfid_readuid thttpd wget audio_rttl dac gps lsm303_reader netloop pdcurses rgbled tiff wgetjson bastest dhcpd hdc1008_demo lsm330spi_test netpkt pf_ieee802154 romfs timer xbc_test battery dhtxx hello lsm6dsl_reader nettest pipe rpmsgsocket touchscreen xmlrpc bmi160 discover helloxx lvgldemo nrf24l01_btle poll sendmail udgram zerocross bmp180 djoystick hidkbd Make.defs nrf24l01_term popen serialblaster udp bridge elf hts221_reader Makefile null posix_spawn serialrx udpblaster buttons embedlog i2schar max31855 nunchuck powerled serloop uid calib_udelay esp32_himem i2sloop media nx powermonitor slcd unionfs camera fb igmp mld nxdemo pppd smps usbserial can fboverlay ina219 mlx90614 nxflat pty_test sotest userfs canard flash_test ina226 modbus nxhello pwfb stat usrsocktest osboxes@osboxes:~/nuttx/apps/examples$ cd pppd/ osboxes@osboxes:~/nuttx/apps/examples/pppd$ ls Kconfig Make.defs Make.dep Makefile pppd_main.c pppd_main.home.osboxes.nuttx.apps.examples.pppd.o osboxes@osboxes:~/nuttx/apps/examples/pppd$ nano pppd_main.c osboxes@osboxes:~/nuttx/apps/examples/pppd$
Agora execute
$make
Após compilar, será gerado um BIN, o mesmo deve ser gravado no UBLOX NINA W106, via FLASHTOOLS, junto com partitions.bin e bootloader.bin
Pode também ser utilizado esptools
TESTANDO NO U-BLOX NINA W106Abra então o TERATERM (115200,N,8.1) e reset o U-blox NINA W106 e execute pppd &nsh> ifconfig ppp0 Link encap:TUN at UP inet addr:10.6.19.104 DRaddr:10.6.19.104 Mask:0.0.0.0 nsh> ping www.smartcore.com.br PING 192.185.211.71 56 bytes of data 56 bytes from 192.185.211.71: icmp_seq=0 time=800 ms 56 bytes from 192.185.211.71: icmp_seq=1 time=730 ms 56 bytes from 192.185.211.71: icmp_seq=2 time=680 ms 56 bytes from 192.185.211.71: icmp_seq=3 time=630 ms 56 bytes from 192.185.211.71: icmp_seq=4 time=760 ms 56 bytes from 192.185.211.71: icmp_seq=5 time=710 ms 56 bytes from 192.185.211.71: icmp_seq=6 time=660 ms 56 bytes from 192.185.211.71: icmp_seq=7 time=790 ms 56 bytes from 192.185.211.71: icmp_seq=8 time=740 ms 56 bytes from 192.185.211.71: icmp_seq=9 time=690 ms 10 packets transmitted, 10 received, 0% packet loss, time 10100 ms nsh>
Sobre a SMARTCORE
Nenhum comentário:
Postar um comentário