Smart Piscina Com IoT Ionic Dweet E DragonBoard
Fa'amatalaga o oloa:
O le Smart Piscina Com IoT o se oloa faʻataʻitaʻiga IoT lea
e mafai ai ona pulea ma mataʻituina se vaitaʻele e faʻaaoga ai le Ionic,
Dweet, ma le DragonBoard tekinolosi. E aofia ai vaega e pei o
le Linker Mezzanine, 96Boards GPIO, ma Py-Spidev. Le oloa
faʻatagaina tagata faʻaoga e mataʻituina le tulaga o togafitiga, tulaga pamu,
tulaga faatanoa, ma le taua o le pH o le vaitaele. O le oloa foi
e aofia ai le Dweet provider e mafai ai e tagata fa'aoga ona lafo fa'amaumauga i le
Dweet.io platform mo nisi auiliiliga.
Fa'atonuga o le Fa'aaogāina o Mea:
Ina ia fa'aoga le oloa Smart Piscina Com IoT, mulimuli i nei mea
faatonuga:
- Faʻafou ma faʻaleleia le polokalama e ala i le faʻaogaina o mea nei
fa'atonuga i totonu o le fa'ailoga:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
- Fa'apipi'i vaega fa'aopoopo e ala i le fa'atinoina o fa'atonuga nei
i le nofoaga faʻaiʻu:
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
- Fa'asa'o le libsoc.conf file e ala i le faʻatinoina o le poloaiga lenei i totonu
le nofoaga:
sudo gedit /usr/local/etc/libsoc.conf
Fa'afou le file anotusi i mea nei:
{ status_tratamento: 0, ligadesliga_bomba: 0, status_bomba:0,
status_reservatorio:0, PH_setpoint:6, PH_valor: 4 } - Fa'apipi'i le faletusi talosaga e ala i le fa'atinoina o le fa'atonuga lea i totonu
le nofoaga:
sudo pip install requests
- Fa'aoga le oloa e ala i le fa'aulufaleina mai o spidev, taimi, Dweet, gpio, ma
GPIO. Faʻatautaia galuega talafeagai e pulea ma mataʻituina le
vaita'ele. Mo example, fa'aoga le galuega readPH e faitau ai le pH
tau o le vaitaele. Fa'aoga le galuega liga_des_bomba e ki/off ai
le pamu. Fa'aaoga le atualiza_sp galuega e fa'afou ai le seti pH
taua. Fa'aoga le galuega dweetPost e lafo ai fa'amaumauga ile Dweet.io
fa'avae mo nisi su'esu'ega.
fa'atonuga
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard
e rxidieh
Folasaga
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 car remotamente diversas piscinas as quais ele atende. O meafaigaluega e faʻaaoga e faavae i luga o le DragonBoard ma Qualcom ma le Linker Mezanine ma le 96boards. Fa'aaoga le fa'alogo i le Arrow mo le Linker Mezanine. Esta não é uma implementação nal! O lo'o fa'amaninoina mo le tele o fa'amatalaga e fa'atino ai polokalame mo Meafaigaluega, ma feso'ota'iga e tu'u ai le fa'amaumauga i nuvem ma fa'atonu le app mo le fa'aogaina ma le fa'atonuina o le system. E pei o mea e fiafia i ai: - Pulea o le PH i Piscina -Acionamento da Bomba ma mata'itū -Mata'ita'i mo le fa'asao o le gaosiga o galuega
Arquitetura IoT
O se masini e pulea ai le auala ma le piscina sa'o moni lava i le Dragonboard, o le fa'aoga fa'aoga e fa'aaoga e ala i le app Web. Mo le mea lea e mafai ai, e fa'aaoga ai le fa'aaliga fa'aalia i ata, ma e aofia ai:
1. O lo'o fa'atinoina le galuega ma le fa'agaioiina o le Dragonboard 2. O le DragonBoard o lo'o fa'asaoina i latou i le fale teu oloa. Web, neste caso o Dweet.io 3. O Dweet.io disponibiliza as informações lidas para que sejam disponíveis para outras aplicações 4. Um aplicativo Web desenvolvido no Ionic ma Acessa os dados do Dweet.io ma fa'aalia le fa'aoga uma.
HTML mo le masani
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 1
Laasaga 1: Configuração Do Meafaigaluega
E pei ona i ai, e mafai ona e fa'aoga i le DragonBoard 410c mo le fa'atinoina o se masini ma pulea le piscina i le lotoifale. O loʻo faʻapipiʻiina e le Dragonboard le talipupuni i le 96boards i le Linker Mezanine, e faʻafaigofie ai le faʻaogaina o le IOs i le DragonBoard. Este shield tb possui dois conversores A/D for leitura de dados analógicos. E iai ata o lo'o i ai se fa'aoga fa'aoga mo feso'ota'iga a le IOs fa'atusa.
1. Foi considerado o uso de um PHmetro que forneça uma saída proporcional de 0 a 5V for que seja compatível 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: Itulau 2
2. E leai se fa'ata'ita'iga, o le fa'aaogaina o le PHmetro fo'i le fa'aaogaina o le potênciometro mo le fa'ata'ita'iga o sinal 3. Mo le fa'ata'ita'iga o le ta'ita'iga o le pomu fo'i le fa'aaogaina o le ta'ita'iga, e fa'atatau ia te i latou le galuega fa'atino moni.
acoplador ótico acionando um TRIAC or relé 4. O le sensor de rotação ma 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 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 i não está girando 5. O sensor for nível do reservatório e um do type “tilt” que deverá ser instalado em uma bóia 6 .
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 3
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 4
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 5
Laasaga 2: Saunia Da DragonBoard
Atualização da Placa ma fa'apipi'i i tusi tusi itulau/96 laupapa
O se nofoaga o le DragonBoard o lo'o fa'apipi'iina i luga ole laiga Linux ma Linaro, o lo'o fa'aauau pea mo le fa'atinoina o le fa'atonuga, fa'apipi'i fa'apipi'i tusi tusi i le 96boards mo feso'ota'iga i le Linker Mezanine. O lo'o fa'afeso'ota'i le Linux, e mafai ona e ulufale atu i le Terminal mo fa'atonuga o le atualização ma le fa'apipi'iina o le tusi:
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
Mo le faʻaaogaina o le Python, e mafai ona e iloa le faʻapipiʻiina o le faatonu o tusitusiga ma le faʻaliliuga.
sudo apt-get install gedit sudo apt-get install python-pip
Fa'asologa o fa'atonuga e pei ona mana'omia e Tusitala. Os commandos devem ser apresentados na ordem a seguir ma são criticos for a instalação correta:
sudo apt-maua faʻapipiʻi fausia-taua autoconf automake libtool-bin pkg-config python-dev sudo toe faʻafouina
LIBSOC (Accesso a 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 fai sudo fai install sudo ldconfig /usr /local/lib sudo toe amata
96 laupapa:
git clone https://github. com/96boards/96BoardsGPIO.git
cd 96BoardsGPIO/
sudo ./autogen.sh sudo ./configure sudo fai sudo fai faʻapipiʻi sudo ldconfig
E leai se m… e sili atu ona fa'amaonia mo le fa'apipi'iina o le tusi tusi mo le fa'afeso'ota'i ma le vaega fa'afoliga ole Linker Mezanine:
git clone https://github.com/doceme/pyspidev.git cd py-spidev sudo python setup.py faʻapipiʻi sudo ldconfig sudo toe faʻafouina
E taua le tusi o le LIBSOC o lo'o i ai e pei o fa'asinomaga o le fa'auigaina o le Linker Mezanine, ma e tautuaina le fa'asinomaga sa'o e ala i le fa'atonuina o le IO.
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 6
sudo gedit /usr/local/etc/libsoc.conf
Laasaga 3: Criação Do Objeto No Dweet.io
E pei o le slogan próprio diz, o dweet.io funciona como um Twitter mo IoT, onde e pei o le coisas podem enviar ma le mauaina o le initaneti o le maneira facilitada Uma o lo'o e mana'omia e le uma autenticação complexa mo acessar os dados, o fesili. o torna interessante para início dos testes com IoT. Mo le fa'atonuga o le Dweet basta seguir os seguintes passos:
1. Acessar o Dweet.io e kiliki i le "Ta'alo" 2. Na guia POST tagi um nom mo o obejto no campo “mea” 3. Leai iampo “anotusi” fa'aopoopo o le fa'auluuluga o tusi ma fa'aituau. E leai se fa'atulagaga
“json” 4. Kiliki i le “Tofotofo i ai!” ma mata'ituina le i'uga o le “Tulafono Tali” 5. Caso queira con rmar o uncionamento da “coisa”, vá até ocampo “Maua se tupe sili ona lata mai”, atonu e te faia
obje criado ma kiliki i le “Tofotofo i ai” mo le taavale e tali atu ai Dweet. Mo esta fa'aoga fo'i criado o objeto “smart_piscina” o lo'o fa'atatau i mea nei:
{ “status_tratamento”: 0, “ligadesliga_bomba”: 0, “status_bomba”:0, “status_reservatorio”:0, “PH_setpoint”:6, “PH_valor”: 4 }
E leai se mea e mana'omia mo feso'ota'iga i le DragonBoard ma fa'aoga. Web. E taua le 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 resultdos indesejados
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 7
Laasaga 4: Polokalama Em Python
Logica de Funcionamento
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 8
O polokalama faakomepiuta o le Controle da Piscina foi desenvolvido em Python, o le mea lea e faigofie ai le linguagem ma fa'amatala, ou te le'o mana'omia le tu'ufa'atasia mo le fa'atinoina o le fa'atinoga. I le avea ai o se mea e fiafia i ai pelo software piscina_ nal.py, o le taʻavale a DragonBoard e pei ona taʻua:
1. Pulea o le PH, mata'ituina le totoa o le toto ma le fa'atusatusaina o le "Setpoint" o lo'o fa'aaoga i ai. Web app. A correção será feita dosando produto através do acionamento da eletroválvula.
2. O acionamento da eletroválvula e temporizado, ou seja, uma certa quantidade de produto é dosada ea logica aguarda um determinado período para realizar uma nova dosagem
3. E mafai ona e pulea le mea e mafai ona e faia i se pomu ma le piscina e mafai ona e galue ai ma se mea e maua ai le fua o le fua o le tino!
4. O le tele o le PH e mafai ona sili atu i luga o le tulaga, o se fua mo le otometi. Web app, conforme solicitação do usuário 6. Mataitu ma fa'amatalaga ao fa'amatalaga po'o le fa'asao mo le gaosiga o le Dosagem 7. Fa'amatalaga anomalia ma pomu, fa'apea ona ta'avale.
Antes de apresentar o código, fa'atupuina le fa'atonuga fa'atatau i le Dragonboard mo le tele o feso'ota'iga adequadamente com o Dweet.io
Componentes adicionais
Fa'apipi'i le tusi FA'AALIGA FA'AALIGA mo le fa'atinoina o galuega a le POST ma GET em HTTP
sudo pip faʻapipiʻi talosaga
Kopi o le arquivo dweet.py mo se pasta pasta o lo'o i ai i le applicação smart_piscina.py
Código Fonte i le Python
A seguir apresentamos o código por partes, nesta primeira são lidas as bibliotecas necessárias, con gurados os IOs and realizada a leitura analógica do valor de PH.
faaulufale mai spidev taimi faaulufale mai dweet faaulufale mai Dweet mai libsoc faaulufale mai gpio mai gpio_96boards faaulufale mai 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 (Analogico)
pine = (
(GPIO_CS, 'i fafo'),(COMANDO_BBA, 'i fafo'),(DOSAGEM_VVL, 'i fafo'),(NIVEL_PROD, 'i totonu'),(BBA_LIGADA, 'i totonu')
)
dweet = Dweet()
spi = spidev.SpiDev()
spi.tatala(0,0)
spi.max_speed_hz=10000
spi.mode = 0b00
spi.bits_per_word = 8def readPH(gpio):
gpio.digital_write(GPIO_CS, GPIO.HIGH)
taimi. moe (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)
#liliu mo PH 0 a 14
toe fo'i fa'asalalauga
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 9
I se vaega, e mafai ona maua le avanoa i le Dweet ma o lo'o fa'amanino i le va'aiga o le lalolagi e pei o lo'o fa'atatau i polokalama faakomepiuta:
def le_dweet():
#Le qual setpoint para tratamento
lalolagi ld_bomba, st_bomba, st_trat, st_res, PH_valor, PH_SP
tali = dweet.latest_dweet(igoa=”smart_piscina”)
ld_bomba = tali atu['ma'][0]['anotusi']['ligadesliga_bomba']
st_bomba = tali ['ma'][0]['anotusi']['status_bomba']
st_trat = tali atu ['ma'][0]['anotusi']['status_tratamento']
st_res = tali atu ['ma'][0]['anotusi']['status_reservatorio']
PH_valor = tali atu ['ma'][0]['content']['PH_valor']
PH_SP = tali atu['ma'][0]['anotusi']['PH_setpoint']
toe faafoi ld_bomba, st_bomba, st_trat, st_res, PH_valor, PH_SP
O se vaega tele o se fa'afiafiaga e iloa ai le fa'asologa o le piscina, fa'atasi ai ma le fa'apolopolo mo le fa'avaeina o le PH, o le fa'asao ma le pomu. Fa'aaliga que as variáveis de monitoramento são as mesmas lidas pelo Dweet, desta forma conseguimos atualizar os valores na logica para que despois 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) pe afai (PH_valor <PH_SP) ma (st_res == 1) ma (st_gpiomba == 1): numera_tusia(DOSAGEM_VVL, GPIO.HIGH) taimi.moe(2) #tempo da dosagem do produto gpio.digital_write(DOSAGEM_VVL, GPIO.LOW) taimi.moe(1) #espera entre dosagens st_trat = 1 lolomi(“TRATAMENTO lIGADO”) isi: gpio.digital_write(DOSAGEM_VVL, GPIO.LOW) st_trat = 0 lolomi(“TRATAMENTO DESlIGADO”) toe faafoi st_trat, st_res
A quarta e última parte é o looping de execução da logica. O se fa'atonuga e pei o subrotinas são chamadas e taua tele mo le avea ai o se lidos pelo Dweet sejam atualizados ma fa'aputu mea fa'apitoa mo se fa'aaliga fa'apitoa Web app.
afai __name__=='__main__': ma GPIO(pins) pei gpio: a'o Moni:
le_dweet() tratamento() PH_valor = lapotopoto(faitauPH(gpio), 2) pe afai ld_bomba == 1: gpio.digital_write(COMANDO_BBA, GPIO.HIGH) lolomi (“Bomba Ligada”) isi: gpio.digital_write(COMANDO_BBA, GPIO. LOW) lolomi(“Bomba Desligada”) lolomi(“Valor do PH = %d” % PH_valor) lolomi(“Valor do SP PH = %d” % PH_SP) lolomi(“”) dweet.dweet_by_name(igoa=”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}) taimi.moe(10)
https://www.instructables.com/ORIG/FPV/I7ZO/JAMTVW5R/FPVI7ZOJAMTVW5R.py https://www.instructables.com/ORIG/FMD/BHS3/JAMTVW5V/FMDBHS3JAMTVW5V.py
La'u download La'i
Laasaga 5: Desenvolvimento Do APP - Ambiente Hídrido
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 10
Plataforma híbrida Ionic
O fa'atonuga mo le pulea o le piscina será desenvolvido utilizando uma plataforma híbrida, ou seja, fazemos a abstração do hardware que o app será utilizado ma desenvolvemos um projeto utilizando HTML, CSS ma Javascript que posteriormente pode ser convertido em um app for umape platec. Android po o le IOS. E mafai ona fa'aaoga le IONIC, e mafai ona fa'aaoga i luga ole laiga i Cordova, e mafai ai ona e va'ai ma fa'ata'ita'i ma fa'aoga feso'ota'iga ma le fa'aliliuina o le mesma ma telefoni. Web Su'esu'e. Mo le faʻaaogaina o le app, faʻaaoga le gagana HTML ma le Tusitusi. o le IONIC e mafai ona fa'ataga le fa'aogaina o le fa'avae Angular mo le fa'aogaina o vaega e pei o Fa'ata'ita'iga ma Pule.
Fa'apipi'i le Ambiente de Desenvolvimento
O le fa'aaogaina o le polokalama e mafai ona e iloa i le komepiuta, ma le avanoa i le DragonBoard. Iniciaremos i luga o le faʻapipiʻiina o le node.js, e manaʻomia le faʻaogaina o le Ionic Acessar i luga o le upega tafaʻilagi https://nodejs.org/en/ e fazer o laʻu mai le pito i tua i le node.js Após faaiʻu i le faʻapipiʻiina, poʻo le fausiaina o pacotes NPM deve e te le'i fa'apipi'iina ma le fa'apipi'i i le node.js. E mafai ona faʻatagaina le faʻapipiʻiina o le Ionic. Leai se fa'atonuga vave e iloa ai e Windows se fa'apipi'i fa'atasi ai ma le fa'atonuga:
npm fa'apipi'i g cordova ionic npm fa'apipi'i g cordova
Mo le su'esu'ega o le ionic, po'o le seguinte commando pode ser executado e se estiver tudo ok retornará ma versão instalada:
iona v
Criação da applicação i le Ionic
E le gata i lea. Lem que criar o app utilizando a linha de commandos. Mas depois a facilidade de uso compensa. Para criar uma nova aplicação, neste caso a smart_piscina, digitamos o seguinte commando:
ionic amata smart_piscina avanoa
Será criada uma nova aplicação em branco que estará salva no diretório:
C:UsuáriosNome do usuáriosmart_piscina
Mo su'ega o fa'amatalaga:
cd smart_piscina ionic tautua
Será aberta uma tela no navegador padrão mostrando a aplicação em branco
Laasaga 6: Faʻagata le APP - Edição Da Aplicação
O le fa'aoga o le fa'aoga o le fa'aogaina o le Ionic será realizada i le Visual Studio Code, o le fa'aogaina o le polokalama fa'apipi'i i le Microsoft ma le saite i luga ole laiga: https://code.visualstudio.com/download Os códigos alterados mo sui o se sui, ma também estão disponíveis mo download.
Fa'afeso'ota'i
O se fa'aoga fa'afeso'ota'i o lo'o fa'aulufale mai i le fale.html. Manatua que pei tags fa'aoga so'oga fa'apitoa mo Ionic ma fa'atasi ai ma Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 11
alguns parâmetros inseridos utilizando os recursos do framework Angular. Os recursos do Angular são utilizados no botão de acionamento da pomu e oo atu i le toa o Setpoint i PH. Não é possível apresentar o código aqui por uma limitação do Instructables, que apaga as tags. Fa'apena fo'i le fa'aputuga fa'atasi mo le la'uina mai.
Fa'agasologa
A'o fa'asino atu le avanoa e fa'asino i le Dweet ma le logicicas e fa'aoga mo feso'ota'iga ma feso'ota'iga i totonu o le fale.
fa'aulufale mai { Component } mai '@angular/core'; faaulufale mai {NavController} mai le 'ionic-angular';
//E preciso importar o provider. faaulufale mai { DweetProvider } mai '../../providers/dweet/dweet';
@Component({filifili: 'itulau-fale', mamanuUrl: 'home.html'
})
auina atu i fafo vasega Aiga Itulau {
faufale(navCtrl lautele: NavController, DweetProvider tumaoti: DweetProvider) { }
//Declarações de Variáveis public respostaDweet: string=””; public status_tratamento: string=”tulaga”; st_trat lautele = 0; public status_bomba: string=”tulaga”; lautele st_bba = 0; public status_reservatorio: string=”tulaga”; st_res lautele = 0; nofoaga lautele = Array(); lautele PH_val = 0; SP_PH lautele = 0;
//Model do botão de ligar bomba public bomba_model = {
siaki: sese, igoa: "Ligar Bomba"}
ionaViewDidLoad () { //buscando os dados no Dweet e salvando nas variáies locais locais this.DweetProvider.getLastestDweet(“smart_piscina”).subscribe( data=>{
const tali = (faʻamatalaga e pei o soʻo se mea); 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: Itulau 12
this.SP_PH = objeto_retorno.with[0].content.PH_setpoint; console.log(this.locais); }, sese => { console.log(sese); } ) //Atualiza icones de Status this.status_bomba = ((this.st_bba == 1) ? “lua” : “tulaga matautia”); this.status_tratamento = ((this.st_trat == 1) ? “lua” : “tulaga”); this.status_reservatorio = ((this.st_res == 1) ? “lua” : “tulaga”); }
//Botão Atualizar update() {
lenei.ionViewDidLoad(); }
//Liga Desliga Bomba liga_des_bomba(){ this.dweetPost() }
atualiza_sp(){ this.dweetPost()
}
dweetPost(){ //Converte dados do botão de Boolean para inteiro const ld_bba = ((this.bomba_model.checked == moni) ? 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(fa'amaumauga); }, sese => { console.log(sese); } ) } }
Dweet kamupani
E mana'omia le vala'au a le 'au'aunaga mo le fa'atinoina o feso'ota'iga HTTP i le Dweet. O le mea lea e mafai ai e Ionic ona fa'atonu le fa'atonuga ma le fa'atonuga vave:
fa'a-ionic e tu'uina atu tupe maua
Neste momento é gerado o arquivo dweet.ts que deverá ter os commandos referentes a conexão com o Dweet e realização das funções de GET ma POST. E te mana'omia se fa'amatalaga:
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 13
faaulufale mai { Http } mai '@angular/http'; fa'aulufale mai { Injectable } mai '@angular/core'; faaulufale mai 'rxjs/add/operator/map'; /*
Fausia vasega mo le DweetProvider e tu'uina atu. Vaʻai https://angular.io/guide/dependency-injection mo nisi faʻamatalaga i luga o le auʻaunaga ma le Angular DI. */ @Injectable() export class DweetProvider { private baseUrl = “https://dweet.io:443/” faufale(http://lautele: Http) {
console.log('Talofa DweetProvider Provider'); } //Metodo responsável por buscar as informações no Dweet. getLastestDweet(mea: manoa) {
const url_maua = this.baseUrl + “maua/fou/dweet/for/” + mea; console.log(url_maua); toe faafoi lenei.http.get(url_maua); } //Metodo resposnsável por modificar os dados no Dweet. setDweet(mea, tino) { toe faafoi lenei.http.post(this.baseUrl + “mea suamalie/mo/”+ mea, tino); }}
O lea la, e mana'omia ona fa'aalia uma modi cação i le arquivo app.module.ts mo le fa'atonuga talafeagai o vaega o le HTTP mo le galuega a le Dweet Provider:
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 14
faaulufale mai { BrowserModule } mai '@angular/platform-browser'; faaulufale mai { ErrorHandler, NgModule } mai '@angular/core'; faaulufale mai {IonicApp, IonicErrorHandler, IonicModule} mai le 'ionic-angular'; fa'aulufale mai { SplashScreen } mai '@ionic-native/splash-screen'; faaulufale mai { StatusBar } mai '@ionic-native/status-bar'; faaulufale mai {HttpModule} mai '@angular/http'; faaulufale mai { MyApp } mai './app.component'; fa'aulufale mai { Itulau Aiga } mai '../pages/home/home'; faaulufale mai { DweetProvider } mai '../providers/dweet/dweet'; @NgModule({
ta'utinoga: [ MyApp, HomePage
], faaulufale mai: [
BrowserModule, IonicModule.forRoot(MyApp), //Taumua o le HTTP faʻaoga i le Dweet. HttpModule ], bootstrap: [IonicApp], entryComponents: [ MyApp, HomePage ], kamupani: [ StatusBar, SplashScreen, {provide: ErrorHandler, useClass: IonicErrorHandler}, DweetProvider ] }) export class AppModule {}
Ufa!
Fa'aola ma fa'ata'ita'iga i fa'atonuga fa'atonu:
tautua ionic
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 15
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 16
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 17
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 18
https://www.instructables.com/ORIG/FUH/W6SK/JAMTWKY9/FUHW6SKJAMTWKY9.zip
La'u mai
Laasaga 7: Colocando Tudo Para Funcionar!!
1
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 19
2. Fa'aaoga le fa'aoga i le DragonBoard: Abra o le Terminal i Linaro, alu i le pasta i luga o le fa'aoga o le smart_home.py ma le numera o le poloaiga:
sudo python smarthome.py
3. Fa'ailoga mo le fa'aogaina o le Ionic: Abra po'o le fa'atonuga vave, alu i le pasta i luga ole mea'ai po'o le fa'aoga ole criado i le Ionic ma le numera o le commando.
tautua ionic
https://youtu.be/O27f93xE0bk https://youtu.be/HaSeRf3wkSI https://youtu.be/vx16cLQKOeU
Laasaga 8:
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Itulau 20
Pepa / Punaoa
![]() |
istructables Smart Piscina Com IoT Ionic Dweet E DragonBoard [pdf] Faatonuga Smart Piscina Com IoT Ionic Dweet E DragonBoard, Smart Piscina, Com IoT Ionic Dweet E DragonBoard, Dweet E DragonBoard |