quarta-feira, 17 de novembro de 2021

Mongoose no u-blox NINA W106 - PPPos no LISA U200 - ACESSANDO THINGSTREAM COM JS (MQTT)


O objetivo deste BLOG é demonstrar como é possível utilizar o Mongoose para programação do u-blox NINA W106. Foi utilizado o U-BLOX NINA W106 para o teste. A aplicação habilita que execute no MONGOOSE um STACK para acesso ao PPPos e então publique dados no broker MQTT da U-BLOX (ThingStream).

W106
Wi-Fi 802.11b/g/n
Dual-Mode Bluetooth v4.2
Poderoso suporte de CPU aberta para aplicativos personalizados
Tamanho pequeno e várias opções de antena
Pino compatível com outros módulos NINA
Certificação global
Módulo baseado no ESP32, com 4MB FLASH


LISA U200

LISA-U2

Com W-CDMA de 6 bandas (UMTS) e GPRS / EDGE de banda quádrupla, os módulos LISA-U2 são adequados para redes em todo o mundo.
Os recursos incluem taxas de dados de até 21,1 Mbit / s (downlink),um rico conjunto de protocolos da Internet, área muito pequena, área muito baixa consumo de energia e temperatura operacional estendida alcance. Os módulos LISA-U2 fornecem acesso totalmente integrado a produtos de posicionamento u-blox. A diversidade de antenas permite a Módulos LISA-U2 para fornecer as maiores velocidades de dados. Os módulos LISA-U2 são ideais para aplicações industriais / de consumidor que requerem transmissão de dados em alta velocidade e aplicações máquina a máquina. Eles são a escolha perfeita para terminais de internet móvel, tablets, infotainment para automóvel, sistemas de navegação conectados, segurança e vigilância sistemas, eCall, gerenciamento de frota, sistemas de medição, anti-roubo e outras aplicações automotivas. O pacote compacto SMT permite fácil fabricação emigração do u-blox SARA, LEON e outros módulos LISA é simples. Isso permite que os clientes tirem o máximo proveito de seus investimentos em hardware e software e fornece tempo de comercialização muito curto. Está disponível um amplo conjunto de certificados reguladores e de operadores nacionais.
Os módulos LISA-U2 são fabricados em locais certificados pela ISO / TS 16949. Cada módulo é testado e inspecionado durante a produção. Os módulos são qualificados de acordo com a ISO 16750 -Condições ambientais e testes elétricos de eletricidade e equipamentos eletrônicos para veículos rodoviários.

PPP
 

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. 

Conheça ThingStream, servidor MQTT da U-BLOX
Implementa também SSL e SN-MQTT

Ambiente thingstream

Características:
  • 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.
No modo tradicional, se você quer acessar AWS, AZURE, etc:
  • 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
Com ThingStream, se você quer acessar AWS, AZURE, etc:
  • 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)

FLOW

Saldo de "Publish"

Registros dos Eventos


Planos acessíveis



O que é o mongoose OS

Mongoose OS é um pequeno RTOS desenvolvido por Cesanta, Irlanda. Seu suporte a muitos pequenos e poderosos MCU como ESP32 (U-BLOX NINA W106). Mongoose OS é um sistema operacional integrado de código aberto para microcontroladores conectados de baixa potência.

Código em C ou JavaScript;
Recursos de segurança como suporte a chip de criptografia, criptografia de sistema de arquivos, etc;
AWS IoT integrado, integração do Google IoT;
Motor JavaScript incorporado - mJS;

Benefícios do Mongoose OS:
Provas rápidas de conceitos / protótipos;
Menor tempo de comercialização a um custo ideal;
Seguro, confiável e verificado por empresas líderes;
Infraestrutura confiável para produto comercial

https://mongoose-os.com/


u-blox NINA W106 e Moogoose

Como o módulo u-blox NINA W106 é baseado no chip ESP32 (cpu), será possível rodar o Mongoose sem problemas. O usuário deve dar atenção ao mapeamento de GPIOS da U-BLOX apenas conforme datasheet.

No link abaixo, há um roteiro muito interessante para que você possa preparar o ambiente para programar o u-blox NINA W106 


Basicamente

Crie uma pasta, MOS, copie o EXE para ela, crie um PATH no WINDOWS, crie pasta Projeto, baixe APP, compile na nuvem, faça o FLASH para o  u-blox NINA W106, configure SSID/PASSWORD, cadastre na Nuvem!


TESTANDO NO u-BLOX NINA W106

Seleção do ESP32 (U-BLOX NINA W106)

Criando Projeto

mkdir demo-js

mos clone https://github.com/mongoose-os-apps/demo-js app1

$ mos clone https://github.com/mongoose-os-apps/demo-js app1 app1: Does not exist, cloning from "https://github.com/mongoose-os-apps/demo-js"... app1: Checking out 2.19.1... app1: Done, hash e4ecb176b4e95f53e5938724b6cb6723b4b95fad

mos build --platform esp32

mos build --platform esp32 Connecting to https://build.mongoose-os.com, user test Uploading sources (2668 bytes) Firmware saved to C:\mos\app1\build\fw.zip Command completed.

mos flash

$ mos flash Loaded app1/esp32 version 1.0 (20210318-180524) Opening COM35 @ 115200... Connecting to ESP32 ROM, attempt 1 of 10... Connecting to ESP32 ROM, attempt 2 of 10... Connected, chip: ESP32D0WDQ6 R1 Running flasher @ 921600... Flasher is running Flash size: 4194304, params: 0x022f (dio,32m,80m) Flash encryption: disabled, scheme: None Secure boot: disabled Deduping... Writing... 28672 @ 0x1000 4096 @ 0x8000 16384 @ 0x9000 8192 @ 0xd000 1572864 @ 0x10000 262144 @ 0x190000 Wrote 1885280 bytes in 16.93 seconds (869.93 KBit/sec) Verifying... 25456 @ 0x1000 3072 @ 0x8000 16384 @ 0x9000 8192 @ 0xd000 1570032 @ 0x10000 262144 @ 0x190000 Booting firmware... All done!

Execução

[Mar 18 15:08:40.981] ������������� [Mar 18 15:08:40.981] I (117) boot: 5 fs_1 FS 01 82 00350000 00040000 00000000 [Mar 18 15:08:40.981] I (125) boot: End of partition table [Mar 18 15:08:40.981] I (130) boot: OTA data 0: seq 0x00000001, st 0x10, CRC 0x157a2b85, valid? 1 [Mar 18 15:08:40.981] I (137) boot: OTA data 1: seq 0x00000000, st 0x00, CRC 0x00000000, valid? 0 [Mar 18 15:08:40.981] I (145) boot_comm: chip revision: 1, min. application chip revision: 0 [Mar 18 15:08:40.981] I (152) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x44298 (279192) map [Mar 18 15:08:41.088] I (242) esp_image: segment 1: paddr=0x000542c0 vaddr=0x3ffbdb60 size=0x0394c ( 14668) load [Mar 18 15:08:41.088] I (247) esp_image: segment 2: paddr=0x00057c14 vaddr=0x40080000 size=0x00400 ( 1024) load [Mar 18 15:08:41.088] I (249) esp_image: segment 3: paddr=0x0005801c vaddr=0x40080400 size=0x07ffc ( 32764) load [Mar 18 15:08:41.088] I (270) esp_image: segment 4: paddr=0x00060020 vaddr=0x400d0020 size=0x119374 (1151860) map [Mar 18 15:08:41.557] I (605) esp_image: segment 5: paddr=0x0017939c vaddr=0x400883fc size=0x160f4 ( 90356) load [Mar 18 15:08:41.557] I (637) esp_image: segment 6: paddr=0x0018f498 vaddr=0x400c0000 size=0x00034 ( 52) load [Mar 18 15:08:41.557] I (653) boot: Loaded app from partition at offset 0x10000 [Mar 18 15:08:41.557] I (653) boot: Disabling RNG early entropy source... [Mar 18 15:08:41.557] I (654) cpu_start: Pro cpu up. [Mar 18 15:08:41.557] I (657) cpu_start: Application information: [Mar 18 15:08:41.557] I (662) cpu_start: Project name: app1 [Mar 18 15:08:41.557] I (667) cpu_start: App version: 2.19.1 [Mar 18 15:08:41.557] I (672) cpu_start: Compile time: Mar 18 2021 18:04:52 [Mar 18 15:08:41.557] I (678) cpu_start: ELF file SHA256: 8a6b25f01d7c479b... [Mar 18 15:08:41.557] I (684) cpu_start: ESP-IDF: 4.2-r1 [Mar 18 15:08:41.557] I (689) cpu_start: Single core mode [Mar 18 15:08:41.557] I (693) heap_init: Initializing. RAM available for dynamic allocation: [Mar 18 15:08:41.557] I (700) heap_init: At 3FF80034 len 00001FCC (7 KiB): RTCRAM [Mar 18 15:08:41.557] I (706) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM [Mar 18 15:08:41.557] I (713) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM [Mar 18 15:08:41.557] I (719) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM [Mar 18 15:08:41.557] I (725) heap_init: At 3FFC9078 len 00016F88 (91 KiB): DRAM [Mar 18 15:08:41.557] I (731) heap_init: At 3FFE0440 len 0001FBC0 (126 KiB): D/IRAM [Mar 18 15:08:41.557] I (737) heap_init: At 40078000 len 00008000 (32 KiB): IRAM [Mar 18 15:08:41.557] I (743) heap_init: At 4009E4F0 len 00001B10 (6 KiB): IRAM [Mar 18 15:08:41.557] I (750) cpu_start: Pro cpu start user code [Mar 18 15:08:41.557] I (766) spi_flash: detected chip: generic [Mar 18 15:08:41.661] I (767) spi_flash: flash io: qio [Mar 18 15:08:41.661] I (767) cpu_start: Starting scheduler on PRO CPU. [Mar 18 15:08:41.661] [Mar 18 15:08:41.661] [Mar 18 15:08:41.661] mgos_freertos.c:155 app1 1.0 (20210318-180524) [Mar 18 15:08:41.661] mgos_freertos.c:157 Mongoose OS 2.19.1 (20210318-180523/2.19.1-gd52032f) [Mar 18 15:08:41.661] mgos_freertos.c:161 CPU: 160 MHz, FreeRTOS 8.2.0, heap: 255848 total, 224772 free [Mar 18 15:08:41.661] mgos_freertos.c:163 Newlib 3.0.0 [Mar 18 15:08:41.661] esp32_main.c:65 ESP-IDF 4.2-r1 [Mar 18 15:08:41.661] esp32_main.c:68 Boot partition: app_0; flash: 4M [Mar 18 15:08:41.661] mongoose.c:15677 Mongoose 6.18, LwIP 2.1.3 [Mar 18 15:08:41.661] mongoose.c:4938 mbed TLS 2.16.6-cesanta1 [Mar 18 15:08:41.661] mgos_vfs_dev.c:73 fs_0: esp32part ({"label": "fs_0"}), size 262144 [Mar 18 15:08:41.661] mgos_vfs_dev.c:73 fs_1: esp32part ({"label": "fs_1"}), size 262144 [Mar 18 15:08:41.661] mgos_vfs.c:174 /: SPIFFS @ fs_0, opts {"bs":4096,"ps":256,"es":4096} [Mar 18 15:08:41.752] mgos_vfs.c:347 /: size 233681, used: 127759, free: 105922 [Mar 18 15:08:41.873] mgos_sys_config.c:368 MAC: f0:08:d1:c8:cf:98 [Mar 18 15:08:41.873] mgos_sys_config.c:376 WDT: 30 seconds [Mar 18 15:08:41.873] esp32_i2c_master.c:393 I2C0 init ok (SDA: 32, SCL: 33, freq: 100000) [Mar 18 15:08:41.873] I (1311) BTDM_INIT: BT controller compile version [3723d5b] [Mar 18 15:08:41.873] W (1311) phy_init: failed to load RF calibration data (0x1102), falling back to full calibration [Mar 18 15:08:42.009] I (1451) phy: phy_version: 4500, 0cd6843, Sep 17 2020, 15:37:07, 0, 2 [Mar 18 15:08:42.009] Coex register schm btdm cb faild [Mar 18 15:08:42.487] esp32_bt.c:177 Bluetooth init ok, MTU 500, pairing enabled, 0 paired devices [Mar 18 15:08:42.487] mgos_ota_shadow_lib:116 OTA over shadow initialised [Mar 18 15:08:42.487] mgos_wifi.c:458 WiFi mode: AP [Mar 18 15:08:42.487] I (1831) wifi:wifi driver task: 3ffb7190, prio:23, stack:6656, core=0 [Mar 18 15:08:42.487] I (1851) wifi:wifi firmware version: 1865b55 [Mar 18 15:08:42.487] I (1851) wifi:wifi certification version: v7.0 [Mar 18 15:08:42.487] I (1861) wifi:config NVS flash: enabled [Mar 18 15:08:42.487] I (1861) wifi:config nano formating: disabled [Mar 18 15:08:42.487] I (1861) wifi:Init data frame dynamic rx buffer num: 16 [Mar 18 15:08:42.487] I (1871) wifi:Init management frame dynamic rx buffer num: 16 [Mar 18 15:08:42.487] I (1881) wifi:Init management short buffer num: 32 [Mar 18 15:08:42.487] I (1881) wifi:Init dynamic tx buffer num: 16 [Mar 18 15:08:42.487] I (1881) wifi:Init static rx buffer size: 1600 [Mar 18 15:08:42.487] I (1891) wifi:Init static rx buffer num: 4 [Mar 18 15:08:42.487] I (1891) wifi:Init dynamic rx buffer num: 16 [Mar 18 15:08:42.487] I (1901) wifi_init: rx ba win: 4 [Mar 18 15:08:42.487] I (1901) wifi_init: tcpip mbox: 32 [Mar 18 15:08:42.487] I (1911) wifi_init: udp mbox: 6 [Mar 18 15:08:42.487] I (1911) wifi_init: tcp mbox: 6 [Mar 18 15:08:42.487] I (1911) wifi_init: tcp tx win: 5744 [Mar 18 15:08:42.487] I (1921) wifi_init: tcp rx win: 5744 [Mar 18 15:08:42.487] I (1921) wifi_init: tcp mss: 1440 [Mar 18 15:08:42.487] I (1931) wifi_init: WiFi IRAM OP enabled [Mar 18 15:08:42.487] I (1931) wifi_init: WiFi RX IRAM OP enabled [Mar 18 15:08:42.487] esp32_wifi.c:469 WiFi AP: SSID Mongoose_C8CF98, channel 6 [Mar 18 15:08:43.091] esp32_wifi.c:670 WiFi AP: protocol BGN (0x7) [Mar 18 15:08:43.091] I (2461) wifi:mode : softAP (f0:08:d1:c8:cf:99) [Mar 18 15:08:43.091] I (2471) wifi:Total power save buffer number: 8 [Mar 18 15:08:43.091] I (2471) wifi:Init max length of beacon: 752/752 [Mar 18 15:08:43.091] I (2481) wifi:Init max length of beacon: 752/752 [Mar 18 15:08:43.091] I (2481) wifi:Set ps type: 0 [Mar 18 15:08:43.091] [Mar 18 15:08:43.091] esp32_wifi.c:529 WiFi AP IP: 192.168.4.1/255.255.255.0 gw 192.168.4.1, DHCP range 192.168.4.2 - 192.168.4.100 [Mar 18 15:08:43.091] mgos_http_server.c:368 HTTP server started on [80] [Mar 18 15:08:43.091] mgos_provision_btn.c:90 Factory reset button: pin 0, pull up, hold_ms 0 (hold on boot) [Mar 18 15:08:43.091] mgos_provision_stat:120 Max state: 0 [Mar 18 15:08:43.091] mgos_rpc_channel_mq:203 0x3ffdb82c esp32_C8CF98/rpc [Mar 18 15:08:43.091] mgos_rpc_channel_ua:313 0x3ffdbf50 UART0 [Mar 18 15:08:43.091] mgos_init.c:36 Init done, RAM: 269304 total, 144956 free, 144956 min free [Mar 18 15:08:43.456] LED on -> false [Mar 18 15:08:43.527] mgos_mongoose.c:66 New heap free LWM: 118352 [Mar 18 15:08:43.527] mgos_ota_core.c:1330 UID: 0fef52e4924af156, license: none [Mar 18 15:08:43.527] esp32_bt_gap.c:100 BT device name esp32_C8CF98, addr f0:08:d1:c8:cf:9a,1 [Mar 18 15:08:43.527] esp32_bt_gatts.c:394 Starting BT service 5f6d4f53-5f44-4247-5f53-56435f49445f [Mar 18 15:08:43.527] esp32_bt_gatts.c:394 Starting BT service 5f6d4f53-5f52-5043-5f53-56435f49445f [Mar 18 15:08:44.467] online: false {"ram_free":123084,"uptime":2.870466,"btnCount":0,"on":false} [Mar 18 15:08:45.460] online: false {"ram_free":123064,"uptime":3.870175,"btnCount":0,"on":false} [Mar 18 15:08:46.470] online: false {"ram_free":123064,"uptime":4.870221,"btnCount":0,"on":false}

Configurando SSID e WIFI

mos wifi "Andreia Oi Miguel 2.4G" 12345678

$ mos wifi "Andreia Oi Miguel 2.4G" 12345678 Getting configuration... Setting new configuration... Command completed.

[Mar 18 15:17:10.966] I (4488) wifi:state: assoc -> run (10) [Mar 18 15:17:10.966] mgos_mongoose.c:66 New heap free LWM: 116612 [Mar 18 15:17:11.028] I (4528) wifi:connected with Andreia Oi Miguel 2.4G, aid = 1, channel 6, BW20, bssid = 9c:52:f8:43:7a:e0 [Mar 18 15:17:11.028] I (4538) wifi:security: WPA2-PSK, phy: bgn, rssi: -41 [Mar 18 15:17:11.028] I (4548) wifi:pm start, type: 0 [Mar 18 15:17:11.028] [Mar 18 15:17:11.028] mgos_wifi.c:136 WiFi STA: Connected, BSSID 9c:52:f8:43:7a:e0 ch 6 RSSI -42 [Mar 18 15:17:11.028] mgos_net.c:90 WiFi STA: connected [Mar 18 15:17:11.028] I (4568) wifi:AP's beacon interval = 102400 us, DTIM period = 1 [Mar 18 15:17:11.785] online: false {"ram_free":125128,"uptime":4.266742,"btnCount":0,"on":false} [Mar 18 15:17:12.787] online: false {"ram_free":125112,"uptime":5.267389,"btnCount":0,"on":false} [Mar 18 15:17:13.226] I (6728) esp_netif_handlers: sta ip: 192.168.100.116, mask: 255.255.255.0, gw: 192.168.100.1 [Mar 18 15:17:13.226] mgos_net.c:102 WiFi STA: ready, IP 192.168.100.116, GW 192.168.100.1, DNS 192.168.100.1 [Mar 18 15:17:13.226] mgos_provision_state:44 Current state: 1 -> 2 [Mar 18 15:17:13.226] mgos_provision_state:73 Setting provisioning timeout for 300 seconds [Mar 18 15:17:13.226] esp32_bt.c:82 Network is up, disabling Bluetooth [Mar 18 15:17:13.333] mgos_sys_config.c:174 Saved to conf9.json [Mar 18 15:17:13.790] online: false {"ram_free":162624,"uptime":6.266802,"btnCount":0,"on":false} [Mar 18 15:17:14.375] mgos_sntp.c:96 SNTP query to time.google.com [Mar 18 15:17:14.482] mgos_sntp.c:59 SNTP reply from 216.239.35.0: time 1616091435.341095, local 386.448222, delta 1616091048.892873 [Mar 18 15:17:14.777] online: false {"ram_free":162096,"uptime":7.266806,"btnCount":0,"on":false}


Pegue o TOKEN

Offline

mos config-set dash.enable=true dash.token=TOKEN
mos config-set dash.enable=true dash.token=xxxxxxxxxxxxxxxxxxxxxxx Getting configuration... Setting new configuration... Command completed.

Online!

Alterando init.js 
load('api_timer.js');

Timer.set(1000, Timer.REPEAT, function() {
    print('Hello From Smartcore!!!');
}, null);





$ mos build --platform esp32
Connecting to https://build.mongoose-os.com, user test
Uploading sources (1476 bytes)
Firmware saved to C:\mos\app1\build\fw.zip
Command completed.
$ mos flash 
ACESSANDO ThingStream via PPPoS
Na pasta MOS descompacte
git clone https://github.com/mongoose-os-apps/empty my-app
Cloning into 'my-app'...
remote: Counting objects: 68, done.
remote: Total 68 (delta 0), reused 0 (delta 0), pack-reused 68
Unpacking objects: 100% (68/68), done.
cd my-app    
  • edite mos.yml e coloque configurações da rede e MQTT
config_schema: - ["pppos.enable", true] - ["pppos.uart_no", 1] - ["pppos.baud_rate", 115200] - ["pppos.fc_enable", false] - ["pppos.apn", "java.claro.com.br"] - ["pppos.user", "claro"] - ["pppos.password", "claro"] - ["mqtt.enable", true] - ["mqtt.server", "52.211.238.211:1883"] - ["mqtt.user", "XXXXXXXXXXXXXXXXXXXX"] - ["mqtt.pass", "n6omeXXXXfBpKY2638AgYn1DqpZJa0lpBCI8yhzw"] - ["mqtt.client_id", "device:xxxxc9a7-xxxx-4e46-xxxx-a390f2e4ca86"] libs: - origin: https://github.com/mongoose-os-libs/pppos - origin: https://github.com/mongoose-os-libs/mqtt - origin: https://github.com/mongoose-os-libs/mjs - origin: https://github.com/mongoose-os-libs/boards - origin: https://github.com/mongoose-os-libs/ca-bundle - origin: https://github.com/mongoose-os-libs/rpc-service-config - origin: https://github.com/mongoose-os-libs/rpc-service-fs - origin: https://github.com/mongoose-os-libs/rpc-uart

  • Altere ini.js para
load('api_timer.js'); load('api_sys.js'); load('api_config.js'); load('api_mqtt.js'); load('api_log.js'); MQTT.setEventHandler(function(conn, ev, edata) { if (ev !== 0) print('MQTT event handler: got', ev); }, null); Timer.set(60000, Timer.REPEAT, function() { let res = MQTT.pub('esp32-sniffer/a4cf127531c8/ble', JSON.stringify({ temperatura: Math.random() * 100.0 , umidade: Math.random() * 100.0 }), 1); print('Published:', res ? 'yes' : 'no'); }, null);

  • Ligue os pinos 16 (TXD) e 17 (RXD) nos (RXD) (TXD) do modem U-BLOX LISA U200

  • C:\mos\my-app>c:\mos\mos build --platform esp32
  • C:\mos\my-app>c:\mos\mos flash

Veja vídeo


Dados no ThingStream



Compilando local

C:\mos\my-app>\mos\mos build --platform esp32 --local --verbose
e
então
C:\mos\my-app>\mos\mos build --platform esp32 --local --verbose  --no-libs-update

suporte@smartcore.com.br

Agradecimentos à @scaprile
no FORUM

REFERÊNCIAS

A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portfó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