תוכן עניינים:

SHIOT: 6 שלבים
SHIOT: 6 שלבים

וִידֵאוֹ: SHIOT: 6 שלבים

וִידֵאוֹ: SHIOT: 6 שלבים
וִידֵאוֹ: Распределительный щит. Сборка трехфазного щита. Подключение автоматов. 2024, נוֹבֶמבֶּר
Anonim
SHIOT
SHIOT

Este projeto foi desenvolvido for system of iluminação via Dweet, e foi utilizado or hardware Dragonborad 410C com on a versão linux linaro instalado.

E para o desenvolvimento do aplicativo for smartphone smartphone foi utilion o ionic, e o IDE Visual Studio Code.

שלב 1: שלב 1: Materiais Uitilizados

שלב 1: Materiais Uitilizados
שלב 1: Materiais Uitilizados
שלב 1: Materiais Uitilizados
שלב 1: Materiais Uitilizados
שלב 1: Materiais Uitilizados
שלב 1: Materiais Uitilizados
שלב 1: Materiais Uitilizados
שלב 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x מקשר ביניים

1 x מודולו לד

1 x מודולו דה טמפרטורה

1 x modulo de luminosidade LDR

1 x חיישן מגע מודולו

2 x modulos rele

1 x usb teclado

1 x USB עכבר

1 x צג Hdmi

conexão com אינטרנט

הנגד של 1k אוהם עבור התאמה של LED

שלב 2: שלב 2: מונטגם

שלב 2: מונטגם
שלב 2: מונטגם
שלב 2: מונטגם
שלב 2: מונטגם
שלב 2: מונטגם
שלב 2: מונטגם

א) תקע או בינונית לינקר על מקום Dragonboard 410C

ב) תקע או מודול הטמפרטורה ללא מחבר בין ADC2 לקומת הביניים

ג) תקע או מודולוס של חיישן הבהרה ללא מחבר בין ADC1 לקומת הביניים

ד) תקע או מודולו של חיישן טוק אין מחבר לעשות D1 da קומת ביניים

ה

ו) תקע או מודולו ללא קונטקטור של D3 בקומת הביניים

ז) תקע o modulo de rele no conector לעשות D4 da קומת ביניים

ח) שקע או צג ללא מחבר HDMI da placa Dragonboard 410C

i) חיבור USB למכשיר Dragonboard 410C

j) תקע או עכבר USB ועם Dragonboard 410C

l) Plugue a fonte de alimentação na placa Dragonboard 410C

OBS 1: Devido ao modulo LED ter apenas um resistor de 82 Ohms, interfered in medição do temperatura causando valores negativeos quando é acionado, senso needsário a utilização de um resistor of pelos menos of 1k Ohms conforme figure.

OBS 2: Devido ao kit da mezzanine possuir apenas um modulo rele, foi needsário adaptador um modulo rele generico, utilizado no conector D4 da mezzanine, interligando cabo VCC no VCC, GND no GND, e o de sinal no D_G da mezzanine

שלב 3: שלב 3: קודיגו פייתון

#importação das bibliotecas spidev e time

יבוא spidev

זמן יבוא

#importação parcial das bibliotecas

מ- libsoc import gpio

מ- gpio_96 לוחות ייבוא GPIO

מ- dweet יבוא Dweet

# definição das porta analogica, o sensor de luminosidade e de temperaturea serão definidas por endereçamento.

GPIO_CS = GPIO.gpio_id ('GPIO_CS')

# definição das portas digitais

לחצן = GPIO.gpio_id ('GPIO_A')

RELE = GPIO.gpio_id ('GPIO_C')

LED = GPIO.gpio_id ('GPIO_E')

RELE2 = GPIO.gpio_id ('GPIO_G')

#configurações das GPIOS se IN ou OUT

סיכות = ((GPIO_CS, 'החוצה'), (לחצן, 'פנימה'), (RELE, 'החוצה'), (LED, 'החוצה'), (RELE2, 'החוצה'),)

#configurações das portas analagicas

spi = spidev. SpiDev ()

spi.open (0, 0)

spi.max_speed_hz = 10000

spi.mode = 0b00

spi.bits_per_word = 8

מערכת_סטטוס = 1

dweet = ציוץ ()

#konfigurações do bloco de comando LED e RELE

def readDigital (gpio):

דיגיטלי = [0, 0]

דיגיטלי [0] = gpio.digital_read (LED)

דיגיטלי [1] = gpio.digital_read (RELE)

להחזיר דיגיטלית

def writeDigital (gpio, דיגיטלי):

לכתוב = דיגיטלי

gpio.digital_write (LED, כתוב [0])

gpio.digital_write (RELE, כתוב [1])

להחזיר דיגיטלית

#configuração do bloco para o touch, para o system or ouar system

כפתור def deta (gpio):

מערכת מערכת גלובלית

status = gpio.digital_read (כפתור)

אם סטטוס == 1:

אם מערכת_סטטוס == 0:

מערכת_סטטוס = 1

sis_status = "ליגאדו"

הדפס ("Estado do Sistema %s" %sis_status)

אַחֵר:

מערכת_סטטוס = 0

sis_status = "Desligado"

הדפס ("Estado do Sistema %s" %sis_status)

dweet.dweet_by_name (name = "shiot", data = {"system": sis_status})

החזר מערכת_סטטוס

#configuração do bloco para leitura da temperatura

def readTemp (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])

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

#print ("טמפרטורה: %2.1f" %adc_temp)

החזר adc_temp

#configuração do bloco para leitura da luminosidade.

def readLumi (gpio):

gpio.digital_write (GPIO_CS, GPIO. HIGH)

time.sleep (0.0002)

gpio.digital_write (GPIO_CS, GPIO. LOW)

r = spi.xfer2 ([0x01, 0x80, 0x00])

gpio.digital_write (GPIO_CS, GPIO. HIGH)

adcout = (r [1] << 8) & 0b1100000000

adcout = adcout | (r [2] & 0xff)

return adcout

#execução dos blocos de comandos

אם _name _ == '_ main_':

עם GPIO (סיכות) בתור gpio:

בעוד שזה נכון:

דיגיטלי = [0, 0]

אם detectaButton (gpio) == 1:

lumi = readLumi (gpio)

# verificação da luminosidade para acionamento do rele do conector D4

אם לומי <400:

gpio.digital_write (RELE2, GPIO. HIGH)

luz_status = "ליגאדו"

אַחֵר:

gpio.digital_write (RELE2, GPIO. LOW)

luz_status = "אפגאדו"

#verificação no dweet para acionamento do led e/ou rele

resposta = dweet.latest_dweet (שם = "shiot")

digital [0] = resposta ['with'] [0] ['content'] ['led']

דיגיטלי [1] = resposta ['עם'] [0] ['תוכן'] ['rele']

writeDigital (gpio, דיגיטלי)

temp = readTemp (gpio)

דיגיטלי = readDigital (gpio)

#imprime os valores de luminosidade, טמפרטורות

הדפס "טמפ ': %2.1f / nlumi: %d / nled: %d / nrele: %d / n" %(טמפ', לומי, דיגיטלי [0], דיגיטלי [1])

הדפס ("Luz Externa: %s" %luz_status)

sis_status = "ליגאדו"

#envio de dados עבור dweet

dweet.dweet_by_name (name = "shiot", data = {"led": digital [0], "rele": digital [1], "Temperatura": temp, "Luminosidade": lumi, "Luz_externa": luz_status, " system ": sis_status})

#tempo para cada leitura

time.sleep (5)

#devido a metodologia do dweet, deve ser configurado או dweet antes de executor o programa no python.

שלב 4: שלב 4: ציוץ

שלב 4: ציוץ
שלב 4: ציוץ
שלב 4: ציוץ
שלב 4: ציוץ
שלב 4: ציוץ
שלב 4: ציוץ

Em dweet.io, לחץ עליהם PLAY.

Em dweets: צור או קרא dweets במטמון לטווח קצר, לא:

פוסט/ציוץ/בשקט/בשביל/{דבר}

- אין דבר פרמטרו escreva shiot, conforme programa feito no python.

- em content escreva:

אם אתה יכול לעשות זאת, תוכל לצייץ עבור Dragonboard410C, לשלוח 0 עבור הודעות 1 או יותר.

אין ללחוץ על נסיונות.

בצע את התוכנית no terminal da Dragonboard 410C (este deve estar conectado em uma rede com internet):

sudo python smart.py

Na aba GET:

GET/get/dweets/for/{thing}

- אין דבר פרמטרו escreva shiot, conforme programa feito no python.

אין ללחוץ על נסיונות.

גוף התגובה של Em et obtido algo דומה:

שלב 5: שלב 5: קוד אולפן וירטואלי Ionic E

שלב 5: קוד אולפן וירטואלי Ionic E
שלב 5: קוד אולפן וירטואלי Ionic E

פסטות של קריאייר ואוס ארקוויס לאפליקציות

אין הודעה מהירה על חלונות:

שיון התחלה יונית

abra o קוד Visual Studio

para construir as paginas html:

Em SRC => דפים => בית => home.html

codigo conforme arquivo homehtml.txt

Em SRC => pages => Home => home.tscodigo conforme arquivo homets.txt

זה הכרחי עבור dweet.ts עבור comunicar corretamente HTTP e dweet

לאחר הפקודה של הפסטה לפרויקטים:

ציוץ ספק יצרן יונית

Em SRC => ספקים => dweet => dweet.ts

codigo conforme arquivo dweetts.txt

יבוא עבור קהילה

Em SRC => app => app.module.ts

codigo conforme arquivo appmodulets.txt

שלב 6: שלב 6: Finalização

שלב 6: סיום
שלב 6: סיום
שלב 6: סיום
שלב 6: סיום

אין פקודה של קומנדה לפסטה:

משרתים יונית

Sera aberto no navegador https:// localhost: 8100/

Sendo gerado uma tela com Led que pode ser ligado ou desligado com uma "chave liga/desliga".

Sendo gerado uma tela com rele que pode ser ligado ou desligado com uma "chave liga/desliga".

E monitoramento de Temperatura, Iluminação, Luz externa, e Sistema.

mais detalhes do funcionamento no arquivo Dragon.pdf

מוּמלָץ: