Smart Piscina Com IoT Ionic Dweet E DragonBoard

Informações do produto:

O Smart Piscina Com IoT é um produto de arquitetura IoT que
permite o controle e monitoramento de uma piscina usando Ionic,
tecnologias Dweet e DragonBoard. Inclui componentes como
o Linker Mezzanine, 96Boards GPIO e Py-Spidev. O produto
permite que os usuários monitorem o status do tratamento, o status da bomba,
estado do reservatório e valor de pH da piscina. O produto também
inclui um provedor Dweet que permite aos usuários enviar dados para o
Plataforma Dweet.io para análise posterior.

Instruções de uso do produto:

Para usar o produto Smart Piscina Com IoT, siga estas
instruções:

  1. Atualize e atualize o software executando o seguinte
    comandos no terminal:
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade
  2. Instale componentes adicionais executando os seguintes comandos
    no terminal:
    sudo apt-get install gedit
    sudo apt-get install python-pip
    sudo apt-get install build-essential autoconf automake
    libtool-bin pkg-config python-dev

    git clone
    https://github.com/jackmitch/libsoc.git

    cd libsoc
    sudo autoreconf -i
    sudo ./configure --enable-python=2 --enableboard=
    dragonboard410c --with-board-configs

    sudo make
    sudo make install
    sudo ldconfig /usr/local/lib
    git clone
    https://github.com/96boards/96BoardsGPIO.git

    cd 96BoardsGPIO/
    sudo ./autogen.sh
    sudo ./configure
    sudo make
    sudo make install
    sudo ldconfig
    git clone https://github.com/doceme/pyspidev.git
    cd py-spidev
    sudo python setup.py install
    sudo ldconfig
  3. Edite o libsoc.conf file executando o seguinte comando em
    o terminal:
    sudo gedit /usr/local/etc/libsoc.conf
    Atualizar o file conteúdo para o seguinte:
    { status_tratamento: 0, ligadesliga_bomba: 0, status_bomba:0,
    status_reservatorio:0, PH_setpoint:6, PH_valor: 4 }
  4. Instale a biblioteca de solicitações executando o seguinte comando em
    o terminal:
    sudo pip install requests
  5. Use o produto importando spidev, time, Dweet, gpio e
    GPIO. Execute as funções necessárias para controlar e monitorar o
    piscina. por example, use a função readPH para ler o pH
    valor da piscina. Use a função liga_des_bomba para ligar/desligar
    a bomba. Use a função atualiza_sp para atualizar o setpoint de pH
    valor. Use a função dweetPost para enviar dados para o Dweet.io
    plataforma para análises posteriores.

instrutíveis
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard
por rxidieh
Introdução
Apresento aqui uma solução para monitoramento e tratamento de piscinas de maneira remota, que poderia ser usado tanto pelo proprietário de um imóvel, como por algum piscineiro que poderia veri carro remotamente diversas piscinas as quais ele atende. O hardware utilizado é baseado na placa DragonBoard da Qualcom e na placa Linker Mezanine da 96boards. Também serão utilizados sensores da Arrow para a placa Linker Mezanine. Esta não é uma implementação nal! Mas sim um desenvolvimento para mostrar como realizar a programação do Hardware, a comunicação com um serviço repositório na nuvem e a criação de um app para acesso e controle do sistema. As funções criadas são: -Controle do PH da Piscina -Acionamento da Bomba e monitoramento -Monitoramento do nível do reservatório de produto para tratamento
Arquitetura IoT
A automação e o controle do tratamento da piscina são realizados pelo Dragonboard, com interface do usuário via app Web. Para que isto seja possível, é utilizada a arquitetura demonstrada na imagem, e consiste em:
1. Os dados são lidos e processados ​​pela Dragonboard 2. A DragonBoard escreve em um repositório na Web, neste caso o Dweet.io 3. O Dweet.io disponibiliza as informações lidas para que estejam disponíveis para outras aplicações 4. Um aplicativo Web desenvolvido no Ionic e acessa os dados do Dweet.io e apresenta em uma interface
HTML para o usuário
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 1

Passo 1: Configuração do Hardware
Como dito, foi utilizado o DragonBoard 410c para realizar a automação e controle local da piscina. Junto com a Dragonboard foi instalado um shield da 96boards chamado Linker Mezanine, que facilita o acesso aos IOs da DragonBoard. Este shield tb possui dois conversores A/D para leitura de dados analógicos. Nas imagens existe a con guração utilizada para conexão dos IOs deste exemplo.
1. Foi considerado o uso compatível de um PHmetro que fornece uma saída proporcional de 0 a 5V para que seja com a entrada do A/D. Caso seja utilizado um com sinal maior, será necessário um divisor resistivo para compatibilizar o sinal com a entrada
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 2

2. No exemplo, ao comparar de um PHmetro foi utilizado um potênciometro para simulação do sinal 3. Para simular o acionamento da bomba foi utilizado um led, que em um projeto real poderia ser um
acoplamentor ótico acionando um TRIAC ou relé 4. O sensor de rotação da bomba foi simulado com um sensor de toque. Em uma aplicação real poderia ser
um sensor no eixo da bomba ou um contado auxiliar do contator que aciona a bomba. Neste caso, em caso de defeito da bomba ou queda do disjuntor, seria possível veri car que a bomba foi acionada e não está girando 5. O sensor para nível do reservatório é um do tipo “tilt” que deve ser instalado em um bóia 6 Por m, a dosagem de produto é feita por uma eletroválvula acionada por um relé
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 3

Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 4

Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 5

Passo 2: Preparação Da DragonBoard
Atualização da Placa e instalação das bibliotecas p/ 96boards
A placa DragonBoard vem de fábrica com uma distribuição Linux chamada Linaro, ela é su ciente em recursos para executar esta aplicação, bastando atualizar a placa e realizar a instalação das bibliotecas da 96boards para interface com um Linker Mezanine. Uma vez que estamos trabalhando no Linux, podemos acessar o Terminal para realizar os comandos de atualização e instalação de bibliotecas: Os seguintes comandos atualizam a atualização da placa:
sudo apt-get atualização sudo apt-get atualização sudo apt-get dist-upgrade
Para trabalhar com o Python, também realize a instalação de um editor de textos e do interpretador
sudo apt-get instalar gedit sudo apt-get instalar python-pip
Na sequência serão instaladas as Bibliotecas necessárias. Os comandos devem ser apresentados na ordem a seguir e são críticos para a instalação correta:
sudo apt-get install build-essential autoconf automake libtool-bin pkg-config python-dev sudo reinicialização
LIBSOC (Acesso ao Linker Mezanine)
git clone https://github.com/jackmitch/ libsoc.git cd libsoc sudo autoreconf -i sudo ./configure –enable-python=2 –enableboard= dragonboard410c –with-board-configs sudo make sudo make install sudo ldconfig /usr /local/lib sudo reboot
96 placas:
git clone https://github. com/96boards/96BoardsGPIO.git
cd 96PlacasGPIO/
sudo ./autogen.sh sudo ./configure sudo make sudo make install sudo ldconfig
Quase no m… mas aproveitamos para instalar tb a biblioteca para acessar a parte assinada da Linker Mezanine:
git clone https://github.com/doceme/pyspidev.git cd py-spidev sudo python setup.py instalar sudo ldconfig sudo reboot
É importante lebrar que na LIBSOC estão as referências de endereçamento da Linker Mezanine, e servir de referência caso precise acessar diretamente um endereço de IO
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 6

sudo gedit /usr/local/etc/libsoc.conf
Passo 3: Criação Do Objeto No Dweet.io
Como o próprio slogan diz, o dweet.io funciona como um Twitter para IoT, onde as coisas podem enviar e receber dados pela internet de maneira facilitada característica Uma importante é que o Dweet não necessita de uma autenticação complexa para acessar os dados, o que o torna interessante para início dos testes com IoT. Para criar o objeto no Dweet basta seguir os seguintes passos:
1. Acesse o Dweet.io e clique em “Play” 2. Na guia POST, crie um nom para o obejto no campo “coisa” 3. Não campo “conteúdo” adiciona os dados que serão lidos e enviados. Os dados devem estar no formato
“json” 4. Clique em “Try it out!” e observe o resultado em “Response Body” 5. Caso queira con rmar o uncionamento da “coisa”, vá até ocampo “Get Lattest Dweet”, insira o nome do
objeto criado e clique em “Try it out” para veri car a resposta do Dweet. Para esta aplicação foi criado o objeto “smart_piscina” que tem o seguinte conteúdo:
{ “status_tratamento”: 0, “ligadesliga_bomba”: 0, “status_bomba”:0, “status_reservatorio”:0, “PH_setpoint”:6, “PH_valor”: 4 }
Nele estão todos os dados necessários para comunicação entre o DragonBoard e a aplicação Web. É importante ressaltar que o nome do objeto deve ser alterado no Dweet e no código fonte das aplicações para evitar que outros dispositivos acessem simultaneamente a coisa gerando resultados exibidos
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 7

Passo 4: Programação Em Python

Lógica de Funcionamento

Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 8

O software de Controle da Piscina foi desenvolvido em Python, que é uma linguagem simples e interpretada, ou seja, não necessita de compiladores para obter a execução da aplicação. As funções realizadas pelo software piscina_ nal.py, que rodam na DragonBoard são as seguintes:
1. Controle o PH, monitorando o valor medido na piscina e comparando com o “Setpoint” de nido pelo usuário no Web aplicativo. A correção será feita dosando produto através do acionamento da eletroválvula.
2. O acionamento da eletroválvula é temporizado, ou seja, uma certa quantidade de produto é dosada e a lógica aguarda um determinado período para realizar uma nova dosagem
3. O controle só é realizado se a bomba da piscina estiver em funcionamento e se o nível do tanque de produto para dosagem estiver ok!
4. Quando o PH atingir um valor superior ao desejado, a dosagem para automaticamente 5. Controle a bomba, ligando e desligando a mesma através do Web app, conforme solicitação do usuário 6. Monitora e informa ao usuário o nível do reservatório do produto de Dosagem 7. Informa anomalia na bomba, caso seja ligado e não rodado.
Antes de apresentar o código, devemos realizar algumas configurações na Dragonboard para que ela se comunique com o Dweet.io
Componentes adicionais
Instalar a biblioteca REQUESTS para realizar funções de POST e GET em HTTP
solicitações de instalação sudo pip
Copiar o arquivo dweet.py para a mesma pasta onde está a aplicação smart_piscina.py

Código Fonte em Python
A seguir apresentamos o código por partes, nesta primeira são lidas as bibliotecas necessárias, con gurados os IOs e realizada a leitura do valor de PH.

importar tempo de importação do spidev do dweet importar Dweet da libsoc importar gpio de gpio_96boards importar GPIO

COMANDO_BBA = 36

#Comando Bomba

NIVEL_PROD = 13

#Chave de nível

DOSAGEM_VVL = 115

#Valvula Dosagem

BBA_LIGADA = 24 #Retorno de Bomba ligada

GPIO_CS=18

#Sensor PH (Analógico)

pinos = (

(GPIO_CS, 'out'),(COMANDO_BBA, 'out'),(DOSAGEM_VVL, 'out'),(NIVEL_PROD, 'in'),(BBA_LIGADA, 'in')

)

doce = doce()

spi = aranhav.SpiDev()

sp.open(0,0)

spi.max_speed_hz=10000

spi.mode = 0b00

spi.bits_per_word = 8def readPH(gpio):

gpio.digital_write(GPIO_CS, GPIO.HIGH)

time.sleep (0.0002)

gpio.digital_write(GPIO_CS, GPIO.LOW)

r = spi.xfer2([0x01, 0x80, 0x00])

gpio.digital_write(GPIO_CS, GPIO.HIGH)

adcout = (r[1] << 8) & 0b1100000000

adcout = adcout | (r[2] & 0xff)

adcout = (adcout * 0.014)

#converter para PH 0 a 14

retorno adcout

Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 9

Na segunda parte, é realizada a leitura do Dweet e os dados armazenados em variáveis ​​globais para as lógicas do software:

def le_dweet():

#Le qual setpoint para tratamento

global ld_bomba, st_bomba, st_trat, st_res, PH_valor, PH_SP

resposta = dweet.latest_dweet(name=”smart_piscina”)

ld_bomba = resposta['com'][0]['conteúdo']['ligadesliga_bomba']

st_bomba = resposta['com'][0]['conteúdo']['status_bomba']

st_trat = resposta['with'][0]['content']['status_tratamento']

st_res = resposta['with'][0]['content']['status_reservatorio']

PH_valor = resposta['com'][0]['conteúdo']['PH_valor']

PH_SP = resposta['com'][0]['conteúdo']['PH_setpoint']

retornar ld_bomba, st_bomba, st_trat, st_res, PH_valor, PH_SP

A terceira parte é a função que realiza o tratamento da piscina, com a lógica para acionamento baseado no PH, nível do reservatório e bomba ligada. Observe que as variáveis ​​de monitoramento são as mesmas lidas pelo Dweet, desta forma atualizar os valores na lógica para que despois sejam enviados novamente ao serviço.
def tratamento(): global st_trat, st_res, st_bomba st_res = gpio.digital_read(NIVEL_PROD) st_bomba = gpio.digital_read(BBA_LIGADA) if (PH_valor < PH_SP) e ( st_res == 1) e ( st_bomba == 1): gpio. digital_write(DOSAGEM_VVL, GPIO.HIGH) time.sleep(2) #tempo da dosagem do produto gpio.digital_write(DOSAGEM_VVL, GPIO.LOW) time.sleep(1) #espera entre dosagens st_trat = 1 print(“TRATAMENTO lIGADO”) else: gpio.digital_write(DOSAGEM_VVL, GPIO.LOW) st_trat = 0 print(“TRATAMENTO DESlIGADO”) return st_trat, st_res

A quarta e última parte é o looping de execução da lógica. A ordem em que as subrotinas são chamadas é importante para que os dados lidos pelo Dweet sejam atualizados e depois enviados para a visualização correta no Web aplicativo.

if __name__=='__main__': com GPIO(pins) como gpio: while True:
le_dweet() tratamento() PH_valor = round(readPH(gpio), 2) if ld_bomba == 1: gpio.digital_write(COMANDO_BBA, GPIO.HIGH) print(“Bomba Ligada”) else: gpio.digital_write(COMANDO_BBA, GPIO. LOW) print(“Bomba Desligada”) print(“Valor do PH = %d” % PH_valor) print(“Valor do SP PH = %d” % PH_SP) print(“”) dweet.dweet_by_name(name=”smart_piscina” , data={“ligadesliga_bomba”:ld_bomba, “status_bomba”:st_bomba, “status_tratamento”:st_trat, “status_reservatorio”:st_res, “PH_valor”:PH_valor, “PH_setpoint”:PH_SP}) time.sleep(10)

https://www.instructables.com/ORIG/FPV/I7ZO/JAMTVW5R/FPVI7ZOJAMTVW5R.py https://www.instructables.com/ORIG/FMD/BHS3/JAMTVW5V/FMDBHS3JAMTVW5V.py

Baixar Baixar

Passo 5: Desenvolvimento Do APP – Ambiente Hídrido
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 10

Plataforma híbrida Ionic
O aplicativo para controle de piscina será desenvolvido utilizando uma plataforma híbrida, ou seja, fazemos uma abstração do hardware que o aplicativo será utilizado e desenvolvemos um projeto utilizando HTML, CSS e Javascript que posteriormente pode ser convertido em um aplicativo para uma plataforma específica como Android ou IOS. Neste caso utilizamos o IONIC, que funciona baseado na plataforma Cordova, que permite visualizar e testar a aplicação através da renderização na mesma na tela de um Web Navegador. Para o Desenvolvimento do app, utilizaremos a linguagem HTML e Typescript. o IONIC também permite a utilização do framework Angular para trabalhar os componentes ocs como Models e Controllers.
Instalação do Ambiente de Desenvolvimento
O desenvolvimento do aplicativo será realizado em um computador pessoal, e não na placa DragonBoard. Iniciaremos com a instalação do node.js, necessário apra o funcionamento do Ionic Acessar o site https://nodejs.org/en/ e fazer o Download da última versão do node.js Após concluída a instalação, o gerenciador de pacotes NPM deve ter sido instalado durante a instalação do node.js. Ele permitirá realizar a instalação do Ionic. No prompt de comando do Windows realize a instalação com os seguintes comandos:
npm instalar g cordova ionic npm instalar g cordova
Para testar o ionic, o seguinte comando pode ser executado e se tudo estiver ok retornará a versão instalada:
v iônico
Criação da aplicação no Ionic
Não, não tem uma interface agradável. Tem que criar o app utilizando uma linha de comandos. Mas depois a facilidade de uso compensa. Para criar uma nova aplicação, neste caso a smart_piscina, digitamos o seguinte comando:
início iônico smart_piscina em branco
Será criada uma nova aplicação em branco que será salva no diretório:
C:UsuáriosNome do usuáriosmart_piscina
Para testar o código:
cd smart_piscina serviço iônico
Será aberta uma tela no navegador padrão mostrando o aplicativo em branco
Passo 6: Desenvolvimento Do APP – Edição Da Aplicação
A edição da aplicação em branco gerada pelo Ionic será realizada no Visual Studio Code, aplicativo gratuito de programação desenvolvido pela Microsoft e que pode ser baixado no site: https://code.visualstudio.com/download Os códigos alterados são apresentados a seguir, mas também estão disponíveis para download.
Interface
A interface com o usuário será editada no arquivo home.html. Observe que como tags utilizados são próprios do Ionic e contém Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 11

alguns parâmetros inseridos utilizando os recursos do framework Angular. Os recursos do Angular são usados ​​no botão de acionamento da bomba e na entrada do valor de Setpoint do PH. Não é possível apresentar o código aqui por uma limitação do Instructables, que apaga as tags. De qualquer forma está disponível no arquivo compactado para download.
Processamento
As fuções referentes a leitura e escrita de dados no Dweet e lógicas em geral para o correto funcionamento da interface estão no arquivo home.ts desenvolvido em Typescript, linguagem muito semelhante ao Javascript
importar {Componente} de '@angular/core'; importar { NavController } de 'iônico-angular';
//É preciso importar o provedor. import { DweetProvider } de '../../providers/dweet/dweet';
@Component({ seletor: 'página inicial', modeloUrl: 'home.html'
})
exportar classe HomePage {
construtor (navCtrl público: NavController, DweetProvider privado: DweetProvider) { }
//Declarações de Variáveis ​​public respostaDweet: string=””; public status_tratamento: string=”perigo”; public st_trat = 0; public status_bomba: string=”perigo”; público st_bba = 0; public status_reservatorio: string=”perigo”; public st_res = 0; public locais = Array(); público PH_val = 0; público SP_PH = 0;
//Modelo do botão de ligar bomba public bomba_model = {
verificado: falso, nome: “Ligar Bomba” }
íonViewDidLoad () { //buscando os dados no Dweet e salvando nas variáies locais this.DweetProvider.getLastestDweet(“smart_piscina”).subscribe( data=>{
resposta const = (dados como qualquer); const objeto_retorno = JSON.parse(response._body); this.locais = objeto_retorno.with[0].content; this.bomba_model.checked = objeto_retorno.with[0].content.ligadesliga_bomba; this.st_bba = objeto_retorno.with[0].content.status_bomba; this.st_trat = objeto_retorno.with[0].content.status_tratamento; this.st_res = objeto_retorno.with[0].content.status_reservatorio; this.PH_val = objeto_retorno.with[0].content.PH_valor; this.SP_PH = objeStmo_arret tPoirsncoin.wa iCtho[m0].IcooTn-teIonnti.cP,HD_wseeettpEoinDtr;agonBoard: Página 12

this.SP_PH = objeto_retorno.with[0].content.PH_setpoint; console.log(this.locais); }, erro => { console.log(erro); } ) //Atualiza ícones de Status this.status_bomba = ((this.st_bba == 1) ? “secondary” : “danger”); this.status_tratamento = ((this.st_trat == 1) ? “secundário” : “perigo”); this.status_reservatorio = ((this.st_res == 1) ? “secundário” : “perigo”); }
//Botão Atualizar update() {
este.ionViewDidLoad(); }
//Liga Desliga Bomba liga_des_bomba(){ this.dweetPost() }
atualiza_sp(){ this.dweetPost()
}
dweetPost(){ //Converte dados do botão Boolean para inteiro const ld_bba = ((this.bomba_model.checked == true) ? 1 : 0);
//Envia dados para o Dweet.io const json_dweet = {“ligadesliga_bomba”: ld_bba, “status_bomba”: this.st_bba, “status_tratamento”: this.st_trat, “status_reservatorio”: this.st_res, “PH_valor”: this.PH_val , “PH_setpo int”: this.SP_PH}; this.DweetProvider.setDweet(“smart_piscina”,json_dweet).subscribe(
dados=>{ console.log(dados); }, error=> { console.log(erro); } ) } }
Provedor de Dweet
É necessário criar um provedor para realizar a comunicação HTTP com o Dweet. Isto é feito através do Ionic com o seguinte comando no prompt de comando:
provedor de geração iônica dweet
Neste momento é gerado o arquivo dweet.ts que deve ter os comandos referentes a conexão com o Dweet e realização das funções de GET e POST. O código necessário é exibido a seguir:
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 13

importar { Http } de '@angular/http'; importar { Injetável } de '@angular/core'; import 'rxjs/add/operator/map'; /*
Classe gerada para o provedor DweetProvider. Consulte https://angular.io/guide/dependency-injection para obter mais informações sobre provedores e Angular DI. */ @Injectable() classe de exportação DweetProvider { base privadaUrl = “https://dweet.io:443/” construtor (http público: Http) {
console.log('Olá Provedor DweetProvider'); } //Método responsável por buscar as informações no Dweet. getLastestDweet(coisa: string) {
constante url_get=este.baseUrl + “get/latest/dweet/for/” + coisa; console.log(url_pegar); retorne isto.http.get(url_pegar); } //Método responsável por modificar os dados no Dweet. setDweet(coisa, corpo) { return this.http.post(this.baseUrl + “doce/para/”+ coisa, corpo); } }
Por m, é necessário realizar uma modificação no arquivo app.module.ts para que carreguem os componentes HTTP para o funcionamento do Dweet Provider:
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 14

importar { BrowserModule } de '@angular/platform-browser'; importar { ErrorHandler, NgModule } de '@angular/core'; import { IonicApp, IonicErrorHandler, IonicModule } de 'iônico-angular'; importar { SplashScreen } de '@ionic-native/splash-screen'; importar { StatusBar } de '@ionic-native/status-bar'; importar { HttpModule } de '@angular/http'; importar { MyApp } de './app.component'; importar { HomePage } de '../pages/home/home'; importar { DweetProvider } de '../providers/dweet/dweet'; @NgModule({
declarações: [ MyApp, HomePage
], importa: [
BrowserModule, IonicModule.forRoot(MyApp), //Importa o módulo HTTP usado pelo Dweet. HttpModule ], bootstrap: [IonicApp], entryComponents: [ MyApp, HomePage ], provedores: [ StatusBar, SplashScreen, {provide: ErrorHandler, useClass: IonicErrorHandler}, DweetProvider ] }) export class AppModule {}
Ufá!
Salve tudo e teste a aplicação através do comando:
saque iônico
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 15

Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 16

Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 17

Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 18

https://www.instructables.com/ORIG/FUH/W6SK/JAMTWKY9/FUHW6SKJAMTWKY9.zip

Download

Passo 7: Colocando Tudo Para Funcionar!!
1.Iniciando o Dweet: No site Dweet.io, crie o objeto conforme descrito no passo 3
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 19

2.Iniciando a aplicação no DragonBoard: Abra o Terminal no Linaro, acesse a pasta onde está a aplicação smart_home.py e digite o comando:
sudo python smarthome.py
3.Iniciando um aplicativo no Ionic: Abra o prompt de comando, acesse a pasta onde está o aplicativo criado no Ionic e digite o comando
saque iônico
https://youtu.be/O27f93xE0bk https://youtu.be/HaSeRf3wkSI https://youtu.be/vx16cLQKOeU
Etapa 8:
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Página 20

Documentos / Recursos

Instructables Smart Piscina Com IoT Ionic Dweet E DragonBoard [pdf] Instruções
Piscina Inteligente Com IoT Ionic Dweet E DragonBoard, Piscina Inteligente, Com IoT Ionic Dweet E DragonBoard, Dweet E DragonBoard

Referências

Deixe um comentário

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *