Adquirimos então os seguintes componentes
-Botão de RESET;
-Botão de Modo BOOTLOADER (W106);
-Acesso às várias GPIOS.
Pequena
suporte@smartcore.com.br
Referências:
https://developer.ibm.com/br/articles/iot-mqtt-why-good-for-iot/
POR QUE AIRLIFT ?
Ter o WiFi gerenciado por um chip separado significa que seu código é mais simples, você não precisa armazenar dados do soquete ou compilar e depurar uma biblioteca SSL. Com o AirLift, você pode enviar comandos básicos, mas poderosos baseados em socket, sobre SPI de 8MHz para transferência de dados de alta velocidade. O U-BLOX NINA W102 pode lidar com todo o trabalho pesado de conexão a uma rede WiFi e transferir dados de um site e usar a mais recente criptografia TLS/SSL (tem certificados radiculares pré-gravados).
NODE-RED
O Node-RED é uma ferramenta de programação baseada em fluxo, originalmente desenvolvida pela equipe de Serviços de Tecnologia Emergentes da IBM e agora parte da Fundação JS .
Inventado por J. Paul Morrison na década de 1970, a programação baseada em fluxo é uma maneira de descrever o comportamento de uma aplicação como uma rede de caixas pretas, ou “nós”, como são chamados no Node-RED. Cada nó tem um propósito bem definido; é dado alguns dados, faz algo com esses dados e depois passa esses dados. A rede é responsável pelo fluxo de dados entre os nós.
É um modelo que se presta muito bem a uma representação visual e o torna mais acessível a uma ampla gama de usuários. Se alguém pode dividir um problema em etapas discretas, ele pode analisar um fluxo e ter uma noção do que está fazendo; sem ter que entender as linhas individuais de código dentro de cada nó.
BREAKOUT B302 | BREAKOUT W102 | |||
CS | IO36 | P1.02 | IO28 | 5 |
READY | IO25 | P0.04 | IO7 | 33 |
RESET | IO21 | P1.12 | RESET | RESET |
SCK | IO1 | P0.13 | IO29 | 18 |
MOSI | IO35 | P1.01 | IO31 | 14 |
MISO | IO34 | P1.08 | IO1 | 23 |
GPIO0 | IO27 | P0.05 | IO27 | 0 |
BREAKOUT B302 | NRF52840 | BREAKOUT W102 | ESP32 |
Interface de Sensores (Dashboard) no servidor WEB sendo acessado remotamente (Remot3)
Projeto Node-Red server - Import
[
{
"id": "5ddcb592.3a70dc",
"type": "tab",
"label": "Flow 1",
"disabled": false,
"info": ""
},
{
"id": "904d0ec6.732d3",
"type": "json",
"z": "5ddcb592.3a70dc",
"name": "",
"property": "payload",
"action": "obj",
"pretty": true,
"x": 450,
"y": 340,
"wires": [
[
"8deb0cec.b657"
]
]
},
{
"id": "f32e4a01.6f0ef8",
"type": "ui_gauge",
"z": "5ddcb592.3a70dc",
"name": "",
"group": "b5806088.39ff4",
"order": 4,
"width": 0,
"height": 0,
"gtype": "gage",
"title": "Pressure",
"label": "hPa",
"format": "{{value}}",
"min": 0,
"max": "1200",
"colors": [
"#b366ff",
"#8000ff",
"#440088"
],
"seg1": "",
"seg2": "",
"x": 880,
"y": 600,
"wires": []
},
{
"id": "8e71a3f.85b6e6",
"type": "ui_gauge",
"z": "5ddcb592.3a70dc",
"name": "",
"group": "b5806088.39ff4",
"order": 3,
"width": 0,
"height": 0,
"gtype": "gage",
"title": "Humidity",
"label": "%",
"format": "{{value}}",
"min": 0,
"max": "100",
"colors": [
"#0080ff",
"#0062c4",
"#002f5e"
],
"seg1": "",
"seg2": "",
"x": 880,
"y": 540,
"wires": []
},
{
"id": "fb783753.cabd68",
"type": "ui_gauge",
"z": "5ddcb592.3a70dc",
"name": "",
"group": "b5806088.39ff4",
"order": 2,
"width": 0,
"height": 0,
"gtype": "gage",
"title": "Temperature",
"label": "ºC",
"format": "{{value}}",
"min": 0,
"max": "38",
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"x": 890,
"y": 480,
"wires": []
},
{
"id": "8deb0cec.b657",
"type": "function",
"z": "5ddcb592.3a70dc",
"name": "JSON or URL Encoded",
"func": "var msg0 = { payload: msg.payload.api_key };\nvar msg1 = { payload: msg.payload.sensor_name };\nvar msg2 = { payload: msg.payload.temperature };\nvar msg3 = { payload: msg.payload.humidity };\nvar msg4 = { payload: msg.payload.pressure };\n\nreturn [msg0, msg1, msg2, msg3, msg4];",
"outputs": 5,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 630,
"y": 340,
"wires": [
[
"c342a60f7c73cf58"
],
[
"ecd86985.bf61c8"
],
[
"fb783753.cabd68"
],
[
"8e71a3f.85b6e6"
],
[
"f32e4a01.6f0ef8"
]
]
},
{
"id": "ecd86985.bf61c8",
"type": "ui_text",
"z": "5ddcb592.3a70dc",
"group": "b5806088.39ff4",
"order": 1,
"width": 0,
"height": 0,
"name": "",
"label": "Sensor Name",
"format": "{{msg.payload}}",
"layout": "row-spread",
"className": "",
"x": 900,
"y": 420,
"wires": []
},
{
"id": "c342a60f7c73cf58",
"type": "ui_text",
"z": "5ddcb592.3a70dc",
"group": "b5806088.39ff4",
"order": 4,
"width": 0,
"height": 0,
"name": "",
"label": "API_Key",
"format": "{{msg.payload}}",
"layout": "row-spread",
"className": "",
"x": 890,
"y": 360,
"wires": []
},
{
"id": "d060a8a37080ff23",
"type": "http in",
"z": "5ddcb592.3a70dc",
"name": "",
"url": "/update",
"method": "post",
"upload": false,
"swaggerDoc": "",
"x": 110,
"y": 340,
"wires": [
[
"4799717e85851cc5",
"904d0ec6.732d3"
]
]
},
{
"id": "4799717e85851cc5",
"type": "debug",
"z": "5ddcb592.3a70dc",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 390,
"y": 160,
"wires": []
},
{
"id": "b5806088.39ff4",
"type": "ui_group",
"name": "SENSORS",
"tab": "667c00e9.9ac12",
"order": 1,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "667c00e9.9ac12",
"type": "ui_tab",
"name": "HTTP",
"icon": "dashboard",
"order": 1,
"disabled": false,
"hidden": false
}
]