Mục lục:

SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 bước
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 bước

Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 bước

Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 bước
Video: Smartphone Controlled Agribot with Automatic Irrigation System | DIY Projects 2024, Tháng mười một
Anonim
Image
Image
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAISCurso: Especialização em Arquitetura de Software Distribuído

Dữ liệu: 2017-10-26

Unidade: Praça da Liberdade

Disciplina: Internet das Coisas

Giáo sư: 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])

GIỚI THIỆU

Sẽ như thế nào nếu chúng ta có thể tưới cây mọi lúc, mọi nơi? Với Dự án WaterPlant, điều đó sẽ có thể thực hiện được. Dự án này được phát triển nhằm mục đích cải thiện sự tiện lợi và thiết thực để coi điều này là rất quan trọng đối với hành tinh.

INTRODUÇÃO

Como seria se pudéssemos aguar nossas plantas a Qualquer hora e de Qualquer lugar? 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, bởi meio de parâmetros da umidade do solo é possível avaliar a needidade de suaosystemgação.

Một ứng dụng khác thông báo cho một API, armazenada na nuvem, que por sua vez é acessada pelo aplicativo mobile, que Collectbe e trata tais Informações. Desta forma a aplicação mantem o usuário Informado da situação do solo. O usuário em contato com a aplicação poderá solicitar o foregamento imediado do solo, esta Informação é enviada para a API que por sua vez se comunica com a pla para acionamento do dispositivo de watgação.

Bước 1: THÀNH PHẦN - DRAGONBOARD

LINH KIỆN - DRAGONBOARD
LINH KIỆN - DRAGONBOARD

DragonBoard 410C

A DragonBoard 410C é a primeira sa khoáng de desenvolvimento baseada no processador da série Qualcomm Snapdragon 400, contando com conexões Wifi, Bluetooth e GPS em uma nhaua do tamanho aproximado de um cartão de crédito, e é caracterizada pelo alto desempenho do processador de 64 bits da Qualcomm rodando 1,2GHz, com 1GB de memória DDR3 533 MHz e 8GB de memória de armazenamento (eMMC).

Preço: R $ 500 ~ R $ 750

Bước 2: THÀNH PHẦN - CƠ SỞ LIÊN KẾT

LINH KIỆN - CƠ SỞ LIÊN KẾT
LINH KIỆN - CƠ SỞ LIÊN KẾT

Placa de expansão para mapeamento e useização de portas, tạo điều kiện và tạo ra một cảm giác thoải mái.

Bước 3: THÀNH PHẦN - CẢM BIẾN

LINH KIỆN - CẢM BIẾN
LINH KIỆN - CẢM BIẾN

Cảm biến de Umidade do Solo

Este sensor useiza 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, một sua khángência aumenta, dificultando một đoạn văn de Corrente. Com aractionção da água, a Resistência do solo diminui permitindo a paragraphm de Corrente entre os eletrodos e fechando, desta forma, o Circuito. Dessa forma podemos Defr quando o solo está molhado, ou quando está seco.

O módulo fornece tanto uma saída digital (D0), como uma saída analógica (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.

Preço: R $ 6 ~ R $ 20.

Bước 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE

A aplicação desenvolvida para rodar na Dragonboard 410c foi feita useizando o Windows 10 IoT Core.

O Windows 10 IoT Core é uma plataforma de desenvolvimento criada para secureitar a vida dos desenvolvedores na hora de programar seus dispositivos. Com ele é possível desenvolver para várias sa khoáng tồn tại không có thương mại, khốn kiếp nào, không có tính toán đại diện os seguintes itens (já em sequência de instalação, no caso de uso da Dragonboard):

  • Cộng đồng Visual Studio 2017 ou đủ khả năng chinh phục outra versão (https://www.visualstudio.com/thank-you-downloading…);
  • Công cụ cập nhật DragonBoard;
  • Bảng điều khiển lõi của Windows 10 IoT;
  • DragonBoard Windows 10 IoT Core Image;
  • Các mẫu dự án Windows IoT;

O processo completo para instalação e configuração pode ser encontrado no seguinte link:

Após a instalação e configuração conforme o hướng dẫn bằng Microsoft bitcha criar um novo projeto no Visual Studio do tipo Background Application.

Hướng dẫn para este vamos disponibilizar o codigo finalizado da aplicação através do GitHub em

Toda a configuração do aplicativo está no arquivo StartupTask.cs na raiz do projeto, e vamos explicar abaixo parte a parte do hasdigo.

O método hiệu trưởng 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 Operatingizadas na nossa aplicação enquanto as variáveis timer e timer2 criam 2 timer para serem executive a cada quantidade de tempo, e neste caso foram parametrizados mil segundos mil segundos. Para alterar esse tempo libea mudar estes valores nessa parte do código.

O Método InitGPIO () a seguir tem como função định nghĩa như configuraçõese do pino que ativa a válvula solenoide de água. Nesse exelo de código para a Dragonboard o código do pino foi o 36.

private void InitGPIO ()

{var gpio = GpioController. GetDefault (); if (gpio == null) {pin = null; trở lại; } pin = gpio. OpenPin (36); if (pin == null) {return; } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }

O método InitSPI () cấu hình một porta SPI0 da Dragonboard.

Tác vụ không đồng bộ riêng InitSPI ()

{try {var settings = new SpiConnectionSettings (0); // Seleciona a porta SPI0 da DragonBoard settings. ClockFrequency = 500000; // Configura o clock do barramento SPI em cài đặt 0.5MHz. Mode = SpiMode. Mode0; // COnfigura polaridade e fase do clock do SPI var controller = await SpiController. GetDefaultAsync (); SpiADC = controller. GetDevice (cài đặt); } catch (Exception ex) {ném new Exception ("Falha na inicialização do SPI", ex); }}

O primeiro hẹn giờ hóa đơn o método Timer_Tick () que tem como função a verifyficação através da API se houve um comando para iniciar uma growgação. O seguinte trecho de código é responseável pela chamada à API:

var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/irrigacoes");

httpWebRequest. ContentType = "application / json"; httpWebRequest. Method = "NHẬN";

Neste trecho de código deve ser alterado para o endereço onde será hospedado o código da API para buscar o comando de bringgação. É neste trecho de código que a watgação é encerrada também.

Para o segundo timer é invocado o método Timer_Tick2 () que é responseável pelo envio dos dados da umidade do solo naquele momento. É no seguinte trecho de código deste método que deve ser configurado o endereço da API para o envio dos dados:

var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/umidades");

httpWebRequest. ContentType = "application / json"; httpWebRequest. Method = "POST";

O método LerADC (kênh byte) é o método responseável por ler do convertor analógico / digital os valores Informados pelo sensor de umidade. Este adaptador thông báo um mảng de byte que é converttido em inteiro através do método ConvertToInt ([ReadOnlyArray] byte dữ liệu). Segue os trechos de código:

public int LerADC (kênh byte)

{byte readBuffer = byte mới [3]; byte writeBuffer = byte mới [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = kênh đào; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); trả về adcValue; } public int ConvertToInt ([ReadOnlyArray] byte data) {int result = 0; kết quả = dữ liệu [1] & 0x03; kết quả << = 8; kết quả + = data [2]; trả về kết quả; }

Bước 5: CHUẨN BỊ MỘT API

API foi desenvolvida na plataforma NodeJS (https://nodejs.org), foi useizado o Swagger (https://swagger.io/specification/) a fim de modelar e documentar os recursos useizados na integrationção do trabalho.

Para armazenamento dos dados foi useizado o banco de dados MySQL, banco de dados relacional e mã nguồn mở.

Segue abaixo a arquitetura de camadas que compõem một API.

● / api: Camada que gerencia os recursos disponibilizados para que terceiros mortam acessar.

○ / api / controller: Camada que gerencia as rotas Defdas no documento gerado pelo swagger.

○ / api / dịch vụ: 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.

● / domain: Camada que contém toda codificação relacionada a regra de negócio da aplicação.

○ / kho: Camada de Persência de dados.

● / cơ sở hạ tầng: Cama de configuração das string de conexão do banco de dados e também do servidor que será provisionado pela própria aplicação.

Para mais Informações e Consulta ao código fonte acesso o link do github:

Segue abaixo uma breve descrição de cada recurso disponibilizados na API:

Método: ĐĂNG

URI: / api / v1 / umidades

Descrição: Recurso useizado para register umidade coletada pelo sensor de umidade.

Ví dụ:

{

"Dũng cảm": 355}

Método: NHẬN

URI: / api / v1 / umidades

Descrição: Recurso que recupera todos os registerros de valores de umidade que foram salvos anteriormente.

Exemplo de response:

[{“Id”: 1, “valor”: 355, “dataCadastro”: yyyy-MM-dd HH: MM}]

Método: ĐĂNG

URI: / api / v1 / optigacoes

Descrição: Recurso useizado para ativar o dispositivo deosystemgação.

Método: NHẬN

URI: / api / v1 / optigacoes

Descrição: Recurso useizado para Verificar o estado de umidade atual do solo.

Exemplo de response:

{

"Dũng cảm": 355}

Bước 6: ỨNG DỤNG DI ĐỘNG

ỨNG DỤNG DI ĐỘNG
ỨNG DỤNG DI ĐỘNG
ỨNG DỤNG DI ĐỘNG
ỨNG DỤNG DI ĐỘNG

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 kangui uma gigantesca biblioteca de componentes gráficos que secureita a implementação visual do aplicativo. Ele useiza 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.

O aplicativo bao gồm em thực hiện bí danh yêu cầu đối với một API do Sistema a fim de se obter Informações sobre a umidade do solo e regar o mesmo remotamente. Através de um evento de botão uma secureizada.

Liên kết:

  • https://ionicframework.com/
  • https://angular.io/
  • https://ionicframework.com/

O havedigo fonte do aplicativo modelo encontra-se no GitHub, no endereço

Para que o aplicativo funcione libea 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…) e alterar a variável URI_PREFIX, conforme exelo abaixo para o endereço onde está hospedada một API:

xuất lớp Máy chủ {

public static readonly URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; / * công khai tĩnh chỉ đọc URI_PREFIX: string = "https://dominio.com/aplicacao/"; * /}

Bước 7: FLUXOGRAMA

FLUXOGRAMA
FLUXOGRAMA

Bước 8: THAM KHẢO

Các tài liệu hướng dẫn:

Qualcomm DragonBoard 410C:

Windows 10 và DragonBoard ™ 410c - Khởi đầu hoàn hảo cho phát triển IoT:

Monitore sua planta usando Arduino:

Đề xuất: