Мазмуну:
- 1 -кадам: КОМПОНЕНТТЕР - DRAGONBOARD
- 2 -кадам: КОМПОНЕНТТЕР - LINKER BASE
- 3 -кадам: КОМПОНЕНТТЕР - СЕНСОР
- 4 -кадам: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
- 5 -кадам: API даярдаңыз
- 6 -кадам: APP MOBILE
- 7 -кадам: FLUXOGRAMA
- 8 -кадам: REFERÊNCIAS
Video: SISTEMA DE IRRIGAÇO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
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 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
Эсколемо технологиялары платформа катары (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
8 -кадам: REFERÊNCIAS
Нускамалар:
Qualcomm DragonBoard 410C:
Windows 10 жана DragonBoard ™ 410c-IoT өнүктүрүү үчүн эң сонун баштоо:
Ардуино планшеттери:
Сунушталууда:
Glass Stone LED Tube (WiFi Smartphone App аркылуу башкарылат): 6 кадам (Сүрөттөр менен)
Glass Stone LED Tube (WiFi Smartphone тиркемеси аркылуу көзөмөлдөнөт): Саламатсыздарбы достор! Бул көрсөтмөдө мен сизге жакшы диффузия эффекти үчүн айнек таштар менен толтурулган WiFi көзөмөлдөгөн LED түтүктү кантип курууну көрсөтөм. Светодиоддор жеке түрдө чечилет, ошондуктан кээ бир жакшы эффекттер мүмкүн
Bluetooth Smartphone көзөмөлдөгөн Smart LED чырагы: 7 кадам
Bluetooth смартфону башкарган Smart LED чырагы: Мен ар дайым жарык берүүчү шаймандарымды башкарууну кыялданам. Анан кимдир бирөө укмуштуудай түстүү LED чырак жасады. Мен жакында Youtubeдан Жозеф Кашанын LED чырагын көрдүм. Андан шыктануу менен, мен шарттарды сактоо менен бир нече функцияларды кошууну чечтим
Robotic Arm Game - Smartphone Controller: 6 кадам
Роботтоштурулган кол оюну - Смартфонду башкаруучу: Саламатсызбы! Бул жерде жайкы кызыктуу оюн: Смартфон тарабынан башкарылган роботтук кол! Видеодон көрүнүп тургандай, сиз смартфонуңуздагы кээ бир джойстиктер менен колуңузду башкара аласыз. робот бир циклде кайра жаралат деп
SMARTPHONE БАШКАРЫЛГАН РОБОТ BLE 4.0 КОЛДОНУЛАТ !!!: 5 кадам
SMARTPHONE БАШКАРЫЛГАН РОБОТ BLE 4.0 КОЛДОНУЛУУДА !!!: Мурунку көрсөтмөлөрдө мен смартфондун жардамы менен LEDди башкаруу үчүн Arduino менен Bluetooth модулун (өзгөчө HM10 BLE v4.0) кантип колдонсо болору менен бөлүшкөм. Сиз бул жерден текшере аласыз. Бул көрсөтмөдө мен сизге роботту кантип жасоону көрсөтөм
ESP8266 RGB LED STRIP WIFI Control - NODEMCU Wifi аркылуу башкарылган LED тилкеси үчүн IR алыстан башкаруу пулу катары - RGB LED STRIP Smartphone Control: 4 кадам
ESP8266 RGB LED STRIP WIFI Control | NODEMCU Wifi аркылуу башкарылган LED тилкеси үчүн IR алыстан башкаруу пулу катары | RGB LED STRIP смартфонду көзөмөлдөө: Салам балдар бул окуу куралында биз nodemcu же esp8266ды IR пульту катары RGB LED тилкесин башкаруу үчүн колдонууну үйрөнөбүз жана Nodemcu смартфону WiFi аркылуу башкарылат. Ошентип, негизинен сиз RGB LED STRIPти смартфонуңуз менен башкара аласыз