Агуулгын хүснэгт:

SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 алхам
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 алхам

Видео: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 алхам

Видео: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 алхам
Видео: Faça um Controle de Irrigação Inteligente com Arduino 2024, Арваннэгдүгээр
Anonim
Image
Image
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE
SISTEMA DE IRRIGAÇÃO 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])

ТАНИЛЦУУЛГА

Хэрэв бид ургамлаа хэзээ ч, хаана ч хамаагүй усалдаг бол ямар байх вэ? Усан станцын төслийн тусламжтайгаар үүнийг хийх боломжтой болно. Энэхүү төслийг манай гаригийн хувьд маш чухал ач холбогдолтой болоход хялбар, практик байдлыг сайжруулах зорилгоор боловсруулсан болно.

ТАНИЛЦУУЛГА

Тайлбарыг буцааж англи (Америкийн Нэгдсэн Улс) руу орчуулах Орчуулах Como seria se pudéssemos aguar nossas plantas a qualquer hora e de qualquer lugar? Projeto WaterPlant -ийг ашиглах боломжтой. Төгсгөлийн хувьд энэ нь маш чухал үүрэг гүйцэтгэдэг.

ФУНЦИОНАМЕНТО

Хяналт шалгалт хийх үед та ганцаарчилсан мэдээлэл авах боломжтой болно. Тайлбарыг буцааж англи (Америкийн Нэгдсэн Улс) руу орчуулах уу?

Мэдээлэл нь API -ийн хувьд хамгийн сүүлийн үеийн хувилбарууд, гар утаснууд, гар утаснууд, гар утаснууд, гар утаснуудын мэдээллийн систем юм. Мэдээлэл эсвэл мэдээллийг дангаараа солино уу. Тайлбарыг буцааж англи (Америкийн Нэгдсэн Улс) руу орчуулах уу?

Алхам 1: Бүрэлдэхүүн хэсгүүд - DRAGONBOARD

Бүрэлдэхүүн хэсгүүд - DRAGONBOARD
Бүрэлдэхүүн хэсгүүд - DRAGONBOARD

DragonBoard 410C

A DragonBoard 410C нь Qualcomm Snapdragon 400, процессор, Wi -Fi, Bluetooth, GPS -ийн холболтыг ашиглах боломжтой бөгөөд энэ нь компьютерийн үйл явцыг зохицуулах боломжтой болно. Qualcomm нь 1.2 ГГц давтамжтай, DDR3 533 МГц ба 1 ГБ санах ой, 8 ГБ санах ойн санах ой (eMMC) юм.

Урьдчилгаа: R $ 500 ~ R $ 750

Алхам 2: Бүрэлдэхүүн хэсгүүд - LINKER BASE

Бүрэлдэхүүн хэсгүүд - холбогч бааз
Бүрэлдэхүүн хэсгүүд - холбогч бааз

Портуудын байршлыг тодорхойлох, мэдрэгчийг ашиглах.

Алхам 3: Бүрэлдэхүүн хэсгүүд - Мэдрэгч

Бүрэлдэхүүн хэсгүүд - мэдрэгч
Бүрэлдэхүүн хэсгүүд - мэдрэгч

Мэдрэгч де Умидаде соло хийдэг

Мэдрэгчийг ашиглах нь мэдрэгчийг ашиглах боломжийг олгодог. Ганцаараа ч хамаагүй, эсэргүүцэл нь маш хэцүү байдаг. Тэмдэглэл, эсэргүүцэл нь дангаараа зөвшөөрөгдөх болно. Dessa forma podemos тодорхойлолт эсвэл соло эста молхадо, эсвэл маш сайн.

Дижитал дижитал (D0), аналоги (A0). Дижитал дижитал нь танд маш их ашиг тустай байх болно гэсэн үг юм.

Өмнөх: $ 6 ~ R $ 20.

Алхам 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE

Windows 10 IoT Core -ийн хувьд Dragonboard 410c -ийг ашиглах боломжтой болно.

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

  • Visual Studio 2017 Нийгэмлэг, гадаад хэл (https://www.visualstudio.com/thank-you-downloading…);
  • DragonBoard шинэчлэх хэрэгсэл;
  • Windows 10 IoT Core хяналтын самбар;
  • DragonBoard Windows 10 IoT Core зураг;
  • Windows IoT төслийн загварууд;

Холбоос хийх холбоос байхгүй бол тохиргоог хийж гүйцэтгэнэ үү:

Зааварчилгаа хийх заавар, зааварчилгаа нь Microsoft програмын хувьд Visual Studio програмын арын програмыг ашиглах боломжгүй юм.

GitHub програмыг ашиглахын тулд зааварчилгаа өгөх боломжтой бөгөөд

StartupTask.cs програмыг томъёолоход ямар ч тохируулга хийгдэхгүй бөгөөд энэ нь тодорхой тайлбар өгөхөд туслах болно.

O método захирал да aplicação é o Run () e seu código é o seguinte:

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 эсвэл pino foi o 36.

хувийн хоосон InitGPIO ()

{var gpio = GpioController. GetDefault (); if (gpio == null) {pin = null; буцах; } pin = gpio. OpenPin (36); if (pin == null) {буцах; } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }

InitSPI () програмыг SPI0 эсвэл Dragonboard дээр тохируулах боломжтой.

хувийн асинк даалгавар InitSPI ()

{оролдох {var settings = new SpiConnectionSettings (0); // Seleciona a porta SPI0 ба DragonBoard settings. ClockFrequency = 500000; // 0.5MHz -ийн тохиргоонд SPI тохируулах цагийг тохируулах. Mode = SpiMode. Mode0; // COnfigura polaridade e fase do clock do SPI var controller = awi SpiController. GetDefaultAsync (); SpiADC = хянагч. GetDevice (тохиргоо); } барих (Exception ex) {шинэ онцгой тохиолдол хаях ("Falha na inicialização do SPI", хуучин); }}

Timer_Tick () програмыг ашиглахын тулд та API -г ашиглах боломжтой болно. Тайлбарыг буцааж англи (Их Британи) руу орчуулах Орчуулах

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

httpWebRequest. ContentType = "application/json"; httpWebRequest. Method = "АВАХ";

Neste trecho de código deve ser alterado нь энд эмнэлэгийн үйлчилгээ эсвэл API -ийн автобусны машин эсвэл командо ашиглах боломжтой. Энэ нь хамгийн чухал зүйл юм.

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}; бичихBuffer [0] = 0x01; writeBuffer [1] = суваг; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); adcValue -ийг буцаах; } public int ConvertToInt ([ReadOnlyArray] байт өгөгдөл) {int үр дүн = 0; үр дүн = өгөгдөл [1] & 0x03; үр дүн << = 8; үр дүн += өгөгдөл [2]; буцаах үр дүн; }

Алхам 5: API бэлтгэх

NodeJS (https://nodejs.org) эсвэл Swagger (https://swagger.io/specification/) програмуудыг ашиглахад шаардлагатай баримт бичгүүдийг ашиглах боломжтой болно.

MySQL, нээлттэй эх сурвалжтай харьцуулбал энэ програмыг ашиглах боломжтой болно.

API -г ашиглах боломжтой болно.

● /api: Camada que gerencia os recursos disponibilizados para que terceiros possam acessar.

Ap /api /хянагч: Camada que gerencia, rotas definidas no documento gerado pelo swagger.

Ap /api /үйлчилгээ: Camada que entrega os dados de entrada sera tratados, depois escritos ou lidos pela camada de BO (descrita mais à diante). Хүсэлт гаргахын тулд тохиргоог хийх боломжтой болно.

Ap /api /swagger: Тохиргоог тохируулахын тулд тохиргоог хийх боломжтой болно.

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

○ /репозитор: Камада де персестнсиа де дадос.

● /дэд бүтэц: Cama de configuração das strings de conexão do banco de dados e também do servidor que será supplyado pela própria aplicação.

Мэдээлэл авахын тулд github холбоосыг ашиглана уу:

Ачаалал буурах нь API -д зориулагдсан болно.

Мэдрэмж: POST

URI:/api/v1/umidades

Тайлбар: Бүртгүүлэхийн тулд компьютерийн мэдрэгчийг дахин ашиглах боломжтой болно.

Жишээ нь:

{

"Эр зориг": 355}

Мэдээлэл: АВАХ

URI:/api/v1/umidades

Тайлбар: Recurso que recupera todos os registros de valores de umidade que foram salvos anteriormente.

Жишээ нь хариулт:

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

Мэдрэмж: POST

URI:/api/v1/irrigacoes

Тайлбар: Дахин ашиглах шаардлагагүй болно.

Мэдээлэл: АВАХ

URI:/api/v1/irrigacoes

Тайлбар: Зөвлөмжийг ашиглахын тулд та үүнийг хийх хэрэгтэй болно.

Жишээ нь хариулт:

{

"Эр зориг": 355}

Алхам 6: APP MOBILE

Мобайл апп
Мобайл апп
Мобайл апп
Мобайл апп

Мэдээллийн технологийн талаархи мэдлэг нь платформ (Android ба IOS) хэлбэрээр ашиглагдаж байгаа бөгөөд энэ нь маш чухал юм. O Ionic é um framework нь ямар ч боломжгүй, библиотекийн бүрэлдэхүүн хэсгүүд нь график дүрслэлийг хэрэгжүүлэх боломжтой болно. Лингвагенс вэб (HTML, CSS ба Javascript) ашиглахын тулд та компьютерийн өнцөг (үндсэн хэсэг) -ийг ашиглаж болно. Cordova (biblioteca javascript) хаягаар зочлохдоо вэбсайт үзэх боломжтой.

API -г ажиллуулахын тулд програмын хувьд шаардлагатай бүх мэдээллийг олж авах боломжтой болно. Үйл явдлын талаархи мэдээллийг эндээс аваарай.

Холбоосууд:

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

GitHub-ийг ашиглахгүй байхын тулд програмын хэлбэрийг ашиглах боломжтой

API-г ашиглахгүй бол сервер дээр тохиргоог хийх боломжгүй болно. Жишээ нь, API -г ашиглах боломжтой болно:

экспортын ангийн сервер {

нийтийн статик уншихад зориулагдсан URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; /* нийтийн статик уншихад зориулагдсан URI_PREFIX: string = "https://dominio.com/aplicacao/"; */}

Алхам 7: FLUXOGRAMA

FLUXOGRAMA
FLUXOGRAMA

Алхам 8: ЛАВЛАГА

Зааварчилгаа:

Qualcomm DragonBoard 410C:

Windows 10 ба DragonBoard ™ 410c-IoT хөгжүүлэлтийн төгс эхлэл:

Monitore sua planta usando Arduino:

Зөвлөмж болгож буй: