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

Супер энгийн Raspberry Pi 433MHz гэрийн автоматжуулалт: 7 алхам
Супер энгийн Raspberry Pi 433MHz гэрийн автоматжуулалт: 7 алхам

Видео: Супер энгийн Raspberry Pi 433MHz гэрийн автоматжуулалт: 7 алхам

Видео: Супер энгийн Raspberry Pi 433MHz гэрийн автоматжуулалт: 7 алхам
Видео: Как собрать ПЛК Raspberry Pi Pico || Редактор OpenPLC 2024, Арваннэгдүгээр
Anonim
Супер энгийн Raspberry Pi 433MHz гэрийн автоматжуулалт
Супер энгийн Raspberry Pi 433MHz гэрийн автоматжуулалт

Энэхүү заавар нь гэрийнхээ эргэн тойронд утасгүй төхөөрөмжийг удирдахын тулд Raspberry Pi ашиглах тухай олон хүмүүсийн нэг юм. Бусад хүмүүсийн нэгэн адил энэ нь 433MHz радио давтамжийн өргөн зурваст ажилладаг төхөөрөмжүүдтэй харьцахдаа өөрийн Pi -д холбогдсон хямд дамжуулагч/хүлээн авагч хосыг хэрхэн ашиглахыг танд үзүүлэх болно. Энэ нь 433MHz алсын удирдлагатай цахилгаан залгуурт командыг дамжуулах замаар Pi төхөөрөмжөө ашиглан аливаа цахилгаан төхөөрөмжийг хэрхэн асаах, унтраах талаар тусгайлан харуулах болно.

Хэрэв маш олон зүйл байгаа бол би яагаад энэ хичээлийг бүтээсэн юм бэ? Гол нь миний олж харсан бусад бүх хичээлүүд, ялангуяа програм хангамжийн тал дээр зарим зүйлийг хэт нарийн төвөгтэй болгосон юм шиг санагддаг. Тэд бүх ажлыг хийхдээ гуравдагч талын номын сан, скрипт эсвэл кодын хэсгүүдэд ихээхэн найддаг болохыг би анзаарсан. Олон хүмүүс үндсэн код нь юу хийж байгааг тайлбарлаж өгөхгүй байсан бөгөөд тэд танаас хоёр, гурван програм хангамжийг Pi дээрээ суулгаж, олон тооны тушаалуудыг ажиллуулахыг шаардах болно. Би Pi-гээ ашиглан 433MHz алсын удирдлагатай залгуур ашиглан гэрийнхээ эргэн тойронд цахилгаан төхөөрөмжийг асаах, унтраахыг хүсч байсан боловч системийн ойлгомжтой хувилбарыг бий болгохыг хүсч байсан. өөр хэн нэгний номын сан эсвэл скриптийг ашиглах.

Энэ заавар нь үүнд зориулагдсан болно. Энэ системийн програм хангамжийн тал нь хоёр энгийн Python скриптээс бүрддэг - нэг нь дохио хүлээн авах, бүртгэх, нөгөө нь эдгээр дохиог утасгүй цахилгаан залгуурт дамжуулах зориулалттай. Сигналын бодит хүлээн авах/дамжуулах нь зөвхөн ашиглахад хялбар RPi. GPIO номын санд тулгуурладаг бөгөөд энэ нь ядаж миний хувьд Raspbian-тай урьдчилан суулгагдсан байдаг. Энэ номын санг Python руу шууд импортлох боломжтой.

Энэ төслийн хувьд танд хэрэгтэй болно:

Raspberry Pi. Аливаа загвар ажиллах ёстой, би бүхэлд нь нэг гарааны иж бүрдэл ашигласан, гэхдээ танд зөвхөн төв төхөөрөмж хэрэгтэй болно

433MHz дамжуулагч/хүлээн авагч хос. Энэ төрлийн төсөлд хамгийн их ашиглагддаг нь эдгээр юм шиг санагддаг. Холбогдсон шиг таван ширхэг багц худалдаж авах нь танд хэд хэдэн сэлбэг байгаа эсэхийг баталгаажуулдаг

433MHz алсын удирдлагатай цахилгаан залгууруудын багц. Би санал болгож буй эдгээрийг ашигласан боловч тоо томшгүй олон загвар байдаг. Тэд энэ давтамж дээр ажилладаг эсэхийг шалгаарай

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

[Хэрэв та эдгээр бүтээгдэхүүний аль нэгийг худалдаж авахаар шийдсэн бол дээрх линкүүдийг ашиглан жагсаалтанд нэвтэрсэн бол би маш их баяртай байх болно, ингэснээр ашгийн өчүүхэн хэсгийг та ямар ч нэмэлт зардалгүйгээр авах болно!]

Алхам 1: Хүлээн авагчийн нэгжийг тохируулах

Хүлээн авагчийн нэгжийг тохируулах
Хүлээн авагчийн нэгжийг тохируулах

Алсын удирдлагатай залгуурт командыг илгээхдээ Pi-гээ ашиглахаасаа өмнө тэд ямар тодорхой дохионд хариу өгч байгааг мэдэх хэрэгтэй. Ихэнх алсын удирдлагатай залгуурууд нь тодорхой төхөөрөмжүүдийг асаах, унтраах зориулалттай гар утсаараа ирдэг. Миний худалдаж авсан хүмүүсийн хувьд гар утсанд дөрвөн эгнээ хосолсон ON/OFF товчлуур байдаг бөгөөд тэдгээр нь тус бүрдээ тодорхой залгуурт ON буюу OFF дохиог илгээдэг.

Эндээс асуулт гарч ирж байна - аль товчлуур нь аль залгууртай тохирч байгааг бид яаж мэдэх вэ? Үнэндээ энэ нь танд байгаа загвараас хамаарна. Би өөрийн гар утасны хэв маягийг сонгосон гол шалтгаануудын нэг нь (танилцуулгад холбогдсон) төхөөрөмжийг физик унтраалгаар тохируулж, гар утсан дээрх ON/OFF товчлууруудын тодорхой багцад хариу өгөх боломжтой болгох явдал юм. Энэ нь та төхөөрөмж бүр ижил асаах/унтраах дохионд үргэлж хариу өгөх болно гэдгийг мэдэж байсныхаа дараа залгууруудыг салгаж, хөдөлгөж болно гэсэн үг юм.

Таны залгуурууд гар утсаараа хэрхэн харьцдаг болохыг олж мэдсэний дараа та гар утсаараа илгээгдэж буй кодыг "үнэрлэх" тулд 433MHz хүлээн авах төхөөрөмжөө (дээрх зураг) ашиглах шаардлагатай болно. Эдгээр кодын долгионы хэлбэрийг бүртгэсний дараа та тэдгээрийг Python ашиглан хуулбарлаж, дамжуулагч төхөөрөмж ашиглан илгээж болно.

Энд хийх хамгийн эхний зүйл бол хүлээн авагчийнхаа зүүг Pi дээрх зөв GPIO зүү рүү залгах явдал юм. Хүлээн авагч хэсэг нь дөрвөн тээглүүртэй боловч зөвхөн гурав нь л хэрэгтэй. Миний бодлоор төв тээглүүр хоёулаа ижил гаралт өгдөг тул та тэдгээрийн аль нэгэнд нь холбогдох хэрэгтэй (хэрэв та хүлээн авсан дохиог хоёр тусдаа GPIO зүү рүү дамжуулахыг хүсэхгүй бол).

Дээрх зураг нь утаснуудын холболтыг тоймлон харуулав. Хүлээн авагч дээрх зүү бүрийг Pi дээрх харгалзах зүү рүү шууд холбож болно. Би талх, холбогч кабелийг ашиглан үйл явцыг илүү дэгжин болгодог. Та төв хүлээн авагчийн аль нэг зүү рүү холбогдохын тулд GPIO өгөгдлийн зүүг сонгож болно гэдгийг анхаарна уу. Би Pi толгой дээрээ '23' гэж тэмдэглэгдсэн зүүг ашигласан.

ЧУХАЛ: Хэрэв та дээрх зураг дээрх '3v3' гэж тэмдэглэгдсэн зүүг Pi дээрх өндөр хүчдэлийн зүүтэй холбосон бол (жишээ нь 5v), GPIO тээглүүр нь 3v3 -аас дээш хүчдэлийг тэсвэрлэх чадваргүй тул Pi -ийг гэмтээх магадлалтай. Эсвэл та үүнийг 5v -ээр асааж, хүчдэл хуваагчийг тохируулж аюулгүй хүчдэлийг DATA зүү рүү илгээж болно.

Энэ хүчдэлд хүлээн авагчийн хүрээ тийм ч том биш байх болно, ялангуяа антен холбогдоогүй бол. Гэсэн хэдий ч энд танд хол зай шаардагдахгүй - хүлээн авагч нь дохиог бие биенийхээ хажууд барьж байх үед гар утсан дээрээс авах боломжтой л бол бидэнд хэрэгтэй зүйл юм.

Алхам 2: Гар утасны кодыг үнэрлэх

Гар утасны кодыг үнэрлэж байна
Гар утасны кодыг үнэрлэж байна

Одоо таны хүлээн авагч Пи -д холбогдсон тул та энэ төслийн анхны сэтгэл хөдөлгөм үе шат болох үнэрлэх ажлыг эхлүүлж болно. Үүнд товчлуур бүрийг дарахад гар утсаар дамжуулж буй дохиог бүртгэхийн тулд хавсаргасан Python скриптийг ашиглах шаардлагатай болно. Скрипт нь маш энгийн бөгөөд үүнийг ажиллуулахаасаа өмнө сайтар судалж үзэхийг танд зөвлөж байна. Эцсийн эцэст энэ төслийн гол зорилго бол та зүгээр л хэн нэгний кодыг сохроор ажиллуулахгүй байх явдал юм!

Энэ процессыг эхлүүлэхийн өмнө та sniffer скриптийг ажиллуулахад шаардлагатай Python номын сан байгаа эсэхийг шалгах хэрэгтэй. Тэдгээрийг скриптийн дээд хэсэгт жагсаасан болно.

datetime -аас datetime импортлох

matplotlib.pyplot -ийг pyplot болгон импортлох RPi. GPIO -г GPIO болгон импортлох

RPi. GPIO болон datetime номын сангуудыг миний Raspbian түгээлтэд оруулсан боловч би matplotlib номын санг дараах байдлаар суулгах шаардлагатай болсон.

sudo apt-get python-matplotlib суулгана уу

Энэ номын сан нь энэ төслөөс гадуур ашиглагддаг график график номын сан бөгөөд үүнийг суулгах нь гэмтээхгүй нь лавтай! Таны номын сангууд шинэчлэгдэж дууссаны дараа та өгөгдөл бичиж эхлэхэд бэлэн байна. Скрипт хэрхэн ажилладагийг энд харуулав.

Үүнийг ажиллуулах үед ('python ReceiveRF.py' командыг ашиглан) тодорхойлсон GPIO зүүг өгөгдлийн оролт болгон тохируулна (анхдагчаар 23 -р зүү). Дараа нь зүүг байнга дээжлээд дижитал 1 эсвэл 0 хүлээн авч байгаа эсэхийг бүртгэх болно. Энэ нь тогтоосон хугацаанд үргэлжлэх болно (анхдагчаар 5 секунд). Энэ хугацаанд хүрэхэд скрипт өгөгдөл бичихээ зогсоож GPIO оролтыг хаах болно. Дараа нь бага зэрэг боловсруулалт хийж, хүлээн авсан оролтын утгыг цаг хугацаатай харьцуулж гаргадаг. Дахин хэлэхэд, хэрэв танд скрипт юу хийж байгаа талаар асуулт байгаа бол энэ нь хэрхэн ажилладагийг харсны дараа өөрөө хариулж магадгүй юм. Би кодыг аль болох уншихад хялбар болгохыг хичээсэн.

Таны хийх ёстой зүйл бол скрипт ** бичлэг хийж эхэлсэн ** гэдгийг зааж өгөхөд анхаарах явдал юм. Энэ мессеж гарч ирмэгц та гар утсан дээрх товчлууруудын нэгийг нэг секундын турш дарах ёстой. Үүнийг хүлээн авагчийн ойролцоо барихаа мартуузай. Скрипт бичлэг хийж дуусмагц matplotlib ашиглан бичлэг хийх хугацаанд авсан дохионы график долгионы хэлбэрийг зурна. Хэрэв та Pi -тэйгээ PuTTY гэх мэт SSH клиент ашиглан холбогдсон бол долгионы хэлбэрийг харуулахын тулд X11 програмыг нээх шаардлагатай болно. Би үүнд xMing ашигладаг (мөн алсын зайнаас ширээний компьютер руу оруулах гэх мэт бусад зүйлд). Хэсгийг харуулахыг зөвшөөрөхийн тулд скриптийг ажиллуулахаасаа өмнө xMing -ийг эхлүүлээд үр дүн гарахыг хүлээнэ үү.

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

Алхам 3: Үр дүнгийн дохиог хөрвүүлэх

Үр дүнгийн дохиог хөрвүүлэх
Үр дүнгийн дохиог хөрвүүлэх

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

1 = богино_он + урт_хэмжээ0 = урт_он + богинохон

Шошготой долгионы хэлбэрийг дахин харвал миний юу хэлэх гээд байгааг та ойлгох болно. Дохионыхоо эквивалент хэв маягийг тодорхойлсны дараа дарааллыг бий болгохын тулд 1 ба 0 -ийг тоолоход л хангалттай. Бичлэг хийхдээ дээрх дохиог дараах байдлаар бичиж болно.

1111111111111010101011101

Одоо та гар утсан дээрх бусад товчлууруудад харгалзах дохиог бичиж, хөрвүүлэхийн тулд энэ процессыг давтах хэрэгтэй бөгөөд та процессын эхний хэсгийг дуусгасан болно!

Дамжуулагчийг ашиглан дохиог дахин илгээхээс өмнө хийх ажил бага зэрэг байна. 1 эсвэл 0 -тэй тохирох дээд ба доод цэгүүдийн хоорондох хугацаа нь маш чухал бөгөөд та 'short_on' эсвэл 'long_off' хэр удаан үргэлжлэхийг мэдэж байгаа эсэхийг шалгах хэрэгтэй. Миний кодын хувьд дохиог хуулбарлахын тулд гаргаж авах шаардлагатай гурван цагийн мэдээлэл байсан:

  • "Богино" интервалын үргэлжлэх хугацаа, өөрөөр хэлбэл 1 -ийн эхлэл эсвэл 0 -ийн төгсгөл.
  • "Урт" интервалын үргэлжлэх хугацаа, өөрөөр хэлбэл 1 -ийн төгсгөл эсвэл 0 -ийн эхлэл.
  • "Өргөтгөсөн" интервалын үргэлжлэх хугацаа. Би утсан дээрх товчлуурыг дарахад дохионы блокийн давтагдах тохиолдол бүрийн хооронд 'сунгасан_хугацаа' байх хугацаа байгааг анзаарсан. Энэ саатал нь синхрончлолд ашиглагддаг бөгөөд тодорхой хугацаатай байдаг.

Эдгээр цагийн утгыг тодорхойлохын тулд та matplotlib цонхны томруулах функцийг ашиглан бүхэлд нь томруулж, курсорыг дохионы холбогдох хэсгүүдийн дээр байрлуулж болно. Цонхны доод хэсэгт байрлах курсорын байршлын уншилт нь дохионы хэсэг бүр хэр өргөн, урт, богино эсвэл сунгасан интервалтай тохирч байгааг тодорхойлох боломжийг танд олгоно. Графикийн x тэнхлэг нь цагийг илэрхийлдэг бөгөөд курсорын уншилтын x бүрэлдэхүүн хэсэг нь секундээр хэмжигддэг болохыг анхаарна уу. Миний хувьд өргөн нь дараах байдалтай байв (секундын дотор):

  • short_delay = 0.00045
  • long_delay = 0.00090 ("богино" -аас хоёр дахин урт)
  • Extended_delay = 0.0096

Алхам 4: Дамжуулагчийн нэгжийг тохируулах

Дамжуулагч төхөөрөмжийг тохируулах
Дамжуулагч төхөөрөмжийг тохируулах

Та код, цаг хугацааны мэдээллийг цуглуулсны дараа хүлээн авах төхөөрөмжөө салгах хэрэгтэй болно, учир нь танд шаардлагагүй болно. Дээрх зурагт үзүүлсэн шиг та дамжуулагчийг холбогдох Pi GPIO зүү рүү шууд холбож болно. Дамжуулагч хэсгүүдийн тээглүүрүүд хаяглагдсан байдаг нь үйл явцыг хөнгөвчилдөг болохыг олж мэдсэн.

Энэ тохиолдолд төхөөрөмжийг 5V тэжээлээр тэжээх нь зөв, учир нь DATA зүү нь Pi руу дохио илгээдэггүй, зөвхөн хүлээн авдаг. Түүнчлэн 5V цахилгаан хангамж нь 3v3 хангамжийг ашиглахаас илүү дамжуулах хүрээг хангах болно. Дахин хэлэхэд та DATA зүүг Pi дээрх тохирох зүү рүү холбож болно. Би 23 -р зүү ашигласан (хүлээн авагчийн адил).

Миний хийхийг зөвлөж буй өөр нэг зүйл бол дамжуулагчийн баруун дээд хэсэгт байрлах жижиг нүхэнд антен нэмэх явдал юм. Би 17см урттай шулуун утас ашигласан. Зарим эх сурвалжууд ижил урттай ороомог утас хийхийг зөвлөж байна. Аль нь илүү дээр болохыг би сайн мэдэхгүй байна, гэхдээ шулуун утас нь миний жижиг байрны аль ч газраас залгуурыг асаах/унтраахад хангалттай хүрээг өгдөг. Антеныг гагнах нь хамгийн сайн арга юм, гэхдээ би зүгээр л хуванцараас утаснаас салгаж, зэсийг нүхээр ороосон.

Дамжуулагчийг утастай болгосны дараа бүх тоног төхөөрөмжийн тохиргоо дууссан болно! Одоо хийх ёстой зүйл бол гэрийнхээ эргэн тойронд залгуураа тавиад дамжуулагчийн програмыг үзэх явдал юм.

Алхам 5: Pi ашиглан дохио дамжуулах

Энэ бол хоёр дахь Python скрипт юм. Энэ нь эхнийх шиг энгийн байхаар бүтээгдсэн. Дахин хэлэхэд үүнийг татаж аваад кодыг харна уу. 3 -р алхам дээр бичсэн өгөгдлийн дагуу зөв дохиог дамжуулахын тулд та скриптийг засах хэрэгтэй болно, одоо үүнийг хурдан харах цаг болжээ.

Энэ скриптийг ажиллуулахад шаардлагатай номын сангууд бүгд миний Pi дээр урьдчилан суулгагдсан байсан тул цаашид суулгах шаардлагагүй болсон. Тэдгээрийг скриптийн дээд хэсэгт жагсаасан болно.

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

sys импортлох RPi. GPIO -г GPIO болгон импортлох

Номын сангийн импортын доор таны засах шаардлагатай мэдээлэл байна. Анхдагч байдлаар хэрхэн харагдаж байгааг энд харуулав (энэ бол 3 -р алхамыг ашиглан тодорхойлсон миний залгууртай холбоотой мэдээлэл юм):

a_on = '1111111111111010101011101'

a_off = '1111111111111010101010111' b_on = '1111111111101110101011101' b_off = '1111111111101110101010111' c_on = '1111111111101011101011101' c_off = '1111111111101011101010111' d_on = '1111111111101010111011101' d_off = '1111111111101010111010111' short_delay = 0,00045 long_delay = 0,00090 extended_delay = 0,0096

Энд бидэнд найман кодын мөр байна (миний гар утсан дээрх асаах/унтраах товчлуур тус бүрт хоёр ширхэг байдаг - танд илүү их эсвэл цөөн тооны код байж болно), дараа нь 3 -р үе шатанд тодорхойлсон гурван цагийн мэдээллийг зааж өгсөн болно. энэ мэдээллийг зөв оруулсан байна.

Та скриптэд оруулсан код/сааталдаа сэтгэл хангалуун байгаа бол (хэрэв та хүсвэл кодын мөрийн хувьсагчийн нэрийг өөрчилж болно), та системийг туршиж үзэхэд бэлэн боллоо! Үүнийг хийхээсээ өмнө скрипт дэх transmit_code () функцийг анхаарч үзээрэй. Энд дамжуулагчтай бодит харилцан үйлчлэл үүсдэг. Энэ функц нь кодын мөрүүдийн нэгийг аргумент болгон оруулахыг хүлээж байна. Дараа нь энэ нь тодорхойлсон зүүг GPIO гаралт болгон нээж, кодын мөрийн тэмдэгт бүрийг тойрдог. Дараа нь кодын мөрөнд тохирсон долгионы хэлбэрийг бий болгохын тулд оруулсан хугацааны мэдээллийн дагуу дамжуулагчийг асааж эсвэл унтраана. Энэ нь алдагдсан боломжийг багасгахын тулд код бүрийг хэд хэдэн удаа (анхдагчаар 10) илгээдэг бөгөөд гар утас шиг код блок бүрийн хооронд сунгасан_хугацаа үлдээдэг.

Скриптийг ажиллуулахын тулд та дараах командын синтаксийг ашиглаж болно.

python TransmitRF.py код_1 код_2…

Та скриптийн нэг гүйлтийн тусламжтайгаар олон кодын мөрийг дамжуулах боломжтой. Жишээлбэл, (a) ба (b) залгууруудыг асааж, (c) залгуурыг унтраахын тулд скриптийг дараах тушаалаар ажиллуулна уу.

python TransmitRF.py a_on b_on c_off

Алхам 6: Хугацааны нарийвчлалын талаархи тэмдэглэл

Өмнө дурьдсанчлан, дамжуулах/унтраах импульсийн хоорондох хугацаа нь маш чухал юм. TransmitRF.py скрипт нь импульсийн зөв интервалаар долгионы хэлбэрийг бий болгохын тулд python's time.sleep () функцийг ашигладаг боловч энэ функц нь бүрэн зөв биш гэдгийг анхаарах хэрэгтэй. Дараагийн үйлдлийг гүйцэтгэхээс өмнө скриптийг хүлээх хугацаа нь тухайн агшин дахь процессорын ачааллаас хамаарна. Энэ нь TransmitRF.py код бүрийг олон удаа илгээдэг бас нэг шалтгаан юм.

Кодыг илгээх тухайд би time.sleep () -тэй холбоотой асуудалтай тулгарч байгаагүй. Миний time.sleep () нь 0.1 ms орчим алдаатай байдаг гэдгийг би мэднэ. Үүнийг би хавсаргасан SleepTest.py скриптийг ашиглан тодорхойлсон бөгөөд үүнийг ашиглан Pi -ийн time.sleep () функц хэр үнэн зөв болохыг тооцоолж болно. Миний алсын удирдлагатай залгууруудын хувьд хэрэгжүүлэх шаардлагатай хамгийн богино саатал нь 0.45 м байв. Миний хэлсэнчлэн надад хариу өгөхгүй залгууртай холбоотой асуудал гараагүй тул 0.45 ± 0.1 мс хангалттай сайн байгаа юм шиг байна.

Саатал илүү нарийвчлалтай болохыг баталгаажуулах өөр аргууд байдаг; Жишээлбэл, та код үүсгэхийн тулд зориулалтын PIC чип ашиглаж болно, гэхдээ үүнтэй төстэй зүйл нь энэ гарын авлагын хамрах хүрээнээс гадуур юм.

Алхам 7: Дүгнэлт

Дүгнэлт
Дүгнэлт

Энэхүү төсөл нь Raspberry Pi болон 433MHz алсын удирдлагатай залгуур ашиглан аливаа цахилгаан хэрэгслийг удирдах аргыг танилцуулсан бөгөөд энгийн бөгөөд ил тод байдлыг анхаарч үзсэн болно. Энэ бол миний Pi -г ашигласан хамгийн сэтгэл хөдөлгөм, уян хатан төсөл бөгөөд үүнд хязгааргүй олон програмууд байдаг. Миний Pi -ийн ачаар одоо хийж болох зарим зүйлийг энд оруулав.

  • Миний сэрүүлэг дуугарахаас хагас цагийн өмнө орныхоо хажууд цахилгаан халаагуур асаагаарай.
  • Унтахаас нэг цагийн дараа халаагуураа унтраа.
  • Унтуулахгүйн тулд сэрүүлэг дуугарахад орны дэргэдэх гэрлээ асаана уу.
  • болон бусад олон…

Эдгээр ажлуудын ихэнхэд би Linux дотор crontab функцийг ашигладаг. Энэ нь TransmitRF.py скриптийг тодорхой цагт ажиллуулахын тулд автомат хуваарьт даалгавруудыг тохируулах боломжийг танд олгоно. Та мөн Linux-ийг ашиглан нэг удаагийн даалгавруудыг гүйцэтгэж болно (миний хувьд 'sudo apt-get install at' ашиглан тусад нь суулгах шаардлагатай байсан). Жишээлбэл, маргааш өглөө нь сэрүүлэг дуугарахаас хагас цагийн өмнө халаагуураа асаахын тулд миний хийх ёстой зүйл бол:

05:30 цагт

python TransmitRF.py c_on

Та мөн энэ төслийг миний Dropbox гэрийн хяналтын системтэй хамт интернет хэрэгслийг хянах боломжтой. Уншсанд баярлалаа, хэрэв та ямар нэгэн зүйлийг тодруулах эсвэл санал бодлоо хуваалцахыг хүсч байвал сэтгэгдэл бичнэ үү!

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