Mündəricat:

SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Addım
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Addım

Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Addım

Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Addım
Video: Faça um Controle de Irrigação Inteligente com Arduino 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: Xüsusi proqram təminatı və proqram təminatı

Məlumat: 2017-10-26

Unidade: Praça da Liberdade

Fənn: Coisas İnternet

Professor: İlo 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])

GİRİŞ

İstənilən vaxt, hər yerdə bitkilərimizi sulaya bilsək nə olardı? WaterPlant Layihəsi ilə mümkün olacaq. Bu layihə, planet üçün bu qədər vacib olanı müalicə etmək üçün rahatlığı və praktikliyi artırmaq məqsədi ilə hazırlanmışdır.

GİRİŞ

Bir neçə gündən sonra ən çox maraqlandıran bir şey varmı? Projeto WaterPlant sisteminə daxil olun. Planlaşdırılan proqramlar dünyanın ən böyük problemlərindən biridir.

FUNCIONAMENTO

Bu proqramların monitorinqi ilə bağlı bir çox məlumat əldə etmək mümkün olsa da, bu proqramlar tək -tək səslənə bilər. Bu vaxtdan etibarən, bir dəfə də olsa, ən çox ehtiyac duyduğun bir şey var.

Məlumatların API -yə daxil edilməsi, məlumatların yenilənməsi, mobil tətbiqetmələrin istifadəyə verilməsi və digər məlumatların verilməsi. Şəxsi məlumatların tək və ya tək bir şəkildə hazırlanması. İstifadəçilərin suallarını cavablandırmaq üçün yalnız bir API istifadə edin, bu da bir API ilə əlaqəli məlumatların qorunması ilə əlaqədardır.

Addım 1: BİLEŞENLER - DRAGONBOARD

Komponentlər - DRAGONBOARD
Komponentlər - DRAGONBOARD

DragonBoard 410C

A DragonBoard 410C, Qualcomm Snapdragon 400, Wifi, Bluetooth və GPS sistemləri ilə heç bir əlaqəyə malik deyil, həm də işləmək üçün heç bir problem yaratmır. Qualcomm - 1.2GHz, 1GB DDR3 533 MHz və 8GB yaddaş yaddaşı (eMMC).

Qiymət: R $ 500 ~ R $ 750

Addım 2: BİLEŞENLER - LINKER BASE

Komponentlər - LINKER BASE
Komponentlər - LINKER BASE

Əlaqə açmaq və hiss etmək üçün lazım olan yerləri açmaq.

Addım 3: BİLEŞENLER - SENSOR

BİLEŞENLER - SENSOR
BİLEŞENLER - SENSOR

Sensor de Umidade Solo

Sensor istifadə etmək üçün yalnız bir sensoru və ya bir sensoru istifadə edə bilərsiniz. Suallar çox böyükdürsə, müqavimət çox çətin olsa da, çətinliklər yaranır. Şəxsi müqavimət və ya müqavimət yalnız bir əməliyyatın başlanğıcında və ya bir neçə mərhələdə icazə verilir. Şübhəsiz ki, bu, çox böyük bir işdir və ya bir neçə dəfə başa düşülür.

Bu rəqəmsal rəqəmsal (D0) və analoika (A0) ilə əlaqəli deyil. Bu rəqəmsal rəqəmlərin ən çox öyrənilməsi üçün əvvəlcədən müəyyən etmək lazımdırsa, heç bir məlumat əldə edə bilməzsiniz.

Qiymət: R $ 6 ~ R $ 20.

Addım 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE

Windows 10 IoT Core istifadə etmək üçün Dragonboard 410c əməliyyat sistemini idarə etmək üçün bir proqram.

Windows 10 -da IoT Core proqram təminatı və proqram təminatı ilə bağlı bütün proqramlar qurulub. Ətraflı məlumat əldə etmək üçün heç bir merkado yoxdur, heç bir kompüter qurulmamışdır (heç bir şey qurulmamışdır, Dragonboard yoxdur):

  • Visual Studio 2017 Topluluğu ilə əlaqəli suallar (https://www.visualstudio.com/thank-you-downloading…);
  • DragonBoard Yeniləmə Aləti;
  • Windows 10 IoT Core İdarəetmə Paneli;
  • DragonBoard Windows 10 IoT Core Image;
  • Windows IoT layihə şablonları;

Bağlantı yoxdursa, quraşdırma və quraşdırma prosesini tamamlayın:

Dərslik və ya konfiqurasiya üçün Microsoft Proqramı ilə heç bir Visual Studio yoxsa Arxa Tətbiq etməliyik.

GitHub-da atletika ilə bağlı son dərs vəsaiti əldə etmək üçün

StartupTask.cs ilə bağlı heç bir məlumat yoxdursa, heç bir şey qurulmayacaq və bu proqramlar bir -birindən fərqlənəcəkdir.

Başlanğıcda Run () və ya işləmək üçün:

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)); }

Vaxtın ölçülməsi zamanı 2 dəfə ölçmək üçün vaxt sayğacını və vaxtını ölçməklə 2 dəfə sayğacın quraşdırılması üçün 10 saatlıq parametrləri təyin edin (10 dəfə).. Şəxsi həyat tərzini dəyişdirmək üçün heç bir səbəb yoxdur.

Método InitGPIO () funksiyalarını müəyyən etmək üçün müəyyən bir funksiyanı konfiqurasiya edə bilərsiniz. Əjdaha taxtası və ya 36 -cı ildən etibarən codigo nümunəsi.

şəxsi boşluq InitGPIO ()

{var gpio = GpioController. GetDefault (); if (gpio == null) {pin = sıfır; qayıtmaq; } pin = gpio. OpenPin (36); if (pin == null) {qayıt; } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }

InitSPI (), Dragonboard üçün SPI0 konfiqurasiya edin.

xüsusi async Task InitSPI ()

{cəhd edin {var settings = new SpiConnectionSettings (0); // SPI0 və DragonBoard ayarlarını seçin. ClockFrequency = 500000; // 0.5 MHz parametrləri ilə SPI -də saatı konfiqurasiya edin. Mod = SpiMode. Mode0; // SPI var nəzarətçi CONfigura polaridade və fase do spiController. GetDefaultAsync (); SpiADC = nəzarətçi. GetDevice (parametrlər); } tut (Exception ex) {yeni İstisna at ("Falha na inicialização do SPI", keçmiş); }}

Timer_Tick () üçün əsas vaxt sayğacları API -də məlumatların qorunması ilə əlaqədardır. API ilə əlaqəli suallar cavablandırın:

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

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

Neste trecho de código deve de l'érécódos de la de la de la los de la de la los de la de la de la de la de la de la de la de la de la de la de la de la de la de la de la de la de la de la de la de la de la de la la de la la de la la de la la de la de la la de la la de la de la la de la la de la la de la la de lauesta üçün. Bu proqramlar ən çox istifadə edilə bilər.

Timer_Tick2 () funksiyasını yerinə yetirmək üçün vaxt ölçmək və ya cavablandırmaq üçün ən çox istifadə olunan vaxtı seçin. Heç bir əlaqə qurulmadıqda, API -nin konfiqurasiya edilməməsi üçün heç bir məlumat yoxdur:

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

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

Bu, LerADC (bayt kanalı) və ya analitik/rəqəmsal məlumatların təhlili ilə əlaqəli bütün məlumatların cavablandırılması ilə əlaqədardır. Məlumat ConvertToInt ([ReadOnlyArray] bayt məlumatları) ilə bağlı bütün məlumatların çevrilməsini təmin edir. Təcrübə edin:

ictimai int LerADC (bayt kanalı)

{bayt readBuffer = yeni bayt [3]; bayt writeBuffer = yeni bayt [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = kanal; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); qaytar adcValue; } public int ConvertToInt ([ReadOnlyArray] bayt data) {int nəticə = 0; nəticə = məlumatlar [1] & 0x03; nəticə << = 8; nəticə += məlumat [2]; qaytarma nəticəsi; }

Addım 5: API hazırlayın

NodeJS (https://nodejs.org) və ya Swagger (https://swagger.io/specification/) proqramlarının istifadəsi sənədlərin və sənədlərin hazırlanması ilə əlaqədardır.

MySQL və ya açıq mənbə ilə əlaqəli proqramlar istifadə etməklə.

Bir API qurmaq və ya istifadə etmək lazımdır.

● /api: Ətraflı məlumat əldə edə bilərsiniz.

Ap /api /nəzarətçi: Heç bir sənəd yoxdur, heç bir sənəd yoxdur.

Ap /api /xidmət: Bu proqramlar, BO ilə əlaqəli hər hansı bir problemi həll edə bilər. İstədiyiniz müddətdə və ya istədiyiniz müddətdə konfiqurasiya edə bilərsiniz.

Ap /api /swagger: Müntəzəm olaraq, konfiqurasiya etmək və ya dəyişdirmək üçün istifadə etmək lazımdır.

● /domen: Başlanğıc və ya əlaqəli proqramlar.

○ /depo: Camada de persentecia de dados.

● /infrastruktur: Dizaynlar və xidmətlər bir neçə xidmətdən ibarətdir.

Məlumat üçün github ilə əlaqə qurun:

Sifariş verildikdə, API -də heç bir problem yoxdur:

Metod: POST

URI:/api/v1/ümidades

Descrião: Recordso istifadə etmək üçün qeydiyyatdan keçmək üçün istifadə edilə bilər.

Nümunə tələblər:

{

"Cəsarət": 355}

Metod: GET

URI:/api/v1/ümidades

Şəxsi məlumat: əvvəlcədən qeydiyyatdan keçdikdən sonra bütün məlumatları əldə edə bilərsiniz.

Məsələn cavab:

[{"İd": 1, "cəsarət": 355, "dataCadastro": yyyy-MM-gg HH: MM}]

Metod: POST

URI:/api/v1/irrigacoes

Təqdimat: Şəxsi məlumatların istifadəsinə icazə verilir.

Metod: GET

URI:/api/v1/irrigacoes

Descrião: Sualları yenidən qurmaq üçün bu proqramları istifadə edin.

Məsələn cavab:

{

"Cəsarət": 355}

Addım 6: MOBİL APP

MOBİL Tətbiq
MOBİL Tətbiq
MOBİL Tətbiq
MOBİL Tətbiq

Texnologiyanı öyrənmək üçün lazım olan bütün məlumatları platforma (Android və IOS) olaraq dəyişdirmək və ya istifadə etmək mümkün olacaq. Çərçivə qurmaq üçün ən çox ehtimal olunan biblioteka komponentləri vizual olaraq tətbiq oluna bilər. Linguagens web (HTML, CSS və Javascript) istifadə edərək, bu düymənin əsas nöqtəsi (əsas) ilə əlaqə qura bilərsiniz. Şəxsi məlumatları (biblioteca javascript) oxuduqdan sonra veb səhifəni açmaq üçün veb saytına baxın.

Bir API üçün sistem tələbləri ilə əlaqədar olaraq, bu məlumatların və məlumatların bir -birindən asılı olmayaraq uzaqdan idarə edilməsi tələb olunur. Hadisələrin baş verməsi ilə əlaqədar olaraq, bu xidmətin müxbiri və ya müxbiri öz xidmətlərini göstərməlidirlər.

Əlaqələr:

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

GitHub və ya heç bir məhdudiyyət olmadan

API-nin arxivləşdirilməməsi üçün heç bir server yoxlanıla bilməz. bir API -yə uyğun olaraq, məsələn:

ixrac sinfi Server {

ümumi statik oxumaq üçün yalnız URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; /* ümumi statik oxumaq üçün yalnız URI_PREFIX: string = "https://dominio.com/aplicacao/"; */}

Addım 7: FLUXOGRAMA

FLUXOGRAMA
FLUXOGRAMA

Addım 8: ƏLAQƏ

Təlimatlar:

Qualcomm DragonBoard 410C:

Windows 10 və DragonBoard ™ 410c-IoT İnkişafı üçün Mükəmməl Başlanğıc:

Arduino ilə işləyə bilərsiniz:

Tövsiyə: