Kazalo:
- 1. korak: KOMPONENTE - DRAGONBOARD
- 2. korak: KOMPONENTE - OSNOVA POVEZAVE
- 3. korak: SESTAVINE - SENZOR
- 4. korak: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
- 5. korak: PRIPRAVITE API
- 6. korak: APLIKACIJA MOBILNA
- 7. korak: FLUXOGRAMA
- 8. korak: REFERIKCIJE
Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAISKurso: Especialização em Arquitetura de Software Distribuído
Podatki: 26.10.2017
Unidade: Praça da Liberdade
Disciplina: Internet das Coisas
Profesor: 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])
UVOD
Kako bi bilo, če bi svoje rastline lahko zalivali kadarkoli in kjer koli? S projektom WaterPlant bo to mogoče. Ta projekt je bil razvit z namenom izboljšati udobje in praktičnost obravnavanja tega tako pomembnega za planet.
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 monitorramento 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 needidade de sua irrigação.
Placa envia informações para 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 o usuário informado 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.
1. korak: KOMPONENTE - DRAGONBOARD
DragonBoard 410C
DragonBoard 410C je prvotna platforma za desenvolvimento, ki nima procesorja za serijo Qualcomm Snapdragon 400, omogoča povezavo s povezavami Wi -Fi, Bluetooth in GPS, ki jih uporablja za tamanho, približno na karto de crédito, e é je značilna pelo alto desempenho do procesor Qualcomm deluje na 1,2 GHz, z 1 GB pomnilnika DDR3 533 MHz in 8 GB pomnilnika za armazenamento (eMMC).
Cena: 500 $ ~ 750 $
2. korak: KOMPONENTE - OSNOVA POVEZAVE
Placa de expansão para mapeamento e utilização de portas, facilitando a utilização de sensores.
3. korak: SESTAVINE - SENZOR
Sensor de Umidade do Solo
Este senzor utiis dois eletrodos para passar corrente pelo solo e lê o nível de umidade por comparação com a resistanceência do potenciômetro do módulo do sensor. Quando o solo estiver seco, a sua resistanceência aumenta, dificultando a paragraphm de corrente. Com a absorção da água, upor do solo diminui allowindo a paragraphm 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). 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.
Cena: od 6 do 20 evrov.
4. korak: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
Aplikacija, ki se uporablja za uporabo v sistemu Dragonboard 410c za uporabo v sistemu Windows 10 IoT Core.
V operacijskem sistemu Windows 10 IoT Core je na voljo plačilna oblika za desenvolvimento criada para facilitar in vida dos desenvolvedores na 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 (já em sequência de instalação, no caso de uso da Dragonboard):
- Skupnost Visual Studio 2017 ali qualquer outra versão (https://www.visualstudio.com/thank-you-downloading…);
- Orodje za posodobitev DragonBoard;
- Armaturna plošča sistema Windows 10 IoT Core;
- DragonBoard Windows 10 IoT Core Image;
- Predloge projektov Windows IoT;
O postopku dokončanja namestitve in konfiguracije pode ser encontrado brez seguinte povezave:
Namestite in namestite konfiguracijo v skladu z vadnico za Microsoft basta criar um novo projeto no Visual Studio do tipo Background Application.
V tem tutorialu vas vabimo, da razkrijete ali dokončate uporabo aplikacij za GitHub
Danes morate konfigurirati aplikacijo, ne da bi zagotovili StartupTask.cs na raiz do projeto, ali pa razložite, ali ste parte a parte do código.
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 () inicializem variáveis para serem utilizadas na nossa aplicação enquanto as variáveis timer e timer2 criam 2 timers para serem executedos a cada quantidade de tempo, e neste caso foram parametrizados 10 milis. Para alterar esse tempo basta mudar estes valores nessa parte do código.
O Método InitGPIO () seguir tem como função definir kot konfiguracijo 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.
zasebna praznina InitGPIO ()
{var gpio = GpioController. GetDefault (); if (gpio == null) {pin = null; vrnitev; } pin = gpio. OpenPin (36); if (pin == null) {return; } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }
V načinu InitSPI () nastavite porta SPI0 do Dragonboard.
zasebna asinhirna naloga InitSPI ()
{try {var settings = new SpiConnectionSettings (0); // Izbira a porta SPI0 za nastavitve DragonBoard. ClockFrequency = 500000; // Konfiguracija ure za barvno nastavitev SPI v nastavitvah 0,5 MHz. Mode = SpiMode. Mode0; // COnfigura polaridade e fase to clock to SPI var krmilnik = čakajo SpiController. GetDefaultAsync (); SpiADC = controller. GetDevice (nastavitve); } catch (Exception ex) {throw new Exception ("Falha na inicialização do SPI", ex); }}
O primeiro timer se prikliče o metodi Timer_Tick () que tem como função in verificação através da API se nahaja v comando para iniciar uma irrigaçã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 = "aplikacija/json"; httpWebRequest. Method = "DOBI";
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 irrigação. É neste trecho de código que a irrigação é encerrada também.
Parameter o segundo timer in invocado o metodi 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 = "aplikacija/json"; httpWebRequest. Method = "POST";
O metodi LerADC (bajtni kanal) ali o odzivni metodi, ki jo lahko izvedete med pogovorom o analognem/digitalnem os valores informados pelo sensor de umidade. Prilagodite informacijsko matriko iz bajtov, ki jo želite pretvoriti v intero através do método ConvertToInt ([ReadOnlyArray] bajt podatki). Segue os trechos de código:
javni int LerADC (bajtni kanal)
{byte readBuffer = nov bajt [3]; byte writeBuffer = nov bajt [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = kanal; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); vrni adcValue; } public int ConvertToInt ([ReadOnlyArray] bajt podatki) {int result = 0; rezultat = podatki [1] & 0x03; rezultat << = 8; rezultat += podatki [2]; povratni rezultat; }
5. korak: PRIPRAVITE API
API za desenvolvida na plataformi NodeJS (https://nodejs.org), za uporabo Swaggerja (https://swagger.io/specification/) in njegovega dokumentarnega programa za uporabo pri integraciji na trabalho.
Za armazenamento dos dados za uporabo ali banco de dados MySQL, banco de dados relational in open source.
Poiščite dodatek za uporabo, ki združuje API.
● /api: Camada que gerencia os recursos disponibilizados para que terceiros possam acessar.
○ /api /controller: Camada que gerencia kot rotas definidas no documento gerado pelo swagger.
○ /api /storitev: 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 contem o arquivo de configuração do swagger, onde estão toda as configurações dos recursos.
● /domena: Camada que contém toda codificação relacionada a regra de negócio da aplicação.
○ /repozitorij: Camada de persistência de dados.
● /infrastruktura: 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.
Če želite več informacij in e-poštnih obvestil o povezavi do github:
Segue abaixo uma breve Descriptionção de cada recurso disponibilizados in API:
Metoda: POST
URI:/api/v1/umidades
Opis: Recurso utilizado para registar umidade coletada pelo sensor de umidade.
Na primer: requizição:
{
"Hrabrost": 355}
Metoda: GET
URI:/api/v1/umidades
Opis: Recurso que recupera todos os registerros de valores de umidade que foram salvos anteriormente.
Primer odgovora:
[{“Id”: 1, “valor”: 355, “dataCadastro”: yyyy-MM-dd HH: MM}]
Metoda: POST
URI:/api/v1/irrigacoes
Opis: Recurso utilizado para ativar o dispositivo de irrigação.
Metoda: GET
URI:/api/v1/irrigacoes
Opis: Recurso utilizado para verificar o estado de umidade atual do solo.
Primer odgovora:
{
"Hrabrost": 355}
6. korak: APLIKACIJA MOBILNA
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 componentsntes gráficos que facilitation 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 (jedro). Através do cordova (biblioteca javascript) oscursos do dispositivos são acessados pelo webview do mesmo.
O aplikaciji sestavljajo realizirane algumas zahteve po API -ju za sistem in s tem, da se obterske informacije sobre in umidade do solo e regar o mesmo remotamente. Através de um evento de botão uma requisição é enviada para o servidor e a ação korespondente é realizada.
Povezave:
- https://ionicframework.com/
- https://angular.io/
- https://ionicframework.com/
O código fonte do aplicativo modelo encontra-se no GitHub, no endereço
Če želite uporabiti funkcionalno basta konfiguracijo o endereço za API brez strežnika arquivo.ts que encontra-se no diretório /src/entity/server.ts(https://github.com/jeordanecarlosbatista/temperat…) e spremenite različen URI_PREFIX, conforme exemplo abaixo para ali endereço onde está hospedada API:
strežnik izvoznega razreda {
javni statični samo za branje URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; /* javni statični samo za branje URI_PREFIX: string = "https://dominio.com/aplicacao/"; */}
7. korak: FLUXOGRAMA
8. korak: REFERIKCIJE
Navodila:
Qualcomm DragonBoard 410C:
Windows 10 in DragonBoard ™ 410c-popoln začetek razvoja IoT:
Monitore sua planta usando Arduino:
Priporočena:
Jukebox Casera Por: Tono Kiehnle: 5 korakov (s slikami)
Jukebox Casera Por: Tono Kiehnle: Jukebox hecha en casa programada z Arduino UNO. Contiene 3 canciones reproducidas por medio de un buzzer pasivo y cuenta con botones de pulso y una pantalla LCD para la interaracion con el usuario. La jukebox cuenta with 3 botones. 2 de ellos se uporabljata
Sistema De Irrigação Automático Para Plantas: 8 korakov
Sistema De Irrigação Automático Para Plantas: A irrigação é uma das tecnologias mais utilizadas por farmtores pois esta atividade Independe da ocorrência de chuvas, jamte uma safra uniforme, reduz a falha humana, minimiza o consumo de águas)
Pasos za namestitev operacijskega sistema Linux Sistema: 12 korakov
Pasos za namestitev operacijskega sistema Linux v sistemu Sistema: še posebej nepremagljivi predpisi in namestitev operacijskega sistema Linux
SmartPhone Simulator iger- igrajte igre Windows z uporabo IMU za upravljanje kretenj, merilnika pospeška, žiroskopa, magnetometra: 5 korakov
SmartPhone Game Simulator- igrajte igre Windows z uporabo gibov IMU, merilnika pospeška, žiroskopa, magnetometra: podprite ta projekt: https://www.paypal.me/vslcreations z donacijami za odprtokodne kode & podpora za nadaljnji razvoj
Spreminjanje sistema Windows Vista v videz sistema Windows XP: 7 korakov
Spreminjanje sistema Windows Vista v videz Windows XP: Zdaj uporabljam Windows 7, ki deluje enako dobro kot Xp. Od Vista sem prešel na Xp, ker je veliko hitrejši. Ta navodila vam bodo razložila postopek spreminjanja sistema Windows Vista in njegovo videz kot Windows XP. To zajema spreminjanje prijavnih