Оглавление:

SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 шагов
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 шагов

Видео: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 шагов

Видео: SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR SMARTPHONE: 8 шагов
Видео: 💦Blackview BV9200 ЧЕСТНЫЙ ОБЗОР ПРОТИВОУДАРНОГО 2024, Ноябрь
Anonim
Image
Image
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR СМАРТФОН
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR СМАРТФОН
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR СМАРТФОН
SISTEMA DE IRRIGAÇÃO AUTOMÁTICA CONTROLADA POR СМАРТФОН

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAISCurso: Especialização em Arquitetura de Software Distribuído

Дата: 26.10.2017

Unidade: Praça da Liberdade

Disciplina: Internet das Coisas

Профессор: Ило Риверо

Алунос: Бруно Валгас ([email protected])

Деллан Хоффман П. Силва ([email protected])

Эбер Алвес Феррейра ([email protected])

Жан Карлос Батиста ([email protected])

Джордан Батиста ([email protected])

ВСТУПЛЕНИЕ

Как бы это было, если бы мы могли поливать растения в любое время и в любом месте? С проектом WaterPlant это станет возможным. Этот проект был разработан с целью повышения удобства и практичности обращения с этим столь важным для планеты.

ВВЕДЕНИЕ

Como seria se pudéssemos aguar nossas plantas a qualquer hora e de qualquer lugar? Com o Projeto WaterPlant será Possível. Este projeto foi desenvolvido visando melhorar comodidade e praticidade para tratar deste ser tão importante para o planeta.

FUNCIONAMENTO

O projeto foi desenvolvido para monitoramento de jardins, onde é possible efetuar a verify do estado do solo, com relação a sua umidade. Sendo assim, por meio de parâmetros da umidade do Solo é Possível Avaliar a needidade de sua irrigação.

Placa envia informações для API, armazenada na nuvem, que por sua vez é acessada pelo aplicativo mobile, que Recebe и trata tais informações. Desta forma aplicação mantem o usuário informado da situação do solo. O usuário em contato com a aplicação poderá solicitar or 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.

Шаг 1: КОМПОНЕНТЫ - DRAGONBOARD

КОМПОНЕНТЫ - DRAGONBOARD
КОМПОНЕНТЫ - DRAGONBOARD

Доска дракона 410C

DragonBoard 410C - это основная платформа для обработки данных, не обрабатывающая серию Qualcomm Snapdragon 400, с подключением к сети Wi-Fi, Bluetooth и GPS, а также с указанием местоположения, приближенного к универсальному картографическому файлу, и отслеживающего процесс 64-битного процесса. Qualcomm с тактовой частотой 1,2 ГГц, с 1 ГБ памяти DDR3 533 МГц и 8 ГБ памяти с памятью (eMMC).

Цена: 500–750 реалов.

Шаг 2: КОМПОНЕНТЫ - ЛИНКЕРНАЯ БАЗА

КОМПОНЕНТЫ - ЛИНКЕРНАЯ БАЗА
КОМПОНЕНТЫ - ЛИНКЕРНАЯ БАЗА

Placa de expansão для mapeamento e utilização de portas, упрощает использование сенсоров.

Шаг 3: КОМПОНЕНТЫ - ДАТЧИК

КОМПОНЕНТЫ - ДАТЧИК
КОМПОНЕНТЫ - ДАТЧИК

Sensor de Umidade do Solo

Этот датчик использует электроды для прохода, чтобы проверить, соло и на нижнем уровне умидаде по сравнению с сопротивлением, выполняемым с помощью датчиков. Quando o solo estiver seco, a sua resistência aumenta, сложное пассажем de corrente. Com a Absorção da água, resistência do solo diminui allowindo a Passm 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 é ajustado para que tenha valor lógico 1 quando a umidade for maior do que um valor prefinido, ajustado através do Potenciômetro presente no módulo.

Цена: 6 ~ 20 реалов.

Шаг 4: DESENVOLVIMENTO COM WINDOWS 10 IOT CORE

Приложение для рабочего стола Dragonboard 410c для работы с Windows 10 IoT Core.

O Windows 10 IoT Core - это платформа для работы, предназначенная для облегчения работы с активными программными средствами. Com element desenvolver para várias placas existentes no mercado, bastando ter instalado no computador os seguintes itens (já em sequência de instalação, no caso de uso da Dragonboard):

  • Сообщество Visual Studio 2017 или лучше других (https://www.visualstudio.com/thank-you-downloading…);
  • Инструмент обновления DragonBoard;
  • Панель мониторинга Windows 10 IoT Core;
  • Образ ядра DragonBoard Windows 10 IoT;
  • Шаблоны проектов Windows IoT;

Завершенный процесс для установки и настройки при включении без перехода по ссылке:

Используется для установки и настройки конфигурации учебного пособия Microsoft, основанного на новом проекте Visual Studio, для типового фонового приложения.

Для этого учебного пособия можно использовать или завершить работу с приложениями на GitHub на

Эта конфигурация может быть применима, но StartupTask.cs не создан, чтобы сделать проект, и вам нужно пояснить, как участвовать в работе над проектом.

О главном методе приложения é o Run () e seu código é o seguinte:

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

Os métodos InitGPIO () e InitSPI () inicializam varáveis para serem utilizadas na nossa aplicação enquanto as varáveis timer e timer2 криам 2 таймера для нескольких исполнений, количественно заданных по времени, и не более 10 миллионов параметризированных таймеров (10 миллионов). Para alterar esse tempo basta mudar estes valores nessa parte do código.

O Método InitGPIO () seguir tem como função defir as configuraçõese do pino que ativa a válvula solenoide de água. Nesse exemplo de código para a Dragonboard или código do pino foi o 36.

частная недействительность InitGPIO ()

{var gpio = GpioController. GetDefault (); если (gpio == null) {pin = null; возвращение; } pin = gpio. OpenPin (36); если (контакт == ноль) {возврат; } pin. Write (GpioPinValue. High); pin. SetDriveMode (GpioPinDriveMode. Output); }

Метод InitSPI () настраивает порт SPI0 для Dragonboard.

частная асинхронная задача InitSPI ()

{попробуйте {var settings = new SpiConnectionSettings (0); // Выбор порта SPI0 для DragonBoard settings. ClockFrequency = 500000; // Конфигурация часов для настройки SPI em 0.5MHz. Mode = SpiMode. Mode0; // Конфигурация поляридации и синхронизации по SPI var controller = await SpiController. GetDefaultAsync (); SpiADC = controller. GetDevice (настройки); } catch (Exception ex) {throw new Exception ("Falha na inicialização do SPI", ex); }}

Первый таймер вызывает метод Timer_Tick (), который выполняет функцию проверки параметров API, которая содержит команду для инициализации ирригации. O seguinte trecho de código é responseável pela chamada à API:

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

httpWebRequest. ContentType = "приложение / json"; httpWebRequest. Method = "ПОЛУЧИТЬ";

Neste trecho de código deve ser alterado para o endereço onde será Hospedado o código da API para buscar o comando de irrigação. É neste trecho de código que a irrigação é encerrada também.

Для второго таймера используется метод Timer_Tick2 (), который откликается на работу, чтобы сделать один момент времени. Нет последовательности действий по кодированию метода, который разрабатывает конфигурацию или endereço da API para o envio dos dados:

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

httpWebRequest. ContentType = "приложение / json"; httpWebRequest. Method = "POST";

Метод LerADC (байтовый канал) - это метод, отвечающий за аналоговый / цифровой преобразователь информации, который используется для сенсорного управления. Это адаптируемый информационный массив байтов, который преобразован в целые элементы метода ConvertToInt ([ReadOnlyArray] byte data). Segue os trechos de código:

public int LerADC (байтовый канал)

{байт readBuffer = новый байт [3]; byte writeBuffer = новый байт [3] {0x00, 0x00, 0x00}; writeBuffer [0] = 0x01; writeBuffer [1] = канал; SpiADC. TransferFullDuplex (writeBuffer, readBuffer); adcValue = ConvertToInt (readBuffer); return adcValue; } public int ConvertToInt ([ReadOnlyArray] byte data) {int result = 0; результат = данные [1] & 0x03; результат << = 8; результат + = данные [2]; вернуть результат; }

Шаг 5. ПОДГОТОВКА API

API для обработки на платформе NodeJS (https://nodejs.org), для использования или Swagger (https://swagger.io/specification/), модель и документальные материалы, использующие рекурсии для интеграции в систему.

Для вооружения базы данных MySQL, базы данных базы данных и открытого исходного кода.

Перейти к построению системы, созданной с помощью 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 serem tratados, depois escritos ou lidos pela camada de BO (descrita mais à diante). Nesta camada is 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.

○ / репозиторий: Camada de persistência de dados.

● / инфраструктура: Cama de configuração das strings de conexão do banco de dados e também do servidor que será provisionado pela própria aplicação.

Для получения дополнительной информации и консультации с кодом доступа или ссылкой на github:

Перейти к описанию рекурсивного доступа к API:

Метод: POST

URI: / api / v1 / umidades

Описание: Recurso utilizado for registar umidade coletada pelo sensor de umidade.

Пример требования:

{

«Доблесть»: 355}

Метод: GET

URI: / api / v1 / umidades

Описание: Recurso que recupera todos os registros de valores de umidade que foram salvos anteriormente.

Пример ответа:

[{«Id»: 1, «доблесть»: 355, «dataCadastro»: гггг-ММ-дд ЧЧ: ММ}]

Метод: POST

URI: / api / v1 / irrigacoes

Описание: Recurso utilizado para ativar o dispositivo de irrigação.

Метод: GET

URI: / api / v1 / irrigacoes

Описание: Recurso utilizado para verificar o estado de umidade atual do соло.

Пример ответа:

{

«Доблесть»: 355}

Шаг 6. МОБИЛЬНОЕ ПРИЛОЖЕНИЕ

МОБИЛЬНОЕ ПРИЛОЖЕНИЕ
МОБИЛЬНОЕ ПРИЛОЖЕНИЕ
МОБИЛЬНОЕ ПРИЛОЖЕНИЕ
МОБИЛЬНОЕ ПРИЛОЖЕНИЕ

Escolhemos uma tecnologia híbrida para gerar um código reutilizável para todas as plataformas (Android e IOS) para aumentar abrangência de usuários e diminuir o custo do projeto. Ионный - это фреймворк, который может иметь гигантскую библиотеку графических компонентов, которая упрощает визуальную реализацию для приложения. Используется веб-лингвагены (HTML, CSS и Javascript) для создания темы телеграммы Angular или ядра (ядро). Através do cordova (biblioteca javascript) или recursos do dispositivos são acessados pelo webview do mesmo.

O aplicativo consiste em realizar algumas Requisições for API do sistema fim de se obter informações sobre a umidade do solo e regar o mesmo remotamente. Através de um evento de botão uma Requisição é enviada para o servidor e ação corredente é realizada.

Ссылки:

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

O código fonte do aplicativo modelo encontra-se no GitHub, no endereço

Для того, чтобы применить функцию, конфигурировать или использовать API без arquivo server.ts que encontra-se no diretório /src/entity/server.ts(https://github.com/jeordanecarlosbatista/temperat…) или альтернативного варианта URI_PREFIX, conforme exemplo abaixo para o endereço onde está Hospedada API:

export class Server {

общедоступный статический только для чтения URI_PREFIX: string = "https://serverless-study.appspot.com/api/v1/"; / * общедоступный статический только для чтения URI_PREFIX: string = "https://dominio.com/aplicacao/"; * /}

Шаг 7: ФЛЮКСОГРАММА

ФЛЮКСОГРАММА
ФЛЮКСОГРАММА

Шаг 8: СПРАВОЧНИКИ

Instructables:

Qualcomm DragonBoard 410C:

Windows 10 и DragonBoard ™ 410c - идеальное начало для разработки Интернета вещей:

Монитор с использованием Arduino:

Рекомендуемые: