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

Хулууны Pi Trick-or-Treat Tracker: 5 алхам
Хулууны Pi Trick-or-Treat Tracker: 5 алхам

Видео: Хулууны Pi Trick-or-Treat Tracker: 5 алхам

Видео: Хулууны Pi Trick-or-Treat Tracker: 5 алхам
Видео: CROSSY ROAD LIFE SKILLS LESSON 2024, Арваннэгдүгээр
Anonim
Хулууны Pi Trick-or-Treat Tracker
Хулууны Pi Trick-or-Treat Tracker

Зохиогчийн бусад зүйлийг дагаж мөрдөх:

Raspberry Pi температурын мониторыг хэрхэн яаж бүтээх вэ
Raspberry Pi температурын мониторыг хэрхэн яаж бүтээх вэ
Raspberry Pi температурын мониторыг хэрхэн яаж бүтээх вэ
Raspberry Pi температурын мониторыг хэрхэн яаж бүтээх вэ
Google Хүснэгтээс Хяналтын самбар руу өгөгдөл дамжуулах
Google Хүснэгтээс Хяналтын самбар руу өгөгдөл дамжуулах
Google Хүснэгтээс Хяналтын самбар руу өгөгдөл дамжуулах
Google Хүснэгтээс Хяналтын самбар руу өгөгдөл дамжуулах
Температур мэдрэгчийн сүлжээ
Температур мэдрэгчийн сүлжээ
Температур мэдрэгчийн сүлжээ
Температур мэдрэгчийн сүлжээ

Halloween -ий нэгээс олон талаар хэрэгтэй төслийг хайж байна уу? Pi Zero WH -ийг сайн ашиглахыг хүсч байна уу? Ирэх жил хэр их чихэр хэрэгтэй болохыг тодорхойлохын тулд өгөгдөл ашиглахыг хүсч байна уу?

Хулууны Pi Trick-or-Treat Tracker бүтээхэд бэлэн байгаарай! Энэхүү гоёл чимэглэл, хүмүүсийн мөрдөгчөөр давхар ажилладаг бөгөөд энэхүү Pi-in-a-Pumpkin нь хөдөлгөөнийг илрүүлэх үед өнгө, урсгалыг өөрчилдөг. Үнэмлэхүй эхнээс нь эхлүүлэхийн тулд энэхүү төсөл нь үдээс хойш танд зориулагдахгүй - яг л Halloween -ий үеэр!

Хангамж

  • SD карттай Pi Zero WH
  • PIR хөдөлгөөн мэдрэгч
  • RGB LED
  • 220 Ом эсэргүүцэл
  • (3) Холбох шугам (F/F, M/F, M/M)
  • Зөөврийн батерей
  • Хуурамч хулуу

Алхам 1: Тоног төхөөрөмжийн угсралт

Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт
Тоног төхөөрөмжийн угсралт

Та Pi -ээ ажиллуулсны дараа бид хөдөлгөөн мэдрэгч ба LED -ийг холбох хэрэгтэй. Энэ үед Pi нь тэжээлд холбогдоогүй байгаа эсэхийг шалгаарай.

Бидний хөдөлгөөн мэдрэгч нь үүнийг 3.3V хүчдэл, газардуулга, өгөгдлийн зүү рүү холбохыг шаарддаг. Би 3.3V мэдрэгчийн зүүг Pi -ийн 1 -р зүү, Газрын мэдрэгчийн зүүг Pi -ийн 6 -р зүү, Өгөгдлийн мэдрэгчийн зүүг Pi -ийн 16 -р зүүтэй холбосон. Эхний зураг нь Pi болон хөдөлгөөн мэдрэгчийн бүрэн холболтыг харуулж байна.

LED нь хөдөлгөөн мэдрэгчээс арай илүү төвөгтэй байдаг, учир нь тэдгээр нь эсвэл Pi -г гэмтээхгүйгээр зөв ажиллахын тулд резистор шаарддаг. Би гурван 220 ом эсэргүүцэл ашигладаг байсан боловч 220 ба 330 ом эсэргүүцлийг ихэвчлэн LED ашигладаг.

Бүх зүйлийг холбохын тулд та дараахь зүйлийг хийх боломжтой.

  • LED хөлийг резистор руу гагнаж, дараа нь утсыг Pi руу оруулна уу
  • Талх, самбар ашиглан бүх зүйлийг холбоно уу
  • Бүх зүйлийг холбохын тулд зангиа, цахилгаан соронзон хальс ашиглана уу (миний хийсэн шиг).

Бид LED -ээ 11, 13, 15 -р тээглүүрт холбох болно. Энэ нь хөдөлгөөн мэдрэгчээс арай илүү төвөгтэй боловч LED дээрх хөл нь тодорхой өнгөтэй таарч байгаа тул! Урт хөл нь GND; мөн миний LED дээр хөл нь улаан, GND, цэнхэр, ногоон өнгөтэй болсон. Би Blue -ийг Pi pin 11 -т, Green -ийг Pi pin 13 -т, Улаан -ийг Pi pin 15 -т холбосон. Хоёрдахь зурагт хэлхээний эцсийн холболтууд харагдаж байна.

Алхам 2: Анхны төлөв

Анхны төлөв
Анхны төлөв
Анхны төлөв
Анхны төлөв

Хөдөлгөөнийг LED-ээр илрүүлснийг бид харж байгаа биз дээ, гэхдээ бид чихэр хулгайлахаар хичнээн заль мэх хийсэн хүмүүсийг хэрхэн яаж хянах вэ?

Хөдөлгөөн эхэлж, илрэхээ болих бүрт бид хяналтын самбар руу дамжуулах болно. Энэхүү хяналтын самбарыг интернет холболтоор хаанаас ч авах боломжтой тул бид урд хаалга/чихрийн аяганд хэн нэгэн ойртож байгаа эсэхийг алсаас хянах боломжтой.

Алхам 1: Улсын анхны дансанд бүртгүүлэх https://iot.app.initialstate.com хаягаар орж шинэ данс үүсгэнэ үү.

Алхам 2: ISStreamer -ийг суулгана уу

Анхны төлөв Python модулийг Raspberry Pi дээрээ суулгаарай. Тушаал хүлээх мөрөнд (эхлээд Pi руу SSH оруулахаа бүү мартаарай) дараах тушаалыг ажиллуулна уу.

$ cd/home/pi/

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Алхам 3: Автомашин хийх

2 -р алхамыг хийсний дараа дэлгэцэн дээрх дараах гаралттай төстэй зүйлийг харах болно.

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Нууц үг: ISStreamer Python хялбар суулгалтыг эхлүүлж байна! Суулгахад хэдэн минут шаардагдах болно, кофе аваарай:) Гэхдээ буцаж ирэхээ бүү мартаарай, дараа нь надад асуулт байна! Easy_install-ийг олсон: setuptools 1.1.6 pip/pip/1.5.6-ийг /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer олдсон, шинэчлэгдэж байна … Шаардлага аль хэдийн шинэчлэгдсэн байна: /Library/Python/2.7/site-packages дахь ISStreamer Цэвэрлэгээ… Та жишээ скриптийг автоматаар авахыг хүсч байна уу? [y/N] Жишээг хаана хадгалахыг хүсч байна вэ? [анхдагч:./is_example.py] Та ашиглаж буй анхны төлөвийн програмыг сонгоно уу: 1. app.initialstate.com 2. [ШИНЭ!] iot.app.initialstate.com 1 эсвэл 2 -р сонголтыг оруулна уу: iot.app оруулна уу..initialstate.com хэрэглэгчийн нэр: iot.app.initialstate.com нууц үгийг оруулна уу:

Жишээ скриптийг автоматаар авахыг хүсэхэд y гэж бичнэ үү. Энэ нь өгөгдлийг анхны төлөв рүү дамжуулахын тулд бид ажиллуулж болох туршилтын скриптийг бий болгоно. Дараагийн мөрөнд жишээ файлыг хаана хадгалахыг асууна. Анхдагч байршлыг зөвшөөрөхийн тулд та өөрчлөн тохируулсан орон нутгийн замыг бичих эсвэл enter дарж болно. Эцэст нь хэлэхэд, та ямар Initial State програм ашиглаж байгааг асуух болно. Хэрэв та саяхан данс үүсгэсэн бол 2 -р сонголтыг сонгоод хэрэглэгчийн нэр, нууц үгээ оруулна уу. Үүний дараа суулгалт дуусах болно.

Алхам 4: Нэвтрэх түлхүүрүүд

Үүсгэсэн скриптийн жишээг авч үзье. $ nano is_example.py 15 -р мөрөнд та дамжуулагч = Streamer (bucket_…) -ээр эхэлсэн мөрийг харах болно. Энэ мөрүүд нь "Python Stream Example" нэртэй шинэ өгөгдлийн савыг үүсгэж, таны данстай холбоотой болно. Энэ холбоо нь дараахтай холбоотой юм. access_key = "…" гэсэн параметр нь ижил мөрөнд байна. Энэ урт үсэг, тоонууд нь таны анхны төлөвт данс руу нэвтрэх түлхүүр юм. Хэрэв та вэб хөтчөөсөө анхны төлөв рүүгээ орвол баруун дээд буланд байгаа хэрэглэгчийн нэр дээрээ дараад оч. "Миний тохиргоо" руу ороход та ижил нэвтрэх түлхүүрийг хуудасны доод талд "Хандалтын түлхүүрүүдийг дамжуулах" хэсэгт олох болно.

Та өгөгдөл дамжуулах бүрийг нэвтрэх түлхүүр нь таны өгөгдлийн урсгалыг таны данс руу чиглүүлэх болно (тиймээс түлхүүрээ бусадтай бүү хуваалцаарай).

Алхам 5: Жишээг ажиллуулна уу

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

$ python is_example.py

Алхам 6: ашиг

Вэб хөтөч дээрээ анхны төлөв рүүгээ буцна уу. "Python урсгалын жишээ" нэртэй шинэ өгөгдлийн сав таны бүртгэлийн тавиур дээр зүүн талд гарч ирэх ёстой байсан (та хуудсыг шинэчлэх шаардлагатай байж магадгүй юм). Туршилтын өгөгдлийг харахын тулд энэ хувин дээр дараад Waves дүрс дээр дарна уу.

Алхам 3: Python скрипт

Скрипт үүсгээд текст засварлагчийг дараах тушаалаар нээнэ үү.

нано vistors.py

Кодыг эндээс текст засварлагч руу хуулж оруулна уу.

Аливаа зүйлийг ажиллуулахаасаа өмнө бид хэдэн засвар хийж, скриптдээ юу болж байгааг эргэж харах хэрэгтэй.

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

ISStreamer -ээс унтах цагийг импортлох. Streamer -ийг импортлох Streamer # Pi -д хэлээрэй, бид үүнийг дугаарлах системийг ашиглах болно GPIO.setmode (GPIO. BCM) = 22 # Бидний хөдөлгөөн мэдрэгчийн зүүг GPIO.setup (PIN, GPIO. IN) болгон оруулна уу, GPIO. OUT) GPIO.output (GREEN, 0) GPIO.setup (BLUE, GPIO. OUT) GPIO.output (BLUE, 0)

1-21 мөрийг эхлүүлэх зориулалттай. Нэгдүгээрт, бид Pi -ийн GPIO интерфейс болон скриптийг унтах аргыг импортолж авдаг. Дараа нь бид өмнөх хуудсан дээр суулгасан Initial State дамжуулагчийг импортлодог.

GPIO.setmode нь тээглүүрт ямар дугаарлалтын системийг ашиглаж байгааг зааж өгдөг. Биет байршлаас илүү бид Pi дугаарлах системийг ашиглаж байна. Өмнө нь бидний диаграммд байсан шиг бидний сонгосон тээглүүр нь 23, 17, 27, 22 байсан. Дараа нь бид хөдөлгөөний зүүг оролт, LED тээглүүрийг гаралт болгон тохируулсан.

# Анхны төлөвийн хувин нэр (харуулав)

BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # Анхны төлөвийн хувин түлхүүр (нуугдмал) BUCKET_KEY = "trickortreat" # Анхны төлөвт нэвтрэх түлхүүр ACCESS_KEY = "Таны_Алсын_Түлхүүр" # Байгаа эсвэл байгаагүй гэдгийг бид дамжуулдаггүй эсэхийг шалгадаг хувьсагчид. дараалан хоёр удаа хөдөлгөөн хийх # Энэ нь илгээсэн үйл явдлууд болон боловсруулалтын хүчийг хэмнэдэгRecordedMotion = Худал аль хэдийнRecordedNoMotion = Хуурамч тоолуур = 0 # Эхний төлөвийг эхлүүлэх дамжуулагч = Урсгагч (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) LED нь шар өнгөтэй GPIO.output (RED, 1) GPIO.output (GREEN, 1)

Бид анхны төлөв дамжуулагчийг эхлүүлж, LED-ийг шар болгож байгаа тул 23-41-р мөрүүд чухал ач холбогдолтой юм. Анхны төлөвт нэвтрэх түлхүүрээ 28 -р мөрөнд оруулна уу.

# Тодорхойгүй хугацаагаар гогцоо хийнэ

while True: # Хэрэв хөдөлгөөн мэдрэгч өндөр татвал (хөдөлгөөнийг илрүүлдэг): хэрэв GPIO.input (PIN) == 1: "Хөдөлгөөн илэрсэн" гэж хэвлэ # Хэрэв бид хараахан цацагдаагүй бол: Хэрэв хараахан болоогүй болRecordedMotion: counter = counter + 1 # LED -ийг улаан болгож тохируулна уу GPIO.output (RED, 1) GPIO.output (GREEN, 0) # Stream to Initial State streamer.log (": хий үзэгдэл: эсвэл: шоколад_бар:?", ": шоколад_бар: Хоол хийх цаг!") streamer.log (": чихэр: Өлссөн хүмүүс?: чихэр:", тоолуур) streamer.flush () аль хэдийнRecordedMotion = Үнэн аль хэдийнRecordedNoMotion = Худал өөр: # 1 секундын унтах скриптийг түр зогсоо (1) өөр: хэвлэх "Хөдөлгөөн илрээгүй" # Хэрэв бид хараахан дамжуулаагүй бол: хэрэв хараахан болоогүй бол RecordedNoMotion: # LED -ийг шар болгож тохируулна уу GPIO.output (RED, 1) GPIO.output (GREEN, 1) # Stream to Initial State streamer.log (": ghost: or:ocolate_bar: """

43-77-р мөр бол кодын мах юм. Хэрэв хөдөлгөөн илэрсэн бол скрипт "Эмчилгээ хийх цаг!" Эсэхийг шалгана. аль хэдийн цацсан байна. Хэрэв тийм биш бол үүнийг анхны төлөв рүү илгээж, LED нь улаан өнгөтэй байна; хэрэв байгаа бол скрипт 1 секунд хүлээгээд хөдөлгөөн мэдрэгчээс дахин уншина. Хөдөлгөөн илрээгүй тохиолдолд мөн адил хамаарна.

Кодыг туршиж үзэх цаг боллоо! Та 28 -р мөрөнд хандалтын түлхүүрээ оруулснаар засварласан файлаа хадгалсан эсэхээ шалгаад терминал руу оруулна уу.

питон зочид.py

Та LED асч, "Хөдөлгөөн илрээгүй" командын мөрөнд хэвлэж эхлэхийг харах ёстой. Хөдөлгөөн мэдрэгч дээр гараа даллаж үзээрэй, та одоо улаан гэрэл асч, "Хөдөлгөөн илэрсэн" хэвлэж эхлэх болно.

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

Алхам 4: Хяналтын самбарыг заль мэх хийх

Trick-or-Treat хяналтын самбар
Trick-or-Treat хяналтын самбар

Анхны муж руу очоод хяналтын самбараа шалгаарай! Та "? Trick or Treat Tracker" нэртэй хувин харах ёстой. Хөдөлгөөн мэдрэгчийн ойролцоо гараа даллаж, шинэчлэлтийг нь үзээрэй!

Миний хяналтын самбар нь хамгийн сүүлийн утга болон үйл явдлын тооллогын гистограмыг харуулсан 2 хураангуй хавтангаас бүрдэх тул мэдрэгчийг хэдэн удаа асаасан болохыг харж болно.

Энд зарим зүйлийг анхаарч үзэх хэрэгтэй.

  • Нэг хүн хөдөлгөөн мэдрэгчийн урдуур орох бөгөөд буцах замдаа хоёр удаа өнгөрөх болно гэдгийг тооцоолохын тулд та "Өлсгөлөн хүн" -ийн тоог 2 -оор хуваахыг хүсч магадгүй юм. Та үүнийг "= math.round (([Hungry Humans?]/2), 0)") тэгшитгэлийг ашиглан бодит цагийн илэрхийллээр хийж болно.
  • Та өөрийн хөдөлгөөн мэдрэгч хэр мэдрэмтгий болохыг туршиж үзээд үүний дагуу явган хүний зам дээр байрлуулж болно. Би хаалган дээр хэн нэгэн зогсож байхад энэ нь асахгүй байхаар хаалганаас хол байлгахыг санал болгож байна.
  • Та мөн хэн нэгэн ойртож байгааг хэлэхийн тулд текст анхааруулга тохируулж болно.
  • Хяналтын самбартаа бага зэрэг аймшигтай дүр төрхийг өгөхийн тулд арын зургийг сонгоорой!

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