INHOUDSOPGAWE:
- Stap 1: KOMPONENTE - DRAGONBOARD
- Stap 2: KOMPONENTE - LINKER BASE
- Stap 3: KOMPONENTE - SENSOR
- Stap 4: DESENVOLVIMENTO COM WINDOWS 10 IOT KERN
- Stap 5: VOORBEREID 'n API
- Stap 6: APP MOBILE
- Stap 7: FLUXOGRAMA
- Stap 8: VERWYSINGS
Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS Kursus: Especialização em Arquitetura de Software Distribuído
Data: 2017-10-26
Unidade: Praça da Liberdade
Disciplina: Internet das Coisas
Professor: 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])
INLEIDING
Hoe sou dit wees as ons ons plante altyd en oral kan natmaak? Met die WaterPlant -projek sal dit moontlik wees. Hierdie projek is ontwikkel wat daarop gemik is om die gemak en prakties te verbeter om dit so belangrik vir die planeet te behandel.
INTRODUÇÃO
Is dit 'n goeie idee om 'n goeie plant te kry? 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. Dit is moontlik om 'n enkele of 'n noodsaaklike oplossing vir u te ontvang.
'N Plaaslike inligting vir 'n API, 'n nuutste weergawe, wat vir ons 'n mobiele app kan verskaf, en dat ons inligting oor hierdie inligting kan ontvang. Ons kan hierdie inligting as 'n spesifieke manier gebruik. Ons kan ook 'n aansoek doen om 'n soliede taak, maar ook 'n gegewens vir ons as 'n API wat vir ons 'n kombinasie kan gee met 'n plek vir 'n aktiewe beskikking van die irrigação.
Stap 1: KOMPONENTE - DRAGONBOARD
DragonBoard 410C
A DragonBoard 410C is 'n uitstekende plek om 'n volledige verwerking van Qualcomm Snapdragon 400, WiFi, Bluetooth en GPS te verwerk Qualcomm kan op 1,2 GHz kom, met 1 GB geheue DDR3 533 MHz en 8 GB geheue geheue (eMMC).
Prys: R $ 500 ~ R $ 750
Stap 2: KOMPONENTE - LINKER BASE
Placa de expansão para mapeamento e utilização de portas, facilitando and utilização de sensores.
Stap 3: KOMPONENTE - SENSOR
Sensor de Umidade do Solo
Este sensor utilize dois eletrodos para passar corrente pelo solo and 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. As a absorção da água, a resistência do solo diminui permitindo a passagem de corrente entre os eletrodos e fechando, desta forma, o circuito. Hierdie forma podemos definir quando o solo está molhado, ou quando está seco.
Ons kan ook digitaal (D0), analoog analoog (A0) gebruik. Dit is 'n digitale aanpassing om 'n goeie tyd vir ons te gee.
Prys: R $ 6 ~ R $ 20.
Stap 4: DESENVOLVIMENTO COM WINDOWS 10 IOT KERN
Aplicação desenvolvida for Dragonar 410c vir Windows 10 IoT Core.
O Windows 10 IoT Core bied 'n groot aantal funksionele en funksionele funksies. Com ele é possível desenvolver para várias placas existentes no mercado, bastando ter installation no computador os seguintes itens (já em sequência de instalação, no caso de uso da Dragonboard):
- Visual Studio 2017-gemeenskap kan outra versão (https://www.visualstudio.com/thank-you-downloading…);
- DragonBoard -opdateringshulpmiddel;
- Windows 10 IoT Core -dashboard;
- DragonBoard Windows 10 IoT Core Image;
- Windows IoT -projeksjablone;
Vir die voltooiing van die installasie en konfigurasie kan u 'n enkele skakel nie:
Ons kan 'n installeer en installeer volgens die tutoriaal van Microsoft om 'n nuwe program vir Visual Studio vir die agtergrondtoepassing te gebruik.
Vir meer inligting oor hoe u die GitHub-funksie kan voltooi, U kan ook 'n konfigurasie gebruik om die opstarttaak.cs te ontleed, en ons kan dit ook as deel van 'n artikel beskryf.
O método principal da aplicação é o Run () en seu código é o seguinte:
openbaar leegloop (IBackgroundTaskInstance taskInstance)
{InitGPIO (); InitSPI (); _deferral = taskInstance. GetDeferral (); timer = ThreadPoolTimer. CreatePeriodicTimer (Timer_Tick, TimeSpan. FromMilliseconds (10000)); timer2 = ThreadPoolTimer. CreatePeriodicTimer (Timer_Tick2, TimeSpan. FromMilliseconds (10000)); }
Ons kan InitGPIO () en InitSPI () in amptelike variëteite vir seremse gebruike gebruik om meer as 'n tydsverloop te gebruik as timer 2 timer 2 kry 2 tydopnames vir seremiese uitvoerings en tempo's, en volgende gevalle vir parametrizados 10 segmente. Para alterar esse tempo basta mudar estes valores nessa parte do código.
O Método InitGPIO () kan 'n spesifieke funksie definieer as die konfigurasie wat ons kan doen om 'n volledige solenoïde op te stel. Dit is byvoorbeeld 'n voorbeeld van 'n draakbord of 36.
privaat leemte InitGPIO ()
{var gpio = GpioController. GetDefault (); as (gpio == null) {pin = null; terugkeer; } pin = gpio. OpenPin (36); as (pin == null) {return; } pen. Skryf (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }
Die oorspronklike SPI () -konfigurasie vir SPI0 van Dragonboard.
privaat asynchronisasie taak InitSPI ()
{probeer {var settings = nuwe SpiConnectionSettings (0); // Kies 'n SPI0 -opsie vir DragonBoard -instellings. ClockFrequency = 500000; // Konfigureer die klok met SPR met 0.5MHz -instellings. Mode = SpiMode. Mode0; // COnfigura polaridade e fase do clock to SPI var controller = wag SpiController. GetDefaultAsync (); SpiADC = kontroleerder. GetDevice (instellings); } catch (Exception ex) {gooi nuwe Exception ("Falha na inicialização do SPI", ex); }}
O Timer_Tick () kan die oorspronklike timer van die funksie en die API -funksie verifieer. Ons kan die antwoord op die antwoorde op API:
var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/irrigacoes");
httpWebRequest. ContentType = "toepassing/json"; httpWebRequest. Method = "KRY";
Ons kan die alternatiewe funksie van ons diens in ons hospitaal of die API vir 'n bus of die bestuur van die bus bestuur. Een van die belangrikste dinge wat ons kan doen, is 'n encerrada também.
Vir 'n tydopname of 'n invokado of 'n tydopname van Timer_Tick2 () kan ons 'n enkele antwoord op die oomblik gee. Dit is nie 'n spesifieke manier waarop ons die konfigurasie of die API kan gebruik nie:
var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/umidades");
httpWebRequest. ContentType = "toepassing/json"; httpWebRequest. Method = "POST";
O método LerADC (byte canal) é o método responsável por ler do conversor analógico/digital us valores informados pelo sensor de umidade. Die belangrikste inligting vir die omskakeling van bytes wat omskakel kan word na 'n volledige omskakeling van ConvertToInt ([ReadOnlyArray] byte -data). Ons kan die volgende wysig:
publieke int LerADC (byte kanaal)
{byte readBuffer = nuwe byte [3]; byte writeBuffer = nuwe byte [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = kanaal; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); gee adcValue terug; } public int ConvertToInt ([ReadOnlyArray] byte data) {int resultaat = 0; resultaat = data [1] & 0x03; resultaat << = 8; resultaat += data [2]; terugkeer resultaat; }
Stap 5: VOORBEREID 'n API
API vir die vorming van NodeJS (https://nodejs.org), vir die gebruik van Swagger (https://swagger.io/specification/) en die model en dokumentasie wat ons kan gebruik om integraal te gebruik.
Para armazenamento dos dados foi utilize of banco de dados MySQL, banco de dados relacional en open source.
Ons kan 'n API gebruik.
● /api: Dit is moontlik om dit vir ons moontlik te maak.
○ /api /kontroleerder: Dit is 'n funksie wat ons nie kan dokumenteer nie.
○ /api /service: Camada que entrega os dados de entrada para serem tratados, depois escritos ou lidos pela camada de BO (descrita mais à diante). Ons kan dit nie eers vir 'n keer registreer nie.
○ /api /swagger: Die konfigurasie kan verander word, maar dit kan ook as konfigurasies vir herhaling gebruik word.
● /domein: Dit kan 'n volledige herkenning van 'n nuwe registrasie gee.
○ /bewaarplek: Camada de persistência de dados.
● /infrastruktuur: 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.
Vir meer inligting en raadpleging van 'n skakel na github:
Ons bied 'n volledige beskrywing van die beskikbare weergawe van API's:
Método: POST
URI:/api/v1/umidades
Beskrywing: Recurso utilizado for registar umidade coletada pelo sensor de umidade.
Voorbeeld van die vereiste:
{
“Dapperheid”: 355}
Método: KRY
URI:/api/v1/umidades
Beskrywing: Recurso que recupera todos os registros de valores de umidade que foram salvos anteriormente.
Voorbeeld van reaksie:
[{"Id": 1, "dapperheid": 355, "dataCadastro": jjjj-MM-dd HH: MM}]
Método: POST
URI:/api/v1/irrigacoes
Beskrywing: Recurso utilizado para ativar o dispositivo de irrigação.
Método: KRY
URI:/api/v1/irrigacoes
Beskrywing: Recurso utilizado para verificar o estado de umidade atual do solo.
Voorbeeld van reaksie:
{
“Dapperheid”: 355}
Stap 6: APP MOBILE
Escolhemos uma tecnologia híbrida para gerar um código reutilizável fora as plataformas (Android e IOS) para aumentar and abrangência de usuários and diminuir or custo do projeto. O Ionic é um framework que possui uma gigantesca biblioteca de componentes gráficos que facilita 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 (core). Aansoeke vir kordaat (biblioteca javascript) is 'n manier om 'n volledige weergawe van die webweergawe te doen.
Aplicativo consiste em realizar algumas requisições para a API do sistema and fim de se obter information about a umidade do solo and regar of mesmo remotamente. Através de um evento de botão uma requisição é enviada para o servidor e a ação correspondente é realizada.
Skakels:
- https://ionicframework.com/
- https://angular.io/
- https://ionicframework.com/
U kan ook 'n model gebruik vir GitHub, nie na
As 'n funksionele funksie vir die konfigurasie van 'n API sonder 'n arquivo-bediener, kan ons geen direkte /src/entity/server.ts(https://github.com/jeordanecarlosbatista/temperat…) e-pos verander nie konformeer 'n voorbeeld van 'n endereço onde está hospedada van 'n API:
uitvoer klas bediener {
openbare staties slegs URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; /* openbare staties slegs URI_PREFIX: string = "https://dominio.com/aplicacao/"; */}
Stap 7: FLUXOGRAMA
Stap 8: VERWYSINGS
Instruksies:
Qualcomm DragonBoard 410C:
Windows 10 en DragonBoard ™ 410c-die perfekte begin vir IoT-ontwikkeling:
Monitore sua planta usando Arduino:
Aanbeveel:
Verander Een Ongebruikte Smartphone in Een Slim Display: 6 stappe (met foto's)
Verander Een Ongebruikte Smartphone in Een Slim Display: Hierdie tutoriaal is in Nederlands, sien hier vir die Engelse weergawe.Heb jij een (oude) ongebruikte smartphone? Maak 'n skraal skerm met Google Spreadsheets en wat pen en papier vir hierdie eenvoudige handleiding om volgen te kry
Sistema De Irrigação Automático Para Plantas: 8 stappe
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, reduce a falha humana, minimiza o consumo de água (utilizando a)
Bluetooth Smartphone-beheerde Smart LED-lamp: 7 stappe
Bluetooth Smartphone-beheerde Smart LED-lamp: ek droom altyd daarvan om my beligtingstoestelle te beheer. Toe maak iemand 'n ongelooflike kleurvolle LED -lamp. Ek het onlangs op Youtube op 'n LED -lamp van Joseph Casha afgekom. Toe ek daardeur geïnspireer is, het ek besluit om verskeie funksies by te voeg terwyl ek die funksie behou
Smartphone -beheerde oneindige klok: 5 stappe (met foto's)
Oneindige klok met 'n slimfoon: ek het baie projekte van Infinity Mirrors en Infinity Clocks op Instructables gesien, so ek het besluit om myne te maak. Dit is miskien nie baie anders as die ander nie … maar ek het dit self gedoen, so dit is! As u dit nog nie weet nie: Wat is 'n oneindigheid
SMARTPHONE CONTROLLED ROBOT GEBRUIK VAN BLE 4.0 !!!: 5 stappe
SMARTPHONE CONTROLLED ROBOT GEBRUIK VAN BLE 4.0 !!!: In die vorige instruksies het ek met u gedeel hoe u die Bluetooth -module (spesifiek HM10 BLE v4.0) met Arduino kan gebruik om LED's met 'n slimfoon te beheer. U kan dit hier kyk. In hierdie instruksies sal ek jou wys hoe om 'n robot te bou wat kan wees