Smart Piscina Com IoT Ionic Dweet E DragonBoard

מידע על המוצר:

Smart Piscina Com IoT הוא מוצר ארכיטקטורת IoT אשר
מאפשר שליטה וניטור של בריכת שחייה באמצעות Ionic,
טכנולוגיות Dweet ו-DragonBoard. זה כולל רכיבים כמו
ה-Linker Mezzanine, 96Boards GPIO ו-Py-Spidev. המוצר
מאפשר למשתמשים לעקוב אחר מצב הטיפול, מצב המשאבה,
מצב המאגר, וערך ה-pH של הבריכה. גם המוצר
כולל ספק Dweet המאפשר למשתמשים לשלוח נתונים אל
פלטפורמת Dweet.io לניתוח נוסף.

הוראות שימוש במוצר:

כדי להשתמש במוצר Smart Piscina Com IoT, עקוב אחר אלה
הוראות:

  1. עדכן ושדרג את התוכנה על ידי הפעלת הפריטים הבאים
    פקודות בטרמינל:
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade
  2. התקן רכיבים נוספים על ידי הפעלת הפקודות הבאות
    בטרמינל:
    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. ערוך את הקובץ libsoc.conf file על ידי הפעלת הפקודה הבאה ב
    הטרמינל:
    sudo gedit /usr/local/etc/libsoc.conf
    עדכן את file תוכן לדברים הבאים:
    { status_tratamento: 0, ligadesliga_bomba: 0, status_bomba:0,
    status_reservatorio:0, PH_setpoint:6, PH_valor: 4 }
  4. התקן את ספריית הבקשות על ידי הפעלת הפקודה הבאה ב
    הטרמינל:
    sudo pip install requests
  5. השתמש במוצר על ידי ייבוא ​​spidev, time, Dweet, gpio ו
    GPIO. הפעל את הפונקציות הדרושות כדי לשלוט ולנטר את
    בריכת שחיה. למשלample, השתמש בפונקציה readPH כדי לקרוא את ה-pH
    ערך הבריכה. השתמש בפונקציה liga_des_bomba להפעלה/כיבוי
    המשאבה. השתמש בפונקציה atualiza_sp כדי לעדכן את נקודת ה-pH
    ערך. השתמש בפונקציית dweetPost כדי לשלוח נתונים ל-Dweet.io
    פלטפורמה לניתוח נוסף.

הוראות
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard
מאת rxidieh
הקדמה
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. או שימוש בחומרה ובסיסי ב-DragonBoard של Qualcom וב-Linker Mezanine של 96boards. סראו ניצול החיישנים של החץ על מקום ה-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 service repositório na nuvem ea criação de um app para acesso e control do sistema. בתור funções criadas são: -Controle do PH da Piscina -Acionamento da Bomba e monitoramento -Monitormento do nível do reservatório de produto para tratamento
ארכיטטורה IoT
A automação eo control do tratamento da piscina são realizados pela Dragonboard, com interface do usuário באמצעות אפליקציה 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 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 interface
HTML עבור שימוש
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 1

שלב 1: Configuração Do Hardware
כמו כן, יש צורך להשתמש ב-DragonBoard 410c עבור מימוש אוטומטי ושליטה מקומית. Junto com a Dragonboard foi instalada um shield for 96boards chamado Linker Mezanine, que facilita o acesso as IOs da DragonBoard. Este shield tb possui dois conversores A/D para leitura de dados analógicos. התמונות של Nas קיימות ניצול שימושי עבור דוגמה ל-IOs.
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 compatibilizar o sinal com a entrada
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 2

2. No exemplo, ao invés 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
acoplador ótico acionando um TRIAC או relé 4. O sensor de rotação da bomba foi simulado com um sensor de toque. Em uma aplicação real poderia ser
אום חיישן לא eixo da bomba או אום עזר עזר לעשות 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 deverá ser instalado 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: עמוד 3

Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 4

Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 5

שלב 2: הכנה לדרגון בורד
Atualização da Placa e instalação das bibliotecas p/ 96boards
התקן DragonBoard com uma distribuiçaõ Linux chamada Linaro, ela é suciente em recursos para executar esta applicação, basstando atualizar a place e realizar a instalação das bibliotecas da 96boards para interface mezanine com. אומה vez que estamos trabalhando em Linux, podemos acessar o Terminal para realizar os comandos de atualização e instalação de bibliotecas: Os seguintes comandos realizam a atualização da placa:
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade
Para trabalhar com o Python, também realise a instalação de um editor de textos e do interpretador
sudo apt-get התקנת gedit sudo apt-get התקנת python-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-get install build-essential autoconf automake libtool-bin pkg-config python-dev sudo reboot
LIBSOC (Acesso 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 make sudo make להתקין sudo ldconfig /usr /local/lib sudo אתחול מחדש
96 לוחות:
שיבוט git https://github. com/96boards/96BoardsGPIO.git
cd 96BoardsGPIO/
sudo ./autogen.sh sudo ./configure sudo make sudo make להתקין sudo ldconfig
Quase no m... mas aproveitamos para instalar tb a biblioteca para acesso a parte analógica da Linker Mezanine:
שיבוט git https://github.com/doceme/pyspidev.git cd py-spidev sudo python setup.py התקן 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 caso precise acessar diretamente um endereço de IO
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 6

sudo gedit /usr/local/etc/libsoc.conf
שלב 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 Uma característica importante é que o Dweet não necessita de uma autenticação oscomplexa para acessar o torna interessant para início dos testes com IoT. Para criar o objeto no Dweet basta seguir os seguintes passos:
1. Acessar o Dweet.io e clicar em "Play" 2. Na guia POST crie um nom para o obejto no campo "דבר" 3. לא גampo "תוכן" adicione os dados que serão lidos e enviados. OS dados devem estar no formato
"json" 4. לחץ על "נסה את זה!" e observe o resultado em "Response Body" 5. Caso queira con rmar o uncionamento da "coisa", vá até ocampo "Get Lattest Dweet", אני רוצה לדעת
obje 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 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
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 7

שלב 4: Programação Em Python

Lógica de Funcionamento

Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 8

תוכנת Controle da Piscina foi desenvolvido em Python, que é uma linguagem simples e interpretada, ou seja não necessita de compiladores para obter a excução da aplicação. כמו תוכנה מהנה, piscina_ nal.py, que roda na DragonBoard são as seguintes:
1. שליטה על PH, מוניטור או שליטה מלאה או השוואת ערך עם "נקודת קבע" Web אפליקציה. 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. Quando o PH atinge um valor superior ao desejado, a dosage 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 na bomba, caso seja ligada e não rode.
Antes de apresentar o código, devemos realizar alguns ajustes na Dragonboard para que ela se comunique adequadamente com o Dweet.io
Componentes adicionais
התקן בקשות לביבליוטיקה עבור מימוש פונקציות של POST וקבל מהם HTTP
בקשות להתקנת sudo pip
Copiar o arquivo dweet.py para a mesma פסטה 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.

יבוא spidev זמן יבוא מ-dweet יבוא Dweet מ-libsoc יבוא gpio מ-gpio_96boards יבוא GPIO

COMANDO_BBA = 36

#קומנדו בומבה

NIVEL_PROD = 13

#צ'אב דה ניבל

DOSAGEM_VVL = 115

# Valvula Dosagem

BBA_LIGADA = 24 #Retorno de Bomba ligada

GPIO_CS = 18

#חיישן PH (אנלוגיקו)

סיכות = (

(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)

זמן. שינה (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)

#converte para PH 0 a 14

החזר אקווט

Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 9

לאחר חלוקה זו, התברר כי Dweet e os dados armazenados em variáveis ​​globais para as logicas do software:

def le_dweet():

#Le qual setpoint para tratamento

גלובלי ld_bomba, st_bomba, st_trat, st_res, PH_valor, PH_SP

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

ld_bomba = resposta['with'][0]['content']['ligadesliga_bomba']

st_bomba = resposta['with'][0]['content']['status_bomba']

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

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

PH_valor = resposta['with'][0]['content']['PH_valor']

PH_SP = resposta['with'][0]['content']['PH_setpoint']

החזר 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 logica para acionamento baseada no PH, nível do reservatório e bomba ligada. הערה que as variáveis ​​de monitoramento são as 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) if (PH_valor < PH_SP) ו-( st_res == 1) ו-( st_bomba == 1): 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("ADOTAMENT)O אחר: 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 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 אפליקציה.

if __name__=='__main__': עם GPIO(pins) בתור 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_B. 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

הורד הורדה

שלב 5: Desenvolvimento Do APP – Ambiente Hídrido
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 10

Plataforma híbrida יונית
O aplicativo para control da piscina será desenvolvido utilizando uma plataforma híbrida, ou seja, fazemos a abstração do hardware que o app será utilizado e desenvolvemos um projeto utilizando HTML, CSS ו-Javascript que posteriormente pode seraspeido em caforma plattform para umospe אנדרואיד או 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 דפדפן. עבור האפליקציה, שימוש ב-HTML ו-Typescript. o IONIC מתיר לנצל את המסגרת Angular עבור רכיבים אחרים של רכיבים כמו דגמים ובקרים.
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 הורד את הגרסה האולטימטיבית do node.js Após concluída a instalação, o gerencador de pacotes NPM deve ter sido instalado durante a instalação do node.js. Ele permitirá realizar a instalação do Ionic. אין הנחיה לפעולה האם Windows מממשת התקנה com os seguintes comandos:
npm התקנת g cordova יונית npm התקנת g cordova
Para testar o Ionic, o seguinte comando pode ser executado e se estiver tudo ok retornará a versão instalada:
יונית v
Criação da aplicação no Ionic
Não, não tem uma interface grá ca bonita. טם que criar o app utilizando a linha de comandos. Mas depois a facilidade de uso compensa. לקריאת אומה nova aplicação, Nest caso a smart_piscina, digitamos או seguinte comando:
התחל יונית smart_piscina ריק
Será criada uma nova aplicação em branco que estará salva no diretório:
C:UsuáriosNome do usuáriosmart_piscina
לבדיקת קוד:
cd smart_piscina יונית לשרת
Será aberta uma tela no navegador padrão mostrando aplicação em branco
שלב 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 pala 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 להורדה.
מִמְשָׁק
ממשק com o usuário será editada no arquivo home.html. הערה que as tags שימושי הפתרונות של Ionic ו-Contém Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: עמוד 11

alguns parametros inseridos utilizando os recursos do framework Angular. מסלולי הפעולה של 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 e escrita de dados no Dweet e logicas em geral para o correto funcionamento da interface estão no arquivo home.ts desenvolvido em Typescript, liguagem muito semelhante ao Javascript
ייבוא ​​{ Component } מ'@angular/core'; ייבוא ​​{ NavController } מ'ionic-angular';
//הספק חשוב מאוד. יבא את { DweetProvider } מ'../../providers/dweet/dweet';
@Component({ selector: 'page-home', templateUrl: 'home.html'
})
ייצוא מחלקה דף הבית {
constructor (navCtrl ציבורי: NavController, DweetProvider פרטי: DweetProvider) { }
//Declarações de Variáveis ​​public respostaDweet: string=””; public status_tratamento: string = "סכנה"; public st_trat = 0; public status_bomba: string = "סכנה"; public st_bba = 0; public status_reservatorio: string = "סכנה"; public st_res = 0; public locais = Array(); ציבורי PH_val = 0; SP_PH ציבורי = 0;
//Model do botão de ligar bomba public bomba_model = {
מסומן: false, name: "Ligar Bomba" }
יוֹןViewDidLoad () { //buscando os dados no Dweet e salvando nas variáies locais this.DweetProvider.getLastestDweet(“smart_piscina”).subscribe( data=>{
const response = (נתונים כמו כל); 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: עמוד 12

this.SP_PH = objeto_retorno.with[0].content.PH_setpoint; console.log(this.locais); }, error => { console.log(error); } ) //Atualiza icones de Status this.status_bomba = ((this.st_bba == 1) ? “secondary” : “danger”); this.status_tratamento = ((this.st_trat == 1) ? "secondary" : "סכנה"); this.status_reservatorio = ((this.st_res == 1) ? "secondary" : "סכנה"); }
//Botão Atualizar update() {
יון זהViewDidLoad(); }
//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 == 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); }, error=> { console.log(error); } ) } }
ספק Dweet
יש צורך בקריאת ספק עבור ביצוע תקשורת HTTP com או Dweet. Isto é feito através do Ionic com o seguinte comando no prompt de comando:
ספק יצירת joon dweet
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. הקוד הדרוש וההצגה:
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 13

ייבוא ​​{ Http } מ-'@angular/http'; לייבא { Injectable } מ-'@angular/core'; ייבוא ​​'rxjs/add/operator/map'; /*
מחלקה שנוצרה עבור ספק DweetProvider. ראה https://angular.io/guide/dependency-injection למידע נוסף על ספקים ו-Angular DI. */ @Injectable() מחלקת ייצוא DweetProvider { בסיס פרטיUrl = "https://dweet.io:443/" constructor(public http: Http) {
console.log('Hello DweetProvider Provider'); } //Método responsável por buscar as informações no Dweet. getLastestDweet(thing: string) {
const url_get = this.baseUrl + "get/latest/dweet/for/" + thing; console.log(url_לקבל); החזר את זה.http.get(url_לקבל); } //Método resposnsável por modificar os dados no Dweet. setDweet(thing, body) { return this.http.post(this.baseUrl + "dweet/for/"+ דבר, גוף); } }
אם יש צורך לממש את ה-app.module.ts עבור רכיבי HTTP עבור רכיבי HTTP עבור ספק Dweet:
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 14

לייבא את { BrowserModule } מ'@angular/platform-browser'; ייבוא ​​{ ErrorHandler, NgModule } מ-'@angular/core'; ייבא { IonicApp, IonicErrorHandler, IonicModule } מ'ionic-angular'; לייבא את { SplashScreen } מ-'@ionic-native/splash-screen'; יבא את { StatusBar } מ-'@ionic-native/status-bar'; יבא את { HttpModule } מ'@angular/http'; לייבא את { MyApp } מ-'./app.component'; לייבא את { HomePage } מ'../pages/home/home'; יבא את { DweetProvider } מ-'../providers/dweet/dweet'; @NgModule({
הצהרות: [ MyApp, HomePage
], מייבא: [
BrowserModule, IonicModule.forRoot(MyApp), //ייבוא ​​או HTTP מודול בשימוש ב-Dweet. HttpModule ], bootstrap: [IonicApp], entryComponents: [ MyApp, HomePage ], ספקים: [ StatusBar, SplashScreen, {provide: ErrorHandler, useClass: IonicErrorHandler}, DweetProvider ] }) מחלקת ייצוא AppModule {}
אופא!
Salve tudo e teste aplicação através do comando:
יונית לשרת
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 15

Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 16

Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 17

Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 18

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

הורד

שלב 7: Colocando Tudo Para Funcionar!!
1.Iniciando o Dweet: אין אתר Dweet.io, crie o objeto conform descrito no passo 3
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 19

2. התחל להשתמש ב-DragonBoard: אברה או טרמינל ללא לינארו, גישה לפסטה היא אפליקציית smart_home.py e digit 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
יונית לשרת
https://youtu.be/O27f93xE0bk https://youtu.be/HaSeRf3wkSI https://youtu.be/vx16cLQKOeU
שלב 8:
Smart Piscina Com IoT - Ionic, Dweet E DragonBoard: עמוד 20

מסמכים / משאבים

instructables Smart Piscina Com IoT Ionic Dweet E DragonBoard [pdfהוראות
Smart Piscina Com IoT Ionic Dweet E DragonBoard, Smart Piscina, Com IoT Ionic Dweet E DragonBoard, Dweet E DragonBoard

הפניות

השאר תגובה

כתובת האימייל שלך לא תפורסם. שדות חובה מסומנים *