Πίνακας περιεχομένων:

SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Βήματα
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Βήματα

Βίντεο: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Βήματα

Βίντεο: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Βήματα
Βίντεο: Dispositivo de IRRIGAÇÃO Inteligente para Plantas ou Hortas via Smart Life ou TUYA 2024, Νοέμβριος
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

Στοιχεία: 2017-10-26

Unidade: Praça da Liberdade

Πειθαρχία: Internet das Coisas

Καθηγητής: loλο Ριβέρο

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])

ΕΙΣΑΓΩΓΗ

Πώς θα ήταν αν μπορούσαμε να ποτίσουμε τα φυτά μας οποιαδήποτε στιγμή, οπουδήποτε; Με το έργο WaterPlant θα είναι δυνατό. Αυτό το έργο αναπτύχθηκε με στόχο τη βελτίωση της ευκολίας και της πρακτικότητας για την αντιμετώπιση αυτού του τόσο σημαντικού για τον πλανήτη.

ΕΙΣΑΓΩΓΗ

Como seria se pudéssemos aguar nossas plantas a qualquer hora e de qualquer lugar; Com o Projeto WaterPlant σερβίρει. Este projeto foi desenvolvido visando melhorar a comodidade e a praticidade para tratar deste ser tão importante para o planeta.

FUNCIONAMENTO

Όσον αφορά την παρακολούθηση των ζαρντίνων, θα μπορούσατε να σας βοηθήσω να κάνετε ένα σόλο, να κάνετε μια καλή αναφορά. Sendo assim, por meio de parâmetros da umidade do solo é possível avaliar a needidade de sua irrigação.

Μπορείτε να λάβετε πληροφορίες για ένα API, να αγοράσετε και να επικοινωνήσετε μαζί μας, καθώς μπορείτε να λάβετε πληροφορίες για το κινητό σας τηλέφωνο, να λάβετε και να λάβετε πληροφορίες. Desta forma a aplicação mantem o usuário informado da situação do solo. Μπορείτε να χρησιμοποιήσετε μια εφαρμογή για να ζητήσετε μια σόλο, να λάβετε πληροφορίες για το API σας για να επικοινωνήσετε μαζί σας και να χρησιμοποιήσετε τη συσκευή σας.

Βήμα 1: ΣΥΣΤΑΤΙΚΑ - DRAGONBOARD

ΣΥΣΤΑΤΙΚΑ - DRAGONBOARD
ΣΥΣΤΑΤΙΚΑ - DRAGONBOARD

DragonBoard 410C

Το DragonBoard 410C είναι μια πρώτη θέση για τη δημιουργία βάσεων χωρίς επεξεργασία για τη σειρά Qualcomm Snapdragon 400, συνδέεται με το WiFi, το Bluetooth και το GPS για όλες τις κάρτες, και μπορεί να προχωρήσει σε 64 Qualcomm rodando à 1.2GHz, com 1GB de memória DDR3 533 MHz και 8 GB memória de armazenamento (eMMC).

Προπώληση: 500 $ ~ 750 $

Βήμα 2: ΣΥΣΤΑΤΙΚΑ - ΒΑΣΗ ΣΥΝΔΕΣΗΣ

ΣΥΣΤΑΤΙΚΑ - ΒΑΣΗ LINKER
ΣΥΣΤΑΤΙΚΑ - ΒΑΣΗ LINKER

Placa de expansão para mapeamento e utilização de portas, διευκολύνουν και χρησιμοποιούν τα sensores.

Βήμα 3: ΣΥΣΤΑΤΙΚΑ - ΑΙΣΘΗΤΗΡΑΣ

ΣΥΣΤΑΤΙΚΑ - ΑΙΣΘΗΤΗΡΑΣ
ΣΥΣΤΑΤΙΚΑ - ΑΙΣΘΗΤΗΡΑΣ

Sensor de Umidade do Solo

Εισαγάγετε τον αισθητήρα που χρησιμοποιεί ηλεκτρικά συστήματα για να περάσετε μόνοι σας, αλλά αν θέλετε να συγκρίνετε μια αντίσταση με μια αντίσταση που μπορεί να κάνει με τον αισθητήρα. Quando o solo estiver seco, a sua resistência aumenta, δυσκολεύεται να περάσει το corrente. Com a absorção da água, a resistencia do solo diminui allowindo 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.

