Smart Piscina Com IoT Ionic Dweet E DragonBoard
Informazione di u produttu:
U Smart Piscina Com IoT hè un pruduttu architettura IoT chì
permette u cuntrollu è u monitoraghju di una piscina cù Ionic,
Dweet, è tecnulugia DragonBoard. Include cumpunenti cum'è
u Linker Mezzanine, 96Boards GPIO, è Py-Spidev. U pruduttu
permette à l'utilizatori di monitorà u statu di trattamentu, u statutu di a pompa,
statutu di u reservoir, è u valore di pH di a piscina. U pruduttu ancu
include un fornitore Dweet chì permette à l'utilizatori di mandà dati à u
Piattaforma Dweet.io per più analisi.
Istruzzioni per l'usu di u produttu:
À aduprà u pruduttu Smart Piscina Com IoT, seguitate sti
instructions:
- Aghjurnate è aghjurnà u software eseguendu i seguenti
cumandamenti in u terminal:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
- Installa cumpunenti supplementari eseguendu i seguenti cumandamenti
in a 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
- Edite u libsoc.conf file eseguendu u cumandimu seguitu in
u terminal:
sudo gedit /usr/local/etc/libsoc.conf
Aghjurnà u file cuntenutu à i seguenti:
{ status_tratamento: 0, ligadesliga_bomba: 0, status_bomba:0,
status_reservatorio:0, PH_setpoint:6, PH_valor: 4 } - Installa a libreria di richieste eseguendu u cumandimu seguitu in
u terminal:
sudo pip install requests
- Aduprate u pruduttu impurtendu spidev, time, Dweet, gpio, è
GPIO. Eseguite e funzioni necessarie per cuntrullà è monitorà u
piscina. Per esample, aduprà a funzione readPH à leghje u pH
valore di a piscina. Aduprà a funzione liga_des_bomba per accende / spegne
a pompa. Aduprate a funzione atualiza_sp per aghjurnà u setpoint di pH
valore. Aduprate a funzione dweetPost per mandà dati à u Dweet.io
piattaforma per ulteriori analisi.
instructables
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard
da rxidieh
Introduzione
Apresento aqui uma sulução para monitoramento e trattamentu de piscinas de manera remota, que poderia ser usada tanto pelo proprietário de um imóvel, como por algum piscineiro que poderia veri car remotamente diversas piscinas as quais ele atende. U hardware utilizatu hè basatu nantu à a placa DragonBoard da Qualcom è a placa Linker Mezanine da 96boards. Hè ancu usatu i sensori di Arrow per a placa Linker Mezanine. Sta não é uma implementação nal! Mas sim um desenvolvimentu per mostrà cum'è realizà una programazione do Hardware, a cumunicazione cum'è u serviziu di repository in nuvem ea criação de um app per access and controle do sistema. As funções criadas são: -Controle do PH da Piscina -Acionamento da Bomba è monitoramentu -Monitoramentu do nível do reservatório of product for treatment
Architettura IoT
L'automatizazione è u cuntrollu di u trattamentu di a piscina sò realizati per Dragonboard, cum'è l'interfaccia d'usu via app Web. Per questu questu pussibule, hè utilizatu un'architettura dimustrata nantu à l'imaghjini, è cunsiste:
1. Os dados são lidos and processados pela Dragonboard 2. A DragonBoard guarda in un repository na Web, neste caso o Dweet.io 3. O Dweet.io disponibiliza as informações lidas para que sejam disponíveis per other aplicações 4. Um aplicativo Web desenvolvido no Ionic è Acessa os dados do Dweet.io è apresenta in a so interfaccia
HTML per usu
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 1
Passu 1: Cunfigurazione di l'hardware
Cum'è questu, hè stata utilizata à DragonBoard 410c per realizà un autumàticu è cuntrullà a piscina locale. Junto com a Dragonboard hè stallatu um shield da 96boards chjamatu Linker Mezanine, chì facilite l'accessu à i IOs da DragonBoard. Este shield tb possui dois conversores A/D per leitura de dados analogics. L'imaghjini esistenu cun una gurazione utilizata per cunnessu à i dui IOs di questu esempiu.
1. Hè statu cunsideratu o usu di um PHmetro chì forneça uma uscita proporcional di 0 à 5V per chì seja cumpativel cum'è entrata di A/D. Caso seja used um com sinal maior, será necessário um divisor resistivo per compatibilizar o sinal com a entrada
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 2
2. No example, ao invés de um PHmetro foi utilizatu um potênciometro per simulação do sinal 3. Per simular o acionamento da bomba foi utilizatu um led, chì em um projecto real poderia ser um
acoplador ótico acionando um TRIAC ou relé 4. O sensor de rotação da bomba foi simulado com um sensor de toque. Em uma applicação real poderia ser
um sensor no eixo da bomba ou um contado auxiliar do contator chì aciona a bomba. Neste caso, in casu di defeito da bomba ou queda do disjuntor, seria possível veri car chì a bomba foi acionada è não sta girando 5. O sensor para nível do reservatório è um do tipo “tilt” chì deverà esse installatu em uma bóia 6. . Por m, a doseagem de produto é feita por uma eletroválvula acionada por um relé
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 3
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 4
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 5
Passu 2: Preparazione Da DragonBoard
Atualização da Placa e instalação das bibliotecas p/ 96boards
A placa DragonBoard vem de fábrica cum'è uma distribuitu Linux Chjama Linaro, hè u so ciente in risorse per l'esecuzione di sta applicazione, bastandu atualizar a placa è realiza l'installazione di bibliotecas da 96boards per l'interfaccia cum'è Linker Mezanine. Una volta chì stamu travagliendu in Linux, pudemu accede à u Terminal per realizà i cumandamenti di attualizazione è installazione di biblioteca: I seguenti cumandamenti sò realizati à attualização da placa:
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
Per travaglià cum'è Python, ancu realizanu un'installazione di un editore di testi è di interpretatore
sudo apt-get install gedit sudo apt-get install python-pip
Na sequeência serão instaladas as Bibliotecas necessárias. I cumandamenti devenu esse presentati in ordine à seguità è são critics per a stallazione corretta:
sudo apt-get install build-essential autoconf automake libtool-bin pkg-config python-dev sudo reboot
LIBSOC (Accesso à 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 tavule:
git clone https://github. com/96boards/96BoardsGPIO.git
cd 96BoardsGPIO/
sudo ./autogen.sh sudo ./configure sudo make sudo make install sudo ldconfig
Quase no m… mas sfruttemu per installà tb a biblioteca per accede à a parte analogica da Linker Mezanine:
git clone https://github.com/doceme/pyspidev.git cd py-spidev sudo python setup.py install sudo ldconfig sudo reboot
É importante lebrar que na LIBSOC estão as referências de endereçamento da Linker Mezanine, e serve de referência case precise acessar diretamente um endereço de IO
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 6
sudo gedit /usr/local/etc/libsoc.conf
Passu 3: Criação Do Objeto No Dweet.io
Cume o próprio slogan diz, o dweet.io funziona cum'è um Twitter per IoT, in quantu cum'è coisas pò mandà è riceve dados per via internet di manera facilitata Uma caratteristica impurtante hè chì o Dweet ùn hè micca bisognu di uma autenticação complexa per acessar os dados, o chì o torna interessante per início dos testes com IoT. Per criar o object no Dweet basta seguire i seguenti passi:
1. Acessar o Dweet.io è clicar em "Play" 2. Na guia POST crie um nom per o obejto no campo "cosa" 3. Innò campo "cuntenutu" addiione os dados que serão lidos è enviados. Dados deve esse micca furmatu
"json" 4. Cliccate nantu à "Pruvate!" e observe o result em "Response Body" 5. Caso queira cun rmar o uncionamento da "coisa", vá até ocampo "Get Lattest Dweet", insira o nome do
obje criado e clique em "Try it out" per veri car a risposta di Dweet. Per questa applicazione hè criatu à l'ughjettu "smart_piscina" chì questu quì sottu:
{ “status_tratamento”: 0, “ligadesliga_bomba”: 0, “status_bomba”:0, “status_reservatorio”:0, “PH_setpoint”:6, “PH_valor”: 4 }
Nele hè tutti i dati necessarii per a cumunicazione trà DragonBoard è l'applicazione Web. É importante ressaltar que o nome do l'oggetto deve essere alterato no Dweet e no codice fonte das aplicações per evitar que altri dispositivi accessem simultaneamente a coisa gerando results indesejados
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 7
Passu 4: prugrammazione in Python
Logica de Funcionamento
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 8
U software di Controle da Piscina fu desenvolvido in Python, chì hè uma linguagem simples e interpretada, ou seja não necessaire di compiladores per ottene una esecuzione di l'applicazione. Cum'è funções realizatu u software piscina_ nal.py, chì roda nantu à DragonBoard cum'è seguenti:
1. Cuntrolla o PH, monitorendu o valore meditu in piscina è paragunendu cum'è "Setpoint" di nido per usuàrio no Web app. A correção serà feita dosando produttu através do acionamento da eletroválvula.
2. O acionamento da eletroválvula é temporizado, ou seja, uma certa quantità di produttu é dosada ea logica aguarda um determinat período para realizar uma nova dosagem
3. O controle só é realizado se a bomba da piscina estiver em functiono è se o nível do tanque de produto per dosagem estiver ok!
4. Quandu o PH atinge u valore superiore à u desideriu, a dosagem per automaticamente 5. Cuntrolla a bomba, ligando è disligandu a stessa através do Web app, cunfurmità sollicitazione 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, casu seja ligada è não rode.
Prima di apresentar o codice, devemu realizatu alcuni ajustes in Dragonboard per chì ela si cumunicà bè cumu o Dweet.io
Cumpunenti addiziunali
Installa a biblioteca REQUESTS per realizà funções di POST è GET in HTTP
richieste di installazione sudo pip
Copiar o archiviu dweet.py per a stessa pasta induve hè una applicazione smart_piscina.py
Codice Fonte in Python
A seguir apresentamos o codice por partes, nesta prima sao lidas as bibliotecas necessárias, cun gurados os IOs è realizatu a leitura analogica di valore di PH.
import spidev import time from dweet import Dweet from libsoc import gpio from gpio_96boards import GPIO
COMANDO_BBA = 36
#Comando Bomba
NIVEL_PROD = 13
#Chave de nivel
DOSAGEM_VVL = 115
#Valvula Dosagem
BBA_LIGADA = 24 #Retorno de Bomba ligada
GPIO_CS = 18
#Sensor PH (analogicu)
pins = (
(GPIO_CS, 'out'), (COMANDO_BBA, 'out'), (DOSAGEM_VVL, 'out'), (NIVEL_PROD, 'in'), (BBA_LIGADA, 'in')
)
dweet = Dweet ()
spi = spidev.SpiDev()
spi.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)
#convertite per PH 0 à 14
riturnà l'adcout
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 9
A seconda parte, hè realizata una lezione di Dweet è i dati armati in varii globi per cum'è logica di u software:
def le_dweet():
#Le qual setpoint per trattamentu
global ld_bomba, st_bomba, st_trat, st_res, PH_valor, PH_SP
resposta = dweet.latest_dweet(name=”smart_piscina”)
ld_bomba = risposta ['cù'][0]['cuntenutu']['ligadesliga_bomba']
st_bomba = risposta ['cù'][0]['cuntenutu']['status_bomba']
st_trat = risposta ['with'][0]['content']['status_tratamento']
st_res = risposta ['cù'][0]['cuntenutu']['status_reservatorio']
PH_valor = risposta ['cù'][0]['cuntenutu']['PH_valor']
PH_SP = risposta ['with'][0]['content']['PH_setpoint']
torna ld_bomba, st_bomba, st_trat, st_res, PH_valor, PH_SP
A terza parte hè una funzione chì realiza u trattamentu da piscina, cum'è una logica per acionamento basata no PH, nível do reservatório è bomba ligada. Nota chì cum'è variàveis di monitoramentu são cum'è mesmas lidas pelo Dweet, desta forma cunseguimos atualizar os valori na logica per chì dopu sejam novamente enviados 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) and ( st_res == 1) and ( 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 è ultima parte è o looping di execução da lógica. A orden onde as subrotinas são chiamas é importante para que os dados lidos pelo Dweet sejam atualizados e depois enviados para a correta visualização no Web app.
if __name__=='__main__': cù GPIO (pins) cum'è gpio: mentri True:
le_dweet() trattamentu() 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
Download Download
Step 5: Desenvolvimento Do APP - Ambiente Hídrido
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 10
Plataforma híbrida Ionica
L'applicativu per u cuntrollu di a piscina serà desenvolvitu utilizendu una piattaforma híbrida, o seja, facemu l'abstrazione di hardware chì l'app serà usata è sviluppa u prughjettu utilizendu HTML, CSS è Javascript chì posteriormente pò esse cunvertitu in una app per a piattaforma specifica cum'è. Android o IOS. In questu casu, utilizemu o IONIC, chì funziona basatu nantu à a piattaforma Cordova, chì permette di visualizà è testà l'applicazioni attraversu a renderizazione in a stessa tela. Web Browser. Per u sviluppu di l'app, l'usu di a lingua HTML è Typescript. o IONIC permette ancu l'utilizazione di u framework Angular per travaglià ocs cumpunenti cum'è Modelli è Controllers.
Instalação do Ambiente di Desenvolvimento
U sviluppu di l'app serà realizatu in un computer pessoal, è nantu à a placa DragonBoard. Inizieremu cum'è installà node.js, necessariu per u funziunamentu di Ionic Acessar o situ https://nodejs.org/en/ è fazer o Scaricate l'ultima versione di node.js Após concluída a stallazione, o gerencador de pacotes NPM deve hè statu stallatu durante l'installazione di node.js. Ele permetterà di realizà una stallazione di Ionic. Nisun promptu di cummanda di Windows realiza una stallazione cum'è i seguenti cumandamenti:
npm install g cordova ionic npm install g cordova
Per testare o ionic, u seguente comando pò esse eseguitu è se estiver tudo ok returnará a versão installata:
ionicu v
Criação da aplicação no Ionic
Não, não tem uma interface grá ca bonita. Tem que criar o app utilizendu una linea di comandi. Mas depois a facilidade de usu compensa. Per criar uma nova appiicazione, neste casu à smart_piscina, digitamos o seguenti cummanda:
ionic start smart_piscina blank
Serà criada uma nova applicazione in biancu chì sarà salvu senza diretoriu:
C:UsuáriosNome do usuáriosmart_piscina
Per testare o codice:
cd smart_piscina ionic serve
Será aberta uma tela senza navigatore padrão mostrandu a appiicazione in branco
Step 6: Desenvolvimento Do APP - Edição Da Aplicação
L'edizione di l'applicazioni in biancu hè stata fatta senza Visual Studio Code, applicazione gratuita di prugrammazione desenvolvida per Microsoft è chì pò esse scaricata in u situ: https://code.visualstudio.com/download. ma ancu hè dispunibule per scaricà.
Interfaccia
Una interfaccia cum'è usuariu serà editatu senza arghjintinu home.html. Nota chì cum'è tags utilizati propri prupizii di Ionic è cuntempu Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Pagina 11
alcuni paràmetri inseriti utilizendu i risorsi di u framework Angular. I risorsi di l'Angular ùn sò micca utilizati per l'azzione di a bomba è l'entrata di u valore di Setpoint di PH. Não é possível apresentar o code aqui per uma limitação do Instructables, chì apaga as tags. De qualquer forma ùn hè dispunibule micca un schedariu compactatu per u scaricamentu.
Prucessamentu
As fuções referents a leitura è scritta di dados no Dweet e logics em geral per o correttu funziunamentu di l'interfaccia ùn hè micca archiviu home.ts desenvolvido em Typescript, liguagem muito semelhante à Javascript
impurtà { Componente } da '@angular/core'; impurtà { NavController } da 'ionic-angular';
//É preciso importar o provider. impurtà { DweetProvider } da '../../providers/dweet/dweet';
@Component({ selector: 'pagina-home', mudelluUrl: 'home.html'
})
classe d'esportazione HomePage {
custruttore (navCtrl publicu: NavController, DweetProvider privatu: DweetProvider) {}
//Declarações de Variáveis risposta publica Dweet: string=""; public status_tratamento: string = "periculu"; public st_trat = 0; public status_bomba: string = "periculu"; public st_bba = 0; public status_reservatorio: string = "periculu"; public st_res = 0; public locu = Array (); publicu PH_val = 0; publicu SP_PH = 0;
//Model do botão de ligar bomba public bomba_model = {
verificatu: false, nome: "Ligar Bomba"}
ionViewDidLoad () { //buscando os dados no Dweet e salvando nei vari locali this.DweetProvider.getLastestDweet(“smart_piscina”).subscribe( data=>{
risposta const = (dati cum'è qualsiasi); const objeto_retorno = JSON.parse(response._body); this.locais = object_retorno.with[0].content; this.bomba_model.checked = objeto_retorno.with[0].content.ligadesliga_bomba; this.st_bba = object_retorno.with[0].content.status_bomba; this.st_trat = object_retorno.with[0].content.status_tratamento; this.st_res = object_retorno.with[0].content.status_reservatorio; this.PH_val = object_retorno.with[0].content.PH_valor; this.SP_PH = objeStmo_arret tPoirsncoin.wa iCtho[m0].IcooTn-teIonnti.cP,HD_wseeettpEoinDtr;agonBoard: Pagina 12
this.SP_PH = object_retorno.with[0].content.PH_setpoint; console.log(this.locais); }, errore => { console.log (errore); } ) //Atualiza icones de Status this.status_bomba = ((this.st_bba == 1) ? "secondary" : "periculu"); this.status_tratamento = ((this.st_trat == 1) ? "secondary" : "periculu"); this.status_reservatorio = ((this.st_res == 1) ? "secondary" : "periculu"); }
//Botão Atualizar update() {
questu.ionViewDidLoad (); }
//Liga Desliga Bomba liga_des_bomba(){ this.dweetPost() }
atualiza_sp(){ this.dweetPost()
}
dweetPost(){ //Convertite dados do botão de Boolean per 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(
data => { console.log (data); }, errore => { console.log (errore); } ) } }
Fornitore di Dweet
Hè necessariu crià u fornitore per fà una cumunicazione HTTP cum'è Dweet. Isto hè fattu attiratu da Ionic cum'è u seguente comando senza prompt di comando:
fornitore di generazione ionica dweet
Neste momento è gerado o arquivo dweet.ts chì deverà ter i cumandamenti referenti à cunnessu cum'è Dweet è realização das funções de GET è POST. U codice necessariu hè exibido à seguità:
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 13
impurtà { Http } da '@angular/http'; impurtà { Injectable } da '@angular/core'; impurtà 'rxjs/add/operator/map'; /*
Classe generata per u fornitore DweetProvider. Vede https://angular.io/guide/dependency-injection per più infurmazione nantu à i fornituri è Angular DI. */ @Injectable () classa d'esportazione DweetProvider { basa privataUrl = "https://dweet.io:443/" custruttore (public http: Http) {
console.log('Hello DweetProvider Provider'); } //Metodo responsável per cercà cum'è informazioni micca Dweet. getLastestDweet (cosa: stringa) {
cust url_get = questu.baseUrl + "get/latest/dweet/for/" + cosa; console.log(url_get); torna stu.http.get(url_get); } //Metudu rispunsèvule per mudificà i dati senza Dweet. setDweet (cosa, corpu) { return this.http.post (this.baseUrl + "dweet/for/"+ cosa, corpu); } }
Per quessa, hè necessariu di realizà una modificazione di u schedariu app.module.ts per carricà bè i cumpunenti HTTP per u funziunamentu di u Dweet Provider:
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 14
impurtà { BrowserModule } da '@angular/platform-browser'; impurtà { ErrorHandler, NgModule } da '@angular/core'; impurtà { IonicApp, IonicErrorHandler, IonicModule } da 'ionic-angular'; impurtà { SplashScreen } da '@ionic-native/splash-screen'; impurtà { StatusBar } da '@ionic-native/status-bar'; impurtà { HttpModule } da '@angular/http'; impurtà { MyApp } da './app.component'; impurtà { HomePage } da '../pages/home/home'; impurtà { DweetProvider } da '../providers/dweet/dweet'; @NgModule({
dichjarazioni: [ MyApp, HomePage
], impurtazioni: [
BrowserModule, IonicModule.forRoot(MyApp), //Importa o modulo HTTP utilizatu per Dweet. HttpModule ], bootstrap: [IonicApp], entryComponents: [ MyApp, HomePage ], fornitori: [ StatusBar, SplashScreen, {furnisce: ErrorHandler, useClass: IonicErrorHandler}, DweetProvider ] }) classe d'esportazione AppModule {}
Ufa!
Salve tudo e teste a applicação através do command:
serve ionica
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 15
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 16
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 17
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 18
https://www.instructables.com/ORIG/FUH/W6SK/JAMTWKY9/FUHW6SKJAMTWKY9.zip
Scaricate
Step 7: Colocando Tudo Para Funcionar !!
1.Iniziendu o Dweet: Nisun situ Dweet.io, crie o object conform descrito no passo 3
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 19
2.Iniziendu l'applicazione in DragonBoard: Abra o Terminal no Linaro, accede à a pasta induve hè una applicazione smart_home.py è digite u cummandu:
sudo python smarthome.py
3.Iniciandu a aplicazione no Ionic: Abra o prompt de comando, accese a pasta on sta o aplicativo criado no Ionic è digite o comando
serve ionica
https://youtu.be/O27f93xE0bk https://youtu.be/HaSeRf3wkSI https://youtu.be/vx16cLQKOeU
Passu 8:
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: Pagina 20
Documenti / Risorse
![]() |
instructables Smart Piscina Com IoT Ionic Dweet E DragonBoard [pdf] Istruzzioni Smart Piscina Com IoT Ionic Dweet E DragonBoard, Smart Piscina, Com IoT Ionic Dweet E DragonBoard, Dweet E DragonBoard |