Indholdsfortegnelse:
- Trin 1: KOMPONENTER - DRAGONBOARD
- Trin 2: KOMPONENTER - LINKER BASE
- Trin 3: KOMPONENTER - SENSOR
- Trin 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
- Trin 5: FORBERED en API
- Trin 6: APP MOBIL
- Trin 7: FLUXOGRAMA
- Trin 8: REFERÊNCIAS
Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Kursus: Especialização em Arquitetura de Software Distribuído
Data: 2017-10-26
Unidade: Praça da Liberdade
Disciplina: Internet das Coisas
Professor: Ilo Rivero
Alunos: Bruno Valgas ([email protected])
Dellan Hoffman P. Silva ([email protected])
Hebert Alves Ferreira ([email protected])
Jean Carlos Batista ([email protected])
Jeordane Batista ([email protected])
INTRODUKTION
Hvordan ville det være, hvis vi kunne vande vores planter når som helst og hvor som helst? Med WaterPlant Project vil det være muligt. Dette projekt blev udviklet med det formål at forbedre bekvemmeligheden og anvendeligheden af at behandle dette er så vigtigt for planeten.
INTRODUÇÃO
Vil du se, hvad der skal gøres, kan du planlægge en god kvalitet? Com o Projeto WaterPlant será possível. Este projeto foi desenvolvido visando melhorar a comodidade e a praticidade para tratar deste ser tão importante para o planeta.
FUNCIONAMENTO
O projeto foi desenvolvido para monitoramento de jardins, onde é possível efetuar a verificação do estado do solo, com relação a sua umidade. Sendo assim, por meio de parâmetros da umidade do solo é possível avaliar a necessidade de sua irrigação.
A placa envia informationaa for a API, armazenada na nuvem, que por sua vez é acessada pelo aplicativo mobile, que recebe e trata tais informationações. Desta forma a aplicação mantem o usuário informationado da situação do solo. O usuário em contato com a aplicação poderá solicitar o irrigamento imediado do solo, esta informação é enviada para a API que por sua vez se comunica com a placa para acionamento do dispositivo de irrigação.
Trin 1: KOMPONENTER - DRAGONBOARD
DragonBoard 410C
En DragonBoard 410C er en primær placering af desenvolvimento baseada no processador da série Qualcomm Snapdragon 400, comando con conexões Wifi, Bluetooth e GPS em uma placa to tamanho aproximado de um cartão de crédito, and é caracterizada pelo alto desempenho do processador de 64 bits Qualcomm rodando à 1,2 GHz, med 1 GB hukommelse DDR3 533 MHz og 8 GB hukommelsesmemoria (eMMC).
Priser: R $ 500 ~ R $ 750
Trin 2: KOMPONENTER - LINKER BASE
Placa de expansão para mapeamento e utilização de portas, facilitando and utilização de sensores.
Trin 3: KOMPONENTER - SENSOR
Sensor de Umidade do Solo
Este sensor utiliza dois eletrodos para passar corrente pelo solo e lê o nível de umidade por comparação com a resistência do potenciômetro do módulo do sensor. Quando o solo estiver seco, a sua resistência aumenta, dificultando a passagem de corrente. Com a absorção da água, a resistência do solo diminui permitindo a passagem de corrente entre os eletrodos e fechando, desta forma, o circuito. Dessa forma podemos definir quando o solo está molhado, ou quando está seco.
Du kan også læse mere om digital (D0), og analoge analoge (A0). O sinal digital é ajustado para que tenha valor lógico 1 quando a umidade for maior do que um valor predefinido, ajustado através do potenciômetro presente no módulo.
Priser: R $ 6 ~ R $ 20.
Trin 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
Aplicação desenvolvida to rodar on Dragonboard 410c foi feita utilizando o Windows 10 IoT Core.
O Windows 10 IoT Core er en platform for desenvolvimento criada for facilitar and vida dos desenvolvedores til hora de programar seus dispositivos. Com ele é possível desenvolver para várias placas existentes no mercado, bastando ter instalado no computador os seguintes itens (ja em sequência de instalação, no caso de uso da Dragonboard):
- Visual Studio 2017-fællesskabet eller kvaler outra versão (https://www.visualstudio.com/thank-you-downloading…);
- DragonBoard opdateringsværktøj;
- Windows 10 IoT Core Dashboard;
- DragonBoard Windows 10 IoT Core Image;
- Windows IoT -projektskabeloner;
O proceso completeo for instalação and konfiguração pode ser encontrado no seguinte link:
Du kan installere og konfigurere en vejledning til Microsoft, som kan bruges i Visual Studio til en baggrundsprogram.
Til vejledningen til disponibiliserings- eller færdiggørelsesprocedurer for GitHub på
Du kan konfigurere en applikation, der ikke kan bruges til StartupTask.cs.
O método principal da aplicação é o Run () e seu código é o seguinte:
public void Run (IBackgroundTaskInstance taskInstance)
{InitGPIO (); InitSPI (); _deferral = taskInstance. GetDeferral (); timer = ThreadPoolTimer. CreatePeriodicTimer (Timer_Tick, TimeSpan. FromMilliseconds (10000)); timer2 = ThreadPoolTimer. CreatePeriodicTimer (Timer_Tick2, TimeSpan. FromMilliseconds (10000)); }
Os métodos InitGPIO () e InitSPI () inicializam variáveis para serem utilizadas na nossa aplicação enquanto as variáveis timer e timer2 criam 2 timers para serem executados a cada quantidade de tempo, and next caso foram parametrizados 10 segundos (10 miliss). Para alterar esse tempo basta mudar estes valores nessa parte do código.
O Método InitGPIO () a seguir tem como função definir as configuraçõese do pino que ativa a válvula solenoide de água. Nesse eksemplo de código to a Dragonboard o código do pino foi o 36.
privat tomrum InitGPIO ()
{var gpio = GpioController. GetDefault (); hvis (gpio == null) {pin = null; Vend tilbage; } pin = gpio. OpenPin (36); hvis (pin == null) {return; } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }
O método InitSPI () konfiguration og porta SPI0 fra Dragonboard.
privat asynk opgave InitSPI ()
{prøv {var settings = new SpiConnectionSettings (0); // Vælg en SPI0 for DragonBoard -indstillinger. ClockFrequency = 500000; // Konfiguration af uret til barramento SPI med 0.5MHz settings. Mode = SpiMode. Mode0; // COnfigura polaridade e fase do clock do SPI var controller = afventer SpiController. GetDefaultAsync (); SpiADC = controller. GetDevice (indstillinger); } fangst (undtagelse ex) {kaste ny undtagelse ("Falha na inicialização do SPI", ex); }}
O primeiro timer invoca o método Timer_Tick () que tem como função and verificação através da API se houve um comando para iniciar uma irrigação. Sådan svarer vi til, hvordan du svarer til API'en:
var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/irrigacoes");
httpWebRequest. ContentType = "application/json"; httpWebRequest. Method = "GET";
Neste trecho de código deve ser alterado para o endereço onde será hospedado o código da API for buscar o comando de irrigação. Én næste trecho de código que a irrigação é encerrada também.
Para o segundo timer é invocado o método Timer_Tick2 () que és responsável pelo envio dos dados da umidade do solo naquele momento. Der er ikke noget, der kan bruges til at konfigurere eller konfigurere API'en til en anden måde:
var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/umidades");
httpWebRequest. ContentType = "application/json"; httpWebRequest. Method = "POST";
O método LerADC (byte canal) é o método responsável por ler do conversor analógico/digital os valores informados pelo sensor de umidade. Este tilpasningsinformation om array de bytes, der kan konverteres til integrerede data til ConvertToInt ([ReadOnlyArray] byte data). Segue os trechos de código:
public int LerADC (byte kanal)
{byte readBuffer = ny byte [3]; byte writeBuffer = ny byte [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = kanal; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); return adcValue; } public int ConvertToInt ([ReadOnlyArray] byte data) {int resultat = 0; resultat = data [1] & 0x03; resultat << = 8; resultat += data [2]; returnere resultat; }
Trin 5: FORBERED en API
API foi desenvolvida na plataforma NodeJS (https://nodejs.org), foi utilizado o Swagger (https://swagger.io/specification/) a fim de modelar e documentar os recursos utilizados on integração do trabalho.
Para armazenamento dos dados foi utilizado o banco de dados MySQL, banco de dados relacional e open source.
Segue abaixo and arquitetura de camadas que compõemem a API.
● /api: Camada que gerencia os recursos disponibilizados para que terceiros possam acessar.
○ /api /controller: Camada que gerencia as rotas definidas no documento gerado pelo swagger.
○ /api /service: Camada que entrega os dados de entrada para serem tratados, depois escritos ou lidos pela camada de BO (descrita mais à diante). Nesta camada está configurado o retorno ocorrido durante o processo de request.
○ /api /swagger: Camada que contém o arquivo de configuração do swagger, onde estão toda as configurações dos recursos.
● /domæne: Der kan fortsat være en kodifikation, der kan bruges til at genoprette den.
○ /depot: Camada de persistência de dados.
● /infrastruktur: Cama de configuração das strings de conexão do banco de dados e também do servidor que será provisionado pela própria aplicação.
For mere information og konsultation af et link til github:
Segue abaixo uma breve beskrivelse af cada recurso disponibilizados og API:
Método: POST
URI:/api/v1/umidades
Beskrivelse: Recurso utilizado para registar umidade coletada pelo sensor de umidade.
Exemplo de requisição:
{
"Tapperhed": 355}
Método: FÅ
URI:/api/v1/umidades
Beskrivelse: Recurso que recupera todos os registros de valores de umidade que foram salvos anteriormente.
Eksempel på svar:
[{"Id": 1, "valor": 355, "dataCadastro": åååå-MM-dd HH: MM}]
Método: POST
URI:/api/v1/irrigacoes
Beskrivelse: Recurso utilizado para ativar o dispositivo de irrigação.
Método: FÅ
URI:/api/v1/irrigacoes
Beskrivelse: Recurso utilizado para verificar o estado de umidade atual do solo.
Eksempel på svar:
{
"Tapperhed": 355}
Trin 6: APP MOBIL
Escolhemos uma tecnologia híbrida para gerar um código reutilizável para todas as plataformas (Android e IOS) para aumentar a abrangência de usuários e diminuir o custo do projeto. O Ionic é um framework que possui uma gigantesca biblioteca de componentes gráficos que facilita a implementação visual do aplicativo. Ele utiliza de linguagens web (HTML, CSS e Javascript) para a criação das telas e tem o Angular como o seu núcleo (core). Através do cordova (biblioteca javascript) os recursos do dispositivos são acessados pelo webview do mesmo.
Aplicativo consiste em realizar algumas requisições para a API do system and a fim de se obter information sobre a umidade do solo and regar o mesmo remotamente. Através de um evento de botão uma requisição é enviada para o servidor e a ação correspondente é realizada.
Links:
- https://ionicframework.com/
- https://angular.io/
- https://ionicframework.com/
O código fonte do aplicativo modelo encontra-se no GitHub, no endereço
Para que of aplicativo funcione basta configurar o endereço da API no arquivo server.ts que encontra-se no diretório /src/entity/server.ts(https://github.com/jeordanecarlosbatista/temperat…) og ændrer en anden URI_PREFIX, conforme exemplo abaixo para o endereço onde está hospedada a API:
eksportklasse Server {
offentlig statisk skrivebeskyttet URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; /* public static readonly URI_PREFIX: string = "https://dominio.com/aplicacao/"; */}
Trin 7: FLUXOGRAMA
Trin 8: REFERÊNCIAS
Instructables:
Qualcomm DragonBoard 410C:
Windows 10 og DragonBoard ™ 410c-den perfekte start til IoT-udvikling:
Monitore sua planta usando Arduino:
Anbefalede:
Sådan installeres Raspbian OS i Raspberry Pi ved hjælp af NOOBS -software og smartphone: 6 trin
Sådan installeres Raspbian OS i Raspberry Pi ved hjælp af NOOBS -software og smartphone: Hej alle sammen! i dag i denne vejledning viser jeg dig, hvor let det er at installere Raspbian OS i Raspberry Pi ved hjælp af NOOBS -software og smartphone
Glassten LED -rør (WiFi -styret via smartphone -app): 6 trin (med billeder)
Glass Stone LED Tube (WiFi-styret via smartphone-app): Hej andre producenter! I denne instruktive vil jeg vise dig, hvordan du bygger et WiFi-kontrolleret LED-rør, der er fyldt med glassten for en dejlig diffusionseffekt. Lysdioderne kan adresseres individuelt, og derfor er nogle gode effekter mulige i
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Bluetooth pedalafbryder til et smartphone -kamera: 13 trin (med billeder)
Bluetooth pedalafbryder til et smartphone -kamera: I disse dage er jeg ved at lave Instructables, youtube -videoer og blogindlæg. For at gøre blogindlægget produktivt er det vigtigt at tage mange billeder så detaljeret som muligt. Det er ikke så let at gøre, fordi et menneske kun har to hænder. Jeg behøver
Sistema De Irrigação Automático Para Plantas: 8 trin
Sistema De Irrigação Automático Para Plantas: A irrigação é uma das tecnologias mais utilizadas por agricultores pois esta atividade independe da ocorrência de chuvas, garante uma safra uniforme, reduce a falha humana, minimiza o consumo de água (utilizando apenas