Smart Piscina Com IoT Ionic Dweet E DragonBoard
Ulwazi ngeMveliso:
I-Smart Piscina Com IoT yimveliso ye-IoT yokwakha leyo
yenza ukulawula kunye nokubeka iliso kwindawo yokuqubha usebenzisa i-Ionic,
Itekhnoloji yeDweet, kunye neDragonBoard. Ibandakanya amacandelo afana
i-Linker Mezzanine, i-96Boards GPIO, kunye ne-Py-Spidev. Imveliso
ivumela abasebenzisi ukuba babeke iliso kwimeko yonyango, isimo sempompo,
ubume bedama, kunye nexabiso le-pH ledama. Imveliso nayo
ibandakanya umboneleli weDweet owenza abasebenzisi bathumele idatha kwi
Iqonga le-Dweet.io lohlalutyo olongezelelweyo.
Imiyalelo yokusetyenziswa kwemveliso:
Ukusebenzisa imveliso ye-Smart Piscina Com IoT, landela ezi
imiyalelo:
- Hlaziya kwaye uphucule isoftware ngokuqhuba oku kulandelayo
imiyalelo kwi-terminal:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade - Faka iinxalenye ezongezelelweyo ngokusebenzisa le miyalelo ilandelayo
Kwisiphelo:
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 - Hlela i libsoc.conf file ngokwenza lo myalelo ulandelayo kwi
i-terminal:
sudo gedit /usr/local/etc/libsoc.conf
Hlaziya i file umxholo koku kulandelayo:
{ status_tratamento: 0, ligadesliga_bomba: 0, status_bomba:0,
status_reservatorio:0, PH_setpoint:6, PH_valor: 4 } - Faka izicelo kwilayibrari ngokusebenzisa lo myalelo ulandelayo kwi
i-terminal:
sudo pip install requests - Sebenzisa imveliso ngokungenisa spidev, ixesha, Dweet, gpio, kunye
GPIO. Qhuba imisebenzi efunekayo ukulawula nokubeka iliso kwi
ipuli yokuqubha. Umzekeloample, sebenzisa umsebenzi wokufundaPH ukufunda i-pH
ixabiso pool. Sebenzisa i liga_des_bomba umsebenzi ukuvula/ukucima
impompo. Sebenzisa umsebenzi weatualiza_sp ukuhlaziya indawo yokubeka pH
ixabiso. Sebenzisa umsebenzi wedweetPost ukuthumela idatha kwi-Dweet.io
iqonga lohlalutyo olongezelelweyo.
eziyalelweyo
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard
ngu 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 car remotamente diversas piscinas as quais ele atende. Ukusetyenziswa kwehardware kunye neplaca DragonBoard kunye neQualcom kunye neplaca ye-Linker Mezanine kunye neebhodi ezingama-96. Também serão utilizados sensors 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 ea criação de um app para acesso e controle do system. As funções criadas são: -Lawula iPH da Piscina -Acionamento da Bomba e monitoramento -Monitoramento do nível do reservatório de produto para tratamento
I-Arquitetura IoT
A automação eo controle do tratamento da piscina são realizados pela Dragonboard, com interface do usuário nge app Web. Xa le nto isetyenzisiwe, isetyenziswa kwi-arquitetura demonstrada nomfanekiso, kwaye ibandakanya:
1. Os dados são lidos e processados pela Dragonboard 2. I DragonBoard escreve em um repositório na 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 e Acessa os dados do Dweet.io e apresenta em uma ujongano
I-HTML yendlela yokusebenzisa
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-1
Inyathelo 1: Configuração Do Hardware
Ngokukodwa, sebenzisa i-DragonBoard 410c ukuze ufezekise i-automação nokulawula i-piscina yendawo. Junto com a Dragonboard fouinstalada in shield 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 imifanekiso ekhoyo a con guração utilizada para conexão dos IOs deste exemplo.
1. Foi considerado o uso de um PHmetro que forneça uma saída proporcional de 0 a 5V para que seja compatível com a entrada do A/D. Caso seja utilizado um com sinal maior, será necessário um divisor resistivo para comptibilizar o sinal com a entrada
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-2
2. Akukho mzekelo, okanye invés de um PHmetro foi utilizado um potênciometro para simulação do sinal 3. Xa ukulinganisa o acionamento da bomba foi utilizado um led, que em projeto real poderia seer um
acoplador ótico acionando um TRIAC ou relé 4. O isivamvo se rotação da bomba foi simulado com um isivamvo de toque. Em uma aplicação real poderia ser
um inzwa no eixo da bomba ou um contado oncedisayo ukwenza i-contator que aciona ibhomba. 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 deverá ser instalado em uma bóia Por m, a doseagem de produto é feita por uma eletroválvula acionada por um relé
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-3
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-4
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-5
Inyathelo 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çaõ Linux chamada Linaro, ela é su ciente em recursos para executar esta aplicação, bastando atualizar a placa e realizar instalação das bibliotecas das 96boards Links para interface com. Ngokukodwa estamos trabalhando kwi Linux, iipodemos acessar o Terminal para realizar os comandos de atualização e instalação de bibliotecas: Os seguintes comandos realizam atualização da placa:
sudo apt-fumana uhlaziyo sudo apt-fumana uphuculo sudo apt-fumana dist-uphuculo
Para trabalhar com o Python, também qaphela instalação de um umhleli we textos e do interpretador
sudo apt-fumana ukufaka gedit sudo apt-fumana ukufaka ipython-pip
Na sequeê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-fumana ukufaka i-autoconf-automake automake libtool-bin pkg-config python-dev sudo reboot
I-LIBSOC (I-Acesso a Linker Mezanine)
git clone https://github.com/jackmitch/ libsoc.git cd libsok sudo autoreconf -i sudo ./configure -enable-python=2 -enableboard= dragonboard410c -nge-board-configs sudo yenza i-sudo ifake i-sudo ldconfig /usr /local/lib sudo reboot
Iibhodi ezingama-96:
git clone https://github. com/96boards/96BoardsGPIO.git
cd 96bhodiGPIO/
sudo ./autogen.sh sudo ./configure sudo yenza i-sudo yenza ufakelo sudo ldconfig
Akunakwenzeka ukuba… mas kuchazwe ngokufakela i-tb kwi-biblioteca ukuze kufunyanwe inxalenye ye-analgesic ye-Linker Mezanine:
git clone https://github.com/doceme/pyspidev.git cd py-spidev sudo python setup.py faka sudo ldconfig sudo reboot
É importante lebrar que na LIBSOC estão as referências de endereçamento da Linker Mezanine, e servi dereferencia caso precise acessar diretamente um endereço de IO
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-6
sudo gedit /usr/local/etc/libsoc.conf
Inyathelo 3: Criação Do Objeto Akukho 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 Uma característica importante é que o Dweet não necessita de uma autenticacessar os complex os complex o torna interessante para início dos testes com IoT. Nantsi indlela yokufumana i-Dweet basta seguir os seguintes passos:
1. Acessar o Dweet.io e clicar em “Dlala” 2. Na guia POST khala um nom para o obejto no campo “into” 3. Hayi campo “umxholo” adicione os dados que serão lidos e enviados. Os dados devem estar no formato
“json” 4. Clique em “Yizame!” qwalasela isiphumo soMzimba weMpendulo 5. Caso queira con rmar o uncionamento da “coisa”, vá até ocampo “Fumana eyona Dweet yamva nje”, insira o nome do
khetha iqhosha elithi “Yizame” ukuze ufumane impendulo kwi-Dweet. I-esta esta aplicação foi criado o objeto “smart_piscina” kule ngxelo ilandelayo:
{ “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 a DragonBoard ea 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 indesejados
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-7
Inyathelo 4: Programação Em Python
Lógica de Funcionamento
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-8
O software de Controle da Piscina foi desenvolvido em Python, que é uma linguagem simples and interpretada, ou seja não necessita de compiladores para obter a execução da aplicação. Njengoko funções realizadas pelo software piscina_ nal.py, que roda ne DragonBoard são as seguintes:
1. Controla o PH, monitorando o valor medido na piscina e comparando com o “Setpoint” de nido pelo usuário no Web usetyenziso. 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 ea 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. Umgangatho ophakamileyo we-PH angem i-valor i-ao desejado, i-dosagem para automaticamente 5. Controla 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 ne bomba, caso seja ligada e não rode.
Antes de apresentar o código, devemos realizar alguns ajustes and Dragonboard para que ela se comunique adequadamente com o Dweet.io
Componetes adicionais
Faka i-biblioteca IZICELO para realizar funções de POST eGET em HTTP
sudo pip ukufaka izicelo
Copiar o arquivo dweet.py kwi-mesma pasta onde está 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 analógica do valor de PH.
ngenisa ixesha le-spidev lokungenisa lisuka kwidweet yokungenisa iDweet esuka kwi-libsoc yokungenisa igpio esuka kwi-gpio_96ibhodi yokungenisa iGPIO
COMANDO_BBA = 36
#Comando Bomba
NIVEL_PROD = 13
# Yiza ngokukhawuleza
IDOSAGEM_VVL = 115
#Valvula Dosagem
BBA_LIGADA = 24 #Retorno de Bomba ligada
GPIO_CS = 18
#Inzwa ye-PH (I-Analogico)
izikhonkwane = (
(GPIO_CS, 'out'),(COMANDO_BBA,'out'),(DOSAGEM_VVL, 'out'), (NIVEL_PROD, 'in'),(BBA_LIGADA,' in')
)
I-dweet = iDweet()
spi = spidev.SpiDev()
spi.vula(0,0)
spi.max_speed_hz=10000
spi.mode = 0b00
spi.bits_per_word = 8def readPH(gpio):
gpio.digital_write(GPIO_CS, GPIO.HIGH)
ixesha.ukulala(0.0002)
gpio.digital_write(GPIO_CS, GPIO.LOW)
r = spi.xfer2([0x01, 0x80, 0x00])
gpio.digital_write(GPIO_CS, GPIO.HIGH)
iadcout = (r[1] << 8) & 0b1100000000
iadcout = iadcout | (r[2] & 0xff)
iadcout = (adcout * 0.014)
#converter para PH 0 a 14
i-adcout yokubuya
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-9
Kwinxalenye yegundane, uye waqonda inkqubo ye-Dweet kunye neyokuqala kwi-armazenados emgudwini wehlabathi njengoko kusenziwa isoftware:
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(igama=”smart_piscina”)
ld_bomba = resposta['with'][0]['content']['ligadesliga_bomba']
st_bomba = resposta['with'][0]['content']['status_bomba']
st_trat = resposta['kunye'][0]['umxholo']['status_tratamento']
st_res = resposta['kunye'][0]['umxholo']['status_reservatorio']
PH_igorha = impendulo['nge'][0]['umxholo']['PH_iqhawe']
PH_SP = resposta['with'][0]['content']['PH_setpoint']
buyisela ld_bomba, st_bomba, st_trat, st_res, PH_igorha, PH_SP
A terceira parte é a função que realiza o tratamento da piscina, com a lógica para acionamento baseada no PH, nível do reservatório e bomba ligada. Qaphela que as variáveis de monitoramento são njenge mesmas lidas pelo Dweet, desta forma conseguimos atualizar os valores na lógica 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) ukuba (PH_valor < PH_SP) kunye ( st_res == 1) kunye == 1_bomba = = . digital_write(DOSAGEM_VVL, GPIO.HIGH) ixesha.sleep(2) #tempo da dosagem do produto gpio.digital_write(DOSAGEM_VVL, GPIO.LOW) ixesha.lala(1) #espera entre dosagens st_trat("ITRATAGADO 1 print) enye into: gpio.digital_write(DOSAGEM_VVL, GPIO.LOW) st_trat = 0 print(“TRATAMENTO DESlIGADO”) buyisela st_trat, st_res
A quarta e última parte é o looping de execução da lógica. A ordem onde as subrotinas são chamadas é importante para que os dados lidos pelo Dweet sejam atualizados e depois enviados para a correta visualização no Web usetyenziso.
ukuba __igama__=='__main__': ngeGPIO(izikhonkwane) njenge gpio: ngelixa Yinyani:
le_dweet() tratamento() PH_valor = ingqukuva(fundaPH(gpio), 2) ukuba ld_bomba == 1: gpio.digital_write(COMANDO_BBA, GPIO.HIGH) print(“Bomba Ligada”) enye: gpio.digital_write(COMANDIO_BBA,BBA, PHANTSI) print(“Bomba Desligada”) print(“I-Valor do PH = %d” % PH_valor) print(“I-Valor do SP PH = %d” % PH_SP) print(“”) dweet.dweet_by_name(igama=”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}) ixesha. sleep(10)
https://www.instructables.com/ORIG/FPV/I7ZO/JAMTVW5R/FPVI7ZOJAMTVW5R.py https://www.instructables.com/ORIG/FMD/BHS3/JAMTVW5V/FMDBHS3JAMTVW5V.py
Khuphela Khuphela
Inyathelo lesi-5: Desenvolvimento Do APP – Ambiente Hídrido
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-10
I-Plataforma i-hibrida ye-Ionic
O aplicativo para controle da piscina será desenvolvido utilizando uma plataforma híbrida, ou seja, fazemos a abstração do hardware que o app será utilizado and desenvolvemos umprojeto utilizando HTML, CSS e Javascript que posteriormente aplicamento Android okanye iOS. Neste caso utilizamos o IONIC, que funciona baseado na plataforma Cordova, que permite visualizar e testar aplicação através da renderização na mesma na tela de um Web Isikhangeli. Xa usenza usetyenziso, sebenzisa ulwimi lwe-HTML kunye ne-Typescript. o IONIC também permite a utilização do framework Angular para trabalhar ocs componentes como Models e Controllers.
Instalação do Ambiente de Desenvolvimento
O desenvolvimento do app será realizado em um computador pessoal, e não na placa DragonBoard. Iniciaremos com a instalçaão do node.js, necessário apra o funcionamento do Ionic Acessar o site https://nodejs.org/en/ e fazer o Khuphela i última versão do node.js Após concluída a instalação, o gerencador de pacotes ter sido instalado durante a instalação do node.js. Ele permitirá realizar a instalação do Ionic. Akukho ncedo lwe-commando xa u-Windows eqaphela i-instalação com os seguintes comandos:
npm faka i-g cordova ionic npm faka i-g cordova
Xa ubonisa i-ionic, okanye ulandele i-commando esebenza ngokufanelekileyo kwaye ubonise ukuba ulungile ukubuyisela kwakhona kwi-versão instalada:
ioni v
Criação da aplicação no Ionic
Não, não tem uma interface grá ca bonita. Tem que criar o app utilizando a 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:
ionic qala smart_piscina blank
Será criada uma nova aplicação em branco que estará salva no diretório:
C:UsuáriosNome do usuáriosmart_piscina
Uvavanyo kunye nekhowudi:
cd smart_piscina ionic ukukhonza
Será aberta uma tela no navegador padrão mostrando aplicação em branco
Inyathelo lesi-6: Desenvolvimento Do APP – Edição Da Aplicação
Usetyenziso lwe-branco gerada pelo Ionic será realizada no Visual Studio Code, applicativo gratuito de programação desenvolvido del Microsoft e que podeas de baixado site: https://code.visualstudio.com/download Os códigos apredados, mas também estão disponíveis para download.
Ujongano
Ujongano oluhamba nolu luhlu lwe-edidayo kwi-home.html. Qaphela que njengoko tags usetyenziso ngokusetyenziswa kwe-Ionic kunye ne-Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Iphepha 11
alguns parâmetros inseridos utilizando os recursos yenza isakhelo se-Angular. Os recursos do Angular são utilizados 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 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, liguagem muito semelhante ao Javascript
rhweba ngaphandle {Icandelo} ukusuka ku-'@angular/core'; ngenisa ngaphandle {NavController } ukusuka kwi-'ionic-angular';
//É preciso ongenisa ngaphandle omboneleli. ngenisa ngaphandle {DweetProvider } ukusuka '../../providers/dweet/dweet';
@Component ({ umkhethi: 'ikhasi-ikhaya', itemplateUrl: 'ikhaya.html'
})
iklasi yokuthumela ngaphandle iPhepha lasekhaya {
umakhi(uluntu navCtrl: NavController, DweetProvider yabucala: DweetProvider) { }
//Declarações de Variáveis public respostaDweet: umtya=””; status_kawonkewonke_tratamento: umtya=”ingozi”; uluntu st_trat = 0; isimo sikawonke-wonke_bomba: umtya=”ingozi”; uluntu st_bba = 0; status_reservatorio yoluntu: umtya=”ingozi”; uluntu st_res = 0; indawo yoluntu = Uluhlu (); kawonke-wonke PH_val = 0; Uluntu SP_PH = 0;
//Imodeli yebhotão de ligar bomba public bomba_model = {
ikhangelwe: bubuxoki, igama: "Ligar Bomba" }
ionViewDidLoad () {//buscando os dados no Dweet e salvando nas variáies locais this.DweetProvider.getLastestDweet(“smart_piscina”).rhuma( data=>{
const response = (idatha njengayo nayiphi na); const objeto_retorno = JSON.parse(impendulo._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; le.PH_val = objeto_retorno.with[0].content.PH_valor; le.SP_PH = objeStmo_arret tPoirsncoin.wa iCtho[m0].IcooTn-teIonnti.cP,HD_wseeettpEoinDtr;agonBoard: Iphepha 12
le.SP_PH = objeto_retorno.with[0].content.PH_setpoint; console.log(this.locais); }, impazamo => {console.log(impazamo); } ) //Atualiza icones de Status this.status_bomba = ((le.st_bba == 1) ? “yesibini” : “ingozi”); this.status_tratamento = ((le.st_trat == 1) ? “yesibini” : “ingozi”); this.status_reservatorio = ((le.st_res == 1) ? “yesibini” : “ingozi”); }
//Botão Atualizar uhlaziyo () {
le.ionViewDidLoad(); }
//Liga Desliga Bomba liga_des_bomba(){ this.dweetPost()}
atualiza_sp(){ this.dweetPost()
}
i-dweetPost(){//Guqula i-dados do botão de Boolean para inteiro const ld_bba = ((le.bomba_model.checked == yinyani) ? 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”: , "PH_setpo int": this.SP_PH}; le.DweetProvider.setDweet(“smart_piscina”,json_dweet).rhumela(
idatha=>{console.log(data); }, imposiso=> {console.log(impazamo); } ) }}
Umboneleli weDweet
É necessário criar um provider para realizar a comunicação HTTP com o Dweet. I-Ionic com o seguinte comando iphuma kwi-feito através do Ionic:
ionic yenza i-dweet yomnikezeli
Neste momento é gerado o arquivo dweet.ts que deverá ter os comandos referentes a conexão com o Dweet e realização das funções de GET e POST. Nantsi into efunekayo ukuze ufezekiseke ngakumbi:
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-13
ngenisa ngaphandle {Http} ukusuka '@angular/http'; ngenisa ngaphandle {Itofwayo } ukusuka ku-'@angular/core'; Thatha ngaphandle 'rxjs/yongeza/umqhubi/imephu'; /*
Iklasi eyenzelwe umboneleli weDweetProvider. Jonga ku-https://angular.io/guide/dependency-injection ngolwazi oluthe kratya malunga nababoneleli kunye ne-Angular DI. */ @Injectable () iklasi yokuthumela ngaphandle DweetProvider { isiseko sabucalaUrl = "https://dweet.io:443/" umakhi(kuluntu http: Http) {
console.log('Molo uMboneleli weDweetProvider'); } //Método responsável por buscar as informações no Dweet. getLastestDweet(into: umtya) {
const url_fumana = this.baseUrl + “fumana/umvanje/weet/ye/” + into; console.log(url_fumana); buyisela oku.http.fumana(url_fumana); } //Método resposnsável por modificar os dados no Dweet. setDweet(into, umzimba) {buyisela le.http.post(le.baseUrl + “weet/for/”+ into, umzimba); }}
Ngoko ke, énecessário realizar uma modi cação no arquivo app.module.ts para que carregue adequadamente os componentetes HTTP para o funcionamento do Mboneleli weDweet:
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-14
ngenisa ngaphandle {IbrowserModule } ukusuka '@angular/platform-browser'; ngenisa ngaphandle {ImpazamoHandler, NgModule } ukusuka '@angular/core'; ngenisa ngaphandle {IonicApp, IonicErrorHandler, IonicModule } ukusuka kwi-'ionic-angular'; ngenisa ngaphandle {SplashScreen } ukusuka '@ionic-native/splash-screen'; rhweba ngaphandle {StatusBar } ukusuka '@ionic-native/status-bar'; ngenisa ngaphandle {HttpModule} ukusuka '@angular/http'; thatha ngaphandle {MyApp } ukusuka './app.component'; ngenisa ngaphandle {Iphepha Lasekhaya } ukusuka '../pages/home/home'; ngenisa ngaphandle {DweetProvider } ukusuka '../providers/dweet/dweet'; @NgModule({
izibhengezo: [ MyApp, HomePage
], ngaphandle: [
IModyuli yoMkhangeli, IonicModule.forRoot(MyApp), //Okungeyomfuneko kwimodyuli yeHTTP yokusetyenziswa kweDweet. HttpModule ], i-bootstrap: [IonicApp], izinto zokungena: [ MyApp, HomePage ], ababoneleli: [ StatusBar, SplashScreen, {bonelela: ErrorHandler, useClass: IonicErrorHandler}, DweetProvider ] }) iklasi yokuthumela ngaphandle i-AppModule {}
Ufa!
Salve tudo e teste aplicação através do comando:
ionic ukukhonza
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-15
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-16
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-17
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-18
https://www.instructables.com/ORIG/FUH/W6SK/JAMTWKY9/FUHW6SKJAMTWKY9.zip
Khuphela
Inyathelo 7: Colocando Tudo Para Funcionar!!
1.Iniciando o Dweet: Akukho sayithi Dweet.io, khala o objeto ihambelane ne descrito no passo 3
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-19
2.Iniciando aplicação ne DragonBoard: Abra o Terminal no Linaro, fikelela ipasta onde está a aplicação smart_home.py e digite o comando:
sudo python smarthome.py
3.Iniciando a aplicação no Ionic: Abra o prompt de comando, acesse a pasta onde está o aplicativo criado no Ionic e digite o comando
ionic ukukhonza
https://youtu.be/O27f93xE0bk https://youtu.be/HaSeRf3wkSI https://youtu.be/vx16cLQKOeU
Inyathelo loku-8:
I-Smart Piscina Com IoT-Ionic, iDweet E DragonBoard: Iphepha loku-20
Amaxwebhu / Izibonelelo
![]() |
imiyalelo Smart Piscina Com IoT Ionic Dweet E DragonBoard [pdf] Imiyalelo I-Smart Piscina Com IoT Ionic Dweet E DragonBoard, Smart Piscina, Com IoT Ionic Dweet E DragonBoard, Dweet E DragonBoard |




