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

Хайрцгийг авах: 8 алхам
Хайрцгийг авах: 8 алхам

Видео: Хайрцгийг авах: 8 алхам

Видео: Хайрцгийг авах: 8 алхам
Видео: Өөртөө Итгэлтэй Болох Маш Энгийн 8 Арга 2024, Арваннэгдүгээр
Anonim
Хайрцгийг барьж аваарай
Хайрцгийг барьж аваарай
Хайрцгийг барьж аваарай
Хайрцгийг барьж аваарай

Capture The Box бол багийн барилдааны тоглоом бөгөөд та ойр хавийнхаа найз нөхөдтэйгөө тоглох боломжтой.

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

Энэ тоглоом нь GPS ашиглан хайрцгийг хайж олох бөгөөд тоглогчдыг тодорхойлохын тулд RFID хаягийг ашигладаг. Дот матрицын дэлгэцийн эрч хүчийг тухайн хэсгийн гэрлийн хувьтай нийцүүлэхийн тулд нэмэлт LDR нэмж болно.

Хангамж

Микроконтроллер ба компьютер

  • Raspberry Pi
  • Arduino (Mega) Би илүү олон тээглүүртэй тул энгийн Юно -гоос Arduino Mega -ийг сонгосон. Бид НҮБ -ыг ашиглах үед бидэнд хэт бага дижитал тээглүүр үлдээх Dragino LoRa бамбай ашиглаж байгаа тул энэ нь зайлшгүй шаардлагатай юм. ЗӨВЛӨГӨӨ: Хятадын клонууд үргэлж санаснаар ажилладаггүй тул жинхэнэ хувилбарыг ашиглах нь дээр.

Мэдрэгч ба модуль

  • 4 MAX7219 цэг матрицын модуль DOUT -ийг DIN, CS -ээс CS, CLK -аас CLK руу холбоно уу.
  • Хөнгөн хамааралтай эсэргүүцэл (10K) + эсэргүүцэл (10K)
  • NEO-7M (эсвэл үүнтэй төстэй) GPS модуль Би Velleman-аас VMA430 ашиглаж байна
  • RC522 RFID модуль+ зарим RFID тэмдэг/карт

LoRa (утасгүй технологи) ашиглахад зориулагдсан

Драгино Лора Шилд

Нэмэлт мэдрэгч ба модуль

LCD дэлгэц Raspberry Pi -ийн IP хаягийг харуулна

Туршилтын тохиргоог хийхийн тулд

Талхны самбар ба Дюпонт кабель (Эрэгтэй-Эр

Нэмэлт (бүрхүүл)

  • Гагнуурын төмөр
  • Хуучин багажны хайрцаг
  • 3D хэвлэх материал
  • Зарим нимгэн модон банз
  • Зарим боолт, самар (энэ нь Arduino нүхэнд багтах боломжтой). Миний эрэг 3 мм орчим диаметртэй

Тооцоолсон үнийг Монголбанкнаас олж болно.

Алхам 1: Raspberry Pi -ийг тохируулах

Raspberry Pi бол төслийн зүрх юм.

Энэ нь урд, арын хэсэг, мэдээллийн санг ажиллуулах болно. Энэ нь арын болон Arduino хоорондох харилцааг хариуцах болно.

Raspberry Pi -ийг ашиглахын тулд бид дараахь зүйлийг хийх шаардлагатай болно.

1 -р хэсэг: Raspbian -ийг Raspberry Pi дээр суулгаарай

Үүнийг хэрхэн хийх тухай зааврыг эндээс олж болно:

2 -р хэсэг: Raspbian -ийг Raspberry Pi дээр суулгаарай Гэрийнхээ WiFi -ийг тохируулна уу.

Үүнийг wpa_passphrase "YourNetwork" "YourSSID" ашиглан хийж болно >> /etc/wpa_supplicant/wpa_supplicant.conf

Pi -г дахин ачаалж, ifconfig -ийг бичихдээ IP хаягийг харах ёстой

3 -р хэсэг: Вэб сервер болон мэдээллийн санг суулгах

Pi -г ажиллуулсны дараа нууц үгээ солих нь зүйтэй бөгөөд үүнийг passwd командын тусламжтайгаар хийж болно.

Үүнийг хийсний дараа үргэлжлүүлэн Apache, PHP, MariaDB, PHPMyAdmin суулгаарай.

Apache, PHP sudo apt install apache2 -y sudo apt install php libapache2 -mod -php -y

MariaDB sudo apt install mariadb-server mariadb-client -y sudo apt install php-mysql -y sudo systemctl apache2.service-ийг дахин эхлүүлнэ.

PHPMyAdminsudo phpmyadmin -y -ийг суулгахад тохиромжтой

MySQL нууц үгээ тохируулахаа бүү мартаарай.

4 -р хэсэг: Шаардлагатай Python номын санг суулгах

Арын хэсэгт бидэнд зарим номын сан хэрэгтэй болно. Эдгээрийг pip3 командыг ашиглан суулгаж болно.

pip3 mysql-connector-python суулгана уу

pip3 колбо-сокетийг суулгана уу

pip3 колбо-корс суурилуулна

pip3 суулгах geventpip3 gevent-websocket суулгах

pip3 ttn суулгана уу

Алхам 2: Электроникийг байрлуулах

Цахилгаан хэрэгслийг байрлуулах
Цахилгаан хэрэгслийг байрлуулах
Цахилгаан хэрэгслийг байрлуулах
Цахилгаан хэрэгслийг байрлуулах

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

LoRa бамбайг амархан байрлуулж болно. Зүүг Arduino дээрх тээглүүртэй зэрэгцүүлээрэй.

Бусад холболтыг миний Fritzing схемд тайлбарласан болно. Эндээс татаж авах боломжтой:

Алхам 3: Өгөгдлийн сангийн загвар гаргах

Мэдээллийн сангийн дизайн хийх
Мэдээллийн сангийн дизайн хийх

Тоглоом, мэдрэгчийн бүх өгөгдлийг хадгалахын тулд би хэдэн хүснэгт хийв.

Мэдрэгчээс авсан хэмжилтийг мэдрэгчийн хүснэгтэд оруулсан болно. Энэ нь мэдрэгчийн ишлэл, хэмжлийн утга (жишээ нь: coordinates: 51.123456; 3.123456), нэмэлт тоглоомын ID (хэрэв хэмжих явцад тоглоом идэвхтэй байсан бол).

Тоглогчийн нэр ба RFID тэмдгийн UID. Нэмэлт хээрийн зохицуулагчийг нэмж оруулсан бол энэ хүн тоглоомыг өөрчлөх боломжтой (жишээлбэл, хугацаанаас өмнө зогсоох).

Тоглоомын мэдээлэл (эхлэх ба дуусах цаг).

spel_has_speler spel ба speler хоорондын харилцаа. Энд тоглогчдыг тоглоомд хуваарилдаг.

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

Өгөгдлийн сангийн экспортыг миний GitHub дээрээс олж болно (https://github.com/BoussonKarel/CaptureTheBox)

SQL -ийг PHPMyAdmin / MySQL Workbench дээр нээгээд ажиллуулна уу. Мэдээллийн санг одоо импортлох ёстой.

Алхам 4: TTN дээр данс тохируулах

Алхам 1: TTN дээр данс бүртгүүлж, аппликешн үүсгэнэ үү

TheThingsNetwork дээр данс бүртгүүлээд Console> Add application руу очно уу.

Аппликешныхээ нэрийг сонгоод Програм нэмэх дээр дарна уу.

Алхам 2: Төхөөрөмжийг бүртгүүлэх

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

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

Төхөөрөмжийн EUI доорх Generate дүрс дээр дарна уу, ингэснээр TTN танд нэгийг үүсгэх болно.

Алхам 3: Итгэмжлэх жуух бичгээ бичих

Одоо төхөөрөмж рүүгээ ороод төхөөрөмжийн EUI, App EUI болон App түлхүүрийн хажууд байгаа кодын дүрс дээр дарна уу. Энэ нь одоо байтын массив хэлбэрээр гарч ирэх ёстой.

Хуулахаасаа өмнө Switch товчин дээр дарж Dev EUI болон App EUI LSB FIRST эсэхийг шалгаарай.

Таны Апп түлхүүр MSB FIRST хэвээр байх ёстой (үүнийг бүү өөрчил).

Дараагийн алхамд танд эдгээр түлхүүрүүд хэрэгтэй болно: Arduino -ийг тохируулах.

Алхам 4: Програмын Acces түлхүүрийг бичих

Raspberry Pi дээрээ MQTT -ийг тохируулахын тулд бидэнд дахиад нэг түлхүүр хэрэгтэй болно.

Програм руугаа ороод Acces Keys руу гүйлгэнэ үү.

Энэ нь танд Backend алхам дээр хэрэгтэй болно.

Алхам 5: Arduino -г тохируулах

Arduino кодыг мөн миний GitHub дээрээс Arduino дээрээс олж болно (https://github.com/BoussonKarel/CaptureTheBox)

Энэ кодыг эмх цэгцтэй байлгахын тулд олон таб болгон хуваасан.

main.ino Гол код: мэдэгдэл оруулах, тохиргоо () ба давталт ()

0_LoRa.inoЭнэ код нь LoRa ашиглан харилцаа холбоог зохицуулдаг.

Энэ нь LDR, GPS, RFID хаягуудын өгөгдлийг 13 байтын массивт оруулдаг бөгөөд үүнийг TheThingsNetwork руу илгээдэг.

1_LDR.ino analogRead () -ийг ашиглан гэрлээс хамааралтай резистор дээрх хүчдэлийн хэмжээг хэмждэг.

Үүнийг гэрлийн хувь болгон хөрвүүлнэ (0 нь юу ч биш, 100 нь гар утасны гар чийдэн).

2_GPS.inoTx1 ба RX1 (Serial1) ашиглан цуваа холбоог ашигладаг.

Энэ нь хайрцгийн өргөрөг, уртрагийг олохын тулд NMEA мессежийг (нарийвчлалтайгаар $ GPRMC мессеж) ашигладаг.

3_RFID.

4_DotMatrix.inoЭнэ кодыг цэг матрицын дэлгэцийг эхлүүлэх, тохируулахад ашигладаг бөгөөд ачаалах хөдөлгөөнт дүрс гэх мэт тодорхойлолтуудыг агуулдаг.

Үүнийг тохируулж байна

Та энэ кодыг Arduino -д байршуулахаасаа өмнө цөөн хэдэн номын сан суулгах хэрэгтэй болно.

Arduino-LMIC номын сан by matthijskooijman (https://github.com/matthijskooijman/arduino-lmic)

RFID уншигчдад зориулсан MFRC522 номын сан (https://github.com/miguelbalboa/rfid)

Одоо main.ino руу ороод DEVEUI, APPEUI, APPKEY -ийг сүүлчийн алхамыг хуулж авсан болгож өөрчилнө үү.

Алхам 6: Арын хэсгийг тохируулах

Энэхүү төслийн арын хэсгийг миний GitHub дээрээс RPI> Backend (https://github.com/BoussonKarel/CaptureTheBox) дээрээс олж болно.

Энэ яаж ажилдаг вэ?

  1. 10 секунд тутамд код идэвхтэй тоглоомыг хайж олох бөгөөд хэрэв нэг нь олдвол huidigSpel (currentGame) нэртэй хувьсагчид хадгалагдана.
  2. Хэрэв горимыг Цуваа гэж тохируулсан бол Arduino болон Pi -ийн хооронд кабель ашиглана. Arduino нь JSON форматаар хариу үйлдэл үзүүлдэг. RFID хаягууд нь танилцуулах бүрт илгээгддэг бөгөөд энэ горимыг зөвхөн хөгжүүлэлтийн зориулалтаар ашигладаг байсан бөгөөд цаашид шаардлагагүй болно.
  3. Хэрэв горимыг LoRa гэж тохируулсан бол MRTT клиент үүсч, LoRa өгөгдлийг TTN хүлээн авах бүрт дуудлага буцааж өгдөг. Энэ нь LDR, GPS, RFID өгөгдлийг агуулдаг.
  4. Урд хэсэг нь API төгсгөлийн цэгүүдийг ашиглан өгөгдлийг авах боломжтой. Ихэнх өгөгдлийг huidigSpel.id ашиглан авдаг бөгөөд өгөгдлийг jsonify () ашиглан JSON форматаар буцаана.

Тохиргоог өөрчилнө үү.

Config.py руу ороод өгөгдлийн сангийн итгэмжлэлээ бөглөнө үү (нууц үг, хэрэглэгч гэх мэт).

Үүнийг үйлчилгээ болгон тохируулах App.py -ийг ажиллуулж үзээрэй, хэрэв энэ нь ажиллаж байгааг баталгаажуулсны дараа бид үүнийг үйлчилгээ болгон ашиглаж болно, энэ нь таны pi -г асаахад кодыг автоматаар цаана нь эхлүүлэх болно.

Үүнийг хийхийн тулд ctb_service.service /etc/systemd/system/ctb_service.service руу хуулна уу. sudo cp ctb_service.service /etc/systemd/system/ctb_service.service

Одоо үүнийг systemctl enable ctb_service.service ашиглан идэвхжүүлнэ үү

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

Хэрэв та бүртгэлээс лавлах шаардлагатай бол (алдааны улмаас) та journalctl -u ctb_service.service ашиглаж болно.

Үйлчилгээний талаарх дэлгэрэнгүй мэдээллийг эндээс авах боломжтой:

Алхам 7: Frontend -ийг тохируулах

Урд талынх шиг урд талын хэсгийг GitHub дээрээс RPI> Frontend дээрээс олж болно (https://github.com/BoussonKarel/CaptureTheBox)

Үүнийг Raspberry Pi -ийн /var /html хавтсанд оруулна уу.

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

Энэ нь арын арын хэсэгтэй харилцах скриптийг агуулдаг (бодит цаг хугацаанд болон API төгсгөлийн цэгүүдийг ашиглан).

Алхам 8: Бүрхүүл нэмж оруулах

Бүрхүүл нэмж оруулах
Бүрхүүл нэмж оруулах
Бүрхүүл нэмж оруулах
Бүрхүүл нэмж оруулах

Энэ тохиолдолд би хуучин багаж хэрэгслийг дараах материал/техниктэй хамт ашигласан.

  • 3D хэвлэх
  • Батерейг байранд нь байлгах хөөс
  • Дахин боловсруулсан модон банз
  • Халуун цавуу
  • Боолт ба самар

Таны хэргийг юу хийх нь таны сонголт юм! Би танд уран сайхны эрх чөлөөг өгөх гэж байна.

Урам зориг авахын тулд би өөрийн (дууссан) хэргийнхээ зургийг нэмж орууллаа.

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