สารบัญ:
- ขั้นตอนที่ 1: ขั้นตอนที่ 1: Materiais Uitilizados
- ขั้นตอนที่ 2: ขั้นตอนที่ 2: Montagem
- ขั้นตอนที่ 3: ขั้นตอนที่ 3: Codigo Python
- ขั้นตอนที่ 4: ขั้นตอนที่ 4: Dweet
- ขั้นตอนที่ 5: ขั้นตอนที่ 5: Ionic E Virtual Studio Code
- ขั้นตอนที่ 6: ขั้นตอนที่ 6: Finalização
วีดีโอ: SHIOT: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
Este projeto foi desenvolvido para um sistema de iluminação via Dweet, และ foi utilizado o hardware Dragonborad 410C com uma versão linux linaro instalado.
สำหรับผู้ใช้สมาร์ทโฟนสำหรับสมาร์ทโฟน foi utilizado o ionic, e o IDE Visual Studio Code
ขั้นตอนที่ 1: ขั้นตอนที่ 1: Materiais Uitilizados
1 x ดราก้อนบอร์ด 410C
1 x ตัวเชื่อมโยง Mezzanine
1 x โมดูโล led
1 x โมดูโลเดออุณหภูมิ
1 x โมดูโลเดอลูมิโนซิเดด LDR
1 x โมดูโลเซ็นเซอร์สัมผัส
2 x โมดูลัสรีล
1 x teclado usb
1 x เมาส์ usb
1 x จอภาพ Hdmi
conexão com อินเทอร์เน็ต
ตัวต้านทาน de 1k Ohms สำหรับ adaptação do led
ขั้นตอนที่ 2: ขั้นตอนที่ 2: Montagem
a) Plugue o Linker Mezzanine กับ Dragonboard 410C
ข) Plugue o modulo de temperatura no conector do ADC2 da mezzanine
c) Plugue o modulo de sensor de luminosidade ไม่มีตัวเชื่อมต่อ do ADC1 da mezzanine
ง) Plugue o modulo de sensor toque no conector do D1 da mezzanine
จ) Plugue o modulo de rele no conector do D2 da mezzanine
f) Plugue o modulo ไม่มีคอนเน็กเตอร์ทำ D3 da mezzanine
g) Plugue o modulo de rele no conector do D4 da mezzanine
h) ปลั๊กหรือมอนิเตอร์ไม่มีคอนเนคเตอร์ HDMI กับ 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, รบกวน na medição do sensor de temperatura causando valores negativos quando é acionado, senso necessário a utilização de um resistor de pelos ตัวเลข 1k โอห์ม สอดคล้อง
OBS 2: Devido ao kit da mezzanine possuir apenas um modulo rele, foi necessário adaptador um modulo rele generico, utilizado no conector D4 da mezzanine, interligando cabo VCC no VCC, GND no GND, e oG de mezzanine ไม่มี
ขั้นตอนที่ 3: ขั้นตอนที่ 3: Codigo Python
#importação das bibliotecas spidev e time
นำเข้าสไปเดฟ
เวลานำเข้า
#importação parcial das bibliotecas
จาก libsoc นำเข้า gpio
จาก gpio_96boards นำเข้า GPIO
จาก dweet นำเข้า Dweet
# คำนิยาม das porta analogica, o sensor de luminosidade e de temperatura 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
pins = ((GPIO_CS, 'out'), (BUTTON, 'in'), (RELE, 'out'), (LED, 'out'), (RELE2, 'out'),)
#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
system_status = 1
ดวีต = ดวีต()
#configurações do bloco de comando LED และ 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 sistema ou ligar o sistema
def detectaButton (gpio):
global system_status
สถานะ = gpio.digital_read (ปุ่ม)
ถ้าสถานะ == 1:
ถ้า system_status == 0:
system_status = 1
sis_status = "ลิกาโด"
พิมพ์ ("Estado do Sistema %s" %sis_status)
อื่น:
system_status = 0
sis_status = "เดสลิกาโด"
พิมพ์ ("Estado do Sistema %s" %sis_status)
dweet.dweet_by_name(name="shiot", data={"sistema":sis_status})
ส่งคืน system_status
#configuração do bloco para leitura da temperatura
def readTemp (gpio):
gpio.digital_write (GPIO_CS, GPIO.สูง)
เวลานอน(0.0002)
gpio.digital_write (GPIO_CS, GPIO. LOW)
r = spi.xfer2([0x01, 0xA0, 0x00])
gpio.digital_write (GPIO_CS, GPIO.สูง)
adcout = (r [1] << 8) & 0b1100000000
adcout = adcout | (ร[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.สูง)
เวลานอน(0.0002)
gpio.digital_write (GPIO_CS, GPIO. LOW)
r = spi.xfer2([0x01, 0x80, 0x00])
gpio.digital_write (GPIO_CS, GPIO.สูง)
adcout = (r [1] << 8) & 0b1100000000
adcout = adcout | (r[2] & 0xff)
ส่งคืน adcout
#execução dos blocos de comandos
ถ้า _name_=='_main_':
ด้วย GPIO (พิน) เป็น gpio:
ในขณะที่จริง:
ดิจิตอล = [0, 0]
ถ้าdetectaButton(gpio) == 1:
ลูมิ = อ่านลูมิ (gpio)
# ตรวจสอบ da luminosidade สำหรับ acionameto do rele do conector D4
ถ้าลูมิ < 400:
gpio.digital_write (RELE2, GPIO. HIGH)
luz_status = "ลิกาโด"
อื่น:
gpio.digital_write (RELE2, GPIO. LOW)
luz_status = "อาปากาโด"
#การตรวจสอบไม่มี dweet para acionameto do led e/ou rele
resposta = dweet.latest_dweet(name="shiot")
ดิจิตอล[0] = resposta['with'][0]['content']['led']
ดิจิตอล[1] = resposta['with'][0]['content']['rele']
writeDigital(gpio ดิจิตอล)
อุณหภูมิ = readTemp (gpio)
ดิจิตอล = อ่านดิจิตอล (gpio)
#อิมไพรม์ os valores de luminosidade อุณหภูมิ
พิมพ์ "อุณหภูมิ: %2.1f\nlumi: %d\nled: %d\nrele: %d\n" %(temp, lumi, digital[0], digital[1])
พิมพ์ ("Luz Externa:%s" %luz_status)
sis_status = "ลิกาโด"
#envio de dados para o dweet
dweet.dweet_by_name(name="shiot", data={"led":digital[0], "rele": digital[1], "Temperatura":temp, "Luminosidade": lumi, "Luz_externa": luz_status, " ระบบ":sis_status})
#จังหวะพารา cada leitura
เวลานอน(5)
#devido a metodologia do dweet, deve ser configurado o dweet antes de executar หรือ programa no python
ขั้นตอนที่ 4: ขั้นตอนที่ 4: Dweet
Em dweet.io, กลุ่ม em PLAY
Em dweets: สร้างหรืออ่าน dweets ในแคชระยะสั้น na aba:
POST /dweet/เงียบ/สำหรับ/{สิ่ง}
- ไม่มี parametro สิ่ง escreva shiot สอดคล้องกับโปรแกรม feito ไม่มี python
- em escreva เนื้อหา:
Que são os para os parametros enviados do dweet para a Dragonboard410C, sendo 0 สำหรับ desligado e 1 สำหรับ ligado
e clique no botão ลองเลย
ดำเนินการ o programa no terminal da Dragonboard 410C (este deve estar conectado em uma rede com internet):
sudo python smart.py
นา aba GET:
รับ /get/dweets/for/{thing}
- ไม่มี parametro สิ่ง escreva shiot สอดคล้องกับโปรแกรม feito ไม่มี python
e clique no botão ลองเลย
Em Response Body é obtido algo ที่คล้ายกัน:
{ "นี้": "สำเร็จ", "โดย": "ได้รับ", "ที่": "dweets", "กับ": [{ "สิ่ง": "shiot", "สร้าง": "2017-12-03T19: 30:11.458Z", "เนื้อหา": { "Temperatura": 25.2688172043, "led": 0, "Luminosidade": 504, "Luz_externa": "Apagado", "sistema": "Ligado ", "rele": 0 } }, sendo "succeeded", identificando que a conexão foi feito com sucesso e são os พารามิเตอร์ osbtidos da Dragonboard410C
ขั้นตอนที่ 5: ขั้นตอนที่ 5: Ionic E Virtual Studio Code
para criar pastas e os arquivos para necessários do app
ไม่มีพรอมต์เดอ comando ทำ windows:
ไอออนิกเริ่มชิโอต์
abra o รหัส Visual Studio
para construir เป็นหน้า html:
Em SRC =>pages=> หน้าแรก => home.html
codigo สอดคล้อง arquivo homehtml.txt
Em SRC =>pages=> Home => home.tscodigo สอดคล้อง arquivo homets.txt
é necessario gerar o dweet.ts para comunicar corretamente HTTP และ dweet
พร้อมท์ เดอ comando กับ พาสต้า โด โปรเจโต้:
ผู้ให้บริการสร้างไอออนิก dweet
Em SRC =>providers=> dweet => dweet.ts
codigo สอดคล้อง arquivo dweetts.txt
importação สำหรับ comunicação
Em SRC =>app=> app.module.ts
codigo สอดคล้อง arquivo appmodules.txt
ขั้นตอนที่ 6: ขั้นตอนที่ 6: Finalização
ไม่มีข้อความแจ้ง de comando da pasta do projeto:
เสิร์ฟไอออนิก
Sera aberto ไม่มี navegador
Sendo gerado uma tela com นำ 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, และ Sistema
mais detalhes do funcionameto no arquivo Dragon.pdf. เพิ่มเติม
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง