Агуулгын хүснэгт:
- Алхам 1: Материас Нетариариос
- Алхам 2: Sensores, Atuadores E Conexões
- Алхам 3: Хяналтын ремото програмыг ашиглана уу
- Алхам 4: Криандо Ума Na AWS IoT "coisa"
- Алхам 5: Python програм
- Алхам 6: Эцсийн шат
Видео: Ухаалаг гэрийг эхлүүлэх - Projeto Final: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Projeto apresentado é parte do project to final to curso de IoT aplicado a Smart Home
Төгсгөлийн төгсгөлд нь IoT -ийг ашиглахгүй байхын тулд Smart Home -ийг ашиглах боломжтой болно. AWS -д үүлдрийн мэдээлэл "эцэг эхчүүд" -ийг ашиглах боломжтой болно. Энэ нь DragonBoard e IoT комо ашиглах боломжтой, автомат систем, машины мэдрэгч, мэдрэгч, гэрэл мэдрэгч, компьютерийн тоног төхөөрөмж, тоног төхөөрөмж ашиглах зэрэг болно. -Мэдээллийн мэдрэгч ойролцоо байх болно, энэ нь танд ямар ч мэдээлэл өгөхгүй байх болно.
Алхам 1: Материас Нетариариос
- DragonBoard -ийг байрлуул.
- 96Boards Linker Mezzanine
- Мэдрэгч де luminozidade (LDR) нь Linker Mezzanine -тэй ажилладаг.
- Мэдрэгч нь Linker Mezzanine компанид ажилладаг.
- Linker Mezzanine -тэй холбоо бариарай.
- A/C холболтын системд холбогдсон холбогчийг холбох боломжтой.
- LED нь холбогчийг хооронд нь холбох үүргийг гүйцэтгэдэг.
- Номын сангийн библиотекас оруулах боломжгүй 5.
Алхам 2: Sensores, Atuadores E Conexões
1. Холбогч Mezzanine:
Луузны самбар дээр Mezzanine -ийг холбох шаардлагатай байна. Деталууд, зөвлөх линк
2. Luminosidade мэдрэгч (LDR)
Kit мэдрэгч нь ADC1 -тэй холбогддог. Пара -г арилгаж өгдөг:
3. Температурын мэдрэгч
Kit мэдрэгч нь ADC2 -тэй холбогддог. Пара -г арилгаж өгдөг:
4. Botão Touch
O мэдрэгч нь Kit da Linker Mezzanine -ийг ашиглаж болно D1. Тохиромжтой байх ёстой. Өө, орон нутгийн уу? Пара -г тайлж болно: https://linksprite.com/wiki/index.php5? Title = Touch_ …
5. Реле
D2 холбоосыг ашиглахын тулд Kit da Linker Mezzanine -ийг сонгоно уу. A/C. програмыг ашиглахын тулд компьютерийн сүлжээг ашиглана уу:
6. LED
D4 -ийн LED холбоосыг холбох линзийг сонгоно уу. O LED систем нь олон нийтийн сүлжээний систем, гадаад харилцаа холбоо, интернэт, гадаад харилцаа холбоо, гадаад харилцаа холбоо зэргийг харуулдаг. Эсэргүүцлийн эсэргүүцэл нь 10км-ээс хэтрэхгүй байх ёстой бөгөөд энэ нь системийг ашиглах боломжтой болно. Пара -г арилгаж өгдөг:
7. Мэдрэгч de contato magnético
Kit эсвэл Linker Mezzanine -ийн хамгийн сайн мэдрэгч нь компьютерийн холбоос юм. Энэ нь танд ямар ч мэдээлэл өгөхгүй байх болно. 2 мэдрэгчтэй (алхам алхамаар), эсвэл "мэдрэгч", "мэдрэгч" гэсэн хоёр мэдрэгч, өөр өөр мэдрэгчтэй болно. Мэдрэгч нь ямар ч тохиолдолд N/A (хэвийн хэмжигдэхүүн) гэсэн ойлголтыг өгдөг. Мэдрэгч эсвэл мэдрэгчийг тайлагнах боломжтой. Мэдрэгч эсвэл мэдрэгчийг шалгана уу.
Алхам 3: Хяналтын ремото програмыг ашиглана уу
Ionic Framework, https://ionicframework.com/ вэбсайтуудыг ашиглана уу. Шаардлагатай гэж үзвэл програмыг татаж авах боломжтой.
A coms comicic (l e e atualizar os dados) com a cloud da AWS (AWS IoT- https://aws.amazon.com/iot/), мөн арын самбар дээр луугийн хавтанг байрлуулах, мэдрэх чадвартай байх..
- Илуминажа систем, сайтууд эсвэл сайтууд. Маш чухал үүрэг гүйцэтгэдэг бөгөөд энэ нь автоматаар хийгддэг. Тайлбарыг буцааж англи (Америкийн Нэгдсэн Улс) руу орчуулах уу?
- A/C acionará o relé, a por a sua vez acionará o systema de A/C da casa. Тэмдэглэл нь температурын хэмжээсээр тодорхойлогддог. Агаарын температурыг хэмжихийн тулд агаарын температурыг хэмжиж, агааржуулагчийг цэвэрлэ. Жишээлбэл, энэ нь 23 -ийн температурын хувьд чухал юм. Дотоод температурын хязгаарлалт нь 24 цаг, агааржуулагчтай, агаарын температурын хувьд 20 хэм хүртэл өндөр температуртай байдаг. Дахин давтана уу.
- Гарагемийн мэдээлэл нь танд ямар ч мэдээлэл өгөх болно.
- Дотоод засал чимэглэлийн температур, температурын горим.
- Luminosidade é apesas informativa e morttra o valor da luminosidade atual.
Sexue em anexo os arquivos home.html e home.ts contendos os códigos para comunicação com a cloud AWS e atualização do app.
Алхам 4: Криандо Ума Na AWS IoT "coisa"
AWS дээр IoT -ийг тохируулахдаа дараах тохиргоог хийх хэрэгтэй:
1) AWS IoT -ийн холбоосгүй линкийг үзэхийн тулд:
2) "Нэг зүйлийг бүтээх", "Нэг зүйлийг бий болгох". Дараа нь товчлох хэрэгтэй.
3) "Гэрчилгээгүй зүйлийг бүтээ" гэж хэлээрэй. Зааварчилгаа өгөх заавар нь IoT семальт сертификатуудын аль алинд нь зориулагдсан болно.
4) Нэн чухал биш, "coisa" гэж хэлэх хэрэгтэй. Богино хугацаанд "coisa" гэж нэрлэхийн тулд компьютерийн командыг сонгоно уу. Nessa tela podemos to tópicosMQTT нь ямар ч асуудал үүсгэж, алдааг олж засварлах боломжийг танд олгоно. Python програмыг ажиллуулахад ямар ч үүрэг гүйцэтгэдэггүй. "Сүүдэр" -ийг сонгохдоо AWS Cloud дээр луугийн самбарыг шинэчлэх боломжтой болно.
Алхам 5: Python програм
Хөтөлбөрийг гүйцэтгэх явцад библиотека хийх шаардлагатай байна.
импортлох spidevimport цаг импортлох бүртгэл импорт json импорт argparse
libsoc импортын gpio -аас
datetime импортлох огнооноос унтах цаг, gpio_96boards -аас datetime нь AWSIoTPythonSDK. MQTTLib -аас GPIO импортлох
Хөтөлбөрийг дуусгахын тулд:
импортлох spidevimport цаг импортлох бүртгэл импорт json импорт argparse
libsoc импортын gpio -аас
datetime импортлох огнооноос унтах цаг, gpio_96boards -аас datetime нь AWSIoTPythonSDK. MQTTLib -аас GPIO импортлох AWSIoTMQTTClient -ээс AWSIoTPythonSDK. MQTTLib импорт AWSIoTMQTTShadowClient
GPIO_CS = GPIO.gpio_id ('GPIO_CS') #Аналогийн порт
BUTTON = GPIO.gpio_id ('GPIO_A') RELE = GPIO.gpio_id ('GPIO_C') LED = GPIO.gpio_id ('GPIO_G')
тээглүүр = ((GPIO_CS, 'гарах'), (BUTTON, 'in'), (RELE, 'out'), (LED, 'out'),)
def setdevices (deltaMessagePython):
System_Status = deltaMessagePython ['SystemStatus'] Rele_Status = deltaMessagePython ['AC'] Led_Status = deltaMessagePython ['SisIlumi']
##### AC
хэрэв Rele_Status == 1: gpio.digital_write (RELE, GPIO. HIGH)
хэрэв Rele_Status == 0 бол:
gpio.digital_write (RELE, GPIO. LOW)
##### Систем де Илуминакао
хэрэв Led_Status == 1: gpio.digital_write (LED, GPIO. HIGH) бол 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 - Температур 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 - Гэрэлтүүлэг 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') температур = "{:.2f} ". Формат (adc_temp) payload_temp = '{" төлөв ": {" хүссэн ": {" Luminosidade ":' + adcoutldr + '," Температура ":' + температур + '}}}' myMQTTClient.publish ("$ aws/things/DBpyAWS1116/shadow/update", payload_temp, 0) буцах r
Def desliga ():
gpio.digital_write (RELE, GPIO. LOW) gpio.digital_write (LED, GPIO. LOW)
def run (gpio):
system_status = 1
үнэн байхад:
time.sleep (2) button_value = gpio.digital_read (BUTTON) хэвлэх ("----") time.sleep (0.25) if button_value == 1: if system_status == 0: system_status = 1 other: system_status = 0 desliga () хэрэв system_status == 1: утга = readadc (gpio) хэвлэх "SYSTEM_STATUS %d" %system_status time.sleep (3)
class shadowCallbackContainer:
def _init _ (өөрөө, deviceShadowInstance): self.deviceShadowInstance = deviceShadowInstance
# Custom Shadow дуудлага хийх
def customShadowCallback_Delta (өөрөө, ачаа, хариуStatus, токен): хэвлэх ("Дельта мессеж хүлээн авсан:") ### ачааллын шинэчлэлтийн скрипт payloadDict = json.loads (payload) deltaMessage = json.dumps (payloadDict ["төлөв"]) хэвлэх "DELTA MESSAGE %s" %deltaMessage ### Мэдээлэгдсэн төлөвийг шинэчлэх хүсэлт newPayload = '{"төлөв": {"мэдээлсэн":' + deltaMessage + '}}' deltaMessagePython = json.loads (deltaMessage) setdevices (deltaMessagePython)
spi = spidev. SpiDev ()
spi.open (0, 0) spi.max_speed_hz = 10000 spi.mode = 0b00 spi.bits_per_word = 8
####### Зүйлийн тодорхойлолт
# AWS IoT сертификатад суурилсан холболт
myMQTTClient = AWSIoTMQTTClient ("DBpyAWS1116") myMQTTClient.configureEndpoint ("a28rqf8gnpw7g.iot.us-west-2.amazonaws.com", 8883) myMQTTClient.configure/Credentials/"/, "/home/linaro/shared/AWS/" SUA CHAVE "-private.pem.key", "/home/linaro/shared/AWS/" SEU CERTIFICADO "-certificate.pem.crt") myMQTTClient.configureOfflinePublishQueueing (- 1) # Infinite offline Publish myMQTTClient.configureDrainingFrequency (2) # Draining: 2 Hz myMQTTClient.configureConnectDisconnectTimeout (10) # 10 sec myMQTTClient.configureMQTTOperationTimeout (5) # 5 секундынMinQntect (5) coisajsb "," холбогдсон ", 0)
########################
####### Сүүдрийн тодорхойлолт
# AWSIoTMQTTShadowClient -ийг эхлүүлнэ үү
myAWSIoTMQTTShadowClient = Байхгүй myAWSIoTMQTTShadowClient = AWSIoTMQTTShadowClient ("DBpyAWS1116") myAWSIoTMQTTShadowClient.configureEndpoint ("SEU END-POINT.us-west-2.amazonaws.com", 8883) myAWSIoTMQTTShadowClient.configureCredentials ("/ гэр / linaro / хуваалцах / AWS / root- CA.crt ","/home/linaro/shared/AWS/"SUA CHAVE" -private.pem.key ","/home/linaro/shared/AWS/"SEU CERTIFICADO-certificate.pem.crt")
# AWSIoTMQTTShadowClient configurationmyAWSIoTMQTTShadowClient.configureAutoReconnectBackoffTime (1, 32, 20) myAWSIoTMQTTShadowClient.configureConnectDisconnectTimeout (10) #ToTMTMTM
# AWS IoT -д холбогдох
myAWSIoTMQTTShadowClient.connect ()
# Тогтмол захиалгатай төхөөрөмжийн сүүдэр үүсгэх
deviceShadowHandler = myAWSIoTMQTTShadowClient.createShadowHandlerWithName ("DBpyAWS1116", Үнэн) shadowCallbackContainer_Bot = shadowCallbackContainer (deviceShadowHandler)
# Дельтануудыг сонсоорой
төхөөрөмжShadowHandler.shadowRegisterDeltaCallback (shadowCallbackContainer_Bot.customShadowCallback_Delta)
#########################
myMQTTClient.publish ("$ aws/things/DBpyAWS1116/shadow/update", '{"state": {"хүссэн": {"SystemStatus": 1, "SisIlumi": 0, "AC": 0, "Garagem"): "Fechada", "Temperatura": 25, "Luminosidade": 123}}} ', 0)
хэрэв _ name_ == "_main_":
GPIO (тээглүүр) -ийг gpio болгон ажиллуулах: ажиллуулах (gpio)
Алхам 6: Эцсийн шат
Após ter concluido os passos anteriores, deve-se inicializar or systema performando or código fornecido no passo 5 e inicializar o app através do Ionic, usando o comando Ionic serve.
AWS Cloud-ийн алдааг олж засварлах, MQTT-ийн үйлчлүүлэгчийг AWS-ээр хийх тестийг AWS дээр туршиж үзэх боломжтой..amazon.com/iotv2/hom…
Зөвлөмж болгож буй:
Ухаалаг ширээний LED гэрэл - Ухаалаг гэрэлтүүлэг W/ Arduino - Neopixels ажлын талбар: 10 алхам (зурагтай)
Ухаалаг ширээний LED гэрэл | Ухаалаг гэрэлтүүлэг W/ Arduino | Neopixels Ажлын талбар: Одоо бид гэртээ маш их цагийг өнгөрөөж, виртуал орчинд ажиллаж, сурч, ажиллаж байгаа тул Arduino болон Ws2812b LED -ийг суурилуулсан, ухаалаг гэрэлтүүлгийн системийг ашиглан ажлын талбараа томруулж яагаад болохгүй гэж. Ширээний LED гэрэл нь
Ашиглагдаагүй ухаалаг гар утсыг ухаалаг дэлгэц болгон хувиргах: 6 алхам (зурагтай)
Ашиглагдаагүй ухаалаг гар утсыг ухаалаг дэлгэц болгон хувиргаарай: Deze заавар нь Энгельс хэл дээр байдаг, гэхдээ та хуучин (хуучин) ашиглагдаагүй ухаалаг гар утастай юу? Энэхүү хялбархан алхам алхмаар зааварчилгааг ашиглан Google Хүснэгт болон үзэг цаас ашиглан ухаалаг дэлгэц болгоно. Дуусгаж дуусмагц
Arduino хяналтын реле модулийг ашиглан ухаалаг гэрийг хэрхэн яаж хийх вэ - Гэрийн автоматжуулалтын санаанууд: 15 алхам (зурагтай)
Arduino хяналтын реле модулийг ашиглан ухаалаг гэрийг хэрхэн яаж хийх вэ | Гэрийн автоматжуулалтын санаанууд: Энэхүү гэрийн автоматжуулалтын төсөлд бид 5 гэр ахуйн цахилгаан хэрэгслийг удирдах боломжтой ухаалаг гэрийн реле модулийг зохион бүтээх болно. Энэхүү реле модулийг гар утас эсвэл ухаалаг гар утас, IR алсын удирдлага эсвэл телевизийн алсын удирдлага, гарын авлагын унтраалга ашиглан удирдах боломжтой. Энэхүү ухаалаг буухиа нь мөн мэдрэх чадвартай
SONOFF ухаалаг унтраалга ашиглан ухаалаг галзуу наалт хэрхэн хийх вэ ?: 14 алхам
SONOFF ухаалаг унтраалгатай ухаалаг галзуу наалт хэрхэн хийх вэ ?: SONOFF ухаалаг унтраалга дахь түгжигдэх горимыг ашиглан энгийн галзуу наалт/хөшигийг ухаалаг болгоно. Та үүнийг ихэнх нь үүрээр галзуу наалт/наалт татах ажил гэдэгтэй санал нийлэх үү? тэгээд орой нь татах уу? Ямар ч байсан би
Bluetooth ухаалаг гар утасны удирдлагатай ухаалаг LED чийдэн: 7 алхам
Bluetooth ухаалаг гар утсаар удирддаг Ухаалаг LED чийдэн: Би гэрэлтүүлгийн төхөөрөмжөө хянахыг үргэлж мөрөөддөг. Дараа нь хэн нэгэн гайхалтай өнгөлөг LED чийдэн хийжээ. Би саяхан Youtube дээр Жозеф Кашагийн LED чийдэнг олж харсан. Үүнээс урам зориг авч, тохиргоогоо хадгалж байхдаа хэд хэдэн функц нэмж оруулахаар шийдсэн