Агуулгын хүснэгт:

Гэрлийг хянах систем: 9 алхам
Гэрлийг хянах систем: 9 алхам

Видео: Гэрлийг хянах систем: 9 алхам

Видео: Гэрлийг хянах систем: 9 алхам
Видео: КАК НАСТРОИТЬ L4D2 2024, Долдугаар сарын
Anonim
Гэрлийн хяналтын систем
Гэрлийн хяналтын систем

Саяхан би Аюулгүй байдлын судалгааны зорилгоор микроконтроллер ба IOT дээр суурилсан төхөөрөмжүүдийг ойлгохоор ажиллаж байсан. Тиймээс би дадлага хийхийн тулд жижиг гэрийн автоматжуулалтын системийг бүтээхийг бодсон. Би үүнийг хараахан дуусаагүй байгаа боловч эхлүүлэхийн тулд би энэ нийтлэлд Raspberry Pi 2 болон бусад цахилгаан эд ангиудыг ашиглан өрөөнийхөө гэрэлтүүлгийг хэрхэн удирдах талаар хуваалцах болно. Түүнчлэн, би Raspberry -ийн анхны тохиргооны талаар энд ярихгүй, та үүний тулд янз бүрийн заавар олж болно.

Гэхдээ энэ төсөлд би энэхүү docker pi цувралын бүтээгдэхүүнийг танд танилцуулах болно.

Хангамж

Бүрэлдэхүүн хэсгүүдийн жагсаалт:

  • 1 x Raspberry Pi 3B+/3B/Тэг/Тэг W/4B/
  • 1 x 16GB Ангилал 10 TF карт
  • 1 x DockerPi цуврал 4 сувгийн реле самбар (HAT)
  • 52Pi -ээс 1 x [email protected] цахилгаан хангамж
  • 4 x Хөнгөн тууз
  • 1 x DC холбогч
  • Хөнгөн туузанд 1 х 12 В тэжээлийн хангамж.
  • хэд хэдэн утас.

Алхам 1: DockerPi Series 4 Channel Relay Board -ийн талаар мэдэх

DockerPi Series 4 Channel Relay Board -ийн талаар мэдэх
DockerPi Series 4 Channel Relay Board -ийн талаар мэдэх
DockerPi Series 4 Channel Relay Board -ийн талаар мэдэх
DockerPi Series 4 Channel Relay Board -ийн талаар мэдэх
DockerPi Series 4 Channel Relay Board -ийн талаар мэдэх
DockerPi Series 4 Channel Relay Board -ийн талаар мэдэх

DockerPi 4 Channel Relay нь IOT програмуудад илүү өргөн хэрэглэгддэг DockerPi цувралын гишүүн юм.

DockerPi 4 сувгийн реле нь илүү олон санааг олж авахын тулд уламжлалт унтраалгуудын оронд AC/DC реле хийх боломжтой. DockerPi 4 сувгийн реле нь 4 хүртэл овоолох боломжтой бөгөөд бусад DockerPi өргөтгөлийн самбартай хамт овоолох боломжтой. Хэрэв та удаан хугацаагаар ажиллах шаардлагатай бол илүү их хүчээр хангахын тулд манай DockerPi Power өргөтгөлийн хавтанг ашиглахыг зөвлөж байна.

Анхааруулга: Цаашид үргэлжлүүлэхийн өмнө би "Сүлжээний цахилгаан" -ыг туршиж үзэх нь АЮУЛТАЙ болохыг анхааруулж байна. Хэрэв ямар нэгэн зүйл буруу болвол хамгийн муу үр дагавар нь үхэл эсвэл дор хаяж байшингаа шатаах явдал байж магадгүй юм. Тиймээс, хэрэв та юу хийж байгаагаа ойлгохгүй байгаа эсвэл туршлагатай цахилгаанчинтай холбоо барьсан бол энэ нийтлэлд дурдсан зүйлийг хийхийг бүү оролдоорой. Эхэлцгээе.

Алхам 2: Онцлог шинж чанарууд

Онцлог шинж чанарууд
Онцлог шинж чанарууд
Онцлог шинж чанарууд
Онцлог шинж чанарууд
Онцлог шинж чанарууд
Онцлог шинж чанарууд
  • DockerPi цуврал
  • Програмчлагдах боломжтой
  • Шууд хянах (програмчлалгүйгээр)
  • GPIO Pins -ийг сунгана уу
  • 4 сувгийн реле
  • 4 Alt I2C Addr дэмжлэг
  • Релений статусыг дэмжих LED
  • 3A 250V AC дэмжлэг
  • 3А 30В тогтмол гүйдэл
  • Бусад стек самбартай хамт стек хийх боломжтой. Үндсэн хавтангийн тоног төхөөрөмжөөс үл хамааран (I2C дэмжлэг шаардлагатай)

Алхам 3: Төхөөрөмжийн хаягийн зураг

