Мазмуну:

SISTEMA DE IRRIGAÇO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Кадам
SISTEMA DE IRRIGAÇO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Кадам

Video: SISTEMA DE IRRIGAÇO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Кадам

Video: SISTEMA DE IRRIGAÇO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Кадам
Video: Faça um Controle de Irrigação Inteligente com Arduino 2024, Ноябрь
Anonim
Image
Image
SISTEMA DE IRRIGAÇU AUTOMÁTICA CONTROLADA POR SMARTPHONE
SISTEMA DE IRRIGAÇU AUTOMÁTICA CONTROLADA POR SMARTPHONE
SISTEMA DE IRRIGAÇU AUTOMÁTICA CONTROLADA POR SMARTPHONE
SISTEMA DE IRRIGAÇU AUTOMÁTICA CONTROLADA POR SMARTPHONE

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAISCurso: Especialização em Arquitetura de Software Distribuído

Маалымат: 2017-10-26

Unidade: Praça da Liberdade

Сабактар: Coisas интернети

Профессор: Ило Риверо

Алунос: Бруно Валгас ([email protected])

Деллан Хоффман П. Силва ([email protected])

Эберт Альвес Феррейра ([email protected])

Жан Карлос Батиста ([email protected])

Джордан Батиста ([email protected])

КИРИШҮҮ

Биз өсүмдүктөрүбүздү каалаган убакта, каалаган жерде сугарсак кандай болмок? WaterPlant долбоору менен бул мүмкүн болот. Бул долбоор планета үчүн ушунчалык маанилүү болгон нерсени дарылоо үчүн ыңгайлуулукту жана практикалыкты жакшыртуу максатында иштелип чыккан.

INTRODUÇÃ

Como seria se pudéssemos aguar nossas plantas a ququer qua e de qualquer lugar? Comjet Projeto WaterPlant мүмкүнчүлүктөрү бар. Бул планетанын планетасы үчүн эң маанилүү долбоорлордун бири болуп саналат.

FUNCIONAMENTO

Жөнөкөй маалымат боюнча, бул жерде сиз өзүңүздүн жеке оюңузду оңдоп -түзөөңүз керек. Сенсордук ассортиментте, мен дагы параметро менен жалгыз иштей алам.

Маалыматты API'ге жайгаштыруу, жаңылоо, жаңыртуу, мобилдик байланыш, мобилдик жана мобилдик маалымат алмашуу. Колдонуу формасы жеке маалымат менен жабдылган. Колдонуу шарттары боюнча, сиз өзүңүздү өзүңүздүн жеке маалыматыңыз менен камсыздай аласыз, ал эми маалымат API үчүн эң маанилүү болуп саналат.

1 -кадам: КОМПОНЕНТТЕР - DRAGONBOARD

КОМПОНЕНТТЕР - DRAGONBOARD
КОМПОНЕНТТЕР - DRAGONBOARD

DragonBoard 410C

A DragonBoard 410C же процессор Qualcomm Snapdragon 400 процессинин жоктугунан, Wifi, Bluetooth жана GPS байланыш операторлорунун кароосунан баш тартууга мүмкүндүк берет, бул процесс дагы 64 процесске кирет. Qualcomm 1.2 ГГц, 1 ГБ DDR3 533 МГц жана 8 ГБ эс тутуму (eMMC).

Алдын ала: R $ 500 ~ R $ 750

2 -кадам: КОМПОНЕНТТЕР - LINKER BASE

КОМПОНЕНТТЕР - ЛИНКЕР БАЗАСЫ
КОМПОНЕНТТЕР - ЛИНКЕР БАЗАСЫ

Порталдын жайгашкан жери, сенсорлордун жардамы менен.

3 -кадам: КОМПОНЕНТТЕР - СЕНСОР

КОМПОНЕНТТЕР - СЕНСОР
КОМПОНЕНТТЕР - СЕНСОР

Сенсор де Умидеде соло

Сенсор сенсордун жардамы менен, сенсордун жардамы менен, карантинди күчөтүү керек. Жалгыз өзүңүздүн жеке пикириңизди билдирсеңиз, анда бул оңой эмес. Кармоо керек болсо, каршылык көрсөтүүгө уруксат берүү керек. Dessa форма podemos аныктоо үчүн соло эста молхадо, же өзүңүздүн жеке оюңуз.

Санариптик санариптик (D0), аналогу (A0). Санариптик санариптик эсептөөлөрдүн мааниси 1 -орунду ээлөө үчүн алдын ала аныктоо керек, ал эми атрибуттар потенциометрге эч кандай мүмкүнчүлүк бербейт.

Алдын ала: R $ 6 ~ R $ 20.

4 -кадам: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE

Бул Windows 10 IoT Core үчүн Dragonboard 410c менен иштөө мүмкүнчүлүгүнө ээ.

Windows 10 IoT Core жана башка программалар программалык камсыздоонун негизги шарттары болуп саналат. Комментарийлердин тизмеси жок болсо да, эч кандай меркадо жок, компьютерди орнотуу үчүн эч кандай эсептөө жок (эч кандай орнотуу жок, Dragonboard жок):

  • Visual Studio 2017 Коомдоштуктун сапаттуу версиясы (https://www.visualstudio.com/thank-you-downloading…);
  • DragonBoard жаңыртуу куралы;
  • Windows 10 IoT Core тактасы;
  • DragonBoard Windows 10 IoT Core Image;
  • Windows IoT долбоорунун шаблондору;

Конфигурациялоо үчүн эч кандай шилтеме жок:

Үйрөткүчтүн орнотуулары же үйрөткүчтөрү Microsoft программасы боюнча эч кандай жаңы Visual Studio студиясынын фондук тиркемесин түзө албайт.

Үйрөткүчтөрдүн GitHubдагы колдонмолорунун финансылык дисциплиналары

StartupTask.cs программасын конфигурациялоо үчүн эч кандай шарт түзүлбөгөндүктөн, сиз өзүңүздүн оюңузду жана оюңузду түшүндүрө аласыз.

Негизги документти Run () менен тандаңыз:

public void Run (IBackgroundTaskInstance taskInstance)

{InitGPIO (); InitSPI (); _deferral = taskInstance. GetDeferral (); таймер = ThreadPoolTimer. CreatePeriodicTimer (Timer_Tick, TimeSpan. FromMilliseconds (10000)); timer2 = ThreadPoolTimer. CreatePeriodicTimer (Timer_Tick2, TimeSpan. FromMilliseconds (10000)); }

InitGPIO () e InitSPI () таймер жана таймер2 үчүн 2 таймердин ылдамдыгы жана ылдамдыгы боюнча 2 таймердин ылдамдыгы, 10 сааттын ичинде орнотулган параметрлери (10) параметрлери. Башка ылдамдыкта басуу мудар эстестиктери үчүн эч кандай мааниге ээ эмес.

O Método InitGPIO () конфигурациялоо үчүн эң маанилүү функциялардын бири болуп саналат. Dragonboard же código do pino foi o 36 үчүн эмне кылуу керектиги жөнүндө маалымат жок.

жеке боштук InitGPIO ()

{var gpio = GpioController. GetDefault (); if (gpio == null) {pin = null; кайтуу; } pin = gpio. OpenPin (36); if (pin == null) {return; } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }

InitSPI () үчүн SPI0 жана Dragonboard конфигурациясын орнотуңуз.

жеке асинхрондук тапшырма InitSPI ()

{аракет кыл {var settings = new SpiConnectionSettings (0); // SPI0 жана DragonBoard орнотууларын тандоо. ClockFrequency = 500000; // Конфигурация сааттын SPI жана 0.5МГс жөндөөлөрү. Mode = SpiMode. Mode0; // COnfigura polaridade e fase do do do SPI var controller = await SpiController. GetDefaultAsync (); SpiADC = controller. GetDevice (орнотуулар); } кармоо (Exception ex) {ыргытуу жаңы Exception ("Falha na inicialização do SPI", ex); }}

Timer_Tick () таймерлери сизди кызыктырат, ал эми сиз API'ни колдонууга мүмкүнчүлүк бересиз. API'деги суроолорго жооп бериңиз:

var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/irrigacoes");

httpWebRequest. ContentType = "application/json"; httpWebRequest. Method = "АЛУУ";

Колдонуу шарттары өзгөртүлбөсө, ооруканага же APIге кирүү үчүн, ал автобустун жардамы менен. Cédigo de código que a irrigação enérrada também.

Timer_Tick2 () таймерлери жана функциялары таймерлерди оңдоп -түзөө үчүн жооп берет. Эч кандай конфигурация жок же конфигурацияланбайт же API конфигурацияланбайт:

var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/umidades");

httpWebRequest. ContentType = "application/json"; httpWebRequest. Method = "POST";

Бул LerADC (байт каналы) жана анонсикалык/санариптик маалымат алмашуу функциялары боюнча маалымат алмашуу сенсорунун жардамы менен. ConvertToInt ([ReadOnlyArray] байт берилиштери) үчүн бул жерде ар кандай байт маалыматтары бар. Төмөнкү коддорду иштетүү:

public int LerADC (байт каналы)

{байт readBuffer = жаңы байт [3]; байт writeBuffer = жаңы байт [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = канал; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); return adcValue; } public int ConvertToInt ([ReadOnlyArray] байт маалыматтар) {int result = 0; натыйжа = маалыматтар [1] & 0x03; натыйжа << = 8; натыйжа += маалыматтар [2]; кайтаруу натыйжасы; }

5 -кадам: API даярдаңыз

API NodeJS платформасында (https://nodejs.org), же Swagger (https://swagger.io/specification/) файлдарды документтештирүү үчүн документтерди колдонуу керек.

MySQL, атактуу жана ачык булактан тышкары, бул колдонмолордун жардамы менен.

Колдонуу API'лердин тизмесин түзүү.

● /api: Качан гана кирүү мүмкүн эмес.

Ap /api /контролер: Camada que gerencia rotas definitas no documento gerado pelo swagger.

Ap /api /кызматы: Бош убакыттын өтүшү менен BO'дун кирүү жолдору, ошондой эле BO (жашыруун маалымат). Сураныч, процесстин башка түрлөрү конфигурацияланат.

Ap /api /swagger: Конфигурация конфигурациясын өзгөртүү үчүн, конфигурациялоо үчүн, аларды эстеп коюңуз.

● /домен: Camada que contém toda codificação relacionada a regra de negócio da aplicação.

○ /репозиторийде: Camada de persência de dados.

● /Инфраструктура: Конфигурация стрингдеринин конфликттери банктагы дефолго жана тейлөөлөргө байланыштуу.

Github шилтемелери же консультацияларынын жардамы менен:

Төмөнкү суроолорду чечүү үчүн API'ге кайрылыңыз:

Метод: POST

URI:/api/v1/umidades

Descrição: Recurso utilizado for registar umidate to coletada pelo sensor de umidade.

Мисалы, талап кылынат:

{

"Эрдик": 355}

Методо: АЛУУ

URI:/api/v1/umidades

Descrição: Recurso que recupera to regosos registros de valores de umidade que foram salvos anteriormente.

Мисалы, жооп:

[{"Id": 1, "valor": 355, "dataCadastro": yyyy-MM-dd HH: MM}]

Метод: POST

URI:/api/v1/irrigacoes

Descrição: Кайра иштетүү үчүн, аны кайра иштетүү керек.

Методо: АЛУУ

URI:/api/v1/irrigacoes

Descrição: Эсепти кайра иштетүү үчүн, бул маалыматты оңдоп коюңуз.

Мисалы, жооп:

{

"Эрдик": 355}

6 -кадам: APP MOBILE

MOBILE КОЛДОНМОСУ
MOBILE КОЛДОНМОСУ
MOBILE КОЛДОНМОСУ
MOBILE КОЛДОНМОСУ

Эсколемо технологиялары платформа катары (Android e IOS) маалымат алмашуу программасы жана пландаштырылган пландаштырылган программалар сыяктуу. O Ionic é um framework is possui uma gigantesca biblioteca de komponentes gráficos que facilita a implementação visual do aplicativo. Linguagens веб (HTML, CSS жана Javascript) колдонмосу бул тилкенин негизги элементтери (негизги). Атравалар cordova (библиотека JavaScript) веб -сайтты карап чыгуу үчүн веб -сайтты карап чыгууну сунуштайт.

Колдонулган программалар API'лердин талаптарына жооп бериши керек, бул маалыматтын толуктугу жана жок кылынышы керек. Атайын кызматтардын каттоодон өтүү убактысы жана убактысы талап кылынат.

Шилтемелер:

  • https://ionicframework.com/
  • https://angular.io/
  • https://ionicframework.com/

GitHub, endereço жок, анкеталык режимди колдонуңуз

API конфигурациясы жок болсо да, сервер жок.src/entity/server.ts(https://github.com/jeordanecarlosbatista/temperat…. API'ге жооп берүү үчүн, мисалы, API'ди караңыз:

Экспорттоо классы Server {

жалпыга ачык статикалык URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; /* коомдук статикалык окуу үчүн гана URI_PREFIX: string = "https://dominio.com/aplicacao/"; */}

7 -кадам: FLUXOGRAMA

FLUXOGRAMA
FLUXOGRAMA

8 -кадам: REFERÊNCIAS

Нускамалар:

Qualcomm DragonBoard 410C:

Windows 10 жана DragonBoard ™ 410c-IoT өнүктүрүү үчүн эң сонун баштоо:

Ардуино планшеттери:

Сунушталууда: