(https://blogs.embarcadero.com/building-good-with-cbuilder-contest-results/)
https://blogs.embarcadero.com/building-good-with-cbuilder-contest-results/ https://youtube.com/embed/tNYx-wSfjVc
Como a tecnologia Bluetooth pode melhorar o uso dos recursos hídricos em todo o mundo. A programação usando C++ Builder 10.3 Community Edition foi surpreendentemente muito mais rápida do que a tartaruga do Android Studio e seus eternos pesadelos de indexação; Então, é hora de seguir em frente usando este IDE, neste projeto, utilizando os recursos multi-dispositivos.
O objectivo, mais controlo sobre o uso da água em questões de irrigação, primeiro no jardim da minha mãe, depois nos parques da cidade, depois nas terras agrícolas e depois em qualquer actividade de distribuição de água em todo o mundo. Obrigado ao concurso Building Good with C++Builder por oferecer esta oportunidade.
O sistema usará um dispositivo compatível com Bluetooth para controlar uma válvula para irrigar uma planta. O dispositivo de controle pode ser um laptop/pc ou um smartphone (Android ou iOS). Estes dispositivos controlam através de link sem fio bluetooth uma placa Arduino UNO conectada a um módulo bluetooth HC-05; então este último pode abrir/fechar a válvula solenóide por um relé; de acordo com os seguintes modos: 1. Com base nos sensores (umidade, nível do tanque de água e intensidade da chuva) o Arduino decidirá quando abrir/fechar a válvula para regar adequadamente a planta. Os valores dos sensores serão comparados com os setpoints para a tomada de decisões. Modo 2. Modo de teste, podemos abrir/fechar a válvula independentemente dos valores dos sensores. Modo 3, utilizando horários de irrigação, ou seja, períodos de tempo definidos em que a válvula estará aberta.
Proteus 8.6 com bibliotecas Arduino para simulação do controle da válvula Arduino e dos sensores acoplados (umidade, nível de água e chuva) palestras e resposta do sistema de controle da válvula (circuito e firmware) aos comandos do aplicativo Irrigation 3021 programado em C++ Builder.
No meu caso particular, utilizei o scrcpy para ver meu projeto (Irrigação 3021) em sua versão Android. https://github.com/Genymobile/scrcpy
CÓDIGO FONTE ATUALIZADO
No arquivo BTReadThread.cpp, foram feitas as seguintes alterações:
.................................
senão if(cmd==2) { dataFromArduino=Socket->ReceiveData();
if(dataFromArduino.Length>0)
{
StrReceived = TEncoding::ASCII->GetString(dataFromArduino);
/*************************************/
AllReceivedData+=StrReceived;
msg=AllReceivedData;
Synchronize(TabbedForm->WriteMemo);
if(AllReceivedData.Length()>12)
{
sensors=AllReceivedData;
Synchronize(TabbedForm->UpdateValueSensors);
AllReceivedData="";
Sleep(100);
}
#ifndef __ANDROID__
else
AllReceivedData="";
#endif
/*****************************************/
/*msg=StrReceived;
Synchronize(TabbedForm->WriteMemo);
if(msg.Length()>3)
{
sensors=StrReceived;
Synchronize(TabbedForm->UpdateValueSensors);
} */
}
Sleep(100);
}
..................................