otimizado firmware e configuracoes de rede
This commit is contained in:
parent
1669cb3b5f
commit
9fa0e5832e
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -57,11 +57,11 @@ namespace AgroBase.Forms
|
|||
// Aqui substituímos "Ethernet" pelo nome correto da interface que o PC está usando
|
||||
if (chbIpFixo.Checked)
|
||||
{
|
||||
EthernetService.DefinirIpFixo(_Interface, ipNovo, subnetMask, gateway);
|
||||
EthernetService.DefinirIpFixo(_Interface, ipNovo, subnetMask, gateway, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
EthernetService.DefinirIpDinamico(_Interface);
|
||||
EthernetService.DefinirIpDinamico(_Interface, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ using AgroBase.Models;
|
|||
using AgroBase.Services;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
|
|
@ -27,6 +28,9 @@ namespace AgroBase.Forms
|
|||
public frmInstancial()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
EthernetService.ConfigurarIP(true, false);
|
||||
|
||||
//FilaService.IniciarRotinas();
|
||||
//BLD300RService.IniciarRotinas();
|
||||
//MKS057DService.IniciarRotinas();
|
||||
|
|
@ -90,6 +94,8 @@ namespace AgroBase.Forms
|
|||
{
|
||||
Fechando = true;
|
||||
|
||||
EthernetService.ConfigurarIP(false, false);
|
||||
|
||||
AsyncTaskTimerModel.PararTimers();
|
||||
|
||||
foreach (var Disp in Variaveis.DispositivosConectados)
|
||||
|
|
|
|||
|
|
@ -48,8 +48,9 @@ namespace AgroBase.Models
|
|||
public static OperacaoModel OperacaoEmAndamento { get; set; } = new OperacaoModel(ModoOperacao.Manual);
|
||||
public static MqttService MqttService { get; set; } = new MqttService("localhost", 1883);
|
||||
public static LoRaService ConexaoLoRa = new LoRaService();
|
||||
public static string FaixaIPwifi { get; set; } = "192.168.99";
|
||||
public static string FaixaIPwifi { get; set; } = "192.168.100";
|
||||
public static string FaixaIPethernet { get; set; } = "192.168.105";
|
||||
public static string IP_Host { get; set; } = FaixaIPwifi + ".105";
|
||||
public static bool IsAgroMonitor
|
||||
{
|
||||
get
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using AgroBase.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
|
|
@ -392,18 +393,33 @@ public class EthernetService
|
|||
return "Nenhuma interface de rede ativa encontrada";
|
||||
}
|
||||
|
||||
public static void DefinirIpDinamico(string interfaceName)
|
||||
public static void DefinirIpDinamico(string interfaceName, bool response)
|
||||
{
|
||||
// Define o IP para DHCP
|
||||
string comandoIp = $"interface ip set address \"{interfaceName}\" dhcp";
|
||||
// Define o DNS para DHCP
|
||||
string comandoDns = $"interface ip set dns \"{interfaceName}\" dhcp";
|
||||
try
|
||||
{
|
||||
// Define o IP para DHCP
|
||||
string comandoIp = $"interface ip set address \"{interfaceName}\" dhcp";
|
||||
// Define o DNS para DHCP
|
||||
string comandoDns = $"interface ip set dns \"{interfaceName}\" dhcp";
|
||||
|
||||
ExecutarComandoNetsh(comandoIp);
|
||||
ExecutarComandoNetsh(comandoDns);
|
||||
ExecutarComandoNetsh(comandoIp);
|
||||
ExecutarComandoNetsh(comandoDns);
|
||||
|
||||
if (response)
|
||||
{
|
||||
MessageBox.Show("IP dinamico definido com sucesso!", "Configuração de IP", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (response)
|
||||
{
|
||||
MessageBox.Show($"Erro ao definir IP dinamico: {ex.Message}", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void DefinirIpFixo(string nomeInterface, string ipAddress, string subnetMask, string gateway)
|
||||
public static void DefinirIpFixo(string nomeInterface, string ipAddress, string subnetMask, string gateway, bool response)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -415,11 +431,17 @@ public class EthernetService
|
|||
string comandoDns = $"interface ip set dns name=\"{nomeInterface}\" source=static addr=8.8.4.4 register=primary";
|
||||
ExecutarComandoNetsh(comandoDns);
|
||||
|
||||
MessageBox.Show("IP fixo definido com sucesso!", "Configuração de IP", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
if (response)
|
||||
{
|
||||
MessageBox.Show("IP fixo definido com sucesso!", "Configuração de IP", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show($"Erro ao definir IP fixo: {ex.Message}", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
if (response)
|
||||
{
|
||||
MessageBox.Show($"Erro ao definir IP fixo: {ex.Message}", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -468,7 +490,29 @@ public class EthernetService
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
public static void ConfigurarIP(bool fixo, bool response)
|
||||
{
|
||||
var interfaces = ObterNomesInterfaces();
|
||||
|
||||
string _Interface = interfaces.FirstOrDefault(x => x.ToLower().Contains("wi-fi") && x.ToLower().Contains("ativa"));
|
||||
if (!string.IsNullOrEmpty(_Interface))
|
||||
{
|
||||
_Interface = _Interface.Split('(')[0].Trim();
|
||||
string gateway = ObterIpGateway(_Interface);
|
||||
string ipAtual = ObterIpAtual(_Interface);
|
||||
string ip = Variaveis.IP_Host;
|
||||
string submask = ObterSubnetMaskAtual(_Interface);
|
||||
|
||||
if (fixo)
|
||||
{
|
||||
DefinirIpFixo(_Interface, ip, submask, gateway, response);
|
||||
}
|
||||
else
|
||||
{
|
||||
DefinirIpDinamico(_Interface, response);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
{"tmrRegistrador":{"State":2,"IsRunning":false,"IsStopped":true,"IsCreated":false,"Interval":2000,"StackTrace":"AtuadorModel.IniciarRegistrador","Id":"tmrRegistrador_Atu","TimeTick":"00:00:00.0009998"},"Modulo_ID":"Atu","IP":"192.168.99.113","RequisitarDados":true,"Conectado":false,"QuantidadeBicos":4,"DensidadeHerbicida":1.05,"AtuacaoNivelAlto":true,"BicosPulverizadores":[{"ID":"B01","Posicao":1,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B02","Posicao":2,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B03","Posicao":3,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B04","Posicao":4,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0}],"BombasPressurizadoras":[{"ID":"BOMBA","ComandoAtuar":false,"Componente":325,"LeituraEstado":false,"Comandar":true,"Testando":false,"Funcoes":[14,35,36,37,5],"Potencia":0.0,"Leitura":null,"Inicializado":false}],"Sensores":[{"LogGrafico":[],"ID":"FLXLN","Prioridade":23,"Descricao":"Fluxo na linha principal","Componente":198,"Aferir":true,"DelayAmostragem":300,"Leitura":null,"Inicializado":false,"Testando":false,"Funcoes":[25],"Parametros":[],"UnidadeMedida":"mL/s","LimiteMaximo":0.0,"LimiteMinimo":0.0},{"LogGrafico":[],"ID":"MASRS","Prioridade":3,"Descricao":"Massa do reservatório de herbicida","Componente":532,"Aferir":true,"DelayAmostragem":1000,"Leitura":null,"Inicializado":false,"Testando":false,"Funcoes":[22,23],"Parametros":[],"UnidadeMedida":"Kg","LimiteMaximo":50.0,"LimiteMinimo":5.0},{"LogGrafico":[],"ID":"PRSLN","Prioridade":3,"Descricao":"Pressão na linha principal","Componente":333,"Aferir":true,"DelayAmostragem":1000,"Leitura":null,"Inicializado":false,"Testando":false,"Funcoes":[24],"Parametros":[["Vmin","000.00"],["Vmax","004.50"],["Pmax","174.04"]],"UnidadeMedida":"psi","LimiteMaximo":120.0,"LimiteMinimo":60.0}],"BombaPressurizadora":{"ID":"BOMBA","ComandoAtuar":false,"Componente":325,"LeituraEstado":false,"Comandar":true,"Testando":false,"Funcoes":[14,35,36,37,5],"Potencia":0.0,"Leitura":null,"Inicializado":false},"ScriptDeteccaoErvas":"weed_detector-1_0.py","DadosLeitura":{"Conectado":false,"Mod_ID":null,"Momento":"0001-01-01T00:00:00","BicosPulverizadores":[],"BombasPressurizadoras":[],"SensoresFluxo":[],"SensoresMassa":[],"SensoresPressao":[]},"_MassaRef":0.8,"_MassaLeituraRef":40876.37,"_MassaLeituraExtra":1895800.0,"MassaReservatorio":0.0,"VolumeReservatorio":0.0,"PercentualReservatorio":0.0,"VolumeVazaoAferido":0.0,"_FluxoMlRef":102.0,"_FluxoPulsoRef":80.0,"VazaoFluxoMLpS":0.0,"VolumeVazaoML":0.0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0,"_PressaoVmin":0.0,"_PressaoVmax":4.5,"_PressaoMax":174.045,"PressaoLinha":0.0,"PressaoLinhaCalc":0.0}
|
||||
{"tmrRegistrador":{"State":2,"IsRunning":false,"IsStopped":true,"IsCreated":false,"Interval":1000,"StackTrace":"AtuadorModel.IniciarRegistrador","Id":"tmrRegistrador_Atu","TimeTick":"00:00:00"},"Modulo_ID":"Atu","IP":"192.168.100.13","RequisitarDados":true,"Conectado":false,"QuantidadeBicos":4,"DensidadeHerbicida":1.05,"AtuacaoNivelAlto":true,"BicosPulverizadores":[{"ID":"B01","Posicao":1,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B02","Posicao":2,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B03","Posicao":3,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0},{"ID":"B04","Posicao":4,"Componente":422,"AtuacaoNivelAlto":false,"ComandoAtuar":false,"Comandar":true,"Testando":false,"Funcoes":[21],"LeituraStatusBico":false,"MediaNivelFluxo":0.0,"Leitura":null,"Inicializado":false,"Atuacoes":0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0}],"BombasPressurizadoras":[{"ID":"BOMBA","ComandoAtuar":false,"Componente":325,"LeituraEstado":false,"Comandar":true,"Testando":false,"Funcoes":[14,35,36,37,5],"Potencia":0.0,"Leitura":null,"Inicializado":false}],"Sensores":[{"LogGrafico":[],"ID":"FLXLN","Prioridade":23,"Descricao":"Fluxo na linha principal","Componente":198,"Aferir":true,"DelayAmostragem":300,"Leitura":null,"Inicializado":false,"Testando":false,"Funcoes":[25],"Parametros":[],"UnidadeMedida":"mL/s","LimiteMaximo":0.0,"LimiteMinimo":0.0},{"LogGrafico":[],"ID":"MASRS","Prioridade":3,"Descricao":"Massa do reservatório de herbicida","Componente":532,"Aferir":true,"DelayAmostragem":1000,"Leitura":null,"Inicializado":false,"Testando":false,"Funcoes":[22,23],"Parametros":[],"UnidadeMedida":"Kg","LimiteMaximo":50.0,"LimiteMinimo":5.0},{"LogGrafico":[],"ID":"PRSLN","Prioridade":3,"Descricao":"Pressão na linha principal","Componente":333,"Aferir":true,"DelayAmostragem":1000,"Leitura":null,"Inicializado":false,"Testando":false,"Funcoes":[24],"Parametros":[["Vmin","000.00"],["Vmax","004.50"],["Pmax","174.04"]],"UnidadeMedida":"psi","LimiteMaximo":120.0,"LimiteMinimo":60.0}],"BombaPressurizadora":{"ID":"BOMBA","ComandoAtuar":false,"Componente":325,"LeituraEstado":false,"Comandar":true,"Testando":false,"Funcoes":[14,35,36,37,5],"Potencia":0.0,"Leitura":null,"Inicializado":false},"ScriptDeteccaoErvas":"weed_detector-1_0.py","DadosLeitura":{"Conectado":false,"Mod_ID":null,"Momento":"0001-01-01T00:00:00","BicosPulverizadores":[],"BombasPressurizadoras":[],"SensoresFluxo":[],"SensoresMassa":[],"SensoresPressao":[]},"_MassaRef":0.8,"_MassaLeituraRef":40876.37,"_MassaLeituraExtra":1895800.0,"MassaReservatorio":0.0,"VolumeReservatorio":0.0,"PercentualReservatorio":0.0,"VolumeVazaoAferido":0.0,"_FluxoMlRef":102.0,"_FluxoPulsoRef":80.0,"VazaoFluxoMLpS":0.0,"VolumeVazaoML":0.0,"InicioAtuacao":"0001-01-01T00:00:00","TempoAtuado":0.0,"_PressaoVmin":0.0,"_PressaoVmax":4.5,"_PressaoMax":174.045,"PressaoLinha":0.0,"PressaoLinhaCalc":0.0}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
|
|
@ -18,8 +18,8 @@
|
|||
|
||||
|
||||
// Configurações do IP estático
|
||||
IPAddress local_IP(192, 168, 99, 113); // IP fixo para o ESP
|
||||
IPAddress gateway(192, 168, 99, 1); // Gateway padrão
|
||||
IPAddress local_IP(192, 168, String(WIFI_FAIXA).toInt(), 13); // IP fixo para o ESP
|
||||
IPAddress gateway(192, 168, String(WIFI_FAIXA).toInt(), 1); // Gateway padrão
|
||||
IPAddress subnet(255, 255, 255, 0); // Máscara de sub-rede
|
||||
IPAddress primaryDNS(8, 8, 8, 8); // Servidor DNS primário (opcional)
|
||||
|
||||
|
|
@ -66,20 +66,14 @@ void setup() {
|
|||
InicializarConexaoWifi(local_IP, gateway, subnet, primaryDNS);
|
||||
|
||||
if (!WifiIsConnected) {
|
||||
String newSSID = "WIFI-AGROBOTICS";
|
||||
String newPassword = "agro4321";
|
||||
|
||||
saveWiFiCredentials(newSSID.c_str(), newPassword.c_str());
|
||||
|
||||
connectToWiFi();
|
||||
|
||||
if (WifiIsConnected) {
|
||||
PrintTela("Conectado com sucesso");
|
||||
ESP.restart();
|
||||
}
|
||||
else {
|
||||
PrintTela("Erro ao se conectar ao wifi");
|
||||
while(true);
|
||||
ESP.restart();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,12 +5,14 @@
|
|||
#ifndef MqttService_h
|
||||
#define MqttService_h
|
||||
|
||||
#define WIFI_FAIXA "100"
|
||||
|
||||
const String TopicoRecepcao = "disp/tx/";
|
||||
const String TopicoTransmissao = "disp/rx/";
|
||||
|
||||
class MqttService {
|
||||
private:
|
||||
const char* server = "192.168.99.105";
|
||||
const char* server = "192.168." WIFI_FAIXA ".105";
|
||||
int port = 1883;
|
||||
const char* user = "zendion";
|
||||
const char* password = "Z210203!";
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
#ifndef WifiService
|
||||
#define WifiService
|
||||
|
||||
String WIFI_SSID = "Agrobot";
|
||||
String WIFI_PASSWORD = "4321agro";
|
||||
|
||||
bool WifiIsConnected = false;
|
||||
|
||||
|
|
@ -45,6 +47,8 @@ void InicializarConexaoWifi(IPAddress ip, IPAddress gateway, IPAddress subnet, I
|
|||
char ssid[MAX_SSID_LEN];
|
||||
char password[MAX_PASS_LEN];
|
||||
|
||||
//saveWiFiCredentials(WIFI_SSID.c_str(), WIFI_PASSWORD.c_str());
|
||||
|
||||
loadWiFiCredentials(ssid, password);
|
||||
|
||||
PrintTela(ssid);
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
|
||||
|
||||
// Configurações do IP estático
|
||||
IPAddress local_IP(192, 168, 99, 112); // IP fixo para o ESP
|
||||
IPAddress gateway(192, 168, 99, 1); // Gateway padrão
|
||||
IPAddress local_IP(192, 168, String(WIFI_FAIXA).toInt(), 12); // IP fixo para o ESP
|
||||
IPAddress gateway(192, 168, String(WIFI_FAIXA).toInt(), 1); // Gateway padrão
|
||||
IPAddress subnet(255, 255, 255, 0); // Máscara de sub-rede
|
||||
IPAddress primaryDNS(8, 8, 8, 8); // Servidor DNS primário (opcional)
|
||||
|
||||
|
|
@ -70,20 +70,14 @@ void setup() {
|
|||
InicializarConexaoWifi(local_IP, gateway, subnet, primaryDNS);
|
||||
|
||||
if (!WifiIsConnected) {
|
||||
String newSSID = "WIFI-AGROBOTICS";
|
||||
String newPassword = "agro4321";
|
||||
|
||||
saveWiFiCredentials(newSSID.c_str(), newPassword.c_str());
|
||||
|
||||
connectToWiFi();
|
||||
|
||||
if (WifiIsConnected) {
|
||||
PrintTela("Conectado com sucesso");
|
||||
ESP.restart();
|
||||
}
|
||||
else {
|
||||
PrintTela("Erro ao se conectar ao wifi");
|
||||
while(true);
|
||||
ESP.restart();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue