Sisällysluettelo:
- Vaihe 1: KOMPONENTIT - DRAGONBOARD
- Vaihe 2: KOMPONENTIT - LINKER BASE
- Vaihe 3: KOMPONENTIT - ANTURI
- Vaihe 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
- Vaihe 5: VALMISTA API
- Vaihe 6: APP MOBILE
- Vaihe 7: FLUXOGRAMA
- Vaihe 8: VIITTEET
Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Kurssi: Especialização em Arquitetura de Software Distribuído
Tiedot: 26.10.2017
Unidade: Praça da Liberdade
Kurinalaisuus: Internet das Coisas
Professori: Ilo Rivero
Alunot: Bruno Valgas ([email protected])
Dellan Hoffman P. Silva ([email protected])
Hebert Alves Ferreira ([email protected])
Jean Carlos Batista ([email protected])
Jeordane Batista ([email protected])
JOHDANTO
Millaista olisi, jos voisimme kastaa kasvejamme milloin tahansa ja missä tahansa? WaterPlant -projektin avulla se on mahdollista. Tämä projekti on kehitetty parantamaan mukavuutta ja käytännöllisyyttä käsitellä tätä niin tärkeänä planeetalle.
INTRODUÇÃO
Como seria se pudéssemos aguar nossas plantas a qualquer hora e de qualquer lugar? Com o Projeto WaterPlant -sarja. Este projeto foi desenvolvido visando melhorar a comodidade e a praraticidade para tratar deste ser tão importante para o planeta.
FUNCIONAMENTO
O projeto foi desenvolvido para monitoramento de jardins, onde ja 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 ja possível avaliar a needidade de sua irrigação.
A placa envia informações para a API, armazenada na nuvem, que por sua vez é acessada pelo aplicativo mobile, que recebe e trata tais informações. Desta forma a aplicação mantem or usuário informado da situção do solo. O usuário em contato com a aplicação poderá solicitar or 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.
Vaihe 1: KOMPONENTIT - DRAGONBOARD
DragonBoard 410C
A DragonBoard 410C on Qualcomm Snapdragon 400 -prosessoripohjainen prosessori, jossa on prosessori, jossa on Wifi, Bluetooth ja GPS, kuten paikkaan, jossa on tamanho, ja se on lueteltu kartalla, ja se on luonteenomaista. Qualcomm -standardi 1,2 GHz, 1 Gt muistia DDR3 533 MHz ja 8 Gt muistia muistista (eMMC).
Hinta: R $ 500 ~ R $ 750
Vaihe 2: KOMPONENTIT - LINKER BASE
Placa de expansão para mapeamento e utilização de portas, facilitando a utilização de sensores.
Vaihe 3: KOMPONENTIT - ANTURI
Umidade do Solo -anturi
Este -anturin käyttö on sallittua, ja se voidaan lähettää passi- ja e -anturin avulla. Quando tai solo estiver seco, sua resistência aumenta, dificultando a passagem de corrente. Com absorção da água, a vastustuskyky yksinoikeudella pienikokoinen lupa ja pääsy korrelaatioon entre os eletrodos e fechando, desta forma, o circuit. Dessa forma podemos definir quando o solo está molhado, ou quando está seco.
Vaihtoehtoisesti voit käyttää digitaalista digitaalista (D0), anaalia (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 modeulo.
Hinta: 6–20 dollaria.
Vaihe 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
Sovelluksen kehittämisohjelma Dragonboard 410c -käyttöjärjestelmälle Windows 10 IoT Core -käyttöjärjestelmässä.
O Windows 10 IoT Core -ratkaisu, joka tarjoaa mahdollisuuden kehittää desenvolvimento criada -laitteita helpottamiseksi ja vida dos desvolvolvedores hora de programar seus dispositivos. Com ele é possível desenvolver para várias placas egzistentes 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 tai ququer outra versão (https://www.visualstudio.com/thank-you-downloading…);
- DragonBoard -päivitystyökalu;
- Windows 10 IoT Core Dashboard;
- DragonBoard Windows 10 IoT Core -kuva;
- Windowsin IoT -projektimallit;
Täydellinen prosessi asennukseen ja kokoonpanon määrittämiseen ilman salausta linkistä:
Asenna ja asenna kokoonpano tai opetusohjelma Microsoftin basta criar um novo -projeto ei Visual Studio do tipo Background Application.
Tässä on opetusohjelma vamos disponibilizar o código 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 código.
O métodon päällikkö 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)); }
Osamallit 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, e neste caso foram parametrizados 10 segmentti (10 miljoonaa dollaria). Para alterar esse tempo basta mudar estes valores nessa parte do código.
O Método InitGPIO () on sekoitus tem como função definir as configuraçõese do pino que ativa a válvula solenoide de água. Nessen esimerkki codigosta a Dragonboard tai código do pino foi o 36.
yksityinen mitätön InitGPIO ()
{var gpio = GpioController. GetDefault (); if (gpio == null) {pin = null; palata; } nasta = gpio. OpenPin (36); if (pin == null) {return; } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }
Aloita InitSPI () -konfiguroi SPI0 -portti Dragonboardille.
yksityinen asynkronointitehtävä InitSPI ()
{kokeile {var settings = new SpiConnectionSettings (0); // Valitse SPI0 -portti DragonBoardin asetuksista. ClockFrequency = 500000; // Määritä kello barramento SPI em 0.5MHz settings. Mode = SpiMode. Mode0; // COnfigura polaridade e fase do clock do SPI var controller = odota SpiController. GetDefaultAsync (); SpiADC = controller. GetDevice (asetukset); } saalis (poikkeus ex) {heittää uusi poikkeus ("Falha na inicialização do SPI", ex); }}
O primeiro timer billca o método Timer_Tick () que tem como função a verificação através da API se houve um comando para iniciar uma irrigação. Vai sekoitus trecho de código ja vastaus pelata chamada API:
var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/irrigacoes");
httpWebRequest. ContentType = "application/json"; httpWebRequest. Method = "SAA";
Neste trecho de código deve ser alterado para or endereço onde será hospedado o código da API para buscar or comando de irrigação. É neste trecho de código que a irrigação é encerrada também.
Parametrien ajastin ja laskuri Timer_Tick2 () que é responseável pelo envio dos dados da umidade do solo naquele moment. Ei mitään yhdistelmää trecho de código deste método que deve ser Configurado tai endereço da API para or envio dos dados:
var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/umidades");
httpWebRequest. ContentType = "application/json"; httpWebRequest. Method = "POST";
Voit käyttää LerADC (tavukanava) -metodivastausta tai vastausta, joka on saatavana ler do -muuntimella. Este adaptator information informa array de bytes que é convertido em inteiro através do metét ConvertToInt ([ReadOnlyArray] tavu data). Segue os trechos de código:
julkinen int LerADC (tavukanava)
{tavu lukuBuffer = uusi tavu [3]; tavu writeBuffer = uusi tavu [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = kanava; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); palauta adcValue; } public int ConvertToInt ([ReadOnlyArray] tavu data) {int tulos = 0; tulos = data [1] & 0x03; tulos << = 8; tulos += data [2]; palautustulos; }
Vaihe 5: VALMISTA API
Sovellusliittymä, joka tarjoaa NodeJS: n (https://nodejs.org), käyttöympäristön tai Swaggerin (https://swagger.io/specification/) ja moderaattorin sekä dokumentaarisen palautteen hyödyntämisen integraation avulla.
Paranna tietokonettasi, kun käytät MySQL: n, isäpankin ja avoimen lähdekoodin pankkien käyttöä.
Yhdistä sovellusliittymän avulla se, joka on arquitetura de camadas que compõem.
● /api: Camada que gerencia os recursos disponibilizados para que terceiros possam acessar.
○ /api /ohjain: 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). Pysy ajan tasalla konfiguraation määrittämisestä tai retornosta tai ocorrido durante -prosessista.
○ /api /swagger: Camada que contém o arquivo de configuração do swagger, on 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.
○ /arkisto: Camada de persência de dados.
● /infrastruktuuri: 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.
Katso lisätietoja ja konsultointi ao código fonte acesso tai linkki githubiin:
Segue abaixo uma breve descrição de cada recurso disponibilizados API:
Metodi: POST
URI:/api/v1/umidades
Kuvaus: Recurso utilizado para registar umidade coletada pelo sensor de umidade.
Esimerkki vaatimuksista:
{
"Rohkeus": 355}
Metodi: HANKI
URI:/api/v1/umidades
Kuvaus: Recurso que recupera todos os registros de valores de umidade que foram salvos anteriormente.
Esimerkki vastauksesta:
[{"Id": 1, "valor": 355, "dataCadastro": yyyy-MM-dd HH: MM}]
Metodi: POST
URI:/api/v1/irrigacoes
Kuvaus: Recurso utilizado para ativar o dispositivo de irrigação.
Metodi: HANKI
URI:/api/v1/irrigacoes
Kuvaus: Recurso utilizado para verificar or estado de umidade atual do solo.
Esimerkki vastauksesta:
{
"Rohkeus": 355}
Vaihe 6: APP MOBILE
Escolhemos uma tecnologia híbrida para gerar um código reutilizável para todas as plataformas (Android ja IOS) para aumentar and abrangência de usuários and diminuir o custo do projeto. O Ionic é um Framework que possui uma gigantesca biblioteca de komponentes gráficos que helpita and implementação visual do aplicativo. Käytetään kielten web -sivustoa (HTML, CSS ja Javascript), joka on saatavana englanninkielisenä (ydin). Através do cordova (biblioteca javascript) os recursos do dispositivos são acessados pelo webview do mesmo.
O aplicativo consiste em realizar algumas Requireções para a API do system a fim de se obter informationções sobre a umidade do solo e regar o mesmo remotamente. Através de um evento de botão uma requisição é enviada para or servidor e a açãorespondente é realizada.
Linkit:
- 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 tai aplicativo funcione basta configurar or endereço da da API no arquivo server.ts que encontra-se no directtório /src/entity/server.ts(https://github.com/jeordanecarlosbatista/temperat…) e alterar a vaihtelevel URI_PREFIX, vahvista esimerkki abaixo para tai endereço on está hospedada a API:
vientiluokka Palvelin {
public static readonly URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; /* julkinen staattinen vain luku vain URI_PREFIX: string = "https://dominio.com/aplicacao/"; */}
Vaihe 7: FLUXOGRAMA
Vaihe 8: VIITTEET
Ohjeet:
Qualcomm DragonBoard 410C:
Windows 10 ja DragonBoard ™ 410c-täydellinen alku IoT-kehitykselle:
Monitore sua planta usando Arduino:
Suositeltava:
Järjestelmä De Irrigação Automático Para Plantas: 8 vaihetta
Irrigação Automático Para Plantas: A irrigação é uma das tecnologias mais utilizadas por lauksaimrores pois esta atividade Independe da daccrência de chuvas, garante uma safra uniforme, reduz a falha humana, minimiza o consumo de água (utilizando os apen minim)
Bluetooth Smartphone -ohjattu Smart LED-lamppu: 7 vaihetta
Bluetooth-älypuhelimella ohjattu älykäs LED-lamppu: Haaveilen aina valaistuslaitteiden ohjaamisesta. Sitten joku teki uskomattoman värikkäitä LED -lamppuja. Tapasin äskettäin Youtubessa Joseph Cashan LED -lampun. Siitä inspiroituneena päätin lisätä useita toimintoja pitäen samalla
Sam - NFC Smartphone Automation Mate: 6 vaihetta
Sam - NFC Smartphone Automation Mate: Johdanto: Sam - NFC Smartphone Automation MateEsipuhe: Tämä on ryhmäprojekti Lance Panin ja Zeynep Kirmiziyesilin välillä Emily Carrin taideyliopistossa & Suunnittelu älykkäille esineille. Tämä projekti tutkii lähikommunikaatiota (NFC), joka
Arduino Smartphone Coms/Sarjamonitori Bluetoothin kautta HC-05, HC-06: 4 vaihetta (kuvien kanssa)
Arduino Smartphone Coms/Sarjamonitori Bluetoothin kautta HC-05, HC-06: Tämä on uskomattoman hyödyllistä, jos haluat testata luonnostasi todellisessa ympäristössä, kaukana tietokoneesta. Tuloksena on, että älypuhelimesi toimii samalla tavalla kuin tietokoneesi Arduino -sarjamonitori. HC-05- ja HC-06-Bluetooth-moduulit ovat saatavilla
SmartPhone Game Simulator- Pelaa Windows-pelejä eleohjauksella IMU, kiihtyvyysmittari, gyroskooppi, magnetometri: 5 vaihetta
SmartPhone-pelisimulaattori- Pelaa Windows-pelejä eleohjauksella IMU, kiihtyvyysmittari, gyroskooppi, magnetometri: Tue tätä projektia: https://www.paypal.me/vslcreations lahjoittamalla avoimen lähdekoodin & tukea jatkokehitykselle