Obsah:
- Krok 1: Materias Necessários
- Krok 2: Senzory, Atuadores E Conexões
- Krok 3: Aplicativo Para Controle Remoto
- Krok 4: Criando Uma „coisa“Na AWS IoT
- Krok 5: Programujte Em Python
- Krok 6: Finalização
Video: Spustenie inteligentnej domácnosti - finále Projeto: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Predstavte si a prezentujte svoje záverečné práce na aplikácii IoT v inteligentnej domácnosti
Väčšina projektov a častí, ktoré budú predstavovať konečnú sériu, ktorá nebude obsahovať žiadnu aplikáciu IoT a inteligentnú domácnosť, bude obsahovať senzory a prepojovacie konektory na platforme DrangonBoard + Linker Mezzanine, pričom ich aplikácia bude mať spoločnú zvukovú základňu (vrátane integrácie). informačné/informačné kanály "cloudové služby AWS". Väčšina z nich obsahuje DragonBoard a IoT, takže môžete rozhodovať o rôznych systémoch automatizácie lúzií, svetelných senzoroch, svetelných zdrojoch a/alebo digitálnych parametroch. -setada e senzor sensor de proximidade que será instalado no portão de uma garagem, com and intenção de informar ao proprietário da casa se o portão encontra-se aberto ou fechado.
Krok 1: Materias Necessários
- Umiestnite DragonBoard.
- 96Boards Linker Mezzanine
- Senzor svetla (LDR) je dodávaný v spojení s medziposchodím Linker.
- Sensor de temperatura que acompanha a Linker Mezzanine.
- Bližšie sa môžete pozrieť na linku Mezanín.
- Relé acompanha a Linker Mezzanine, použitie pre systém alebo klimatizáciu.
- LED žiarovky a spojovacie medziposchodia, ktoré sú reprezentované a podsvietené.
- Inštalácia bibliotecas citadas no passo 5.
Krok 2: Senzory, Atuadores E Conexões
1. Linker Mezzanine:
Sériové pripojenie a medziposchodie na dragonboarde. Para sa rozbije, odkaz na konzultáciu
2. Luminosidáda senzora (LDR)
O snímač a časť súpravy prepojovacích liniek a medzipodlažných jednotiek pripojených k ADC1. Viac informácií:
3. Senzor teploty
O snímač a časť súpravy prepojovacích liniek a medziposchodí prepojených s ADC2. Viac informácií:
4. Botão Touch
Senzor a časť súpravy prepojovacích liniek a medzipriestorových liniek na vstupe D1. Väčšina sa bude líšiť od súčasného systému. O acesso a este botão é some some local. Podrobnejšie informácie: https://linksprite.com/wiki/index.php5? Title = Touch_…
5. Relé
O spätnej väzbe na Kit da Linker Mezzanine e deverá ser conectado na entrada D2. Všetky možnosti použitia pre systém A/C. Para podrobne informujú:
6. LED dióda
O LED a parte do kit da Linker Mezzanine e deverá ser conectado na entrada D4. O LED reprezentuje jeden z najpopulárnejších systémov, ako je napríklad vonkajší, vonkajší a vnútorný svet. Viac ako 10 000 ohmov sériovo vyrábaných ojedinelých dvojrozmerných a spoločných systémov, ktoré moje skúsenosti s verifikáciou spájajú ako analógové porty. Viac informácií:
7. Sensor de contato magnético
Vsetky senzory sa skladaju z jednej skupiny a maju medziposchodie. Ele será usado em uma janela ou no portão de uma garagem para informar se a janela/garagem está aberta ou fechada. O senzore a celkovom spojení dvoch snímok (viď foto do kroku acima), o snímači, ktorý má najväčší vplyv na to, ako sa snímač blíži, mení svoj snímač alebo mení svoj snímač. O snímač využilo svoje projektové riešenie pre N/A (normálna aberto). Quando o imã não está próximo do sensor, o sensor reportará estado aberto. Quando o imã estiver próximo do sensor, or estado reportado será fechado.
Krok 3: Aplicativo Para Controle Remoto
O aplikácii je možné požiadať spoločnosť Ionic Framework, https://ionicframework.com/. Potrebné je stiahnuť a nainštalovať ultima versão.
Viac aplikácií (viac ako atualizácia) a cloud da AWS (AWS IoT- https://aws.amazon.com/iot/), potom ďalšie rady pre prístup k snímačom polohy pre ďalšie senzory.
- Systémy Iluminação mostra o estado do sitesma de iluminação, ligado ou desligado. Quando o nível de luminosidade baixar do valor configurado, as luzes se acenderão automaticicamente. Môžete si vybrať z nasledujúcich úrovní:
- O botão A/C acionará o relé, que por sua vez acionará o sistema de A/C da casa. Também é possível definir o valor desejado da temperatura. Odošlite odozvu na aktuálnu teplotu, o A/C sériová ligado e trvalá ligado até a temperatura abaixar em 2 graus da tempreatura definida. Napríklad, keď vezmeme do úvahy teplotu 23 palcov. Vyberte vnútornú teplotu 24 gramov a klimatizáciu, aby ste získali trvanlivosť, a aby ste získali teplotu 20 gramov. Depois o ciclo se repetirá.
- Garagem informará a atual posição da garagem, se aberta ou fechada.
- Temperatura é apenas informativa e mostra and temperatura do interior da casa.
- Luminosidade é apesas informativa e mostra o valor da luminosidade atual.
Pozrite sa na ďalšie aplikácie home.html a home.ts pokračuje v práci s cloudom AWS a atualização do aplikácie.
Krok 4: Criando Uma „coisa“Na AWS IoT
Niektoré nastavenia alebo IoT a AWS môžu mať niekoľko nasledujúcich verzií:
1) Criar um projeto no AWS IoT atravé do link:
2) Kliknite na „Vytvoriť vec“alebo „Vytvorte jednu vec“. Deme o nome do projeto e clique em Next.
3) Na tele seguinte, kliknite na „Vytvorte vec bez certifikátu“. Všetky návody môžu používať všetky certifikáty a certifikácie, ako aj ich odporúčanie.
4) Nesse momento, sua "coisa" já estará criada. Clique no botão da "coisa" que foi criado para abrir a tela com as opções. Viac informácií nájdete v hlavnom článku MQTT, kde nájdete všetky dôležité informácie o atualizácii a prehľadoch možných problémov spojených s odstraňovaním problémov. Žiadne pytóny, ktoré by mohli byť prítomné, ale hlavne ťažiť môžu tópicos. Naše hlavné možnosti sú "tieňové", čo znamená, že máte veľa informácií a informácii o dragonboarde nájdete aj na AWS Cloud.
Krok 5: Programujte Em Python
Nasledujúce bibliotecas serao nutárias para a execução do programa:
import spidevimport čas importu logovanie import json import argparse
z libsoc importujte gpio
z času importu spánok z dátumu importu dátumu a času, dátumu a času z gpio_96boards import GPIO z AWSIoTPythonSDK. MQTTLib import AWSIoTMQTTClient z AWSIoTPythonSDK. MQTTLib
Pozrite sa na nasledujúce programy:
import spidevimport čas importu logovanie import json import argparse
z libsoc importujte gpio
z času importu spánku z dátumu importu dátumu a času, dátumu a času z gpio_96boards import GPIO z AWSIoTPythonSDK. MQTTLib import AWSIoTMQTTClient z AWSIoTPythonSDK. MQTTLib import AWSIoTMQTTShadowClient
GPIO_CS = GPIO.gpio_id ('GPIO_CS') #Analogový port
TLAČIDLO = GPIO.gpio_id ('GPIO_A') RELE = GPIO.gpio_id ('GPIO_C') LED = GPIO.gpio_id ('GPIO_G')
piny = ((GPIO_CS, 'out'), (TLAČIDLO, 'in'), (RELE, 'out'), (LED, 'out'),)
def setdevices (deltaMessagePython):
System_Status = deltaMessagePython ['SystemStatus'] Rele_Status = deltaMessagePython ['AC'] Led_Status = deltaMessagePython ['SisIlumi']
##### AC
ak Rele_Status == 1: gpio.digital_write (RELE, GPIO. HIGH)
ak Rele_Status == 0:
gpio.digital_write (RELE, GPIO. LOW)
##### Sistema de Iluminacao
ak Led_Status == 1: gpio.digital_write (LED, GPIO. HIGH) ak Led_Status == 0: gpio.digital_write (LED, GPIO. LOW)
def readadc (gpio):
gpio.digital_write (GPIO_CS, GPIO. HIGH)
time.sleep (0,0002) gpio.digital_write (GPIO_CS, GPIO. LOW) r = spi.xfer2 ([0x01, 0xA0, 0x00])#ADC2 - teplota gpio.digital_write (GPIO_CS, GPIO. HIGH) adcout = (r [1] << 8) & 0b1100000000 adcout = adcout | (r [2] & 0xff) adc_temp = (adcout *5.0/1023-0.5) *100
gpio.digital_write (GPIO_CS, GPIO. HIGH)
time.sleep (0,0002) gpio.digital_write (GPIO_CS, GPIO. LOW) r = spi.xfer2 ([0x01, 0x80, 0x00])#ADC1 - Svietivosť gpio.digital_write (GPIO_CS, GPIO. HIGH) adcoutldr = (r [1] << 8) & 0b1100000000 adcoutldr = adcoutldr | (r [2] & 0xff) adcoutldr = str (adcoutldr) now = datetime.utcnow () now_str = now.strftime ('%Y-%m-%dT%H:%M:%SZ') temperatura = "{:.2f} ". Format (adc_temp) payload_temp = '{" state ": {" desired ": {" Luminosidade ":' + adcoutldr + '," Temperatura ":' + temperatura + '}}}' myMQTTClient.publish ("$ aws/things/DBpyAWS1116/shadow/update", payload_temp, 0) return r
def desliga ():
gpio.digital_write (RELE, GPIO. LOW) gpio.digital_write (LED, GPIO. LOW)
def run (gpio):
system_status = 1
kým je pravda:
time.sleep (2) button_value = gpio.digital_read (BUTTON) print ("----") time.sleep (0.25) if button_value == 1: if system_status == 0: system_status = 1 else: system_status = 0 desliga () if system_status == 1: value = readadc (gpio) print "SYSTEM_STATUS %d" %system_status time.sleep (3)
trieda shadowCallbackContainer:
def _init _ (self, deviceShadowInstance): self.deviceShadowInstance = deviceShadowInstance
# Vlastné spätné volanie Shadow
def customShadowCallback_Delta (self, payload, responseStatus, token): print ("Prijatá správa delta:") ### skript aktualizácie nákladu payloadDict = json.loads (payload) deltaMessage = json.dumps (payloadDict ["state"]) print "DELTA MESSAGE %s" %deltaMessage ### Žiadosť o aktualizáciu hláseného stavu newPayload = '{"state": {"nahlásené":' + deltaMessage + '}}' deltaMessagePython = json.loads (deltaMessage) setdevices (deltaMessagePython)
spi = spidev. SpiDev ()
spi.open (0, 0) spi.max_speed_hz = 10 000 spi.mode = 0b00 spi.bits_per_word = 8
######## Definícia veci
# Pripojenie založené na certifikáte AWS IoT
myMQTTClient = AWSIoTMQTTClient ("DBpyAWS1116") myMQTTClient.configureEndpoint ("a28rqf8gnpw7g.iot.us-west-2.amazonaws.com", 8883) myMQTTClient.configureCredentials ("/home/linaro/shared/AWS/, "/home/linaro/shared/AWS/" SUA CHAVE "-private.pem.key", "/home/linaro/shared/AWS/" SEU CERTIFICADO "-certificate.pem.crt") myMQTTClient.configureOfflinePublishQueueing (- 1) # Nekonečné offline publikovanie vo fronte na myMQTTClient.configureDrainingFrequency (2) # Vypúšťanie: 2 Hz myMQTTClient.configureConnectDisconnectTimeout (10) # 10 s myMQTTClient.configureMQTTOperationTimeout (5) # 5 sec #conneT coisajsb "," pripojený ", 0)
########################
######## Definícia tieňa
# Init AWSIoTMQTTShadowClient
myAWSIoTMQTTShadowClient = žiadny myAWSIoTMQTTShadowClient = AWSIoTMQTTShadowClient ("DBpyAWS1116") myAWSIoTMQTTShadowClient.configureEndpoint ("SEU END-POINT.us-west-2.amazonaws.com", 8883) myAWSI CA.crt ","/home/linaro/shared/AWS/"SUA CHAVE" -private.pem.key ","/home/linaro/shared/AWS/"SEU CERTIFICADO-certificate.pem.crt")
# AWSIoTMQTTShadowClient konfiguráciamyAWSIoTMQTTShadowClient.configureAutoReconnectBackoffTime (1, 32, 20) myAWSIoTMQTTShadowClient.configureConnectDisconnectTimeout (10) # 10 sec myAWSIoTMQTTShadowClient.configure
# Pripojte sa k AWS IoT
myAWSIoTMQTTShadowClient.connect ()
# Vytvorte zariadenieShadow s trvalým predplatným
deviceShadowHandler = myAWSIoTMQTTShadowClient.createShadowHandlerWithName ("DBpyAWS1116", True) shadowCallbackContainer_Bot = shadowCallbackContainer (deviceShadowHandler)
# Počúvajte v deltách
deviceShadowHandler.shadowRegisterDeltaCallback (shadowCallbackContainer_Bot.customShadowCallback_Delta)
#########################
myMQTTClient.publish ("$ aws/things/DBpyAWS1116/shadow/update", '{"state": {"desired": {"SystemStatus": 1, "SisIlumi": 0, "AC": 0, "Garagem": "Fechada", "Temperatura": 25, "Luminosidade": 123}}} ', 0)
ak _name_ == "_main_":
s GPIO (piny) ako gpio: run (gpio)
Krok 6: Finalização
Väčšina záverov môže mať za následok inicializáciu systému spustenia jedného z nasledujúcich spôsobov, ako inicializovať všetky aplikácie, ako aj ionické podávanie.
Možné je riešenie problémov, odporúčanie a použitie MQTT klientskeho testu AWS, overenie a overenie počtu osôb, ktoré môžu dragonboard odoslať, odoslanie podoby Correta na AWS Cloud: https://us-west-2.console.aws.amazon.com/iotv2/hom…
Odporúča:
Spustenie Raspberry Pi 4 Ubuntu USB (bez karty SD): 9 krokov
Zavádzanie USB Raspberry Pi 4 Ubuntu (bez karty SD): Pokyny sú uvedené nižšie a povedú vás k zavedeniu systému Raspberry Pi 4 bez karty SD. Ak nechcete postupovať podľa týchto krokov, na disku sú vopred pripravené obrázky. pôvodný príspevok. Stačí tieto obrázky vložiť na disk USB a môžete začať
Základy VBScript - Spustenie skriptov, oneskorenia a ďalšie!: 5 krokov
Základy VBScript - Spustenie skriptov, oneskorenia a ďalšie !: Vitajte v mojom prvom návode, ako vytvárať VBScripty pomocou poznámkového bloku. So súbormi.vbs môžete vytvárať zábavné vtipy alebo smrtiace vírusy. V tomto návode vám ukážem základné príkazy, ako je spustenie skriptu, otváranie súborov a mnoho ďalších. V t
Počítadlo vlákien inteligentnej 3D tlačiarne: 5 krokov (s obrázkami)
Inteligentné počítadlo vlákien 3D tlačiarne: Prečo sa namáhať s počítaním vlákna? Niekoľko dôvodov: Úspešné výtlačky vyžadujú správne kalibrovaný extrudér: keď gcode hovorí extrudéru, aby posunul vlákno o 2 mm, musí sa posunúť presne o 2 mm. Zlé veci sa stávajú, ak sa nadmerne vytláčajú alebo nedostatočne vyťahujú
Lacný a ľahký systém inteligentnej domácnosti: 7 krokov
Lacný a ľahký systém inteligentnej domácnosti: Dobrý deň! Som Ed. Mám 15 rokov a mám vášeň pre počítače, programovanie a elektrotechniku. Keďže som dosť mladý, bývam v rodičovskom dome. Tento projekt sa začal, keď som sa rozhodol presťahovať do podkrovnej/ podkrovnej miestnosti, V procese návrhu
Projekt inteligentnej domácnosti EF230: 7 krokov
EF230 Smart Home Project: Potrebné diely a materiál: 1 Arduino MKR 10003 Breadboards2 Mini fotobunky1 NPN tranzistory1 Mini vypínač 1 LED - RGB (4 hroty) 1 LED (farba podľa vášho výberu) 1 dióda 1N41481 10K Ohm rezistory5 100 Ohm rezistor1 Teplotný snímač TMP361 DAGU 48: 1