Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kumpanya - DRAGONBOARD
- Hakbang 2: Mga Kumpanya - BASE ng LINKER
- Hakbang 3: Mga Kumpanya - SENSOR
- Hakbang 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
- Hakbang 5: PREPARANDO isang API
- Hakbang 6: MOBILE NG APP
- Hakbang 7: FLUXOGRAMA
- Hakbang 8: REFERÊNCIAS
Video: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAISCurso: Espesyalista na Arquitetura de Software Distribuído
Data: 2017-10-26
Unidade: Praça da Liberdade
Disciplina: Internet das Coisas
Propesor: Ilo 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])
PANIMULA
Ano ang magiging hitsura kung maaari nating mai-tubig ang ating mga halaman anumang oras, saanman? Sa Project ng WaterPlant posible ito. Ang proyektong ito ay binuo na nakatuon sa pagpapabuti ng kaginhawaan at pagiging praktiko upang matrato ito na napakahalaga para sa planeta.
PANIMULA
Como seria se pudéssemos aguar nossas plantas a qualquer hora e de qualquer lugar? Com o Projeto WaterPlant será possível. Ang iyong proyekto ay dapat na magbigay ng isang comodidade at isang praticidade para sa tratar deste para sa iyo na mahalaga para sa planeta.
FUNCIONAMENTO
O projeto foi desenvolvido para sa monitoramento de jardins, maaari mong gawin ang isang verificação do estado na solo, at muling ilunsad ang isang ito. Sendo assim, por meio de parâmetros da umidade do solo é posível avaliar a mustidade de sua irrigação.
Ang isang placa envia informações para sa isang API, na maaari mong gamitin, upang mai-download ang iyong mobile phone, na muling ibigay ang mga impormasyon. Desta forma a aplicação mantem o usuário informado da situação do solo. O usuário em contato com a aplicação poderá solicitar o irrigamento imediado do solo, esta informação é enviada para a API que por sua vez se comunica com a placa para acionamento do dispositivo de irrigação.
Hakbang 1: Mga Kumpanya - DRAGONBOARD
DragonBoard 410C
Ang isang DragonBoard 410C ay isang primera plato ng desenvolvimento base na walang proseso para sa proseso ng Qualcomm Snapdragon 400, upang ma-access ang Wifi, Bluetooth at GPS sa lahat ng mga lugar na ito ay napapabago mula sa carto de crédito, at ang mga tampok na ito ay maaaring gawin sa proseso ng 64 bits Qualcomm rodando à 1.2GHz, kasama ang 1GB mula sa memorya ng DDR3 533 MHz e 8GB ng memoria de armazenamento (eMMC).
Preço: R $ 500 ~ R $ 750
Hakbang 2: Mga Kumpanya - BASE ng LINKER
Placa de expansão para sa mapeamento at utilização de portas, na gagamitin ang isang paggamit ng mga sensores.
Hakbang 3: Mga Kumpanya - SENSOR
Sensor de Umidade do Solo
Este sensor utiliza dois eletrodos para passar corrente pelo solo e lè o nível de umidade por comparação com a resistência do potenciômetro do módulo do sensor. Quando o solo estiver seco, a sua resistência aumenta, dificultando a passagem de corrente. Com a absorção da água, a resistência do solo diminui permitindo a passagem de corrente entre os eletrodos e fechando, desta forma, o circuito. Dessa forma podemos definir quando o solo está molhado, ou quando está seco.
O módulo fornece tanto uma saída digital (D0), como uma saída analógica (A0). O sinal digital was ajustado para que tenha valor lógico 1 quando a umidade for maior do que um valor predefinido, ajustado através do potenciômetro presente no módulo.
Preço: R $ 6 ~ R $ 20.
Hakbang 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE
Ang isang aplicação desenvolvida para sa rodar na Dragonboard 410c ay ang iyong paggamit ng Windows 10 IoT Core.
O Windows 10 IoT Core ay umaarangkada ng desenvolvimento criada para sa facilitar a vida dos desenvolvedores na hora de programar seus dispositivos. Para sa iyo, maaari kang mag-iwan ng mga talento sa mga lugar na mayroon nang mercado, bastando at i-install na walang computador os seguintes itens (bilang isang sunud-sunod na pag-install, walang caso de uso at Dragonboard):
- Ang Komunidad ng Visual Studio 2017 ay kwalipikado akong mag-aaral (https://www.visualstudio.com/thank-you-downloading…);
- Tool sa Pag-update ng DragonBoard;
- Windows 10 IoT Core Dashboard;
- Ang DragonBoard Windows 10 IoT Core Image;
- Mga template ng proyekto ng Windows IoT;
O proseso ng kumpleto para sa instalação at configuração pode ser encontrado walang seguinte link:
Sinusundan ang isang instalação at configuração na sumunod sa tutorial ng Microsoft upang masuri ang mga programa sa Visual Studio na gawin ang Background Application.
Para este tutorial vamos disponibilizar o código finalizado da aplicação através do GitHub em
Toda a configuração do aplicativo está no arquivo StartupTask.cs na raiz do projeto, at mag-e-explicar ng abaixo parte a parte do código.
Ang punong punong-guro ng aplicação ay ang Run () at ang iyong sarili:
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)); }
Ang mga ito ay InitGPIO () at InitSPI () inisyal na pagkakaiba-iba para sa paggamit ng mga gumagamit ng isang timer timer at timer2 criam 2 timers para sa pagpapatupad ng isang dami ng de-tempo, at ang iyong caso foram parametrizados 10 segundo (10 milyong milyong timer). Para alterar esse tempo basta mudar estes valores nessa parte do código.
O Método InitGPIO () isang seguir tem como função definir bilang configuraçõese do pino que ativa a válvula solenoide de água. Hindi ito dapat ibigay para sa isang Dragonboard o código gawin ang iyong 36.
pribadong walang bisa InitGPIO ()
{var gpio = GpioController. GetDefault (); kung (gpio == null) {pin = null; bumalik; } pin = gpio. OpenPin (36); kung (pin == null) {bumalik; } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }
O método InitSPI () configura ang isang port SPI0 da Dragonboard.
pribadong async Gawain InitSPI ()
{subukan ang {var setting = bagong SpiConnectionSettings (0); // Seleciona a porta SPI0 da DragonBoard setting. ClockFrequency = 500000; // Configura o clock do barramento SPI em 0.5MHz setting. Mode = SpiMode. Mode0; // COnfigura polaridade e fase do clock do SPI var controller = naghihintay sa SpiController. GetDefaultAsync (); SpiADC = controller. GetDevice (setting); } catch (Exception ex) {magtapon ng bagong Exception ("Falha na inicialização do SPI", hal); }}
O primeiro timer invoca o método Timer_Tick () para sa iyong kasiyahan at isang verificação através mula sa API upang magawa ang mga ito para masuri ang lahat. O seguinte trecho de código é responsável pela chamada à API:
var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/irrigacoes");
httpWebRequest. ContentType = "application / json"; httpWebRequest. Method = "GET";
Maaari kang mag-iwan ng pagbabago para sa endereço onde na serbisyo ng ospital o código mula sa API para sa buscar o comando de irrigação. É Neste trecho de código que a irrigação é encerrada também.
Para sa segundo timer ay invocado o método Timer_Tick2 () na ito ay responsable na gawin ang mga ito bilang isang umidade do solo naquele momento. Walang seguinte trecho de código deste método que deve ser configurado o endereço da API para sa envio dos maging:
var httpWebRequest = (HttpWebRequest) WebRequest. Create ("https://serverless-study.appspot.com/api/v1/umidades");
httpWebRequest. ContentType = "application / json"; httpWebRequest. Method = "POST";
O método LerADC (byte canal) ay naisagawa sa pamamagitan ng pag-uusap sa pamamagitan ng digital / digital os valores informados pelo sensor de umidade. Este adaptador informa um array de bytes que é convertido em inteiro através do método ConvertToInt ([ReadOnlyArray] byte data). Segue os trechos de código:
public int LerADC (byte canal)
{byte readBuffer = bagong byte [3]; byte writeBuffer = bagong byte [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = kanal; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); ibalik ang adcValue; } publiko int ConvertToInt ([ReadOnlyArray] byte data) {int resulta = 0; resulta = data [1] & 0x03; resulta << = 8; resulta + = data [2]; resulta ng pagbabalik; }
Hakbang 5: PREPARANDO isang API
Ang API na desenvolvida na plataforma NodeJS (https://nodejs.org), ay ginagamit ng Swagger (https://swagger.io/specification/) isang modelo ng e dokumentaryo at recursos utilizados na integração do trabalho.
Para sa mga serbisyo ay maaaring gamitin o banco ng aking MySQL, banco de magiging relacional at bukas na mapagkukunan.
Segue abaixo a arquitetura de camadas que compõem a API.
● / api: Camada que gerencia os recursos disponibilizados para que terceiros possam acessar.
○ / api / controller: Camada que gerencia as rotas definidas no documento gerado pelo swagger.
○ / api / service: Camada que entrega os dados de entrada para sa mga tratados, depois escritos ou lidos pela camada de BO (describes mais in diante). Nesta camada está configurado o retorno ocorrido durante o processo de request.
○ / api / swagger: Camada que contém o arquivo de configuração do swagger, onde estão toda as configurações dos recursos.
● / domain: Camada que contém toda codificação relacionada a regra de negócio da aplicação.
○ / repository: Camada de persistência de maging.
● / imprastraktura: Cama de configuração das strings de conexão do banco de maging e também do servidor que será probado pela própria aplicação.
Para mais informações e consulta ao código fonte acesso o link do github:
Segue abaixo uma breve descrição de cada recurso disponibilizados na API:
Método: POST
URI: / api / v1 / umidades
Descrição: Recurso utilizado para sa registar umidade coletada pelo sensor de umidade.
Exemplo de requisição:
{
"Lakas ng loob": 355}
Método: GET
URI: / api / v1 / umidades
Descrição: Recurso que recupera todos os registros de valores de umidade que foram salvos anteriormente.
Exemplo de tugon:
[{“Id”: 1, “valor”: 355, “dataCadastro”: yyyy-MM-dd HH: MM}]
Método: POST
URI: / api / v1 / irrigacoes
Descrição: Recurso utilizado para sa iyong isip o dispositivo de irrigação.
Método: GET
URI: / api / v1 / irrigacoes
Descrição: Recurso utilizado para sa verificar o estado de umidade atual do solo.
Exemplo de tugon:
{
"Lakas ng loob": 355}
Hakbang 6: MOBILE NG APP
Escolhemos uma tecnologia híbrida para gerar um código reutilizável para todas as plataformas (Android at IOS) para aumentar a abrangência de usuários e diminuir o custo do projeto. O Ionic ay may balangkas na maaaring makamit ang lahat ng biblioteca ng mga sangkap na ito ay gagamitin ng isang pagpapatupad ng visual na gawin aplicativo. Magagamit ang web ng linguagens (HTML, CSS at Javascript) para sa isang criação das telas e tem o Angular como o seu núcleo (core). Através do cordova (biblioteca javascript) os recursos do dispositivos são acessados pelo webview do mesmo.
Ang aplicativo ay binubuo ng realizar algumas Requisições para sa isang API na gawin ang isang sistema para sa isang impormasyon na dapat gawin nang isang solo at regar o mesmo remotamente. Através de um evento de botão uma requisição é enviada para sa servidor at a ação correspondente é realizada.
Mga Link:
- https://ionicframework.com/
- https://angular.io/
- https://ionicframework.com/
O código fonte do aplicativo modelo encontra-se no GitHub, no endereço
Para sa mga aplicativo funcione basta configurar o endereço da API no arquivo server.ts que encontra-se no diretório /src/entity/server.ts(https://github.com/jeordanecarlosbatista/temperat…) at baguhin ang isang iba't ibang URI_PREFIX, sumunod sa exemplo abaixo para sa endereço onde está hospedada isang API:
i-export ang klase ng Server {
publikong static na babasahin lamang URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; / * publikong static na babasahin lamang URI_PREFIX: string = "https://dominio.com/aplicacao/"; * /}
Hakbang 7: FLUXOGRAMA
Hakbang 8: REFERÊNCIAS
Mga Tagubilin:
Qualcomm DragonBoard 410C:
Windows 10 at DragonBoard ™ 410c - ang Perpektong Pagsisimula para sa Pag-unlad ng IoT:
Monitore sua planta usando Arduino:
Inirerekumendang:
Sistema De Irrigação Automático Para Plantas: 8 Hakbang
Sistema De Irrigação Automático Para Plantas: A irrigação é uma das tecnologias mais utilizadas por pertanianultores pois esta atividade independe da ocorrência de chuvas, garante uma safra uniporme, reduz a falha humana, minimiza o konsumo de água (utilizando apenas quandoim na kinakailangan)
Sistema ng Pag-uuri ng Kulay: Arduino Batay sa Sistema Na May Dalawang sinturon: 8 Mga Hakbang
Sistema ng Pag-uuri ng Kulay: Arduino Batay sa Sistema Na May Dalawang sinturon: Ang transportasyon at / o pag-iimpake ng mga produkto at item sa larangan ng industriya ay ginagawa gamit ang mga linya na ginawa gamit ang mga conveyor belt. Ang mga sinturon ay tumutulong upang ilipat ang item mula sa isang punto patungo sa isa pa na may tiyak na bilis. Ang ilang mga gawain sa pagpoproseso o pagkakakilanlan ay maaaring
Murang Smartphone na Kinokontrol ng Smartphone (+ Posisyon ng Pag-save ng Opsyon): 5 Hakbang
Murang Smartphone na Kinokontrol ng Smartphone (+ Posisyon ng Pag-save ng Opsyon): Ang proyektoDrive isang robotic arm na kinokontrol ng smartphone gamit ang bluetooth device. Bonus bonus: mayroon kaming isang pindutan na pinapayagan ang arduino na matandaan ang isang posisyon. Kailan man gusto natin, maaari kaming pumunta sa nai-save na posisyon na ito gamit ang isa pang pindutan. FRLE PROJET Command
Smartphone na Kinokontrol ng Smartphone [Prototype]: 7 Hakbang
Smartphone Controlled Car [Prototype]: Sa ngayon ay nagtuturo, tinutulungan ka naming bumuo ng isang simple at matikas na prototype para sa isang remote control na kotse, na may isang kahoy na base, na nagsasama ng 3D naka-print na Polylactic Acid (PLA) para sa motor bracing at adapter na kung saan kinokonekta ang mga motor sa ika
Paano Gumawa ng Smartphone na Kinokontrol ng Smartphone: 3 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng Smartphone na Kinokontrol ng Smartphone: Naisip mo bang kontrolin ang iyong robot nang wireless o higit sa paggamit ng smartphone? Kung oo, pagkatapos ang iyong tamang post sa pagbabasa. Sa post na ito bibigyan kita ng hakbang-hakbang na pamamaraan. Gumawa ako ng isang simpleng robot na maaaring makontrol gamit ang smartphone ngunit maaari mong ilagay ang isang