Mundarija:

SISTEMA DE IRRIGAÇO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 qadam
SISTEMA DE IRRIGAÇO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 qadam

Video: SISTEMA DE IRRIGAÇO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 qadam

Video: SISTEMA DE IRRIGAÇO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 qadam
Video: Dispositivo de IRRIGAÇÃO Inteligente para Plantas ou Hortas via Smart Life ou TUYA 2024, Noyabr
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

PONTIFCCIA UNIVERSIDADE CATÓLICA DE MINAS GERAISCurso: Maxsus dasturlar va dasturiy ta'minotni tarqatish.

Ma'lumot: 26.10.2017

Unidade: Praça da Liberdade

Fan: Coisas Internet tarmog'i

Professor: Ilo Rivero

Alunos: Bruno Valgas ([email protected])

Dellan Xoffman P. Silva ([email protected])

Hebert Alves Ferreyra ([email protected])

Jan Karlos Batista ([email protected])

Jordan Batista ([email protected])

KIRISH

Agar biz o'simliklarimizni istalgan vaqtda, istalgan joyda sug'organimizda nima bo'lar edi? WaterPlant loyihasi bilan bu mumkin bo'ladi. Bu loyiha sayyoramiz uchun juda muhim bo'lgan qulaylik va amaliylikni yaxshilash maqsadida ishlab chiqilgan.

KIRISH

Qimmatbaho qog'ozlar qanday? U Projeto WaterPlant -ga tegishli. Bu sizning sayyorangiz uchun muhim rol o'ynashi mumkin.

FUNCIONAMENTO

Yozuvlarni tekshirish uchun, biz o'zimizni shaxsiy ma'lumotlarimizni tekshiramiz, lekin biz o'zimizni xohlaymiz. Agar siz o'zingizni xohlasangiz, u holda siz ham o'zingizni xohlaysiz.

Ma'lumotlar API -ga tegishli ma'lumotlarni o'z ichiga oladi, ular mobil telefonlar, mobil qurilmalar va boshqa ma'lumotlarni o'z ichiga oladi. Ma'lumotlar almashinuvi ma'lumotlari ham, yakka tartibda ham mavjud. Alohida savollarga javob berish uchun, siz API -ni ishlatishingiz mumkin.

1 -qadam: KOMPONENTLAR - DRAGONBOARD

KOMPONENTLAR - DRAGONBOARD
KOMPONENTLAR - DRAGONBOARD

DragonBoard 410C

Qualcomm Snapdragon 400, Wi -Fi, Bluetooth va GPS -dan foydalanish uchun hech qanday asosiy protsessor yo'q, lekin bu protsessor 64 -darajali protsessorga ega. Qualcomm - 1,2 gigagertsli, 1 Gb DDR3 533 MGts va 8 Gb tezkor xotira (eMMC).

Oldingi: $ 500 ~ R $ 750

2 -qadam: KOMPONENTLAR - LINKER BASE

KOMPONENTLAR - LINKER BASE
KOMPONENTLAR - LINKER BASE

Sensorli sensorlar uchun qulaylik va qulaylik yaratish.

3 -qadam: KOMPONENTLAR - SENSOR

KOMPONENTLAR - SENSOR
KOMPONENTLAR - SENSOR

Sensor de Umidade yakkaxon

Hisoblagichlar sensorlar yordamida sensorlar bilan ishlashni osonlashtiradi. Alohida -alohida, qarshilik ko'rsatish qiyin bo'lsa, uni tuzatish qiyin. Maqsadga ko'ra, qarshilik faqat o'z -o'zidan kamayishi mumkin, bu esa o'chirish, o'chirish yoki o'chirish uchun ruxsat beradi. Dessa formulasi aniq yoki yo'qligini aniqlab beradi.

Raqamli raqamlar (D0), analogika (A0). Raqamli raqamli ma'lumotni olish uchun, siz birinchi navbatda ma'lumotni oldindan belgilashingiz mumkin, shuning uchun hech qanday imkoniyat yo'q.

Oldindan: $ 6 ~ R $ 20.

4 -qadam: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE

Dragonboard 410c uchun Windows 10 IoT Core -ni o'rnatish uchun zarur bo'lgan operatsion tizim.

Windows 10 IoT Core va undan keyin dasturiy ta'minot va boshqa dasturlar bilan ishlashni osonlashtiradi. Bu erda hech qanday merkado, bastando ter instalado hech qanday hisob -kitoblar mavjud emas (masalan, ajdaho taxtasi yo'q):

  • Visual Studio 2017 hamjamiyatining talablari (https://www.visualstudio.com/thank-you-downloading…);
  • DragonBoard yangilash vositasi;
  • Windows 10 IoT Core boshqaruv paneli;
  • DragonBoard Windows 10 IoT Core tasviri;
  • Windows IoT loyihasi andozalari;

O'rnatish va o'rnatish uchun havola yo'q:

O'rnatish yoki o'rnatish uchun, Microsoft Visual Studio dasturining orqa fon ilovasi bilan hech qanday aloqasi yo'q.

GitHub-dan foydalanish bo'yicha qo'llanmalarning yakuniy versiyasi-bu

StartupTask.cs loyiha va dasturlarni sozlashda hech qanday farq yo'q, shuning uchun ular bir -biridan farq qiladi.

Boshqaruvning asosiy vazifasi Run () ni tanlang:

public void Run (IBackgroundTaskInstance taskInstance)

{InitGPIO (); InitSPI (); _deferral = taskInstance. GetDeferral (); taymer = ThreadPoolTimer. CreatePeriodicTimer (Timer_Tick, TimeSpan. FromMilliseconds (10000)); timer2 = ThreadPoolTimer. CreatePeriodicTimer (Timer_Tick2, TimeSpan. FromMilliseconds (10000)); }

InitGPIO () va InitSPI () dasturlari vaqtni o'lchash uchun 2 ta taymer va vaqtni o'lchash uchun 2 ta taymerni o'rnatish uchun 10 soniya vaqtdan keyin o'rnatiladi.. Qolaversa, bu tezlik va tezlikni oshiradi.

Meteodo InitGPIO () ni aniqlang, bu sizning xohishingizga ko'ra sozlamalarni o'rnatishga imkon beradi. Misol uchun, Dragonboard yoki pino foi yoki 36.

shaxsiy bo'sh joy InitGPIO ()

{var gpio = GpioController. GetDefault (); agar (gpio == null) {pin = null; qaytish; } pin = gpio. OpenPin (36); if (pin == null) {qaytish; } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }

InitSPI () protokoli SPI0 va Dragonboard -ni sozlash.

InitSPI xususiy vaqtinchalik vazifasi

{harakat qilib ko'ring {var settings = new SpiConnectionSettings (0); // SPI0 va DragonBoard sozlamalarini tanlang. ClockFrequency = 500000; // 0,5 MGts chastotali SPI rejimida soatni sozlash. Mod = SpiMode. Mode0; // COnfigura polaridade e fase do clock do SPI var controller = awi SpiController. GetDefaultAsync (); SpiADC = controller. GetDevice (sozlamalar); } catch (Exception ex) {yangi istisno tashlash ("Falha na inicialização do SPI", sobiq); }}

Timer_Tick () dasturini ishga tushirish vaqtini belgilash uchun siz API -ni ishlatishingiz mumkin. Siz API -da javob berishingiz mumkin:

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

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

Alohida shifrlash yoki shifoxonada API -ni o'rnatish, shuningdek, avtoulovni haydash yoki o'chirish uchun mo'ljallangan. Bu hech qanday muammosiz.

Timer_Tick2 () ni ishga tushirish vaqtini belgilang, shunda siz javob berishingiz kerak. Hech qanday ma'lumot yo'q, lekin siz API -ni sozlashingiz yoki sozlashingiz mumkin:

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

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

Bu LerADC (bayt kanali) va boshqa javoblar yordamida analitik/raqamli ma'lumotlarni almashish uchun zarur bo'lgan ma'lumotlarni uzatadi. Ma'lumotlar ConvertToInt ([ReadOnlyArray] bayt ma'lumotlari) bilan bir qatorda, baytlarni ham o'zgartiradi. Mashhurlik:

ommaviy int LerADC (bayt kanali)

{bayt readBuffer = yangi bayt [3]; bayt writeBuffer = yangi bayt [3] {0x00, 0x00, 0x00}; yozish Buffer [0] = 0x01; writeBuffer [1] = kanal; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); adcValue -ni qaytarish; } public int ConvertToInt ([ReadOnlyArray] bayt ma'lumotlar) {int natijasi = 0; natija = ma'lumotlar [1] & 0x03; natija << = 8; natija += ma'lumotlar [2]; natijani qaytarish; }

5 -qadam: API tayyorlang

NodeJS platformasi (https://nodejs.org) yoki Swagger (https://swagger.io/specification/) yordamida siz hujjatlarni qayta ishlashingiz va ularni qayta ishlashingiz mumkin.

MySQL -dan, shuningdek, ochiq manbadan va boshqa manbalardan foydalanish mumkin.

Siz API -ni tanlashingiz kerak.

● /api: achchiq -achchiq -a -da.

○ /api /nazoratchi: hech qanday hujjat yo'q, chunki u hech qanday ma'lumot bermaydi.

Ap /api /xizmati: O'yinni o'tkazish uchun eng muhim vazifalarni bajaring, bu sizning vazifangizni bajarishga yordam beradi. Nesta konfiguratsiya yoki qayta ishlash talab qilinadi.

○ /api /swagger: bu konfiguratsiyani tez -tez sozlash va sozlash uchun kerak bo'ladi.

● /domen: bir vaqtning o'zida bir nechta kodli dasturlar.

○ /ombor: Camada de persentecia de dados.

● /infratuzilma: konfiguratsiyaning asosiy satrlari, shuningdek, xizmatlar va xizmatlarni taqdim etish.

Github-ga havola orqali ma'lumot olish uchun maslahatlar bering:

Siz API -ni o'chirib qo'yishingiz mumkin:

Matn: POST

URI:/api/v1/umidades

Ta'rif: ro'yxatga olish kitobini qayta tiklash uchun sensorlar ham kerak.

Masalan, talablar:

{

"Jasorat": 355}

Metod: Oling

URI:/api/v1/umidades

Ta'rif: Ma'lumotlarni qayta yozib oling, bu ro'yxatga olish ma'lumotlarini oldindan yozib qo'ying.

Masalan, javob:

[{"Id": 1, "jasorat": 355, "dataCadastro": yyyy-MM-gg HH: MM}]

Matn: POST

URI:/api/v1/irrigacoes

Ta'rif: Ma'lumotni qayta ishlashning yana bir usuli.

Metod: Oling

URI:/api/v1/irrigacoes

Ta'rif: Yakkaxon operatsiyalarni mustaqil ravishda bajaring.

Masalan, javob:

{

"Jasorat": 355}

6 -qadam: MOBIL ilovasi

MOBILE ilovasi
MOBILE ilovasi
MOBILE ilovasi
MOBILE ilovasi

Escolhemos texnologiyasi, shuningdek, plataformalar (Android va IOS) bilan bir qatorda, dasturlarni ham, o'yinlarni ham o'z ichiga oladi. Ion -ramka, biblioteca komponentlarini grafika, shuningdek, ingl. Linguagens veb -saytining (HTML, CSS va Javascript) asosiy va asosiy burchaklari (asosiy) uchun mo'ljallangan. Tashriflar kordova (biblioteca javascript) orqali amalga oshiriladi, shuning uchun veb -saytni ochish kerak.

Bu API -ni o'rnatish uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga oladi. Hodisalar, shuningdek, xizmat ko'rsatuvchi va xizmat ko'rsatuvchi muxbirlar tomonidan amalga oshiriladi.

Havolalar:

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

GitHub-ni ishlatmaslik uchun hech qanday cheklovlar yo'q, lekin

API-ni o'rnatish uchun server yoki serverni o'rnatib bo'lmaganda, /src/entity/server.ts(https://github.com/jeordanecarlosbatista/temperat…) o'zgaruvchan URI_PREFIX, masalan, API -ni ishlatish kerak:

eksport sinf serveri {

URI_PREFIX statik o'qish uchun ochiq: string = "https://serverless-study.appspot.com/api/v1/"; /* umumiy statik o'qish uchun faqat URI_PREFIX: string = "https://dominio.com/aplicacao/"; */}

7 -qadam: FLUXOGRAMA

FLUXOGRAMA
FLUXOGRAMA

8 -qadam: YO'LLANMA

Ko'rsatmalar:

Qualcomm DragonBoard 410C:

Windows 10 va DragonBoard ™ 410c-IoT ishlab chiqish uchun mukammal boshlanish:

Arduino-ni ishlating:

Tavsiya: