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: Spuštění chytré domácnosti - finále Projeto: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Projeto a prezentujte a projednávejte finální verzi aplikace IoT s aplikací Smart Home
Projekce mostů a výběrů konečných a konečných prezentací žádných aplikací IoT a Smart Home, použití senzorů a připojení konektorů na DrangonBoard + Linker Mezzanine, použití aplikace descovolteo com o ionic (a ser incluido em breve) e as informovat/odeslat "coisas" serao salvados na cloud da AWS. Nejčastěji se jedná o DragonBoard a IoT, které se skládají z více systémů, rozhodují o tom, jaké systémy budou automatizovat použití luků, senzoru světla, světelného efektu a úrovně osvětlení. -setada e um senzor 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
- Umístěte DragonBoard.
- 96Boards Linker Mezzanine
- Sensor de luminozidade (LDR) que acompanha a Linker Mezzanine.
- Sensor de temperatura que acompanha a Linker Mezzanine.
- Botao touch que acompanha a Linker Mezzanine.
- Relé acompanha a Linker Mezzanine, utilizado para ligar or systema de A/C.
- LED acompanha a Linker Mezzanine, que representará and iluminação a ser ativada.
- Instalação das bibliotecas citadas no passo 5.
Krok 2: Senzory, Atuadores E Conexões
1. Linker Mezzanine:
Será needário conectar a placa Mezzanine na dragonboard. Para detalhes, consultar link
2. Luminosidáda senzoru (LDR)
O senzor é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada ADC1. Para detalhes técnicos:
3. Senzor teploty
O senzor é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada ADC2. Para detalhes técnicos:
4. Botão Touch
O senzor é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada D1. Nejčastěji se vyskytují následující problémy. O acesso a este botão é some some local. Para detalhes técnicos: https://linksprite.com/wiki/index.php5? Title = Touch_…
5. Relé
O relé é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada D2. Všechny možnosti využití pro systém A/C. Para detalhes técnicos:
6. LED
O LED é parte do kit da Linker Mezzanine e deverá ser conectado na entrada D4. O LED reprezentuje celkový systém osvětlení, venkovní osvětlení exteriéru, osvětlení a osvětlení. Více než 10 000 odporů sériového odporu, který existuje v různých dimenzích a současném využití, moje zkušenosti s různými verzemi a konfrontací jako analogové porty. Para detalhes técnicos:
7. Sensor de contato magnético
Všechny senzory obsahují část a část balíčku s mezipatrem Linker. Ele será usado em uma janela ou no portão de uma garagem para informar se a janela/garagem está aberta ou fechada. O senzoru a souhrnném formátu 2 snímků (viz foto Krok acima), o snímači, který má hlavní vliv na to, že „snímač“, což znamená, že aproximar-se do senzoru může změnit nebo změnit snímač. O použití senzoru není k dispozici pro N/A (normální 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 aplikaci lze stáhnout z Ionic Framework, https://ionicframework.com/. Nejdůležitější je stáhnout a nainstalovat ultima versão.
O aplikaci je možné komunikovat (více nebo více) s cloudem AWS (AWS IoT- https://aws.amazon.com/iot/), dále pak sera acessada pela placa dragonboard para atualização dos status dos senzes e atuadores.
- Nejčastěji se to děje, pokud jde o iluminação, ligado nebo desligado. Konfigurace různých barevných odstínů a barev se může projevit automaticky. Intenzivní a intenzivní definice, jak se luzes se apagarão.
- O botão A/C acionará o odpověď, que por sua vez acionará o sistema de A/C da casa. Também é possível definir o valor desejado da temperatura. Ověřte, zda je teplota v místnosti nastavena na požadovanou teplotu, o A/C sériová ligado e trvalá ligado até a temperatura abaixar em 2 graus da tempreatura definida. Příkladem mohou být teploty 23 stupňů. Vybírejte z vnitřního temperátu 24 gramů, o A/C sériová liga a trvanlivá liga o teplotě 20 gramů, desligando então. Depois o ciclo se repetirá.
- Garagem informará a atual posição da garagem, se aberta ou fechada.
- Temperatura é apenas informativa e mostra a temperatura do interior da casa.
- Luminosidade é apesas informativa e mostra o valor da luminosidade atual.
Prohlédněte si všechny své domovské stránky.html a doména.
Krok 4: Criando Uma „coisa“Na AWS IoT
Některé nastavení nebo IoT a AWS mohou mít některá další provedení:
1) Criar um projeto no AWS IoT atravé do link:
2) Klikněte na „Vytvořit věc“nebo „Vytvořit jedinou věc“. Dê o nome do projeto e clique em Next.
3) Na těle vyberte, „Vytvořte věc bez certifikátu“. Všechny výukové programy využívají osvědčení o certifikaci a certifikaci.
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. Více informací naleznete v části MQTT, která obsahuje řadu řešení pro další a další použití a může se jednat o řešení problémů. Žádná chyba v Pythonu, která by mohla představovat více, ale to znamená, že tyto zbraně nebudou ničit tópicos. Naše tam jsou podemos ver a "shadow", que nada mais é que a informação que está on dragonboard refletida on AWS Cloud.
Krok 5: Programujte Em Python
Jako další bibliotecas serão needárias para a execução do programa:
import spidevimport čas import logování import json import argparse
z libsoc importujte gpio
z času import spánku z data importu datetime, datetime z gpio_96boards import GPIO z AWSIoTPythonSDK. MQTTLib import AWSIoTMQTTClient z AWSIoTPythonSDK. MQTTLib
Dodržujte následující pravidla programu:
import spidevimport čas import logování import json import argparse
z libsoc importujte gpio
od času import spánku z data importu datetime, datetime z gpio_96boards import GPIO z AWSIoTPythonSDK. MQTTLib import AWSIoTMQTTClient z AWSIoTPythonSDK. MQTTLib import AWSIoTMQTTShadowClient
GPIO_CS = GPIO.gpio_id ('GPIO_CS') #Analogový port
BUTTON = GPIO.gpio_id ('GPIO_A') RELE = GPIO.gpio_id ('GPIO_C') LED = GPIO.gpio_id ('GPIO_G')
piny = ((GPIO_CS, 'out'), (TLAČÍTKO, 'in'), (RELE, 'out'), (LED, 'out'),)
def setdevices (deltaMessagePython):
System_Status = deltaMessagePython ['SystemStatus'] Rele_Status = deltaMessagePython ['AC'] Led_Status = deltaMessagePython ['SisIlumi']
##### AC
if Rele_Status == 1: gpio.digital_write (RELE, GPIO. HIGH)
pokud Rele_Status == 0:
gpio.digital_write (RELE, GPIO. LOW)
##### Sistema de Iluminacao
if Led_Status == 1: gpio.digital_write (LED, GPIO. HIGH) if 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 - svítivost 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
zatímco 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)
třída shadowCallbackContainer:
def _init _ (self, deviceShadowInstance): self.deviceShadowInstance = deviceShadowInstance
# Vlastní zpětné volání Shadow
def customShadowCallback_Delta (self, payload, responseStatus, token): print ("Přijata zpráva delta:") ### skript aktualizace nákladu payloadDict = json.loads (payload) deltaMessage = json.dumps (payloadDict ["state"]) tisk "DELTA MESSAGE %s" %deltaMessage ### Žádost o aktualizaci hlášeného stavu newPayload = '{"state": {"reporting":' + 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
######## Definice věci
# Připojení založené na certifikátu 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 publikování ve frontě myMQTTClient.configureDrainingFrequency (2) # Vypouštění: 2 Hz myMQTTClient.configureConnectDisconnectTimeout (10) # 10 s myMQTTClient.configureMQTTOperationTimeout (5) # 5 sec #conneTTC coisajsb "," připojeno ", 0)
########################
######## Definice stínu
# Init AWSIoTMQTTShadowClient
myAWSIoTMQTTShadowClient = žádný 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")
# Konfigurace AWSIoTMQTTShadowClientmyAWSIoTMQTTShadowClient.configureAutoReconnectBackoffTime (1, 32, 20) myAWSIoTMQTTShadowClient.configureConnectDisconnectTimeout (10) # 10 s myAWSIoTMQTTShadowClient.configureM
# Připojte se k AWS IoT
myAWSIoTMQTTShadowClient.connect ()
# Vytvořte zařízeníShadow s trvalým předplatným
deviceShadowHandler = myAWSIoTMQTTShadowClient.createShadowHandlerWithName ("DBpyAWS1116", True) shadowCallbackContainer_Bot = shadowCallbackContainer (deviceShadowHandler)
# Poslouchejte delty
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)
if _name_ == "_main_":
s GPIO (piny) jako gpio: run (gpio)
Krok 6: Finalização
Dojde k uzavření všech předcházejících verzí, které se inicializují o spuštění systému nebo k jeho dokončení, ne 5 k inicializaci aplikace nebo k iontové aplikaci, k použití o iontové službě.
Para um possivel troubleshoot, recomenda-se usar and função MQTT Client TEST do AWS, onde é possivel verificar e as mensagens enviadas pela dragonboard está sendo atualizada de forma correta on AWS Cloud:
Doporučuje:
Spuštění Raspberry Pi 4 Retropie z externí, pokud není přítomna karta SD: 5 kroků
Zavedení Raspberry Pi 4 Retropie z externí, pokud není přítomna karta SD: ~ github.com/engrpanda
Chytré stolní LED světlo - Chytré osvětlení W/ Arduino - Pracovní prostor Neopixels: 10 kroků (s obrázky)
Chytré stolní LED světlo | Chytré osvětlení W/ Arduino | Neopixels Workspace: Nyní dny trávíme spoustu času doma, studujeme a pracujeme virtuálně, tak proč nezvětšit náš pracovní prostor pomocí vlastního a chytrého systému osvětlení založeného na LED Arduino a Ws2812b LED. Zde vám ukážu, jak vybudovat Smart Stolní LED světlo, které
Spuštění Raspberry Pi 4 Ubuntu USB (bez karty SD): 9 kroků
Zavádění Raspberry Pi 4 Ubuntu USB (bez karty SD): Níže uvedené pokyny vás provedou zaváděním počítače Raspberry Pi 4 bez karty SD. Pokud nechcete postupovat podle těchto kroků, jsou na původní příspěvek. Stačí tyto obrázky přenést na USB flash disk a můžete začít
Základy VBScript - Spuštění skriptů, zpoždění a další!: 5 kroků
Základy VBScript - Spouštění skriptů, zpoždění a další!: Vítejte v mém prvním tutoriálu, jak vytvářet VBScripty pomocí poznámkového bloku. Se soubory.vbs můžete vytvářet legrační hříčky nebo smrtící viry. V tomto tutoriálu vám ukážu základní příkazy, jako je spuštění skriptu, otevírání souborů a mnoho dalšího. V t
ForgetMeNot - platforma pro oznámení chytré domácnosti: 14 kroků (s obrázky)
ForgetMeNot - platforma pro inteligentní domácí oznámení: Jako zaneprázdnění vysokoškoláci, kteří pobíhají mezi třídami, zaměstnáním a rodinnými povinnostmi, obvykle zapomínáme na maličkosti. Narozeniny přicházejí a odcházejí, aniž bychom si toho všimli, důležitý termín se zmeškal kvůli čirému zapomnění a někdy prostě