Estou com algumas dúvidas e gostaria muito da ajuda de alguém pra me dar um norte em um projeto.
A intencao é conectar 4 arduinos e um computador em um roteador.
No computador o scadabr para monitorar as entradas digitais de 3 arduinos.
No 4 arduino seria para ler as entradas dos outros 3 e mandar um arquivo json por uma api (pensei nisso pois nao sei tbm se o scadabr faz isso, caso faça eliminaria esse 4 arduino).
Minha pergunta é …
Como faço a leitura das entradas dos outros 3 arduinos conectados no roteador via modbus tcp/ip nesse 4 arduino?
É possivel enviar um pacote json direto pelo scadabr via api? Se sim como poderia fazer?
Você pode usar os recursos de Scripting ou Meta data points para fazer chamadas GET/POST e enviar dados para uma API, conforme está descrito neste tutorial:
Além disso, no ScadaBR 1.2 (nos anteriores não) você tem pode usar o objeto JSON do Javascript para criar strings JSON. Então você poderia fazer algo do tipo:
// Imagine que nas variáveis ard1 e ard2 você salvou valores lidos de um dos seus Arduinos
var ard1 = 12;
var ard2 = 36.5;
// Criando um objeto Javascript com esses valores
var valoresLidos = {
tensao: ard1,
temperatura: ard2
};
// Convertendo o objeto em string JSON
var valoresJson = JSON.stringify(valoresLidos);
// Enviando o objeto para a API pela função simplePost()
// (veja como implementar essa função no tutorial acima!!)
var request = simplePost("https://dominiodomeusite.com.br", { dados: valoresJson });
// Verificar se o status da resposta é OK (código HTTP 200)
if (request.status == 200) {
// Deu tudo certo
}