Daftar Isi:
- Langkah 1: KOMPONEN - DRAGONBOARD
- Langkah 2: KOMPONEN - DASAR LINKER
- Langkah 3: KOMPONEN - SENSOR
- Langkah 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
- Langkah 5: PERSIAPKAN API
- Langkah 6: APLIKASI SELULER
- Langkah 7: FLUXOGRAM
- Langkah 8: REFERENSI NCIAS
Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAISCurso: Especialização em Arquitetura de Software Distribuído
Data: 2017-10-26
Unidade: Praça da Liberdade
Disiplin: 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])
PENGANTAR
Bagaimana jadinya jika kita bisa menyirami tanaman kita kapan saja, di mana saja? Dengan Proyek WaterPlant itu akan mungkin. Proyek ini dikembangkan dengan tujuan untuk meningkatkan kenyamanan dan kepraktisan untuk memperlakukan ini menjadi sangat penting bagi planet ini.
PENDAHULUAN
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.
FUNGSI
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 informaes 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 o usuário informado da situação do solo. Gunakan aplikasi ini untuk meminta bantuan dan informasi lebih lanjut untuk melakukannya sendiri, informasi yang diperlukan untuk membuat API untuk berkomunikasi dengannya.
Langkah 1: KOMPONEN - DRAGONBOARD
Papan Naga 410C
A DragonBoard 410C é a primeira placa de desenvolvimento baseada tidak ada prosesor da série Qualcomm Snapdragon 400, contando com conexões Wifi, Bluetooth dan GPS em uma placa do tamanho aproximado de um cartão de crédito, e é caracterizada pelo alto desempenho lakukan proses Qualcomm rodando 1.2GHz, dengan memori 1GB DDR3 533 MHz dan memori memori 8GB (eMMC).
Sebelum: R$500 ~ R$750
Langkah 2: KOMPONEN - DASAR LINKER
Placa de expansão para mapeamento e utilização de portas, facilitando a utilização de sensores.
Langkah 3: KOMPONEN - 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. Dapatkan akses ke água, resistncia 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.
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.
Sebelum: R$6 ~ R$20.
Langkah 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
Aplikasi untuk para rodar na Dragonboard 410c foi feita utilizando o Windows 10 IoT Core.
O Windows 10 IoT Core dan seterusnya. Com ele é possível desenvolver untuk 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):
- Komunitas Visual Studio 2017 lebih baik dari versi sebelumnya(https://www.visualstudio.com/thank-you-downloading…);
- Alat Pembaruan DragonBoard;
- Dasbor Inti IoT Windows 10;
- DragonBoard Windows 10 Gambar Inti IoT;
- Templat proyek Windows IoT;
Proseso selesai untuk instalasi dan konfigurasi pode ser encontrado no seguinte link:https://developer.microsoft.com/en-us/windows/iot/…
Lakukan instalasi dan konfigurasi untuk tutorial dan aplikasi Microsoft untuk memulai tanpa Visual Studio lakukan tipo Aplikasi Latar Belakang.
Para este tutorial vamos disponibilizar o código finalizado da aplicação através do GitHub em
Untuk melakukan aplicativo está no arquivo StartupTask.cs dan raiz lakukan projeto, dan vamos explicar abaixo 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() inicializam variáveis para serem utilizadas na nossa aplikasi enquanto sebagai variáveis timer dan timer2 criam 2 timer para serem dieksekusi a cada quantidade de tempo, dan bersarang caso foram parametrizados 10 menit parametrizados. 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 configuraese do pino que ativa a válvula solenoide de água. Nesse contoh de código para a Dragonboard o código do pino foi o 36.
kekosongan pribadi InitGPIO()
{ var gpio = GpioController. GetDefault(); if (gpio == null){ pin = null; kembali; } pin = gpio. OpenPin(36); if (pin == null){ kembali; } pin. Tulis(GpioPinValue. Tinggi); pin. SetDriveMode(GpioPinDriveMode. Output); }
O método InitSPI() mengonfigurasi porta SPI0 da Dragonboard.
Tugas asinkron pribadi InitSPI()
{ coba { var settings = new SpiConnectionSettings(0); // Pilih porta SPI0 da pengaturan DragonBoard. Frekuensi Jam = 500000; // Konfigurasi jam lakukan pengaturan SPI dengan 0.5MHz. Mode = SpiMode. Mode0; // Konfigurasi polaridae e fase do clock do SPI var controller = menunggu SpiController. GetDefaultAsync(); SpiADC = controller. GetDevice(pengaturan); } catch (Exception ex){ throw new Exception("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 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 = "aplikasi/json"; httpWebRequest. Method = "DAPATKAN";
Neste trecho de código deve ser alterado para o endereço onde será hospedado o código da API untuk buscar o 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 é responável pelo envio dos dados da umidade lakukan solo naquele momento. tidak ada seguinte trecho de código deste método que deve ser configurado o endereço da API untuk envio dos dados:
var httpWebRequest = (HttpWebRequest)WebRequest. Create("https://serverless-study.appspot.com/api/v1/umidades");
httpWebRequest. ContentType = "aplikasi/json"; httpWebRequest. Method = "POSTING";
O método LerADC(byte canal) é o método responseável por ler do conversor analógico/digital os valores informados pelo sensor de umidade. Este adaptador informa um array de byte que é convertido em inteiro através do método ConvertToInt([ReadOnlyArray] byte data). Segue os trechos de codigo:
int publik LerADC (kanal byte)
{ byte readBuffer = byte baru[3]; byte writeBuffer = byte baru[3] { 0x00, 0x00, 0x00 }; writeBuffer[0] = 0x01; writeBuffer[1] = kanal; SpiADC. TransferFullDuplex(writeBuffer, readBuffer); adcValue = ConvertToInt(readBuffer); kembali adcValue; } public int ConvertToInt([ReadOnlyArray] byte data) { int hasil = 0; hasil = data[1] & 0x03; hasil <<= 8; hasil += data[2]; kembali hasil; }
Langkah 5: PERSIAPKAN 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 na integração do trabalho.
Untuk mempersenjatai diri dengan dos dados foi utilizado o banco de dados MySQL, banco de dados relacional dan open source.
Segue abaixo a arquitetura de camadas que compõem 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 configurao 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.
/repository: Camada de bertahanncia de dados.
● /infrastructure: 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.
Para mais informasi dan konsultasi ao código fonte acesso o link lakukan github:
Segue abaixo uma breve descrição de cada recurso disponibilizados na API:
Metodo: POST
URI: /api/v1/umidades
Deskripsi: Recurso utilizado untuk mendaftar umidade coletada pelo sensor de umidade.
Contoh persyaratan:
{
"keberanian": 355 }
Metodo: DAPATKAN
URI: /api/v1/umidades
Deskripsi: Recurso que recupera todos os registros de valores de umidade que foram salvos anteriormente.
Contoh tanggapan:
[{ “id”: 1, “valor”: 355, “dataCadastro”: yyyy-MM-dd HH:MM }]
Metodo: POST
URI: /api/v1/irrigacoes
Deskripsi: Recurso utilizado para ativar o dispositivo de irrigação.
Metodo: DAPATKAN
URI: /api/v1/irrigacoes
Deskripsi: Recurso utilizado para verificar o estado de umidade sebenarnya melakukan solo.
Contoh tanggapan:
{
"keberanian": 355 }
Langkah 6: APLIKASI SELULER
Escolhemos uma tecnologia híbrida para gerar um código reutilizável para todas as plataformas (Android e IOS) untuk aumentar a abrangência de usuários dan diminuir o custo do projeto. O Ionic é um framework que possui uma gigantesca biblioteca de componentes gráficos que facilita a implementao visual do aplicativo. Ele utiliza de linguagens web (HTML, CSS dan Javascript) para a criação das telas e tem o Angular como o seu núcleo (inti). Através do cordova (biblioteca javascript) dan recursos do dispositivos são acessados pelo webview do mesmo.
Aplikasi yang konsisten dibutuhkan algum yang realistis untuk API melakukan sistem informasi yang akurat dan menyeluruh. Através de um evento de botão uma requisição é enviada para o servidor e a a a o koresponden é realizada.
Tautan:
- 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 o 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…) dan ubah variável URI_PREFIX, sesuai contoh abaixo para o endereço onde está hospedada a API:
kelas ekspor Server {
URI_PREFIX public static readonly: string = "https://serverless-study.appspot.com/api/v1/"; /* public static readonly URI_PREFIX: string = "https://dominio.com/aplicacao/"; */ }
Langkah 7: FLUXOGRAM
Langkah 8: REFERENSI NCIAS
Dapat diinstruksikan:
Qualcomm DragonBoard 410C:
Windows 10 dan DragonBoard™ 410c – Awal Sempurna untuk Pengembangan IoT:
Monitor sua planta usando Arduino:
Direkomendasikan:
Cara Install Raspbian OS di Raspberry Pi Menggunakan Software NOOBS dan Smartphone : 6 Langkah
Cara Install Raspbian OS di Raspberry Pi Menggunakan Software NOOBS dan Smartphone.: Halo Semuanya! hari ini dalam tutorial ini saya menunjukkan cara mudah menginstal OS Raspbian di Raspberry Pi menggunakan software NOOBS dan Smartphone
Tabung LED Batu Kaca (WiFi Dikendalikan Melalui Aplikasi Smartphone): 6 Langkah (dengan Gambar)
Glass Stone LED Tube (WiFi Dikendalikan Melalui Aplikasi Smartphone): Halo rekan pembuat! Dalam instruksi ini saya akan menunjukkan cara membuat tabung LED yang dikendalikan WiFi yang diisi dengan batu kaca untuk efek difusi yang bagus. LED dapat dialamatkan secara individual dan oleh karena itu beberapa efek bagus dimungkinkan di
Buatan sendiri -- Cara Membuat Robot Laba-laba Yang Dapat Dikendalikan Menggunakan Smartphone Menggunakan Arduino Uno: 6 Langkah
Buatan sendiri || Cara Membuat Robot Laba-laba Yang Dapat Dikendalikan Menggunakan Smartphone Menggunakan Arduino Uno: Saat membuat robot Laba-laba, seseorang dapat mempelajari banyak hal tentang robotika. Seperti membuat Robot itu Menghibur sekaligus menantang. Di video kali ini kami akan menunjukkan cara membuat robot Spider yang bisa kita operasikan menggunakan smartphone (Androi
Cara Membuat Mobil Terkendali Smartphone: 5 Langkah
Cara Membuat Mobil yang Dikendalikan Smartphone: Semua orang suka bermain dengan mobil jarak jauh yang dioperasikan dengan Smartphone. Video ini tentang cara membuatnya
Sistema De Irrigação Automático Para Plantas: 8 Langkah
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, reduz a falha concess, minimiza