Mundarija:
- 1 -qadam: Ambiente -ni sozlang
- 2 -qadam: WebSocket
- 3 -qadam: Escrevendo O Servidor
- 4 -qadam: Testando O Servidor
- 5 -qadam: Aplicação mobil
Video: Pequeno Projeto De Uma Casa Inteligente: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
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
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
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
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
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:
Projeto IoT - De Fumaça detektori tizimi: 5 qadam
Projeto IoT - Fumachadagi tizim detektori: IoT -ning Android tizimidagi detektori - bu Android -dagi qoldiqlarning saqlanishini nazorat qilish. Bu mikrokontroldorlarning asosiy vazifasi
Projeto CoCoa: Um Colete De Comunicação Alternativa: 8 qadam
Projeto CoCoa: Um Colete De Comunicação Alternativa: CoCoA loyihasi Internetga ulangan taqiladigan yelek bo'lib, u odamlarga nutqiy yoki og'zaki nuqsonli odamlarga yordam berish uchun muqobil muloqotning taktil belgilarini ulash imkonini beradi.
Projeto Lumos: 8 qadam
Projeto Lumos: Wi -Fi tarmog'ining bir qismi bo'lgan smartfonni boshqarish uchun Lumos -ni o'rnatish kerak. Android operatsion tizimida ishlashni nazorat qilish, shuningdek, dasturni ishga tushirish
Projeto Fila Facil: 7 qadam
Projeto Fila Facil: Dio vamos dia a dia vamos diversa vezes emes locais onde é zarur va aacute; ria uma gest ã o de senhas de clientes for organizer e agilizar atendimentos. Em qurollari barpo etish uchun qurol -yarog'lar o'rnatiladi va eacute; mesmo horas esp
Casa Inteligente Com Arduino: 6 qadam
Inteligente Com Arduino -ni tanlang: Arduino -ning eng yaxshi loyihalari. Arduino bilan hech qanday aloqasi yo'q, chunki bu tizimning har qanday sharoitida ham, haroratda ham, havotirda ham