Mündəricat:
- Addım 1: BİLEŞENLER - DRAGONBOARD
- Addım 2: BİLEŞENLER - LINKER BASE
- Addım 3: BİLEŞENLER - SENSOR
- Addım 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
- Addım 5: API hazırlayın
- Addım 6: MOBİL APP
- Addım 7: FLUXOGRAMA
- Addım 8: ƏLAQƏ
Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
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
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
Əlaqə açmaq və hiss etmək üçün lazım olan yerləri açmaq.
Addım 3: 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
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
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ə:
Şüşə Daş LED Boru (WiFi Smartphone Tətbiqi ilə İdarə olunur): 6 Addım (Şəkillərlə)
Glass Stone LED Boru (WiFi Smartphone Tətbiqi ilə İdarə olunur): Salam həmkarlar! Bu təlimatda sizə gözəl bir yayılma effekti üçün şüşə daşlarla dolu bir WiFi nəzarətli LED borunun necə qurulacağını göstərəcəyəm. LED -lər ayrı -ayrılıqda ünvanlanır və buna görə də bəzi gözəl effektlər mümkündür
Android Smartphone USB (!!) Veb Kamerası Olaraq: 8 Addım (Şəkillərlə)
Android Smartphone USB (!!) Veb Kamerası olaraq: Son bir neçə ay ərzində hamımız şəxsən deyil, onlayn ünsiyyət qurmaq məcburiyyətində qaldıq. Bir tələbə olaraq mühazirələrimin çoxu Zoom görüşlərinə çevrildi və eyni şey dərs saatlarımda da oldu. Önümüzdəki bir neçə həftə ərzində hər yaşdan bir çox tələbə
Smartphone 4WD Robot Car ilə Video Yayımı və Nəzarəti (Bluetooth üzərindən): 5 addım
Smartphone 4WD Robot Car ilə Video Yayımı və Nəzarəti (Bluetooth üzərindən): Salam! Arduino üçün unikal TFT qalxanına həsr olunmuş məqalələr silsiləsinə davam edirəm. Bu məqalə " görmə qabiliyyəti " görüntüləri ötürəcək ümumi və ucuz bir kamera OV7670 istifadə edərək
Bluetooth Smartphone tərəfindən idarə olunan Smart LED Lampası: 7 addım
Bluetooth Smartphone ilə idarə olunan Smart LED Lampası: Həmişə işıqlandırma cihazlarımı idarə etməyi xəyal edirəm. Sonra kimsə inanılmaz rəngli bir LED lampa etdi. Bu yaxınlarda Youtube -da Joseph Cashanın LED lampasına rast gəldim. Bundan ilham alaraq, əlaqəni saxlayarkən bir neçə funksiya əlavə etmək qərarına gəldim
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)