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

Ухаалаг хананы хуанли: 5 алхам
Ухаалаг хананы хуанли: 5 алхам

Видео: Ухаалаг хананы хуанли: 5 алхам

Видео: Ухаалаг хананы хуанли: 5 алхам
Видео: Камера видеонаблюдения XMEYE ICSEE БЕСПРОВОДНАЯ!!! 2024, Долдугаар сарын
Anonim
Ухаалаг хананы хуанли
Ухаалаг хананы хуанли

Эхнэр бид хоёр цаасан хананы сонгодог хуанли хийдэг байсан бөгөөд бид чухал өдрүүдийг тэмдэглэдэг байсан. Бид мөн ухаалаг гар утсан дээрээ Google календарийг ашиглан үйл явдлыг тэмдэглэдэг. Тиймээс бидний сануулга, үйл явдал болон бусад зарим өгөгдлийг харуулах ухаалаг хананы календарь бүтээхээр шийдлээ. Надад янз бүрийн хуучин электрон эд ангиуд хэвтэж байгаа болохоор аль болох олон дахин ашиглах, хуанлийг аль болох бага зардлаар бүтээх зорилго тавьсан.

Энэхүү гарын авлагад би хэд хэдэн Google акаунтын үйл явдлыг харуулах ухаалаг хананы хуанли хэрхэн бүтээхийг танд үзүүлэх болно. Мөн цаг, огноо, цаг агаар, температур болон зарим нэмэлт мэдээллийг харуулах болно. Энэ нь идэвхгүй хэт улаан туяаны мэдрэгч (PIR) хөдөлгөөн мэдрэгч бүхий Raspberry Pi компьютерээр тоноглогдсон байх бөгөөд ингэснээр өрөөн доторх хөдөлгөөнийг илрүүлэх үед дэлгэц асах боловч хэдэн минутын турш идэвхгүй байсны дараа унтрах болно. Энэхүү гарын авлага нь интернетээс олж авсан бусад хэд хэдэн хичээл дээр үндэслэсэн бөгөөд илүү сайн ойлгохын тулд би тэдэнд линк өгөх болно. Програмчлалын анхан шатны мэдлэг шаардлагатай (HTML, Python, …).

Алхам 1: Тоног төхөөрөмж

Өмнө дурьдсанчлан би зардлаа бууруулахын тулд хуучин электрон эд ангиудыг дахин ашиглахыг хичээсэн. Гэсэн хэдий ч зарим зүйлийг худалдаж авах шаардлагатай байсан тул би барилгын ажилд шаардлагатай бүх зүйлийг жагсаах болно.

- Raspberry Pi иж бүрдэл. Эхэндээ би өөр загвараас хуучин загвар 2 -ийг ашиглаж байсан. Энэ нь ажилласан боловч вэб хуудсыг засварлах, дахин ачаалах нь надад маш их цаг зарцуулсан тул би илүү сайн ажилладаг https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570 3 -р загварт шилжсэн..l1313 & _nkw = бөөрөлзгөнө+пи+хэрэгсэл & _sacat = 0

- LCD дэлгэц. Би хуучин зөөврийн компьютерынхаа дэлгэцийг ашигласан тул зөвхөн LVDS драйверын самбар болон цахилгаан хангамжийг https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=hdmi+ худалдаж авахад л хангалттай байсан. драйвер+LVDS+самбар & _sacat = 0

-Электроникийн хуванцар хадгалах хайрцаг

- Идэвхгүй хэт улаан туяаны хөдөлгөөн мэдрэгч

- AM2302 температур/чийгшлийн мэдрэгч

- LCD хүрээний хар хуванцар гулсагч холбогч

- Төрөл бүрийн кабелиуд (HDMI, тогтмол гүйдэлд 5.5 мм, гагнуургүй талхны холбогч кабель, …)

Алхам 2: LCD дэлгэц үүсгэх

LCD дэлгэцийг бий болгох
LCD дэлгэцийг бий болгох
LCD дэлгэцийг бий болгох
LCD дэлгэцийг бий болгох
LCD дэлгэцийг бий болгох
LCD дэлгэцийг бий болгох

Би хуучин хуучирсан зөөврийн компьютерынхаа LCD дэлгэцийг ашигласан. Үүнийг хэрхэн хийх талаар хэд хэдэн заавар байдаг тул би үүнийг дагаж мөрдсөн.

www.instructables.com/id/How-to-reuse-the-old-LCD-Screen-of-your-broken-Lap/

Би хуучин зөөврийн компьютерынхаа хавтасыг задалж, LCD дэлгэцийг гаргаж аваад LVDS драйверын зөв самбарыг захиалав. Би LCD дэлгэцийн ар талд байгаа бүтээгдэхүүний кодыг худалдагчид өгсөн бөгөөд энэ нь LP171WE3 (TL) (A2) юм - сүүлийн зурган дээрх баруун доод шошгыг үзээд тэр надад зохих LVDS -ийг илгээсэн. Танд дэлгэцийн тэжээлийн хангамж хэрэгтэй байгаа тул худалдагчаас илгээж өгөхийг хүснэ үү. Би бас жолоочийн самбарыг сайн тааруулж, LCD -ийн ар талд бэхлэхийн тулд 14.5 × 7.5 × 2 см хэмжээтэй сайхан хуванцар хайрцаг худалдаж авсан.

Одоо LCD дэлгэц нь металл хүрээтэй бөгөөд тийм ч гоё биш харагдаж байна. Эхэндээ би шүршиж хар өнгөөр будсан боловч будаг нь хальтирч эхлэв. Тиймээс би ихэвчлэн хуудас цаасан дээр боох зориулалттай дөрвөн хар өнгийн хуванцар бэхэлгээ авч, зохих ёсоор нь хайчилж, хүрээг хаахын тулд хавсаргасан. Энэ нь сайн харагдаж байсан тул би бүх кабелийг холбож, хуучин Raspberry Pi болон Voila -тай HDMI холбосон - энэ нь ажилласан! Дэлгэц дээр зураг харагдаж байсан тул би дараагийн алхам руу шилжихэд бэлэн байсан - дэлгэц дээр ямар мэдээлэл харуулах, хэрхэн харуулах талаар.

Алхам 3: Програм хангамжийг тохируулах

Хуанли хэрхэн бүтээх талаар зарим зөвлөмжийг интернэтээс хайж байхдаа би https://dakboard.com/site энэ хуудаснаас урам зориг авсан. Тэд бэлэн бүтээгдэхүүнийг (дэлгэц, компьютер, ажлын програм хангамж) хангадаг боловч DIY шийдлийн маш сайн заавартай байдаг (https://blog.dakboard.com/diy-wall-display/). Энэ хичээлийг дор хаяж эхний хэсэгт Raspberry дээр системийг бэлтгэх, тохируулах зааврыг дагаж мөрдөхийг зөвлөж байна, ингэснээр хөтөч хүссэн вэб хуудсыг ачаалах үед автоматаар ачаална.

Энэ нь маш сайн ажилласан боловч миний хүсэлд нийцүүлэн өөрчилж болох шийдлийг хайж байсан. Би өөрийн вэб серверийг байгуулж, хуанлигаас гадна нэмэлт мэдээлэл харуулах вэб хуудас үүсгэхээр шийдсэн. Би Wordpress.org -ийг сонгосон, учир нь энэ нь сайн баримтжуулсан, сайн дэмжлэгтэй, танд туслах олон нийтийн хамт олонтой. Raspberry Pi дээр Wordpress-ийг хэрхэн суулгах тухай заавар энд байна: https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress. Wordpress суулгаснаар миний нүүр хуудсыг зохион бүтээх цаг болжээ. Та өгсөн олон сэдвүүдийн аль нэгийг ашиглах эсвэл эхнээс нь дизайн хийх боломжтой. Ямар ч байсан үүнд HTML програмчлалын мэдлэг хэрэгтэй.

Би хуудсаа зохион бүтээсэн тул зүүн талд нь хуанли харагдана (https://sl.wordpress.org/plugins/google-calendar-events/), харин баруун талд цаг, огноог харуулав (https://www.timeanddate.com/clocks/free.html ба https://www.arclab.com/en/kb/htmlcss/display-date-time-javascript-php-ssi.html). Цаг агаарын урьдчилсан мэдээг энэ хуудаснаас авсан болно (https://www.1a-vreme.si/vremensko-okno/), энэ нь Словенийн хотуудын урьдчилсан мэдэгдлийг өгдөг боловч бусад орнуудын виджетүүдийг интернетээс олж болно гэж бодож байна. Температурыг AM2302 мэдрэгч ашиглан цуглуулдаг (https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=AM2302+&_sacat=0), энэ бүлгийн төгсгөлд тайлбарласан болно. Доод талд нь өдөр тутмын тоолох энгийн цаг хэмжигч байдаг бөгөөд энэ нь зарим үйл явдал болоход хэдэн хоног үлдсэнийг харуулдаг (хүүхдүүд маань хэдэн өдөр ямар нэгэн зүйл хүлээх ёстойг мэдэх нь сонирхолтой юм). Баруун дээд буланд MetaSlider залгаас (https://wordpress.org/plugins/ml-slider/) байгаа бөгөөд энэ нь миний гэр бүлийн сонгосон зургуудыг санамсаргүй байдлаар гулсуулна. Нэмж хэлэхэд, би илүү сайн дэвсгэр дээр санамсаргүй зургийг үзүүлэхийн тулд Back Slider залгаасыг (https://sl.wordpress.org/plugins/background-slider-master/) ашигласан.

Өмнө дурьдсанчлан доторх температурыг AM2302 мэдрэгч ашиглан цуглуулдаг. Температурыг хэрхэн яаж авах талаар олон заавар байдаг, би үүнийг дагаж мөрдсөн: https://www.modmypi.com/blog/am2302-temphumidity-sensor. Хожим нь би энэ мэдрэгчийг өөр Raspberry Pi дээр ажиллуулж, гэрийн туслах ажиллуулж байсан бөгөөд DHT Sensor бүрэлдэхүүн хэсгийг ашиглан утгыг унших, нийтлэх нь илүү хялбар болсон (https://www.home-assistant.io/components/sensor.dht/). Гэрийн туслах нь цаг агаарын янз бүрийн бүрэлдэхүүн хэсгүүдийг ашиглан гаднах температурыг цуглуулж чаддаг, би YR.no бүрэлдэхүүн хэсгийг ашигласан (https://www.home-assistant.io/components/sensor.yr/). Үүнтэй холбогдуулан би эдгээр бүрэлдэхүүн хэсгүүдээс гадна/доторх температурыг цуглуулж текст файлд бичих автомат скрипт бичээд хананы хуанли дээр харуулав. Гэрийн туслахын талаар нэмэлт мэдээлэл авахыг хүсвэл нүүр хуудсыг үзнэ үү (https://www.home-assistant.io/).

Алхам 4: Нэмэлт - Дэлгэцийг унтраах

Одоо бид хуанлигаа хүссэнээрээ тохируулж, ажиллуулж байна. Гэхдээ бид дэлгэцийг 24/7 асаахыг хүсэхгүй байна. Бид үүнийг хэн нэгэн гэртээ байхад л асаахыг хүсч байна. Мөн бид үүнийг шөнө дунд асаахыг хүсдэггүй, бие засах газар ороход хэтэрхий гэрэл гэгээтэй байдаг! Тиймээс бид хэт улаан туяаны мэдрэгчийг урд нь хэн нэгэн зогсож байгааг анзаарч, асаах ёстой хугацааны хязгаарыг нэмж оруулах болно.

Миний програмчлалын ур чадвар нэлээд хязгаарлагдмал байгаа тул дараахь янз бүрийн оновчтой хувилбар байж чадахгүй гэдгийг анхаарна уу, учир нь би үүнийг янз бүрийн онлайн форум, хичээлүүдээс сонгосон боловч үндсэндээ энэ нь ажилладаг. Гэсэн хэдий ч аливаа зөвлөмжийг хүлээн авч байгаа хэвээр байна. Эхлээд бид мониторыг гараар асаах/унтраах тестээс эхэлнэ. Үүний тулд бид хоёр файл үүсгэнэ (жишээ нь monitor_on.sh ба monitor_off.sh), үүнд хэдэн код бичнэ. Үүнийг хийх хамгийн хялбар арга бол Raspberry руу SSH ашиглан нэвтрэх явдал юм

sudo nano monitor_on.sh

мөн дараах кодыг бичнэ үү

tvservice -илүүд үздэг;

startx/usr/bin/graphical_launcher `fgconsole`

CTRL+X дарж хадгалаад гараад хоёр дахь файлыг үүсгэнэ үү

sudo nano monitor_off.sh

мөн дараах кодыг бичнэ үү

tvservice -унтраах;

Дахин хэлэхэд CTRL+X дарж хадгалаад гарна уу. Эдгээр шинээр үүсгэсэн файлуудыг ажиллуулах боломжтой болго:

sudo chmod +x monitor_on.sh

sudo chmod +x monitor_off.sh

Одоо эдгээр командууд ажиллаж байгаа эсэхийг бичихийн тулд бичнэ үү

sudo./monitor_off.sh

sudo./monitor_on.sh

Одоо монитор унтрах ёстой. Raspberry Pi 2 дээр дэлгэц асахад бараг 10 секунд зарцуулсныг би анзаарсан. Raspberry Pi 3 дээр 1-2 секунд зарцуулдаг. Дараа нь бид эдгээр скриптүүдийг өдөөх хэт улаан туяаны мэдрэгчийг холбох болно. Дахин хэлэхэд, Raspberry Pi болон PIR-ийг хэрхэн тохируулах талаар олон заавар байдаг, би үүнийг дагаж мөрдсөн: https://www.instructables.com/id/PIR-Sensor-Interfacing-With-Raspberry-Pi/. Үндсэндээ нано редактор ашиглан (жишээ нь motion_sensor.py) файл үүсгэж, зохих Python кодыг оруулна уу. Миний файлын жишээ доор байна:

RPi. GPIO -г GPIOimport болгон импортлох sysimport дэд процессийг dtimport байдлаар оруулах time.time () SHUTOFF_DELAY = 180 # seconds while True: i = GPIO.input (17) if i == 0: # Хөдөлгөөн мэдрэгчийн гаралт LOW байхад, унтраахгүй бол time.time ()> (last_motion_time + SHUTOFF_DELAY): "Халдагч байхгүй" гэж хэвлэх, iturned_off = Truetime.sleep (1) subprocess.call (['/home/pi/monitor_off.sh'], shell = True) elif i == 1: #Хөдөлгөөн мэдрэгчээс гарах үед ӨНДӨР, дэлгэцийг ONPRINT "Intruder илрүүлсэн" болгоно, itime.sleep (1) last_motion_time = time.time () sys.stdout.flush () хэрэв унтраасан бол, мөн цаг хугацааны хувьд одоо (). цаг> 5 ба бусад өдөр. яг одоо ()

"GPIO.setup (17, GPIO. IN)" нь PIR -ийн гаралтын зүү нь Raspberry Pi дээрх 17 -р зүүтэй холбогдсон болохыг харуулж байна. Энэ нь GPIO.setmode (GPIO. BOARD) эсвэл GPIO.setmode (GPIO. BCM) -ийг тодорхойлох эсэхээс хамаарна. Энэ ялгааг энд тайлбарласан болно: https://raspberrypi.stackexchange.com/questions/12966/what-is-the-difference-between-board-and-bcm-for-gpio-pin-numbering. Би GPIO. BOARD -ийн урд # байгаа тул үүнийг үл тоомсорлож, GPIO. BCM ашигладаг.

Мөрийг анхаарч үзээрэй

SHUTOFF_DELAY = 180 #секунд

Сүүлийн хөдөлгөөнийг илрүүлснээс хойш унтрахаас өмнө хэр удаан асаалттай байгааг энд харуулав. Энэ нь хэрэгтэй, учир нь би мониторыг хажуугаар нь явахдаа байнга унтрааж/асаахыг хүсдэггүй, гэхдээ унтрахаасаа өмнө хэсэг хугацаанд асаахыг хүсдэг. Би 180 секундын интервалыг сонгосон тул сүүлийн хөдөлгөөнийг илрүүлснээс хойш 3 минутын дараа дэлгэц унтрах болно.

Эцэст нь энэ шугам

Хэрэв унтраах ба унтраах ба dt.datetime.now (). цаг> 6 ба dt.datetime.now (). цаг <23:

Хяналт нь зөвхөн 6.00-23.00 цагийн хооронд асдаг тул шөнийн цагаар надад саад болохгүй гэж мэдэгджээ. Шугамууд

"Халдлагагүй хүмүүс" гэж хэвлэх, i

ба

"Халдагчийг илрүүлэв" гэж хэвлэх, i

Энэ нь зөвхөн скриптийг туршихад зориулагдсан тул та үүнийг дараа нь устгах боломжтой. Одоо скриптийг туршиж үзээрэй:

sudo python motion_sensor.py

Та "Халдагч илрэв" гэсэн мессежийг харах ёстой, хэрэв та мэдрэгчийн дээр гараа даллах юм бол "халдагч байхгүй" болно. Энэ скриптийг шалгаж, ажиллаж байх үед ачаалах үед эхлүүлэхээр тохируулна уу.

sudo nano ~/.config/lxsession/LXDE-pi/autostart

мөн дараах мөрийг нэмнэ үү

@sudo/usr/bin/python /home/pi/motion_sensor.py

Мэдээжийн хэрэг та үүсгэсэн Python скриптийн зөв файлын нэрийг зааж өгөх ёстой.

Алхам 5: Календарийг өлгөх

Бүх зүйлийг тохируулсны дараа хуанлигаа хананд өлгөх цаг боллоо!

Эхэндээ би Raspberry Pi -г LCD дэлгэцийн ард нуухыг бодож байсан бөгөөд ингэснээр зөвхөн нэг кабель (DC хүч) хэрэгтэй болно. Гэхдээ Raspberry 5V, LCD дэлгэц 12V дээр ажилладаг тул надад нэмэлт трансформатор хэрэгтэй болно. Түүнчлэн, Raspberry хайрцаг нь нэлээд зузаан бөгөөд энэ нь LCD нь хананаас 3 сантиметр зайтай байх болно гэсэн үг юм. Тиймээс би үүнийг орхиж, зөвхөн LCD электрон төхөөрөмжийг LCD -ийн ард үлдээсэн бөгөөд ингэснээр хананаас 1 сантиметр хүрэхгүй зайтай байна. Би 5 метрийн урттай хоёр кабель худалдаж авсан, нэг нь HDMI, нэг нь 5, 5мм -ийн тогтмол гүйдлийн тэжээлийн хангамж юм. Хоёр кабель нь хана шиг цагаан өнгөтэй бөгөөд энэ нь тийм ч их ялгагдахгүй гэсэн үг юм. Би LCD -ийг хананд байрлуулж, бөөрөлзгөнийг эсрэг талын хананд хөргөгчний дээд талд байрлуулсан тул үндсэндээ нуусан боловч хялбархан нэвтрэх боломжтой хэвээр байна.

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