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

Raspberry Pi ашиглан гаралтын цэгүүдийг хэрхэн хянах вэ: 6 алхам
Raspberry Pi ашиглан гаралтын цэгүүдийг хэрхэн хянах вэ: 6 алхам

Видео: Raspberry Pi ашиглан гаралтын цэгүүдийг хэрхэн хянах вэ: 6 алхам

Видео: Raspberry Pi ашиглан гаралтын цэгүүдийг хэрхэн хянах вэ: 6 алхам
Видео: BTT GTR v1.0/M5 v1.0 - Basics 2024, Долдугаар сарын
Anonim
Raspberry Pi ашиглан гаралтын цэгүүдийг хэрхэн хянах вэ
Raspberry Pi ашиглан гаралтын цэгүүдийг хэрхэн хянах вэ
Raspberry Pi ашиглан гаралтын цэгүүдийг хэрхэн хянах вэ
Raspberry Pi ашиглан гаралтын цэгүүдийг хэрхэн хянах вэ
Raspberry Pi ашиглан гаралтын цэгүүдийг хэрхэн хянах вэ
Raspberry Pi ашиглан гаралтын цэгүүдийг хэрхэн хянах вэ

Энэхүү гарын авлагад би Raspberry Pi ашиглан гэрийнхээ гарцыг удирдах вэб интерфэйсийг хэрхэн бий болгохыг танд үзүүлэх болно. Мэдрэгчдийн уралдааныг үзээд би энэ төслийг бичихээр шийдсэн бөгөөд энэ төсөл нь мэдрэгч ашиглан таны худалдаж авсан сүлжээний алсын удирдлагын кодыг уншихад зориулагдсан тул энэ төсөл төгс тохирно гэж би бодсон.

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

Энэхүү төсөл нь 433 МГц давтамжтай радио давтамжийн хяналттай гарцыг ашигладаг бөгөөд таны бөөрөлзгөнө pi -тэй холбогдсон RF дамжуулагчтай. Гаралтын цэгүүд нь залгуурыг асаах/унтраах боломжтой алсын удирдлагатай байдаг боловч энэ нь хөгжилтэй зүйл биш юм! Бид үүний оронд бөөрөлзгөнө pi дээр ажилладаг вэб серверийг ашиглах бөгөөд энэ нь сүлжээнд холбогдсон хүн бүр тодорхой залгуурыг асаах, унтраах боломжийг олгодог. Энэ төслийн вэб урд хэсэг нь таны сүлжээнд холбогдсон дурын төхөөрөмжийг алсын удирдлагаар ашиглах боломжтой тул хамгийн тохиромжтой.

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

Хангамж

  • Raspberry Pi (би RPi 3 Model B+ашигласан)
  • 433MHz дамжуулагч ба хүлээн авагч (би үүнийг ашигласан)
  • 433MHz гаралт (би үүнийг ашигласан)
  • Эмэгтэй-эмэгтэй үсрэгч (би энэ баглаа худалдаж авсан)
  • Интернетэд холбогдох чадвартай компьютер эсвэл гар төхөөрөмж

Алхам 1: Raspberry Pi -ээ тохируулна уу

Raspberry Pi -ээ тохируулаарай
Raspberry Pi -ээ тохируулаарай

Шинэ Raspberry Pi дээрээ Raspbian -ийн хамгийн сүүлийн хувилбарыг суулгаж эхлээрэй. Хэрэв та одоо байгаа Pi -г ашиглахаар төлөвлөж байгаа бол (та үүнийг бүрэн хийж чадна), таны Pi дээр Python 3 байгаа эсэхийг шалгахад л хангалттай, учир нь миний өгсөн бүх эх кодыг энд бичсэн болно. Үүнийг хийхийн тулд, төрөл

питон3

тушаалын мөрөнд оруулна уу. Хэрэв танд Python 3 байгаа бол python терминал нээлттэй байгааг харах ёстой. Хаах эсвэл бичих замаар терминалаас гарна уу

гарах()

Үүнийг баталгаажуулсны дараа та Pi дээрээ колбо суулгах хэрэгтэй. Колбо нь бидэнд вэб сервер үүсгэх боломжийг олгодог. Pi командын мөрөөс бичнэ үү

sudo pip3 колбыг суулгана уу

Хэрэв таны Pi дээр pip суулгаагүй бол та бичих хэрэгтэй болно

sudo apt-get python3-pip суулгана уу

Би Raspberry Pi дээрээ ширээний компьютер дээрээ тав тухтай хөгжихийг илүүд үздэг. Хэрэв та энэ сонголтыг илүүд үзэж байгаа бол SSH -д Pi -д ямар нэгэн орчин суулгах хэрэгтэй. PuTTY ажиллах болно, гэхдээ би GUI (хэрэглэгчийн график интерфэйс) -тэй байхыг илүүд үздэг бөгөөд ингэснээр та шууд Pi дээр байгаа юм шиг харагдаж байна. GUI сонголтын хувьд та VNC Viewer -ийг ажиллахаар төлөвлөж буй компьютер дээрээ суулгахыг хүсэх болно. Мөн Pi дээр тохируулах шаардлагатай тохиргоо байдаг. Тохиргоог өөрчлөх зааврыг эндээс олж болно.

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

Тоног төхөөрөмжөө холбож байна
Тоног төхөөрөмжөө холбож байна

Энэ үед энэ төслийн эх кодыг тохируулах бэлтгэл ажилд шаардлагатай бүх физик холболтыг хийх цаг болжээ. Та дамжуулагч болон хүлээн авагчийн зүүг Pi -ийн GPIO тээглүүртэй холбох болно. Та шашны хувьд GPIO тээглүүрүүдийн диаграммыг лавлахыг хүсэх болно. Үүнийг хийхийн тулд Pi дээрх терминалыг нээгээд бичнэ үү

зүү

Миний хийсэн холболтуудыг доор харуулав. Хэрэв та танилцуулгад дурдсанаас өөр дамжуулагч/хүлээн авагч төхөөрөмж худалдаж авсан бол та өөр тохиргоотой байж болно. Хэрэв та доор дурдсан дугааруудаас өөр зүү дугаар сонгохоор шийдсэн бол бүү ай! Эх кодыг татаж авахдаа RxTx.py файлд шаардлагатай бол зүү дугаарыг өөрчилнө үү.

Хүлээн авагч (том чип):

  • GND - Аливаа зориулалтын газардуулгын зүү
  • DATA - Pin 11
  • DER - Холбогдоогүй байна
  • +5V - Аливаа зориулагдсан +5V зүү
  • ------
  • +5V - Аливаа зориулагдсан +5V зүү
  • GND - Аливаа зориулалтын газардуулгын зүү
  • GND - Холбогдоогүй байна
  • ANT - Холбогдоогүй байна

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

Дамжуулагч:

  • P - 3.3V зүү
  • DA - 7 -р зүү
  • G - Аливаа зориулалтын газардуулгын зүү
  • AN - холбогдоогүй байна

Тэмдэглэл: Дахин хэлэхэд та шаардлагатай бол антенныг дамжуулагчтай холбож болно, гэхдээ надад хэрэггүй байсан. Хүрээ нь хангалттай биш (50+ft).

Алхам 3: Код нэмэх

Энэ бол миний энэ төслийг боловсруулахдаа ихэнх цагаа өнгөрөөсөн хэсэг юм. Би аль болох их сэтгэгдэл бичихийг хичээдэг, гэхдээ та нарын хэн нэг нь үүнийг ойлгох гэж цаг заваа зориулдаг бол тайлбар шаардлагатай байж болох цоорхой үлдээсэн байх. Хэрэв танд ийм зүйл тохиолдвол сэтгэгдлээ үлдээнэ үү!

Энд оролцож буй хэлүүд нь:

  • Python
  • CSS
  • Javascript
  • HTML
  • JQuery/Ajax

Python нь колбоны сервер болон

RxTx.py

код дамжуулах, хүлээн авах ажлыг гүйцэтгэдэг файл. CSS нь вэб хуудасны хэв маягийг бий болгоход хэрэглэгддэг. Хэн уйтгартай вэбсайттай болохыг хүсдэг вэ?! Javascript нь аливаа үйл явдалд хэрэглэгддэг (товчлуур дарах гэх мэт). HTML бол вэб хуудасны үндсэн блок юм. Эцэст нь JQuery/Ajax нь вэб хуудас болон Python арын хооронд харилцахад хэрэглэгддэг.

Хэрэв эдгээр бүх хэл нь сүрдмээр сонсогдож байвал санаа зовох хэрэггүй! Python -ийг энэ кодчилолд хамгийн бага оролцдог хэл болох төсөлд хамрагдахыг би л мэдэж байсан. Зураг аваарай … Хэрэв та үүнийг хийх гэж байгаа бол кодоо самнахад цаг гаргаарай гэж хэлэхэд л хангалттай. Хэрэв та хүсэхгүй байгаа бол тэгэх шаардлагагүй!

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

Outlet Switch-> comm-- DataRW.py-- keys.py-- RxTx.py-> webpage-static ----- favicon.ico ----- style.css-- templates ----- index.html ----- хуваарь.html-- app.py-- өгөгдлийн файл

Та Outlet Switch хавтасыг Pi дээрээ хаана ч байрлуулж болно. Та вэб серверээ ажиллуулахад бэлэн болсны дараа Pi дээрх терминалаа нээнэ үү

cd

(лавлахыг өөрчлөх) вэб хуудасны лавлах руу оруулна уу. Дараа нь бичнэ үү

python3 апп.py

терминал руу. Хэрэв ямар нэгэн алдаа гараагүй бол та сайн яваарай!

P. S. Хэрэв та ямар нэгэн алдаа гарвал тэвчээртэй байгаарай. Би байршуулахаасаа өмнө бүгдийг нь дарах гэж оролдсон.

Алхам 4: Үүнийг буудна уу

Үүнийг буудна уу!
Үүнийг буудна уу!

Одоо та кодыг ажиллуулж байгаа тул вэб интерфэйсийг хурууныхаа үзүүр дээр мэдрэх боломжтой болно. Системийн хяналт маш энгийн:

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

Дээрх YouTube видео нь таны жагсаалтад шинэ цэгийг хэрхэн яаж оруулах талаар харуулж байна. Энэ нь юу харуулж байгааг тоймлохын тулд:

  • Эхлээд Гарчиг талбарт гаралтын нэрийг оруулна уу
  • Гарчиг талбараас гадуур товшиж эсвэл дарна уу. Хөтөлбөрт гарчиг байхгүй байгаа эсэхийг шалгахыг зөвшөөрнө үү. Та ижил нэртэй гарчигтай байж болохгүй
  • Баталгаажсаны дараа ON код ба OFF Code товчлуурууд идэвхждэг.
  • Таны өгсөн алсын удирдлага дээрх ON товчлуурыг дараад интерфэйс дээрх ON кодын товчлуурыг хурдан дарна уу. Хоёртын код зэргэлдээх талбарыг дүүргэх хүртэл алсын удирдлага дээрх товчлуурыг дарна уу.
  • OFF кодын өмнөх алхамыг давтана уу.
  • OK дарна уу, та одоо энэ залгуурыг солиход бэлэн боллоо!

Танилцуулгад дурдсанчлан, төсөл нь миний хэрэгцээнд 100% бүрэн гүйцэд хийгдээгүй байна. Миний хийж, хэрэгжүүлж амжаагүй байгаа хамгийн том бүрэлдэхүүн хэсэг бол хуваарь гаргах чадвар юм. Би хэрэглэгчдэд товлосон цагийг автоматаар асаах, унтраах хуваарийг гаргах боломжийг олгохоор төлөвлөж байна.

Алхам 5: Дебаг хийх ба RxTx.py файл

Дебаг хийх ба RxTx.py файл
Дебаг хийх ба RxTx.py файл
Дебаг хийх ба RxTx.py файл
Дебаг хийх ба RxTx.py файл
Дебаг хийх ба RxTx.py файл
Дебаг хийх ба RxTx.py файл
Дебаг хийх ба RxTx.py файл
Дебаг хийх ба RxTx.py файл

Системийн цорын ганц мэдэгдэж буй хязгаарлалт бол өөр өөр борлуулагчийн цэгүүд хоорондоо нийцэхгүй байх магадлал юм. Нэвтрэх, унтраах кодын мессеж нь миний системийн хувьд 25 бит бөгөөд хэрэв систем өөр мессежийн урттай бол энэ төсөлтэй шууд нийцдэггүй. Хэрэв та зааврыг яг дагаж мөрдсөн бөгөөд үүнийг ажиллуулахад асуудал гарсаар байгаа бол асуудлыг шийдэх хамгийн сайн арга бол дараах болно.

  • Pi дээрээ matplotlib суулгасан эсэхээ шалгаарай. Та үүнийг Pi терминал руу оруулах замаар хийж болно.

    • питон3

    • matplotlib импортлох

    • Хэрэв танд алдаа гарсан бол matplotlib -ийг суулгах хэрэгтэй.
    • Ашиглан Python бүрхүүлээс гарна уу

      гарах()

  • Matplotlib суулгахын тулд бичнэ үү

    sudo pip3 matplotlib суулгана уу

  • терминал руу
  • Test.py файлыг татаж аваад RxTx.py файлынхаа хажууд Pi дээр байрлуулна уу
  • Python терминалыг нээгээд директорыг коммандын хавтас болгон өөрчилнө үү.
  • Төрөл

    python3 тест.py

  • "** Бичлэг хийж эхлэв" гэж хэлэхэд алсын удирдлага дээрх ON буюу OFF товчлуураа дарж дуустал барина уу.
  • Хөтөлбөр нь дээр дурдсантай төстэй matplotlib зургийг ачаалах болно. Дээрх зургуудад үзүүлсэн шиг давтагдах дохиог харах хүртэл томруулна уу.
  • Зурвас бүрийн нийт логик 1 ба логик 0 -ийг тоолох ба мессеж нь дээр үзүүлсэн давтагдах дохионы нэг давталт юм. Хэрэв нийт дүн 25 бол RxTx.py файл буруугүй байх магадлалтай. Хэрэв та 25-аас өөр зүйлтэй тулгарвал доор тайлбар бичихээ мартуузай, би RxTx.py файлыг илүү нээлттэй болгох болно (эсвэл гараа туршиж үзэхийг хүсээрэй).

Хэрэв би давтагдах дохиог харахгүй бол яах вэ?

Хэрэв та дахин давтагдах дохиог харахгүй бол хоёр зүйлийн нэг нь буруу байна. Нэгдүгээрт, бүх холбогч утас холболт зөв хийгдсэн эсэхийг шалгаарай. Хэрэв бүх зүйл сайхан харагдаж байвал та муу хүлээн авагчтай байж магадгүй. Та миний санал болгосон зүйлийг худалдаж авсан уу? Анхны хүлээн авагч чипээ худалдаж авахад маш их чимээ шуугиантай байсан. Тиймээс чимээ шуугиантай байсан тул би тодорхой дохио авч чадсангүй. Дараа нь би тэр чипийг буцааж өгч, холбосон файлаа авсан бөгөөд энэ нь илүү сайн ажиллахгүй байсан.

Алхам 6: Сайхан амраарай

Та утас, таблет, компьютер эсвэл бусад вэб идэвхжүүлсэн төхөөрөмжөөс залгуурыг асаах/унтраах боломжтой гэдгийг та мэднэ. Сэтгэгдэл дээр юу гэж бодож байгаагаа надад хэлээрэй!

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