O módulo fornece tanto uma saída digital (D0), como uma saída analógica (A0). Τελικά ψηφιακά και για την ώρα που χρειάζεσαι για ένα μεγάλο χρονικό διάστημα, μπορείς να κάνεις μια μεγάλη προτεραιότητα, να κάνεις μια δυνατή παρουσίαση χωρίς δυνατότητα.

Τιμή: R $ 6 ~ R $ 20.

Βήμα 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE

Εφαρμογή που επιτρέπει τη χρήση του Dragonboard 410c για τη χρήση των Windows 10 IoT Core.

O Windows 10 IoT Core είναι μια πλατφόρμα που έχει σχεδιαστεί για να διευκολύνει και να διευκολύνει τις διαδικασίες που απαιτούνται για τον προγραμματισμό. Com ele é possível desenvolver para várias placas existentes no mercado, bastando ter instalado no computador os seguintes itens (já em sequência de instalação, no caso de uso da Dragonboard):

  • Visual Studio 2017 Community ou qualquer outra versão (https://www.visualstudio.com/thank-you-downloading…).
  • Εργαλείο ενημέρωσης DragonBoard.
  • Windows 10 IoT Core Dashboard?
  • DragonBoard Windows 10 IoT Core Image?
  • Πρότυπα έργου Windows IoT.

Ολοκληρώθηκε η εγκατάσταση και η διαμόρφωση του κωδικού πρόσβασης για τον κωδικό πρόσβασης χωρίς σύνδεσμο:

Απαιτείται εγκατάσταση και διαμόρφωση του σεμιναρίου για το Microsoft basta criar και το novo projeto χωρίς Visual Studio για συμβουλές στην εφαρμογή φόντου.

Εκπαιδευτικό πρόγραμμα για την τελική επεξεργασία και την εφαρμογή του GitHub στο

Κάντε μια ρύθμιση παραμέτρων για να χρησιμοποιήσετε το 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 () και InitSPI () inicializam variáveis para serem utilisadas na nossa aplicação enquanto as variáveis timer e timer2 criam 2 timers para serem εκτελέσεις για μια μικρή ποσοτικοποίηση του τέμπο, και neste caso foram parametresados 10 seg. Το 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 exemplo de código para a Dragonboard o código do pino foi o 36.

ιδιωτικό κενό InitGPIO ()

{var gpio = GpioController. GetDefault (); if (gpio == null) {pin = null; ΕΠΙΣΤΡΟΦΗ; } pin = gpio. OpenPin (36); if (pin == null) {return? } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }

Μπορείτε να ρυθμίσετε το InitSPI () για να ρυθμίσετε την είσοδο SPI0 στο Dragonboard.

ιδιωτικό async Task InitSPI ()

{try {var settings = new SpiConnectionSettings (0); // Seleciona a porta SPI0 da DragonBoard settings. ClockFrequency = 500000; // Ρύθμιση παραμέτρων για ρυθμίσεις SPI em 0.5MHz. Mode = SpiMode. Mode0; // COnfigura polaridade e fase do clock do SPI var controller = αναμονή SpiController. GetDefaultAsync (); SpiADC = controller. GetDevice (ρυθμίσεις); } catch (Exception ex) {ρίξε νέα εξαίρεση ("Falha na inicialização do SPI", ex); }}

O primeiro timer invoca o método Timer_Tick () que tem como função a verificação através da API se houve um comando para iniciar uma irrigrigação. O seguinte trecho de código é responsável pela chamada à API:

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 para buscar ή comando de irrigação. Neste trecho de código que a irrigação é encerrada também.

Para o segundo timer é invocado o método Timer_Tick2 () que é é responsá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 (byte canal) ή método responsável for ler do conversor analogico/digital os valores informados pelo sensor de umidade. Προσαρμόστε πληροφορίες για συστοιχίες bytes που έχουν μετατραπεί σε πλήρη πρόσβαση σε μετατροπές μετατροπής σε μετατροπές ([ReadOnlyArray] byte δεδομένων). Segue os trechos de código:

public int LerADC (κανάλι byte)

{byte readBuffer = νέο byte [3]; byte writeBuffer = νέο byte [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = κανάλι. SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); επιστροφή adcValue? } public int ConvertToInt ([ReadOnlyArray] byte data) {int result = 0; αποτέλεσμα = δεδομένα [1] & 0x03; αποτέλεσμα << = 8; αποτέλεσμα += δεδομένα [2]; αποτέλεσμα επιστροφής? }

Βήμα 5: ΠΡΟΕΤΟΙΜΑΣΙΑ API

Το API είναι έτοιμο για πλατφόρμα NodeJS (https://nodejs.org), για χρήση ή για Swagger (https://swagger.io/specification/) και για την τεκμηρίωση και την τεκμηρίωση χρησιμοποίησης και ενσωμάτωσης του trabalho.

Για χρήση από τον πάροχο MySQL, banco de dados relacional και ανοιχτού κώδικα.

Ελέγξτε την αρχιτεκτονική σας για τη σύνταξη ενός API.

/Api: Camada que gerencia os recursos disponibilizados para que terceiros possam acessar.

Ap /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.

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

○ /αποθετήριο: Camada de persistência de dados.

● /υποδομή: Cama de configuração das strings de conexão do banco de dados e também do servidor que será providerado pela própria aplicação.

Για πληροφορίες και συμβουλές για τη σύνδεση με το github:

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

Método: POST

URI:/api/v1/umidades

Περιγραφή: Recurso utilisado para registar umidade coletada pelo sensor de umidade.

Exemplo de Requisição:

{

"Ανδρεία": 355}

Método: GET

URI:/api/v1/umidades

Περιγραφή: Recurso que recupera todos os registros de valores de umidade que foram salvos anteriormente.

Επανάληψη απάντησης:

[{"Id": 1, "valor": 355, "dataCadastro": εεεε-ΜΜ-ηη ΗΗ: ΜΜ}]

Método: POST

URI:/api/v1/irrigacoes

Περιγραφή: Recurso utilizado para ativar o dispositivo de irrigação.

Método: GET

URI:/api/v1/irrigacoes

Περιγραφή: Recurso utilizado para verificar o estado de umidade atual do solo.

Επανάληψη απάντησης:

{

"Ανδρεία": 355}

Βήμα 6: APP MOBILE

APP MOBILE
APP MOBILE
APP MOBILE
APP MOBILE

Escolhemos uma tecnologia híbrida para gerar um código reutilizável para todas as plataformas (Android και IOS) για τα εργαλεία και τις δυνατότητες χρήσης και μείωσης των προγραμμάτων. O Ionic é um um que poss poss poss poss poss poss poss poss poss Χρησιμοποιήστε το γλωσσικό ιστό (HTML, CSS και Javascript) για μια έγκυρη πρόσβαση σε γωνιακό περιεχόμενο ή πυρήνα. Através do cordova (biblioteca javascript) os recursos do dispositivos são acessados pelo webview do mesmo.

Εφαρμογή που συνίσταται στην πραγματοποίηση των απαιτήσεων για ένα API για το σύστημα και την παροχή πληροφοριών για τις πληροφορίες που αφορούν το umidade do solo e regar ή mesmo remotamente. Através de um evento de botão uma requisição é enviada para o servidor e a açãorespondente é realizada.

Συνδέσεις:

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

O código fonte do aplicativo modelo encontra-se no GitHub, no endereço

Εφαρμογή παραμέτρων για τη ρύθμιση παραμέτρων του API χωρίς διακομιστή arquivo. Δεν είναι δυνατή η εγκατάσταση του διακομιστή σας. Δεν είναι δυνατή η ρύθμιση /src/entity/server.ts(https://github.com/jeordanecarlosbatista/temperat…) και αλλαγής URI_PREFIX, conforme exemplo abaixo para o endereço onde está hospedada a API:

διακομιστής κλάσης εξαγωγής {

δημόσιο στατικό μόνο για ανάγνωση URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; /* public static readonly URI_PREFIX: string = "https://dominio.com/aplicacao/"; */}

Βήμα 7: ΦΛΟΥΞΟΓΡΑΜΜΑ

ΦΛΟΥΞΟΓΡΑΜΜΑ
ΦΛΟΥΞΟΓΡΑΜΜΑ

Βήμα 8: ΑΝΑΦΟΡΑ

Οδηγίες χρήσης:

Qualcomm DragonBoard 410C:

Windows 10 και DragonBoard ™ 410c-το τέλειο ξεκίνημα για ανάπτυξη IoT:

Monitore sua planta usando Arduino:

Συνιστάται: