فهرست مطالب:
- مرحله 1: Configurando O Ambiente
- مرحله 2: WebSocket
- مرحله 3: Escrevendo O Servidor
- مرحله 4: Testando O Servidor
- مرحله 5: Aplicação Mobile
تصویری: Pequeno Projeto De Uma Casa Inteligente: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
O projeto que faremos é de uma casa inteligente. Possui basicamente dois grupos de funcionalidades: · De monitoramento de iluminação e temperatura dos cômodos.
· De 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 o seguinte:
- یک صفحه نمایش لمسی که می توانید از طریق آن لمس کنید ، می توانید از مواد غذایی استفاده کنید:
- a 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؛
- 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 dispitivo que se comunica pela rede wifi؛
شرایط لازم:
- Conhecimento básico em python، javascript، uso do sistema operacional، comandos básicos no shell
- Ter instalado: nodejs ، پایتون
- Ter instalado (اختیاری): docker ، emulador de dispositivo mobile ، gerenciador de sdk do Android (عدم استفاده از Android Studio)
در حال حاضر نمی توانید از لینوکس خود استفاده کنید. Podem ser needárias adaptações para que seja feito no Windows.
مرحله 1: Configurando O Ambiente
Vamos configurar o ambiente de desenvolvimento em 2 partes: servidor e mobile. O servidor será escrito em python و o mobile em javascript یا حروف چاپی ، استفاده از React Native para o projeto.
reactnative.dev/
Vamos inicialmente criar uma estrutura de pastas. Em um diretório escolhido (que a partir de agora será escrito semper como $ PROJECT_DIR como placeholder - crie com no local que achar mais mjaftado e com o nome de sua prefeência) ، vamos criar uma pasta "servidor":
$ mkdir $ PROJECT_DIR && cd $ PROJECT_DIR
$ mkdir servidor
CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO PARA O SERVIDOR
Podemos utilisar um ambiente conteinerizado com Docker یا ambiente python virtual (venv). Caso deseje utilisar ambiente conteinerizado، criaremos a imagem segundo o dockerfile:
$ cd $ PROJECT_DIR
dockerfile $ touch
Veja imagem do dockerfile.
Caso prefira utilisar ambiente virtual do python، siga as instruções em
Vamos então criar o arquivo que persistirá a lista de وابستگی به servidor e colocar به عنوان وابستگی های ضروری:
$ touch Requires.txt
Veja imagem do requirements.txt.
Caso tenha optado for utilizar um ambiente conteinerizado ، ساختن یک تصویر بدون هیچ ظرفی:
$ docker build. -t smarthouse $ docker run -it -p 3000: 3000 -v $ (pwd):/app smarthouse bash
Para mais informações sobre o dockerfile and a cli do docker:
CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO MOBILE
Um passo a passo de como configurar o ambiente de desenvolvimento mobile com React Native pode ser visto no link:
برای تنظیمات محیط ، ماکارونی را برای انجام برنامه های کاربردی و یا دستورالعمل های مختلف برای استفاده از تلفن همراه برنامه ریزی کنید:
$ npx کلاینت ایجاد-واکنش-بومی-برنامه
مرحله 2: WebSocket
É interessante que o leitor conheça pelo menos um pouco a respeito de websocket antes de prosseguir. Caso o leitor nunca tenha lido، trabalhado ou ouvido falar nada a respeito، seal alguns minutos para entender como funciona یا websocket através da documentação:
developer.mozilla.org/pt-BR/docs/WebSocket…
Usaremos uma biblioteca no cliente no no servidor que abstrai o protocolo de maneira que não precisemos pensar em detalhes de chamada و de armazenamento de identificadores e rotas. جدا também um tempo para estudar as bibliotecas utilizados no cliente و no servidor:
مشتری:
سرویس دهنده:
مرحله 3: Escrevendo O Servidor
Vamos criar uma estrutura inicial do projeto e escrever a interface que será utilizada como comunicação com o servidor:
$ mkdir src
$ touch app.py src/{controller، 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 از طریق شبکه اینترنتی و به عنوان redirecionam para um controlador متصل می شود.
Veja imagem do socketconnection.py را انجام دهید
کنترل کننده E استفاده می کند
O controlador receberá um pacote do módulo responsável for estabelecer e gerenciar as conexões؛ در صورتي كه بتوانيد دريافت كنيد ، در صورتي كه از راه دور استفاده مي كنيد ، مي توانيد از راهكارهاي پيشگيرانه استفاده كنيد.
Veja imagem do controller.py.
در مرحله آخر ، سیستم عامل شما می تواند به سیستم شما کمک کند و در صورت نیاز به سیستم دسترسی پیدا کنید. no caso desse sistema hom somente atualização de valores (sejam numéricos، texto ou booleanos - no caso de ligar/desligar dispositivos de ambientação). Então não é de surpreender que os casos de uso tão somente chame funções do módulo responsável pela persistência de dados como se fosse essa a "regra de negócio".
Veja imagem do usecases.py
توجه: precisamos persistir os dados de alguma forma. Fica a escolha do leitor como prefere armazenar os dados e portanto، implementar as funções do src/repository.py. من نمی توانم یک پایگاه داده را در اختیار شما قرار دهم و از آن استفاده کنم. هیچ پیش فرض نمی تواند یک سرور ماکارونی/پایگاه داده را تأیید کند و از طریق یک سرور/پایگاه داده- model.json از como deve یا json برای یک برنامه کاربردی جدید استفاده کنیم.
مرحله 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á-com com o servidor*.
Veja imagem do serverclient.py
Com o arquivo criado، verifique se o container está rodando، e dentro dele اجرا:
$ python app.py
Fora do container ، بدون هیچ گونه پیش بینی $ PROJECT_DIR/سرور اجرا می شود:
$ python3 serverclient.py
هیچ فوری ">" digite os eventos encontrados هیچ کنترل کننده ای ندارد "؛" e então valores de identificação e/ou novos valores. برای مثال:
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.
نكته: تأیید این امر كه چگونه می توان از طریق برنامه ای به كار برد ، یك گزارش اصلی بدون استفاده از یك اسكریپت و یك اسكریپت به منظور انجام آزمایش در یک پیام انجام شود.
مرحله 5: Aplicação Mobile
Não será demonstrado com muitos detalhes cada parte do desenvolvimento do cliente mobile. Não será expplicado aqui cada importação no módulo principal criado pelo React Native nem possíveis detalhes de configuração. به عنوان مثال ، نام تجاری $ PROJECT_DIR/مشتری و توصیه بیشتر برای پیش بینی موارد زیر است:
$ 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 ، vamos escrever os componentes de GUI.
⚠ توجه داشته باشید که یک استفاده جالب از chamada pelo استفاده کنید. Também não foram escritos os reducer setDataReducer، setFoodReducer، setTemperatureReducer، setLightReducer e nem escritos os objetos com estados iniciais INITIAL_STATE، INITIAL_FOOD_MODAL، INITIAL_TEMODERITURE_،
Também ainda não foram escritas as funções utilizadas 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.
Veja imagem do App.js com código da parte GUI
For 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.
Veja imagem do App.js com código da parte lógica/operacional
توصیه شده:
Projeto IoT - Sistema Detector De Fumaça: 5 مرحله
Projeto IoT - Sistema Detector De Fumaça: IntroduçãoO Sistema Detector de Fumaça شامل همه راه حل های IoT است که به شما اجازه می دهد تا از طریق زنگ هشدارهای موجود در برنامه های کاربردی Android کار کنید. O projeto é baseado em um microcontrolador que se comunica com a nu
Projeto CoCoa: Um Colete De Comunicação Alternativa: 8 مرحله
Projeto CoCoa: Um Colete De Comunicação Alternativa: پروژه CoCoA یک جلیقه پوشیدنی است که به اینترنت متصل است و به کمک نمادهای لمسی ارتباطات جایگزین می تواند به افراد دارای معلولیت های گفتاری یا غیر کلامی کمک کند. O Colete de Comunicação Alternativa (CoCoA)
آموزش Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: 4 مرحله (همراه با تصاویر)
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: بدون نیاز به استفاده از برنامه های کاربردی خود ، به منظور استفاده از سیستم عامل های اندروید یا IOS ضروری است. Foi utilizado um computador tipo notebook com windows 10. Essa plataforma chama-se Ionic، q
راه اندازی خانه هوشمند - نهایی Projeto: 6 مرحله
راه اندازی خانه هوشمند - Projeto Final: Projeto apresentado & eacute؛ parte do projeto final do curso de IoT aplicado a Smart Home.O projeto mostrado a seguir & eacute؛ parte do projeto final a ser apresentado no curso de IoT aplicada a Smart Home، که شامل سنسورها و اتوادورس می شود
Casa Inteligente Com Arduino: 6 مرحله
Casa Inteligente Com Arduino: Esse projeto é uma junção de vários pequenos projetos que podem ser feitos com Arduino. umtimo 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