Төхөөрөмжийн хаягийн зураг
Төхөөрөмжийн хаягийн зураг
Төхөөрөмжийн хаягийн зураг
Төхөөрөмжийн хаягийн зураг

Энэ самбар нь тусдаа бүртгэлийн хаягтай бөгөөд та реле бүрийг нэг тушаалаар удирдах боломжтой.

Бусад шаардлага:

Python эсвэл C эсвэл бүрхүүл эсвэл Java эсвэл бусад хэлний үндсэн ойлголт (би C, python, shell, java ашиглах болно)

  • Линукс системийн талаархи үндсэн ойлголт
  • Оюун санааны оршихуй

Одоо урагшлахаасаа өмнө бидний ашиглаж буй цахилгаан эд ангиудыг ойлгох хэрэгтэй.

1. Реле:

Реле нь ихэвчлэн маш бага хүчдэлийг оролт болгон ашиглан өндөр хүчдэлийг хянахад ашигладаг цахилгаан төхөөрөмж юм. Энэ нь туйлыг ороосон ороомог, хэлхээг хаахад ашигладаг хоёр жижиг металл хавхлага (зангилаа) -аас бүрдэнэ. Зангилааны нэг нь тогтмол, нөгөө нь хөдлөх боломжтой. Цахилгаан гүйдэл ороомогоор дамжих бүрт соронзон орон үүсгэн хөдөлж буй зангилааг статик зангилаа руу татаж, хэлхээ дуусна. Тиймээс, ороомог асаахын тулд бага хүчдэлийг ашигласнаар бид өндөр хүчдэлийн явах хэлхээг бүрэн гүйцэд хийж чадна. Түүнчлэн, статик зангилаа нь ороомогтой физик холбогдоогүй тул ямар нэг зүйл буруу болвол ороомог тэжээж буй микроконтроллер гэмтэх магадлал маш бага байдаг.

Алхам 4: Релеийг үндсэн цахилгаан тэжээлээр тэжээгддэг чийдэнгийн эзэмшигчид холбоно уу

Релеийг үндсэн цахилгаан тэжээлээр тэжээгддэг чийдэнгийн эзэмшигчид холбоно уу
Релеийг үндсэн цахилгаан тэжээлээр тэжээгддэг чийдэнгийн эзэмшигчид холбоно уу
Релеийг үндсэн цахилгаан тэжээлээр тэжээгддэг чийдэнгийн эзэмшигчид холбоно уу
Релеийг үндсэн цахилгаан тэжээлээр тэжээгддэг чийдэнгийн эзэмшигчид холбоно уу

Хамгийн хэцүү хэсэг бол бид релейгээ Main Electric тэжээлээр тэжээгддэг чийдэнгийн эзэмшигчид холбоно. Гэхдээ эхлээд би гэрлийг шууд цахилгаан тэжээлээр хэрхэн асааж, унтраах талаар товч ойлголт өгөхийг хүсч байна.

Одоо гэрлийн чийдэнг үндсэн тэжээлд холбоход бид ихэвчлэн хоёр утсыг чийдэнг холбох замаар хийдэг. Утасны нэг нь "Төвийг сахисан" утас, нөгөө нь "Сөрөг" утас бөгөөд гүйдэл дамжуулдаг, мөн бүх хэлхээнд асаах унтраах механизмыг хянах унтраалга байдаг. Тиймээс, свифт холбогдсон (эсвэл асаасан) үед гүйдэл нь чийдэн ба саармаг утсаар дамжиж хэлхээг дуусгадаг. Энэ нь гэрлийн чийдэнг асаана. Шилжүүлэгчийг асаахад хэлхээг эвдэж, гэрлийн чийдэн унтраана. Үүнийг тайлбарлах жижиг хэлхээний диаграмыг энд оруулав.

Одоо туршилт хийхийн тулд бид хэлхээгээ таслахын тулд "Сөрөг утас" -ыг релейгээр дамжуулж, релений унтраалга ашиглан цахилгаан урсгалыг хянах шаардлагатай болно. Тиймээс реле асах үед хэлхээг дуусгах ёстой бөгөөд гэрлийн чийдэн асах ёстой. Бүрэн хэлхээг доорх диаграмаас үзнэ үү.

Алхам 5: I2C -ийг тохируулах (Raspberry Pi)

I2C -ийг тохируулах (Raspberry Pi)
I2C -ийг тохируулах (Raspberry Pi)
I2C -ийг тохируулах (Raspberry Pi)
I2C -ийг тохируулах (Raspberry Pi)
I2C -ийг тохируулах (Raspberry Pi)
I2C -ийг тохируулах (Raspberry Pi)
I2C -ийг тохируулах (Raspberry Pi)
I2C -ийг тохируулах (Raspberry Pi)

Sudo raspi-config-ийг ажиллуулаад ARM цөм болон линукс цөмд i2c дэмжлэгийг суулгах зааврыг дагана уу.

Интерфэйсийн сонголтууд руу очно уу

