Përmbajtje:
- Hapi 1: Konfiguro O Ambiente
- Hapi 2: WebSocket
- Hapi 3: Escrevendo O Servidor
- Hapi 4: Testando O Servidor
- Hapi 5: Një Aplikim celular
Video: Pequeno Projeto De Uma Casa Inteligente: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
O projeto que faremos é de uma casa inteligente. Possui basicamente dois grupos de funcionalidades: · Monitoramento de iluminação e temperatura dos cômodos.
· Monitoramente de lista de alimentos e nível de água filtrada na geladeira.
Não escreveremos os firmwares dos dispositivos IoT da geladeira nem dos cômodos; porém suppiremos que os dispositivos fazem ose seguinte:
- Një mundësi e shkëlqyeshme për disponimin e ekranit me prekje që ka një mundësi të madhe për të ushqyer ushqimet: o ome e ushqimit dhe ekuidadës;
- Një mundësi e madhe për të ndjerë ndjeshmërinë e një cilësie të caktuar të ruajtjes së emulimit në gjeladera;
- Os cômodos têm termômetros e sensores de iluminância;
- Os cômodos têm ar condicionado que se comunicam pela rede wifi;
- As lâmpadas dos cômodos podem ter o brilho ajustado por disponueshmëria e saj është se si të komunikoni me Wi -Fi;
Kërkesat:
- Conhecimento básico em python, javascript, uso do sistema operacional, komando básicos pa guaskë
- Ter instalado: nodejs, python
- Instalado (opcional): docker, emulimi i disponueshmërisë së celularit, përdorimi i sdk për Android (shpërndarja pa Android Studio)
Shkarkoni programin që dëshironi të përdorni në Linux. Mund të kërkohet që të përshtaten para se të mos hyjnë në Windows.
Hapi 1: Konfiguro O Ambiente
Konfigurimi i ambientit të desenvolvimento në 2 pjesë: shërbimi dhe celulari. Shërbimi ynë shërben për të përcaktuar python dhe celularët për javascript ose shkrim dore, dërgo përdorim React Native para ose projeto.
reactnative.dev/
Vamos inicialmente criar uma estrutura de pasta. Em um diretório escolhido (që është pjesë e një serie eskrito sempre como $ PROJECT_DIR como placeholder - crie com no local que achar mais mjaftado e com o nome de sua preferência), vamos criar uma pasta "servidor":
$ mkdir $ PROJECT_DIR && cd $ PROJECT_DIR
$ mkdir servidor
CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO PARA O SERVIDOR
Podemos përdor në mjedisin konteinerizado com Docker ose ambient python virtual (venv). Përdorimi i përdorimit të ambientit të mbrojtur, criaremos a imagem segundo o dockerfile:
$ cd $ PROJECT_DIR
dockerfile $ touch
Veja imagem do dockerfile.
Përdorimi i përdorimit të ambientit virtual për python, si udhëzim në
Vamos então criar o arquivo que persistirá a lista e varësive të shërbimit dhe ngjyrosjes si varësi të domosdoshme:
$ touch kërkesat.txt
Veja imagem do kërkesat.txt.
Përdorimi i um ambiente të konteinerizimit, krijoni një imazh dhe nuk futni asnjë enë:
$ docker build. -t smarthouse $ docker run -it -p 3000: 3000 -v $ (pwd):/app smarthouse bash
Për më shumë informacione për dockerfile e a cli do docker: https://docs.docker.com/engine/reference/builder/…
CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO MOBILE
Ush passo dhe konfigurimin e një cilësie ose ambienti të desenvolvimento në celularin com React Native pode ser visto pa lidhje:
Aplikoni në konfigurimin e ambientit, duke bërë makarona për të kryer një mundësi për ekzekutimin ose komandimin për të përdorur një aplikacion celular:
$ npx krijoni-reagoni-klient-aplikacionin vendas
Hapi 2: WebSocket
Ress interessante que o leitor conheça pelo menos um pouco a respeito de websets antes de prosseguir. Për shembull, ju mund të përdorni një lidhje të tillë, të ndani një minutë të vogël për të hyrë në funksionimin e një rrjeti të dokumenteve të dokumentacionit:
developer.mozilla.org/pt-BR/docs/WebSocket…
Usaremos uma biblioteca nuk ka klientë dhe nuk shërben për abstrai o protokollin e manipulimit që nuk mund të përcaktojë saktësisht detajet e dhomës sonë të armatosjes së identifikimit dhe rrotullimit. Ndani também um tempo para estudar si bibliotecas useizados pa klientë dhe pa servidor:
Klienti:
Servidor:
Hapi 3: Escrevendo O Servidor
Varianti i parë i vlerësimit të brendshëm do të jetë i nevojshëm për të shfaqur një ndërfaqe që mund të përdoret nga shërbimi i shërbimit:
$ mkdir src
$ touch app.py src/{kontrollues, socketconnection}.py
Primeiramente vamos escrever um módulo de inicalização do servidor:
Veja imagem do app.py
Depois vamos escrever o módulo que estabelece si conexões nëpërmjet websocket e si redirecionam para um controlador.
Veja imagem do socketconnection.py
P USRDORIMET E KONTROLLUESIT E
O controlador receberá um pacote do módulo responsável for estabelecer e gerenciar as conexões; me përgjegjësinë për të kontrolluar saber kualifikimin e rasteve të përdorimit të një çamër para se të arrini të merrni, mund të përdorni një përgjigje për një përdorim të një mjedisi të caktuar në një përgjigje para një dhome në dhomën e disponimit të lidhjeve për atualizimin e informacionit.
Veja imagem do controller.py.
Përfundimi i çështjeve në rastin e përdorimit të një sistemi të tillë të ri të shërbimit, do t'ju lejojë të merrni një llogari nga sistemi i ri i sistemit gjyqësor, i cili do t'ju ndihmojë të kontrolloni sistemin tuaj të kontrollit. Nuk ka nevojë për një sistem të vlefshëm të vlefshmërisë (sejam numéricos, texto ou booleanos - nuk ka ligje/desligar dispositivos de ambientação). Então não é de surpreender que os casos de uso tão somente chame funcões do të përgjigjet më së miri në vazhdimësinë e babait që të fosse essa a "regra de negócio".
Veja imagem do usecases.py
Shënim: precisamos persistir os dados de alguma forma. Fica a escolha do leitor como prefere armazenar os dados e portanto, zbatoj si funções do src/repository.py. Nuk ka nevojë të përdorim si një shembull për të vazhduar punën tonë dhe të mos përdorim asnjë bazë të dhënash. Nuk ka depozitime që mund të verifikojnë serverin/bazën e të dhënave të makaronave dhe të dhënat e përdorura nga sistemi i serverit/modelit të bazës së të dhënave. Modeli i shërbimit që kemi përdorur për të përdorur një funksion të veçantë.
Hapi 4: Testando O Servidor
Podemos criar um script for conectar ao servidor e enviar eventos conforme a estrutura esperada pelos controladores para fins de testes manuais. Vamos criar esse script e rodá-lo com o servidor*.
Veja imagem do serverclient.py
Com o arquivo criado, verifique se o container está rodando, dhe dentro dele ekzekutoni:
$ python app.py
Për hapjen e kontejnerit, pa parazgjedhje $ PROJECT_DIR/server ekzekutoni:
$ python3 serverclient.py
Asnjë kërkesë ">" nuk mund të kontrollojë asnjë kontrollues për ";" e então valores de identificação e/ou novos valores. Për shembull:
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 nuk ka banco de dados escolhido.
Shënim: verifikimi i një porte që është dërguar për të shërbyer në një aplikim, një eksport i madh nuk funksionon me një docker dhe një portë për të bërë skriptin e testimit të një mesazhi.
Hapi 5: Një Aplikim celular
Ne nuk mund të demonstrojmë që ju mund të detajoni të bëni një kërkesë për klientët tuaj celular. Nuk mund të thuhet qartë për importimin e një cilësie të madhe të veprimit, React Native nuk mund të ketë detajet e konfigurimit. Për shembull, për shembull $ PROJECT_DIR/klienti dhe adicione e një varësie paraprake për këtë qëllim:
$ npm i socket.io
Em seguida vamos escrever os componentes gráficos e as funções que irão se comunicar com o servidor.
ESCREVENDO A TELA
Em App.js, shikoni të gjitha komponentët e GUI.
⚠ Shënim për një përdorim funsional të përdorimit të një efekti efekti në një fokus escrita! Também não foram escritos os reduktuesit setDataReducer, setFoodReducer, setTemperatureReducer, setLightReducer e nem escritos os objetos com estados iniciais INITIAL_STATE, INITIAL_FOOD_MODAL, INITIAL_TEMPERATURE, INITIAL_TEMPERATURE
Também ainda não foram escritas as funcões utilisadas pelos elementos de inteface gráfica para fazer chamadas para escrita no servidor: saveNewFoodValue, saveNewTemperature, saveNewLuminosity, toggleTemperatureForRoom, toggleLightForor
Portanto, se desejar testar os elementos com dados falsos, escreva cada objeto e função dito acima.
Përfundoni imazhin e App.js për të punuar me GUI
Por fim vamos escrever as funções needárias para fazer a comunicação com o servidor e para utlização do mesmo pelos componentes de GUI.
Përfundoni imazhin e App.js com código për parte lógica/operacional
Recommended:
Projeto IoT - Sistema Detector De Fumaça: 5 hapa
Projekto IoT - Sistema Detector De Fumaça: Hyrje Sistemi Detector i Fumaça përbëhet nga zgjidhja e IoT që ju lejon të lejoni monitorimin e alarmeve të krijimit të residencave të përdorimit të aplikacioneve Android. Projekto një bazë për mikrokontrollorin që është një komunikim me një
Projeto CoCoa: Um Colete De Comunicação Alternativa: 8 hapa
Projeto CoCoa: Um Colete De Comunicação Alternativa: Projekti CoCoA është një jelek i veshur i lidhur në internet që lejon bashkimin e simboleve prekëse të komunikimit alternativ për të ndihmuar njerëzit me aftësi të kufizuara në të folur ose jo-verbale.
Projeto Lumos: 8 hapa
Projekto Lumos: O projeto Lumos konsiston në ndërtimin e uma të ndriçimit të kontrollit të një pjese të um të telefonit tuaj të lidhur dhe mesme të rivendosjes së shërbimit ose WiFi. Për të kontrolluar ndriçimin e përdorimit të aplikacioneve Android, duke lejuar që të përdorni dhe të përdorni një përdorues të madh
Projeto Fila Fácil: 7 Hapa
Projeto Fila Fajlli: Em nosso dia a dia vamos diversas vezes ne locais onde é nevoja á ria uma gest ã o de senhas de klientes para organizator dhe agilizar atendimentos. Em alguns estabelecimentos podemos demorar alguns minutos ou at é mesmo horas esp
Casa Inteligente Com Arduino: 6 hapa
Casa Inteligente Com Arduino: Esse projeto é uma junção de vários pequenos projetos que podem ser feitos com Arduino. Um um ótimo projeto para quem está começando no mundo do Arduino.Você vai aprender a fazer um sistema com medição de temperatura e umidade, alarme, acendimento de