Mundarija:

Pequeno Projeto De Uma Casa Inteligente: 5 qadam
Pequeno Projeto De Uma Casa Inteligente: 5 qadam

Video: Pequeno Projeto De Uma Casa Inteligente: 5 qadam

Video: Pequeno Projeto De Uma Casa Inteligente: 5 qadam
Video: Veja a reação de Jada Smith após a briga de Will Smith no Oscar 😱 2024, Noyabr
Anonim
Pequeno Projeto De Uma Casa Inteligente
Pequeno Projeto De Uma Casa Inteligente

Mana, bu ham aql bovar qilmaydigan vazifa. Asosiy vazifalar guruhlar va funktsiyalardan iborat: · Haroratni nazorat qilish.

· Alohida filtrlar va filtrlar ro'yxati.

IoT va kelgusi dasturlar uchun dasturiy ta'minot; taxmin qilish mumkinmi?

- Sensorli ekranli displeylar va ilovalar, shuningdek, ular bilan bog'liq bo'lgan barcha ma'lumotlarni o'z ichiga oladi;

- Sensorli qurilmalar va qurilmalar, shuningdek, boshqa turdagi sensorlar;

- Sensorli va sezgir sensorlar;

- Wi -Fi tarmog'iga ulanish shart emas;

- Wi -Fi tarmog'iga ulanish uchun siz bir vaqtning o'zida bir nechta ilovalarni ishlatishingiz kerak;

Rekvizitlar:

- Python, javascript, operatsion tizimni ishlatish, qobiq yo'q.

- O'rnatish: tugunlar, piton

- O'rnatish tartibi (ixtiyoriy): docker, emulador de dispositivo mobile, gerenciador de sdk do Android (displey Android Studio mavjud emas)

Linux uchun hech qanday loyiha yo‘q. Windows operatsion tizimida Windows operatsion tizimiga mos kelmaydigan dasturlar mavjud.

1 -qadam: Ambiente -ni sozlang

Konfiguratsiya qilish yoki atrof -muhit
Konfiguratsiya qilish yoki atrof -muhit
Konfiguratsiya qilish yoki atrof -muhit
Konfiguratsiya qilish yoki atrof -muhit

Veb -konfiguratsiya 2 qismdan iborat: mobil xizmatlar, mobil qurilmalar, python va mobil javascript yozuvi, uyali aloqa uchun React Native dasturlari.

reactnative.dev/

Makaron mahsulotlarini rasmiylashtirish. Escolhido (a partir de agora será escrito semper como $ PROJECT_DIR como placeholder - crie com no local que achar mais etarliado e com o nome de sua preferência), pasta makaron "servidor":

$ mkdir $ PROJECT_DIR && cd $ PROJECT_DIR

$ mkdir servidor

CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO PARA O SERVIDOR

Umumiy foydalanish mumkin bo'lgan muhit - bu virtual python (Docker yoki virtual muhit). Umumiy foydalanish mumkin bo'lgan fayllar va fayllar:

$ cd $ PROJECT_DIR

$ touch dockerfile

Dockerfile fayllari.

Python -ni virtual muhitda ishlatishni afzal ko'rsating, Veb -qidiruv tizimlari majburiy ro'yxatlarga bog'liq bo'lib xizmat qiladi:

$ touch talablari.txt

Tasvir talablarini bajaring.txt.

Bu erda hech qanday konteyner yo'q:

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

Dockerfile va docker fayllari haqida ma'lumot olish uchun: https://docs.docker.com/engine/reference/builder/…

KONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO MOBILE

Umuman olganda, mobil aloqa o'rnatilmagan bo'lsa, havola yo'q: React Native pode.

Uyali telefonni sozlashda, makaron ishlab chiqaruvchilarni mobil qurilmalar bilan ishlashga imkon beradi:

$ npx yaratish-reaktsiya-mahalliy-dastur mijozi

2 -qadam: WebSocket

Bu sizning xohishingizga javob beradi, bu sizning veb -saytingiz uchun javob beradi. O'ylaymanki, siz hujjatli o'yinlar bilan bir qatorda, o'yin -kulgilaringiz bilan ham shug'ullanishingiz mumkin:

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

Biblioteca hech qanday mijozga xizmat ko'rsatmaydi va protokolni aniqlab beradi, shuningdek, aniqlanmagan ma'lumotlarni aniqlab beradi. Bibliotecas hech qanday mijoz yoki xizmat ko'rsatuvchi sifatida emas, balki tez sur'atlar bilan bajariladi:

Mijoz:

Servidor:

3 -qadam: Escrevendo O Servidor

Escrevendo Ey Servidor
Escrevendo Ey Servidor
Escrevendo Ey Servidor
Escrevendo Ey Servidor
Escrevendo Ey Servidor
Escrevendo Ey Servidor
Escrevendo Ey Servidor
Escrevendo Ey Servidor

Veb -qidiruv dasturini ishga tushirgandan so'ng, u xizmat ko'rsatuvchi interfeysi bilan bir vaqtda ishlaydi:

$ mkdir src

$ touch app.py src/{kontroller, socketconnection}.py

Boshlang'ich xizmatlar:

App.py -ni tasvirlab bering

Veb -saytlarni boshqarish tugmachalari veb -konkret orqali boshqaruvchi sifatida qayta yo'naltiriladi.

Veb -saytlar socketconnection.py bilan ishlaydi

E -XAVFSIZLIKLARNI KONTROLLASh

Qabul qiluvchilarni qabul qilish uchun javobgarlikni o'rnatish kerak; ma'suliyatni nazorat qilish uchun javobgarlikka tortish kerak, shuning uchun ham, siz ham javob berishingiz mumkin.

Controller.py -ning tasviri.

Yakuniy bosqichda siz o'yinni o'tkazib yuborishingiz mumkin, bu sizning operatsion tizimingiz yoki kompyuteringiz uchun zarur bo'lgan operatsiyalarni bajarishga imkon beradi. Yo'q, bir vaqtning o'zida hech qanday ma'lumot yo'q (raqamli raqamlar, matnli yoki booleanos - atrof -muhitni muhofaza qilish shartlari yo'q). Bu erda "menimcha, bu" degan savolga javob berish kerak.

Usecases.py -ni ishlating

Eslatma: aniq tashxis. Src/repository.py funktsiyalari bajarilishi mumkin bo'lgan eng yaxshi vositalardan biri. Ma'lumotlar bazasi yo'qligi sababli, hech qanday ma'lumot yo'q. Makaron serveri/ma'lumotlar bazasi serveri/ma'lumotlar bazasi-mode.json-ni o'chirib qo'yish yoki o'chirish funktsiyalarini bajarish uchun hech qanday ma'lumot yo'q.

4 -qadam: Testando O Servidor

Testando Ey Servidor
Testando Ey Servidor

Skriptlar bir vaqtning o'zida xizmat ko'rsatuvchi xizmatlar tomonidan amalga oshiriladi, bu esa o'z navbatida, test sinovlari uchun zarur bo'lgan barcha ma'lumotlarni o'z ichiga oladi.

Serverclient.py -ni tasvirlab bering

Konteynerni tekshiring va tekshiring:

$ python app.py

Konteyner uchun hech qanday $ PROJECT_DIR/server bajarilmaydi:

$ python3 serverclient.py

">" Raqamli buyruqlar yo'q, hech qanday nazorat qilinmaydi ";" e então valores de identificação e/ou novos valores. Masalan:

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

Hodisa sodir bo'lgan taqdirda, siz hech qanday ma'lumotga ega bo'lmaysiz.

Eslatma: bu sizning shaxsiy ma'lumotlaringiz va xizmatlaringiz uchun hech qanday majburiy port emas, balki hech qanday yuklamaydi.

5 -qadam: Aplicação mobil

Mobil telefon
Mobil telefon
Mobil telefon
Mobil telefon

Mijozlar mobil qurilmalar bilan ishlashda yordam berishadi. Ma'lumotlar almashinuvining asosiy qoidalari yo'q, React Native nem possíveis detalhes de configuracão. Keling, $ PROJECT_DIR/klientini aniqlab olamizki, u quyidagicha aniqlanadi:

$ npm va socket.io

Komponentlar grafika bilan bir qatorda, xizmatlar bilan ham aloqa o'rnatishingiz mumkin.

TELA ESCREVENDO

Bu App.js, GUI komponentlarini o'chirib qo'yish.

⚠ Eslatib o'tamiz, bu sizning e'tiboringizni jalb qiladi! Ma'lumotlar reduktorlari setDataReducer, setFoodReducer, setTemperatureReducer, setLightReducer, INITIAL_STATE, INITIAL_FOOD_MODAL, INITIAL_TEMPERATURE_TEMPERATURE_

Bu erda hech qanday xizmat ko'rsatilmasligi kerak bo'lgan vazifalar mavjud: SaveNewFoodValue, saveNewTemperature, saveNewLuminosity, toggleTemperatureForRoom, toggleLightForRoom

Portanto, bu elementar elementlar, shuningdek, o'yinlar va funktsiyalardan foydalanish.

Bu App.js -ning GUI -ni yaratishda yordam beradi

GUI komponentlari bilan bir vaqtning o'zida xizmat ko'rsatish va xizmat ko'rsatish uchun zarur bo'lgan vazifalarni bajaring.

Bu App.js saytining bir qismi va bir qismi sifatida ishlaydi

Tavsiya: