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, следвайте тези
инструкции:
- Актуализирайте и надстройте софтуера, като изпълните следното
команди в терминала:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade - Инсталирайте допълнителни компоненти, като изпълните следните команди
в терминала:
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 - Редактирайте 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 } - Инсталирайте библиотеката с заявки, като изпълните следната команда
терминалът:
sudo pip install requests - Използвайте продукта, като импортирате 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
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. Използваният хардуер е базиран на DragonBoard на Qualcom и на Linker Mezanine на 96boards. Използваме сензорите Arrow за мястото на Linker Mezanine. Esta não é uma implementação nal! Mas sim um desenvolvimento para mostrar como realizar a programçã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 sistema. As funções criadas são: -Controle do PH da Piscina -Acionamento da Bomba e monitoramento -Monitoramento do nível do reservatório de produto para tratamento
Архитектура IoT
A automação eo controle do tratamento da piscina são realizados pela Dragonboard, com интерфейс do usuário via app Web. Para que isto seja possível, é utilizada a arquitetura demonstratada na imagem, e consiste em:
1. Os dados são lidos e processados pela Dragonboard 2. A DragonBoard escreve em um repositório na Web, neste caso o Dweet.io 3. O Dweet.io disponibiliza as informações lidas para que 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 интерфейс
HTML за използване
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Страница 1
Стъпка 1: Конфигуриране на хардуер
Como dito, можете да използвате DragonBoard 410c за реализиране на автоматично управление и локално управление на машината. Junto com a Dragonboard за инсталиране на щит от 96boards chamado Linker Mezanine, което улеснява достъпа до IOs от DragonBoard. Este shield tb possui dois conversores A/D para leitura de dados analógicos. Nas imagens existe a con guração utilizada para conexão dos IOs deste exemplo.
1. Foi considerado o uso 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 ou relé 4. O sensor de rotação da bomba foi simulado com um sensor de toque. Em uma aplicação real poderia ser
um сензор няма eixo da bomba ou um contado auxiliar do contator que aciona a bomba. Neste caso, em caso de defeito da bomba ou queda do disjuntor, seria possível veri car que a bomba foi acionada e não está girando 5. O sensor para nível do reservatório é um do tipo “tilt” que 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: Подготовка на DragonBoard
Atualização da Placa e instalação das bibliotecas p/ 96boards
Площадката на DragonBoard е фабрика с дистрибутор на Linux chamada Linaro, ela é su ciente em recursos за изпълнение на това приложение, което може да бъде актуализирано на място и да се реализира инсталация на библиотеки на 96boards за интерфейс чрез Linker Mezanine. Uma vez que estamos trabalhando em Linux, podemos acessar o Terminal para realizar os commandos de atualização e instalação de bibliotecas: Os seguintes comandos realism a autualização da placa:
sudo apt-get актуализация sudo apt-get надстройка sudo apt-get dist-upgrade
Para balhar com o Python, também implement a instalação de um editor de textos e do interpretator
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 ríticos para a instalação correta:
sudo apt-get install build-essential autoconf automake libtool-bin pkg-config python-dev sudo рестартиране
LIBSOC (Достъп до Mezanine за свързване)
git клонинг 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 рестартиране
96 дъски:
git клонинг https://github. com/96boards/96BoardsGPIO.git
cd 96BoardsGPIO/
sudo ./autogen.sh sudo ./configure sudo make sudo make install sudo ldconfig
Quase no m… mas aproveitamos para instalar tb a biblioteca para accesso a parte analógica da Linker Mezanine:
git клонинг https://github.com/doceme/pyspidev.git cd py-spidev sudo python setup.py инсталирайте sudo ldconfig sudo рестартирайте
É importante lebrar que na LIBSOC estão as references 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 complexa para acessar os dados, o que o torna interessante para início dos testes com IoT. Para criar o objeto no Dweet basta seguir os seguintes passos:
1. Влезте в Dweet.io и щракнете върху „Play“ 2. Направете POST crie um nom para o obejto no campo „нещо“ 3. Не campo „съдържание“ adicione os dados que serão lidos e enviados. Os dados devem estar no formato
“json” 4. Кликнете върху “Опитайте го!” e наблюдавайте резултата от „Отговорното тяло“ 5. Caso queira con rmar o uncionamento da „coisa“, vá até ocampo „Вземете най-новия Dweet“, изберете името
натиснете и щракнете върху „Изпробвайте“ за проверете колата и отговорете на Dweet. Para esta applicação foi criado o objecto “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 communicaçã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: Програмиране на Python
Lógica de Funcionamento
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Страница 8
O software de Controle da Piscina foi desenvolvido em Python, que é uma linguagem simples e interpretada, ou seja ne necessita de compiladores para obter a execução da aplicação. Като функция, реализирана от софтуера piscina_ nal.py, този род на DragonBoard е следният:
1. Controla o PH, monitorando o valor medido na piscina e comparando com o “Setpoint” de nido pelo usuário no 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 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 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
Инсталирайте библиотека REQUESTS за реализиране на функциите на POST и GET в HTTP
заявки за инсталиране на sudo pip
Копирайте или архивирайте dweet.py за тестени изделия от месо, което е в приложението smart_piscina.py
Код на шрифта на Python
A seguir apresentamos o codigo 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
#Chave de nivel
DOSAGEM_VVL = 115
#Valvula Dosagem
BBA_LIGADA = 24 #Retorno de Bomba ligada
GPIO_CS = 18
#Сензор PH (аналогично)
карфици = (
(GPIO_CS, 'извън'), (COMANDO_BBA, 'извън'), (DOSAGEM_VVL, 'извън'), (NIVEL_PROD, 'влизане'), (BBA_LIGADA, 'влизане')
)
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)
#конвертиране на PH 0 в 14
връщане на реклама
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Страница 9
Na segunda parte, é realizada a leitura do Dweet e os dados armazenados em variáveis globais para as logicas do software:
def le_dweet():
#Le qual setpoint para tatamento
глобална ld_bomba, st_bomba, st_trat, st_res, PH_valor, PH_SP
отговор = dweet.latest_dweet(име=”smart_piscina”)
ld_bomba = отговор['with'][0]['content']['ligadesliga_bomba']
st_bomba = отговор['with'][0]['content']['status_bomba']
st_trat = отговор['with'][0]['content']['status_tratamento']
st_res = отговор['with'][0]['content']['status_reservatorio']
PH_valor = отговор['with'][0]['content']['PH_valor']
PH_SP = отговор['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 lógica para acionamento baseada no PH, nível do reservatório e bomba ligada. Note 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 novomente enviados ao serviço.
def tratamento(): глобален st_trat, st_res, st_bomba st_res = gpio.digital_read(NIVEL_PROD) st_bomba = gpio.digital_read(BBA_LIGADA) ако (PH_valor < PH_SP) и ( st_res == 1) и ( st_bomba == 1): gpio. digital_write(DOSAGEM_VVL, GPIO.HIGH) time.sleep(2) #tempo da dosagem do produto gpio.digital_write(DOSAGEM_VVL, GPIO.LOW) time.sleep(1) #espera entre dosagens st_trat = 1 print(“TRATAMENTO lIGADO”) else: gpio.digital_write(DOSAGEM_VVL, GPIO.LOW) st_trat = 0 print(“TRATAMENTO DESliGADO”) return st_trat, st_res
A quarta e última parte é o looping de execução da lógica. A ordem 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(пинове) като gpio: докато True:
le_dweet() tratamento() PH_valor = round(readPH(gpio), 2) if ld_bomba == 1: gpio.digital_write(COMANDO_BBA, GPIO.HIGH) print(“Bomba Ligada”) else: gpio.digital_write(COMANDO_BBA, GPIO. LOW) print(“Bomba Desligada”) print(“Valor do PH = %d” % PH_valor) print(“Valor do SP PH = %d” % PH_SP) print(“”) dweet.dweet_by_name(name=”smart_piscina” , data={“ligadesliga_bomba”:ld_bomba, “status_bomba”:st_bomba, “status_tratamento”:st_trat, “status_reservatorio”:st_res, “PH_valor”:PH_valor, “PH_setpoint”:PH_SP}) time.sleep(10)
https://www.instructables.com/ORIG/FPV/I7ZO/JAMTVW5R/FPVI7ZOJAMTVW5R.py https://www.instructables.com/ORIG/FMD/BHS3/JAMTVW5V/FMDBHS3JAMTVW5V.py
Изтегляне Изтегляне
Стъпка 5: Desenvolvimento Do APP – Ambiente Hídrido
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Страница 10
Plataforma híbrida Ionic
O aplicativo para piscina será desenvolvido utilizando uma platforma híbrida, ou seja, fazemos a abstração do hardware que or app será utilizado e desenvolvemos um projeto utilizando HTML, CSS e Javascript que posteriormente pode ser convertido em um app para uma platforma spec í ca como Android или IOS. Neste caso utilizamos o IONIC, que funciona baseado na plataforma Cordova, que permite visualizar e testar a aplicação através da renderização na mesma na tela de um Web Браузър. За да използвате приложението, използвайте HTML език и Typescript. o IONIC também позволява използване на Framework Angular за ocs компоненти като модели и контролери.
Instalação do Ambiente de Desenvolvimento
O desenvolvimento do app será realizado em um computador pessoal, e não na placa DragonBoard. Започваме с инсталация на node.js, необходима за функцията на Ionic Acessar на сайта https://nodejs.org/en/ и фазираме или изтегляме последната версия на node.js Após concluída a instalção, or gerencador de pacotes NPM deve ter sido instalado durante a instalação do node.js. Ele permitirá realizar a instalação do Ionic. No prompt de comando Windows реализира ли инсталация com os seguintes commandos:
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
Cração da aplicação no Ionic
Não, não tem uma интерфейс grá ca bonita. Tem que criar o app utilizando a linha de comandos. Mas depois a facilidade de uso compensa. Para criar uma novo aplicação, neste caso a smart_piscina, digitamos o 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 a 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 programção desenvolvido pela Microsoft e que pode ser baixado no site: https://code.visualstudio.com/download Os códigos alterados são apresentados a seguir, mas também estão disponíveis за изтегляне.
Интерфейс
Интерфейсът се използва за редактиране на архива home.html. Забележка que as tags utilizadas são próprias do Ionic e contém Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Страница 11
alguns parametros inseridos utilizando os recursos do framework 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 for download.
Processamento
As fuções referentes a leitura e escrita de dados no Dweet e lógicas em geral para o correto funcionamento da interface estão no arquivo home.ts desenvolvido em Typescript, liguagem muito semelhante ao Javascript
импортиране на {Component} от '@angular/core'; import { NavController } from 'ionic-angular';
//Прецизен внос или доставчик. импортиране { DweetProvider } от '../../providers/dweet/dweet';
@Component({ селектор: 'page-home', шаблонUrl: 'home.html'
})
експортиране на клас HomePage {
конструктор (публичен navCtrl: NavController, частен DweetProvider: DweetProvider) { }
//Declarações de Variáveis public respostaDweet: string=””; public status_tratamento: string=”danger”; публичен st_trat = 0; public status_bomba: string=”danger”; публичен st_bba = 0; public status_reservatorio: string=”danger”; публичен st_res = 0; публичен locais = Array(); публичен PH_val = 0; публичен SP_PH = 0;
//Модел на botão de ligar bomba public bomba_model = {
проверено: невярно, име: „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); }, грешка => { console.log(грешка); } ) //Актуализиране на иконите на състоянието this.status_bomba = ((this.st_bba == 1) ? “вторичен” : “опасност”); this.status_tratamento = ((this.st_trat == 1) ? “вторичен” : “опасност”); this.status_reservatorio = ((this.st_res == 1) ? “вторичен” : “опасност”); }
//Botão Atualizar update() {
this.ionViewDidLoad(); }
//Liga Desliga Bomba liga_des_bomba(){ this.dweetPost() }
atualiza_sp(){ this.dweetPost()
}
dweetPost(){ //Преобразуване на данни в Boolean botão de Boolean за вътрешно const ld_bba = ((this.bomba_model.checked == true) ? 1 : 0);
//Изпращане на данни за 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(
данни=>{ console.log(данни); }, грешка=> { console.log(грешка); } ) } }
Доставчик на Dweet
Необходимо е да извикате доставчик, за да реализирате HTTP комуникация чрез Dweet. Isto é feito através do Ionic com o seguinte commando no prompt de comando:
ionic генерира доставчик 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. O codigo necessário é exibido a seguir:
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/” конструктор (публичен http: Http) {
console.log('Здравей доставчик на DweetProvider'); } //Методът отговаря на търсене като информация без Dweet. getLastestDweet(нещо: низ) {
конст url_get = this.baseUrl + „вземи/последно/dweet/за/” + нещо; console.log(url_get); върнете това.http.get(url_get); } //Методът отговаря за модифициране на данни без Dweet. setDweet(thing, body) { return this.http.post(this.baseUrl + “dweet/for/”+ нещо, тяло); }}
За m е необходимо да се реализира моди като файл app.module.ts за прехвърляне на адекватни HTTP компоненти за функция на Dweet Provider:
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Страница 14
импортиране на { BrowserModule } от '@angular/platform-browser'; импортиране на { ErrorHandler, NgModule } от '@angular/core'; import {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 ], начално зареждане: [IonicApp], entryComponents: [ MyApp, HomePage], доставчици: [ StatusBar, SplashScreen, {provide: ErrorHandler, useClass: IonicErrorHandler}, DweetProvider ] }) клас за експорт AppModule {}
Уфа!
Salve tudo e teste a 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 или Dweet: Няма сайт Dweet.io, викайте или обектът отговаря на описанието без пропуск 3
Smart Piscina Com IoT – Ionic, Dweet E DragonBoard: Страница 19
2. Започнете приложение на DragonBoard: Abra или Terminal no Linaro, влезте в паста, когато е приложението smart_home.py и цифрова команда:
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 |