Алхам 6: Програмчлалгүйгээр шууд хяналт (Raspberry Pi)

1 -р сувгийн релеийг асаана уу

i2cset -y 1 0x10 0x01 0xFF

1 -р сувгийн релеийг унтраа

i2cset -y 1 0x10 0x01 0x00

2 -р сувгийн релеийг асаана уу

i2cset -y 1 0x10 0x02 0xFF

2 -р сувгийн релеийг унтраа

i2cset -y 1 0x10 0x02 0x00

3 -р сувгийн релеийг асаана уу

i2cset -y 1 0x10 0x03 0xFF

3 -р сувгийн релеийг унтраа

i2cset -y 1 0x10 0x03 0x00

4 -р сувгийн релеийг асаана уу

i2cset -y 1 0x10 0x04 0xFF

4 -р сувгийн релеийг унтраа

i2cset -y 1 0x10 0x04 0x00

Алхам 7: C хэл дээрх програм (Raspberry Pi)

Эх кодыг үүсгээд "relay.c" гэж нэрлэнэ үү.

#оруулах

#оруулах

#оруулах

#тодорхойлох DEVCIE_ADDR 0x10

#тодорхойлох RELAY1 0x01

#тодорхойлох RELAY2 0x02

#тодорхойлох RELAY3 0x03

#тодорхойлох RELAY4 0x04

0xFF дээр #тодорхойлох

#тодорхойлох OFF 0x00

int main (хүчингүй)

{

printf ("C -д реле асаах / n");

int fd;

int i = 0;

fd = wiringPiI2CSetup (DEVICE_ADDR);

(;;) {

for (i = 1; i <= 4; i ++)

{

printf ("$ d реленийг асаах", i);

wiringPiI2CWriteReg8 (fd, i, ON);

унтах (200);

printf ("$ d реленийг унтраах", i);

wiringPiI2CWriteReg8 (fd, i, OFF);

унтах (200);

}

}

буцаах 0;

}

Үүнийг эмхэтгээрэй

gcc буухиа.c -ooiringPi -o буухиа

Үүнийг хэрэгжүүлээрэй

./ реле

Алхам 8: Python програм (Raspberry Pi)

Дараах кодыг Python 3 ашиглан гүйцэтгэж, smbus номын санг суулгахыг зөвлөж байна.

"Relay.py" нэртэй файл үүсгээд дараах кодыг буулгана уу.

t гэж импортлох хугацаа

smbus импортлох

sys импортлох

DEVICE_BUS = 1

DEVICE_ADDR = 0x10

автобус = smbus. SMBus (DEVICE_BUS)

үнэн байхад:

оролдоно уу:

i -ийн хувьд (1, 5):

bus.write_byte_data (DEVICE_ADDR, i, 0xFF)

унтах (1)

bus.write_byte_data (DEVICE_ADDR, i, 0x00)

унтах (1)

KeyboardInterrupt -ээс бусад тохиолдолд e:

хэвлэх ("Гогцооноос гарах")

sys.exit ()

* Үүнийг хадгалаад python3 хэлбэрээр ажиллуулна уу:

python3 буухиа.py

Алхам 9: Java програм (Raspberry Pi)

I2CRelay.java нэртэй шинэ файл үүсгээд дараах кодыг буулгана уу.

java.io. IOException импортлох;

java.util. Arrays импортлох;

com.pi4j.io.i2c. I2CBus импортлох;

com.pi4j.io.i2c. I2CD төхөөрөмжийг импортлох;

com.pi4j.io.i2c. I2CFactory импортлох;

com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException импортлох;

com.pi4j.platform. PlatformAlreadyAssignedException импортлох;

com.pi4j.util. Console импортлох;

нийтийн анги I2CRelay {

// релений бүртгэлийн хаяг.

нийтийн статик эцсийн int DOCKER_PI_RELAY_ADDR = 0x10;

// буухиа суваг.

нийтийн статик эцсийн байт DOCKER_PI_RELAY_1 = (байт) 0x01;

нийтийн статик эцсийн байт DOCKER_PI_RELAY_2 = (байт) 0x02;

нийтийн статик эцсийн байт DOCKER_PI_RELAY_3 = (байт) 0x03;

нийтийн статик эцсийн байт DOCKER_PI_RELAY_4 = (байт) 0x04;

// Релений төлөв

нийтийн статик эцсийн байт DOCKER_PI_RELAY_ON = (байт) 0xFF;

нийтийн статик эцсийн байт DOCKER_PI_RELAY_OFF = (байт) 0x00;

public static void main (String args) нь InterruptException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {шиддэг

эцсийн консол консол = шинэ консол ();

I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);

I2CDevice төхөөрөмж = i2c.getDevice (DOCKER_PI_RELAY_ADDR);

console.println ("Реле асаах!");

device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);

Thread.sleep (500);

console.println ("Реле унтраа!");

device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);

}

}

Зөвлөмж болгож буй: