Obsah:

Inteligentné ubytovanie v Uma Casa: 5 krokov
Inteligentné ubytovanie v Uma Casa: 5 krokov

Video: Inteligentné ubytovanie v Uma Casa: 5 krokov

Video: Inteligentné ubytovanie v Uma Casa: 5 krokov
Video: Умный дом - как это работает? Бытовые электросети 2024, November
Anonim
Inteligentné ubytovanie v Uma
Inteligentné ubytovanie v Uma

O projekte que faremos é de uma casa inteligente. Naše základné skupiny môžu mať nasledujúcu skupinu funkcií: · Monitor monitorovania teploty a teploty.

· Zoznam monitorovaných potravín a filtrov na filtre na geladeire.

Väčšina spoločností, ktoré majú k dispozícii IoT, nie sú dostupné; predpokladáme, že máme k dispozícii nasledujúce položky:

- Všeobecné možnosti dotykového displeja, ktoré môžu obsahovať množstvo potravín: množstvo potravín a kvantitatívnych údajov;

- geladeira possui um sensor de nível em um pequeno tanque de água embutido na geladeira;

- Os cômodos têm termômetros e sensores de iluminância;

- čo je možné, že komunikácia prebieha cez wifi;

- As lâmpadas dos cômodos podem ter o brilho ajustado por dispositivo que se comunica pela rede wifi;

Požiadavky:

- Conhecimento básico em python, javascript, uso do sistema operacional, comandos básicos no shell

- Ter instalado: nodejs, python

- Bezprostredné (voliteľné): dokovacia stanica, mobilná emulátora, podpora pre Android (k dispozícii nie je žiadne Android Studio)

Obežné riešenie pre Linux bez Linuxu. Niektoré možnosti prispôsobenia sa systému Windows nie sú k dispozícii.

Krok 1: Konfigurácia O Ambiente

Konfigurácia O Ambiente
Konfigurácia O Ambiente
Konfigurácia O Ambiente
Konfigurácia O Ambiente

Konfigurácia alebo konfigurácia dvoch častí: 2 časti: servidor a mobile. O servidor serc escrito em python e o mobile em javascript oru typescript, sendo utilizado React Native para o projeto.

reactnative.dev/

Vamos inicialmente criar uma estrutura de pastas. Viac informácií o značke (viac ako jedna sekcia konkrétneho programu $ PROJECT_DIR) - zástupca zástupcu - miestne údaje o počte, ktoré uprednostňujete), vyberte si „servidor“cestovín:

$ mkdir $ PROJECT_DIR && cd $ PROJECT_DIR

$ mkdir servidor

CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO PARA O SERVIDOR

Používajú sa hlavne okolité virtuálne pytóny (venv). Caso deseje use ambiente conteinerizado, criaremos and imagem segundo or dockerfile:

$ cd $ PROJECT_DIR

$ touch dockerfile

Predstavte si dockerfile.

Caso prefira používa okolité virtuálne prostredie v pythone, ako napríklad pokyny

Väčšie množstvo údajov, ktoré sú závislé a závislé na službe, ako aj závislosti od potrieb:

$ touch requirements.txt

Predstavte si súbor requirements.txt.

Časť, ako sa rozhodnúť pre použitie okolitého prostredia, nemôže vytvoriť žiadny kontajner:

$ docker build. -t smarthouse $ docker run -it -p 3000: 3000 -v $ (pwd):/app smarthouse bash

Viac informácií o dockerfile a do docker dockere: https://docs.docker.com/engine/reference/builder/…

CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO MOBILE

Mnoho pascí a pascí konfigurácie mobilných telefónov a zariadení React Native pode ser visto no link:

Konfigurácia a konfigurácia okolitého prostredia, výber cestovného plánu a spustenie mobilného telefónu:

$ npx klient create-reagovat-natívna aplikácia

Krok 2: WebSocket

Naše hlavné otázky zahrnujú viac ako jednu webovú stránku a ďalší prehľad. Čas potrebný na to, aby ste si mohli prezerať svoje obľúbené videá alebo videá, oddeliť alguns minútos para entender como funciona o websocket através da documentação:

developer.mozilla.org/pt-BR/docs/WebSocket…

Použitá biblioteca neobsahuje žiadnych klientov a neposkytuje žiadne protokoly o protokole práce, ako aj o podrobnostiach týkajúcich sa identifikácie a identifikácie armatúr. Oddeľte tam a späť tempo ako bibliotecas využite žiadny klient a žiadny servidor:

Klient:

Servidor:

Krok 3: Skratka o servidore

Eskrevendo O Servidor
Eskrevendo O Servidor
Eskrevendo O Servidor
Eskrevendo O Servidor
Eskrevendo O Servidor
Eskrevendo O Servidor
Eskrevendo O Servidor
Eskrevendo O Servidor

Iniciatíva, ktorá by mala oficiálne začať s projektom a podporovať rozhranie, ktoré by sa malo využívať v mnohých spoločných komunikáciách s týmto serverom:

$ mkdir src

$ touch app.py src/{ovládač, socketconnection}.py

Hlavný princíp zosynchronizácie modulu synchronizácie a servisu:

Predstavte si aplikáciu app.py

Depois vamos escrever or móduloe que establishmentelece as conexões via websocket e as redirecionam para um controlador.

Pozrite si obrázok do socketconnection.py

POUŽÍVA REGULÁTOR E

Ovládač prijíma všetky moduly, ktoré zodpovedajú za zavedenie a pripojenie ako prílohu; Väčšina zodpovedajúcich odpovedí môže mať za následok zníženie počtu prijatých, odoslaných alebo prijatých odpovedí, ako je možné v prípade, že dôjde k zvýšeniu resp. zníženiu počtu odpalov.

Predstavte si súbor controller.py.

Konečné časové rozsahy bežných kasínových hier, ktoré si vyberiete z našej ponuky, z ktorých si môžete vybrať, či budete potrebovať nové alebo zmenšené ovládače. Žiadny iný systém hodnotenia (ako používať numéricos, texto ou booleanos - žiadne caso de ligar/desligar dispositivos de ambientação). Všetky možnosti, ako nakupovať, sa často prejavujú v niektorých herných funkciách, ktoré môžu prispieť k rôznym dôsledkom toho, ako sa dopúšťať negatívnych dopadov.

Predstavte si súbor usecases.py

Poznámky: Precisamos persistir os dados de alguma forma. Fica a escolha do leitor como preferere armazenar os dados to portanto, implementar as funções do src/repository.py. Žiadna projektová ponuka nemôže pracovať s trvalou databázou. Nie je možné vykonať žiadne overenie platnosti servera/databázy cestovných serverov/databázových serverov/databázových modelov/databázových modelov.

Krok 4: Testando O Servidor

Testujte, servidor
Testujte, servidor

Skript najvýznamnejších skriptov pripojených k serveru a poskytovateľov environmentálnych udalostí zodpovedajúcich konkrétnym požiadavkám ručného ovládania. Scenár skriptov skriptov spojených s obsluhou*.

Pozrite sa na serverclient.py

Com o arquivo criado, verifique se o container está rodando, e dentro dele execute:

$ python app.py

Fora do container, no diretório $ PROJECT_DIR/server execute:

$ python3 serverclient.py

Žiadna výzva ">" Digite os eventoscontrados no controlador seguido de ";" e então valores de identificação e/ou novos valores. Príklad:

UPDATE_FRIDGE_WATER_LEVEL; 80

UPDATE_ROOM_TEMPERATURE; 1, 22.0

UPDATE_ROOM_TEMPERATURE_SETPOINT; 1, 17.5

UPDATE_ROOM_LUMINOSITY; 100

UPDATE_ROOM_LUMINOSITY_SETPOINT; 0

TOGGLE_ROOM_TEMPERATURE; 1

TOGGLE_ROOM_LIGHT; 1

E para cada evento enviado verifique se foi persistido no banco de dados escolhido.

Poznámka: Verifique que a porta que está odoslať servido a aplicação, a porta exposta no docker run e a porta do script de teste devem ser a mesma.

Krok 5: Aplicação Mobile

Aplicação Mobile
Aplicação Mobile
Aplicação Mobile
Aplicação Mobile

Väčšina ukážkových modelov, ktoré si môžete vychutnať, prináša niekoľko skvelých mobilných aplikácií. Realizácia pôvodného dokumentu nie je možná. Konfigurácia. Príchod, ako $ PROJECT_DIR/klient a závislosť a závislosť na projekte:

$ npm i socket.io

Väčšie množstvo rôznych komponentov a funkcií ako komunikácia so serverom.

ESCREVENDO A TELA

Em App.js, rôzne escrever os komponenty v GUI.

⚠ Všimnite si, že keď použijete niečo iné, ovplyvnite tento efekt! Počet možných redukcií sady setDataReducer, setFoodReducer, setTemperatureReducer, setLightReducer and nem escritos os objetos com estados initiais INITIAL_STATE, INITIAL_FOOD_MODAL, INITIAL_TEMPERATURE_MODAL, INITIAL_

Tam sú všetky typy úložísk, ktoré môžu využívať rôzne prvky intelektuálneho rozhrania pre všetky typy kamier bez servera: saveNewFoodValue, saveNewTemperature, saveNewLuminosity, toggleTemperatureForRoom, toggleLight

Portanto, so desejar testar os elementos com dados falsos, escreva cada objeto e função dito acima.

Pozrite sa na aplikáciu App.js s hlavným grafickým rozhraním

Niektoré možnosti sa môžu používať ako nevyhnutné prvky pre spoločnú a komunikatívnu službu alebo pre množstvo komponentov GUI.

Predstavte si do App.js com código da parte lógica/operacional

Odporúča: