Turinys:
- 1 žingsnis: KOMPONENTAI - DRAGONBOARD
- 2 žingsnis: KOMPONENTAI - LINKER BASE
- 3 žingsnis: KOMPONENTAI - JUTIKLIS
- 4 žingsnis: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
- 5 veiksmas: Paruoškite API
- 6 veiksmas: APP MOBILE
- 7 žingsnis: FLUXOGRAMA
- 8 žingsnis: Nuorodos
Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Kursas: Especialização em Arquitetura de Software Distribuído
Duomenys: 2017-10-26
Unidade: Praça da Liberdade
Disciplina: internetas das Coisas
Profesorius: Ilo Rivero
Alunos: Bruno Valgas ([email protected])
Dellanas Hoffmanas P. Silva ([email protected])
Hebertas Alvesas Ferreira ([email protected])
Jean Carlos Batista ([email protected])
Jeordane Batista ([email protected])
ĮVADAS
Kas būtų, jei bet kada ir bet kur galėtume laistyti augalus? Su „WaterPlant“projektu tai bus įmanoma. Šis projektas buvo sukurtas siekiant pagerinti patogumą ir praktiškumą, kad tai būtų taip svarbu planetai.
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, por meio de parâmetros da umidade do solo é possível avaliar a needidade de sua irrigação.
A placa envia informationções para a API, armazenada na nuvem, que por sua vez é acessada pelo aplicativo mobile, que recebe e trata tais information. Desta forma a aplicação mantem o 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 informationção é enviada para a API que por sua vez se comunica com a placa para acionamento do dispositivo de irrigação.
1 žingsnis: KOMPONENTAI - DRAGONBOARD
„DragonBoard 410C“
„DragonBoard 410C“yra pagrindinis „Qualcomm Snapdragon 400“procesoriaus procesorius, belaidis „Wi -Fi“, „Bluetooth“ir GPS, kad būtų galima atlikti tamanho aproximado de cart kartą, o taip pat ir charakteristikos. „Qualcomm“1,2 GHz dažnis, 1 GB atminties DDR3 533 MHz ir 8 GB atminties atminties (eMMC).
Kaina: 500–750 USD
2 žingsnis: KOMPONENTAI - LINKER BASE
Mapeamento plotas ir naudojimosi portais, palengvinti ir panaudoti sensores.
3 žingsnis: KOMPONENTAI - JUTIKLIS
„Umidade do Solo“jutiklis
Este jutiklio panaudojimas gali būti naudojamas tik pasienyje, o ne oro drėgnumas, lyginant su palyginamuoju komentu ir atsparumo potencialo metodu. Quando o solo estiver seco, aaa resistência aumenta, dificultando a passagem de corrente. Com absorção da água, a resistência do solo diminui allowindo a passagem de corrente entre os eletrodos e fechando, desta forma, o circuit. Dessa forma podemos definir quando o solo está molhado, ou quando está seco.
O metodo 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 modeulo.
Kaina: 6–20 USD.
4 žingsnis: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
„Dragonboard 410c“programos, skirtos naudoti „Windows 10 IoT Core“, programa.
O „Windows 10 IoT Core“yra platforma, padedanti plėtoti krizę, padedanti palengvinti vida dos desvolvolvedores ir hora de programar seus dispositivos. Com ele é possível desenvolver para várias placas egzistuoja be prekybos, bastando ter instalado no computador os seguintes itens (ja em sequência de instalação, no caso de uso da Dragonboard):
- „Visual Studio 2017 Community“arba „outra versão“(https://www.visualstudio.com/thank-you-downloading…);
- „DragonBoard“atnaujinimo įrankis;
- „Windows 10 IoT Core“prietaisų skydelis;
- „DragonBoard“„Windows 10 IoT Core Image“;
- „Windows IoT“projekto šablonai;
O užbaigtas procesas, skirtas įdiegti ir konfigūruoti kodą, esantį prieigos be nuorodos:
Įdiegti ir konfigūruoti konfigūraciją arba vadovėlį, skirtą „Microsoft Basta Criar“naujovėms, skirtoms „Visual Studio do tipo Background Application“.
Paruoškite mokomąją programą „Vamos Disponibilizar“arba „Código finalizado da aplicação através do do GitHub“https://developer.microsoft.com/en-us/windows/iot…
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étodo principas 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 varáveis para serem utilizadas na nossa aplicação enquanto as varáveis timer e timer2 criam 2 timers para serem executados a cada quantidade de tempo, e neste caso foram parametrizados 10 segmentai (10 milijardų). Para alterar esse tempo basta mudar estes valores nessa parte do código.
O Método InitGPIO () a mixir tem como função definir as configuraçõese do pino que ativa a válvula solenoide de água. Nesenas pavyzdys „Dragonboard“arba „codigo do pino foi“36.
privatus negaliojimas InitGPIO ()
{var gpio = GpioController. GetDefault (); if (gpio == null) {pin = null; grįžti; } smeigtukas = gpio. OpenPin (36); if (pin == null) {return; } PIN. Write (GpioPinValue. High); pin. SetDriveMode („GpioPinDriveMode. Output“); }
„InitSPI“() konfigūruokite „SPI0“prievadą „Dragonboard“.
privati asinchronizavimo užduotis InitSPI ()
{pabandykite {var settings = new SpiConnectionSettings (0); // Pasirinkimas ir SPI0 portalas „DragonBoard“nustatymuose. ClockFrequency = 500000; // Konfigūruokite laikrodį, kad nustatytumėte barramento SPI em 0.5MHz settings. Mode = SpiMode. Mode0; // COnfigura polaridade e fase do clock do SPI var controller = laukti SpiController. GetDefaultAsync (); SpiADC = valdiklis. GetDevice (nustatymai); } laimikis (išimtis ex) {išmesti naują išimtį ("Falha na inicialização do SPI", ex); }}
„O primeiro“laikmatis yra vadinamas „Timer_Tick“() tai yra sudėtinga funkcija ir tikrinamas API atvėrimas. Jei norite sekti trečiojo kodo atsakymus ir atsakyti į žaidimo API, 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 or comando de irrigação. É neste trecho de código que a irrigação é encerrada também.
Para arba segmentinis laikmatis, taip pat „Timer_Tick2“() atsakymas į pelės envio dos dados da umidade do solo naquele moment. Jokio mišinio trecho de código deste método que deve ser Configurado arba 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";
Naudokite „LerADC“metodą (baitų kanalas) ir atsakykite į pokalbį, kad gautumėte analitinį/skaitmeninį informacijos apie šviesą informatorių pelės jutiklį. Iš pradžių prisitaikykite prie informacijos apie masyvus, baitų, konvertuojančių ir konvertuojančių, konvertuojančių „ConvertToInt“([ReadOnlyArray] baitų duomenys). Segue os trechos de código:
public int LerADC (baitų kanalas)
{baitas skaitytiBufferis = naujas baitas [3]; baitas writeBuffer = naujas baitas [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = kanalas; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); return adcValue; } public int ConvertToInt ([ReadOnlyArray] baitų duomenys) {int rezultatas = 0; rezultatas = duomenys [1] & 0x03; rezultatas << = 8; rezultatas += duomenys [2]; grąžinimo rezultatas; }
5 veiksmas: Paruoškite API
API, skirta „NodeJS“(https://nodejs.org) platformai, „Swagger“naudojimui (https://swagger.io/specification/) ir modernaus dokumentacijos bei dokumentinio atkūrimo panaudojimo integracijai.
Jei norite naudoti „MySQL“, „dad's dados“naudojimui ar naudojimui „MySQL“, „banco de dados“ir atviro kodo bankui.
Sukurkite API ir sukurkite tam tikrą kamados arkados struktūrą.
● /api: Camada que gerencia os recursos disponibilizados para que terceiros possam acessar.
○ /api /valdiklis: „Camada que gerencia“, kaip apibrėžta, nėra dokumento 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). Išsami konfigūracijos konfigūracija arba retrospektyva, ocorrido durante arba procesas.
○ /api /swagger: Camada que contém o arquivo de configuração do swagger, onde estão toda as configurações dos recursos.
● /domenas: Camada que contém toda codificação relacionada a regra de negócio da aplicação.
○ /saugykla: „Camada de persência de dados“.
● /infrastruktūra: 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.
Norėdami gauti daugiau informacijos ir pasikonsultuoti, turite gauti nuorodą į „Github“:
Segue abaixo uma breve descrição de cada recurso disponibilizados with API:
Metodas: POST
URI:/api/v1/umidades
Aprašymas: Pakartotinis naudojimas registruojamiems drėgniems koleto pelės jutikliams.
Reikalavimų pavyzdys:
{
„Narsumas“: 355}
Metodas: GET
URI:/api/v1/umidades
Aprašymas: Recurso que recupera todos os registros de valores de umidade que foram salvos anteriormente.
Atsakymo pavyzdys:
[{„Id“: 1, „valor“: 355, „dataCadastro“: yyyy-MM-dd HH: MM}]
Metodas: POST
URI:/api/v1/irrigacoes
Aprašymas: Recurso utilizado para ativar o dispositivo de irrigação.
Metodas: GET
URI:/api/v1/irrigacoes
Aprašymas: Recurso utilizado para verificar o estado de umidade atual do solo.
Atsakymo pavyzdys:
{
„Narsumas“: 355}
6 veiksmas: APP MOBILE
Escolhemos uma tecnologia híbrida para gerar um código reutilizável para todas as plataformas („Android“ir „IOS“), skirtos naudoti ir naudoti, ir mažinti, ar keisti. O joninis karkasas, leidžiantis naudotis biblioteka, sudedamųjų dalių gráficos que lengvata ir įgyvendinimas vizualiai taikant. Naudokite kalbų žiniatinklį (HTML, CSS ir „Javascript“), skirtą kryžminiam tekstui ir temai „Angular como o seu núcleo“(branduolys). 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 o servidor e a açãorespondente é realizada.
Nuorodos:
- https://ionicframework.com/
- https://angular.io/
- https://ionicframework.com/
O kodo fonte do aplicativo modelio encontra-se no GitHub, no endereço
Para que o applicativo funcione basta configurar or endereço da API no arquivo server.ts que encontra-se no directtório /src/entity/server.ts(https://github.com/jeordanecarlosbatista/temperat…) ir kitoks URI_PREFIX, conforme examplelo abaixo para or endereço onde está hospedada a API:
eksporto klasės serveris {
viešas statinis tik skaitomas URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; /* viešas statinis tik skaitomas URI_PREFIX: string = "https://dominio.com/aplicacao/"; */}
7 žingsnis: FLUXOGRAMA
8 žingsnis: Nuorodos
Instrukcijos:
„Qualcomm DragonBoard 410C“:
„Windows 10“ir „DragonBoard ™ 410c“-puiki pradžia daiktų interneto plėtrai:
Montaras su planta usando Arduino:
Rekomenduojamas:
„Arduino“automobilių atbulinės eigos įspėjimo sistema - Žingsniai po žingsnio: 4 žingsniai
„Arduino“automobilių atbulinės eigos įspėjimo sistema | Žingsniai po žingsnio: Šiame projekte aš suprojektuosiu paprastą „Arduino“automobilio atbulinės eigos stovėjimo jutiklio grandinę, naudodamas „Arduino UNO“ir ultragarsinį jutiklį „HC-SR04“. Ši „Arduino“pagrįsta automobilio atbulinės eigos įspėjimo sistema gali būti naudojama autonominei navigacijai, robotų diapazonui ir kitiems diapazonams
Sistema De Irrigação Automático Para Plantas: 8 žingsniai
Sistema De Irrigação Automático Para Plantas: A irrigação é uma das tecnologias mais utilizadas por žemės ūkiuose pois esta atividade nepriklausoma da ocorrência de chuvas, garante uma safra uniforme, reduz a falha humana, minimaliza o consumo de água (utilizando os apena minim)
„Asistente Solar“: „Smartphone Modification“: 3 žingsniai
Asistente Solar: Un Smartphone Modification: Lo siento por mi siaubo espa & ol. Gracias por leer mi Instructables usted! Tel é fonos tienden a estar fuera de derecho de la bater í a cuando m á s los necesitan. Con este proyecto, se puede extender la vida de la bater & iacute
Spalvų rūšiavimo sistema: „Arduino“sistema su dviem diržais: 8 žingsniai
Spalvų rūšiavimo sistema: „Arduino“pagrindu sukurta sistema su dviem diržais: Produktai ir prekės pramonėje gabenami ir (arba) pakuojami naudojant linijas, pagamintas naudojant konvejerio juostas. Tie diržai padeda tam tikru greičiu perkelti daiktą iš vieno taško į kitą. Kai kurios apdorojimo ar identifikavimo užduotys gali būti
Kaip tinkamai prijungti ir nustatyti mini „HiFi“lentynų sistemą (garso sistemą): 8 žingsniai (su paveikslėliais)
Kaip tinkamai prijungti ir nustatyti mini „HiFi“lentynų sistemą (garso sistemą): esu žmogus, kuriam patinka mokytis apie elektros inžineriją. Aš esu vidurinė mokykla Ann Richards jaunų moterų lyderių mokykloje. Padedu tai pamokyti, kad padėtų visiems, norintiems mėgautis muzika iš „Mini LG HiFi“lentynų sistemos