ዝርዝር ሁኔታ:

ሳጥኑን ይያዙ - 8 ደረጃዎች
ሳጥኑን ይያዙ - 8 ደረጃዎች

ቪዲዮ: ሳጥኑን ይያዙ - 8 ደረጃዎች

ቪዲዮ: ሳጥኑን ይያዙ - 8 ደረጃዎች
ቪዲዮ: እንዴት በቀላሉ ባለ 2 ዲጂት ቁጥሮችን ያለ ካልኩሌር ማባዛት እንደምንችል /How to easily multiply 2 digit numbers 2024, ህዳር
Anonim
ሳጥኑን ይያዙ
ሳጥኑን ይያዙ
ሳጥኑን ይያዙ
ሳጥኑን ይያዙ

Capture The Box በአካባቢዎ ካሉ ጓደኞችዎ ጋር መጫወት የሚችሉት የቡድን ግንባታ ጨዋታ ነው።

ግቡ ሌሎች ተጫዋቾች ለመሄድ እና ከረንዳዎ ወይም ከፊት የአትክልት ስፍራዎ ለመሸሽ ሲሞክሩ ሳጥኑን መያዝ እና በተቻለ መጠን በእራስዎ መያዝ ነው።

ይህ ጨዋታ ተጫዋቾቹን ለመለየት ሳጥኑን እና የ RFID መለያዎችን ለማግኘት ጂፒኤስ ይጠቀማል። የነጥብ ማትሪክስ ማሳያ ጥንካሬ በአካባቢው ካለው የብርሃን መቶኛ ጋር ለማዛመድ አማራጭ LDR ሊታከል ይችላል።

አቅርቦቶች

ማይክሮ መቆጣጠሪያዎች እና ኮምፒተሮች

  • Raspberry Pi
  • አርዱዲኖ (ሜጋ) ብዙ ተጨማሪ ፒኖች ስላሉት ከመደበኛ ኡኖ ይልቅ አርዱዲኖ ሜጋን መርጫለሁ። ይህ አስፈላጊ ነው ምክንያቱም እኛ UNO ን ስንጠቀም በጣም ትንሽ ዲጂታል ፒን የሚኖረንን ድራጊኖ ሎራ ጋሻን እየተጠቀምን ነው። ጠቃሚ ምክር - የቻይንኛ ክሎኖች እንደተጠበቀው ሁልጊዜ ስለማይሠሩ እውነተኛውን መጠቀም ጥሩ ነው።

ዳሳሾች እና ሞጁሎች

  • 4 MAX7219 የነጥብ ማትሪክስ ሞዱሎች ከ DINT ፣ CS ወደ CS ፣ CLK ወደ CLK ያገናኙ…
  • የብርሃን ጥገኛ ተከላካይ (10 ኪ) + ተከላካይ (10 ኪ)
  • NEO-7M (ወይም ተመሳሳይ) የጂፒኤስ ሞዱል እኔ VMA430 ን ከቬሌማን እጠቀማለሁ
  • RC522 RFID ሞዱል+ አንዳንድ የ RFID ባጆች/ካርዶች

ሎራ (ገመድ አልባ ቴክኖሎጂ) ለመጠቀም

ድራጊኖ ሎራ ጋሻ

አማራጭ ዳሳሾች እና ሞጁሎች

የ Raspberry Pi የአይፒ አድራሻውን ለማሳየት ኤልሲዲ ማሳያ

ለሙከራ ማዋቀር

የዳቦ ሰሌዳ እና ዱፖንት ኬብሎች (ወንድ-ወንድ

አማራጭ (መያዣ)

  • የመሸጫ ብረት
  • የድሮ መሣሪያ መያዣ
  • ለ 3 ዲ ማተሚያ ቁሳቁሶች
  • አንዳንድ ቀጭን የእንጨት ጣውላዎች
  • አንዳንድ ብሎኖች እና ለውዝ (በአርዱዲኖ ቀዳዳዎች ውስጥ ሊገጣጠሙ ይችላሉ) ።እኔ ብሎኖች 3 ሚሜ አካባቢ የሆነ ዲያሜትር አላቸው።

ግምታዊ ዋጋ በ BOM (የቁሳቁስ ቢል) ውስጥ ይገኛል ፣ ከዚህ በታች ተካትቷል።

ደረጃ 1 - Raspberry Pi ን ማቀናበር

Raspberry Pi የፕሮጀክቱ ልብ ነው።

የፊት ግንባርን ፣ የጀርባውን እና የውሂብ ጎታውን ያካሂዳል። እንዲሁም በጀርባው እና በአርዱዲኖ መካከል የግንኙነት ሃላፊነት ይሆናል።

Raspberry Pi ን ለመጠቀም እኛ የሚከተሉትን ማድረግ አለብን።

ክፍል 1 Raspbian ን በ Raspberry Pi ላይ ይጫኑ

ያንን እንዴት ማድረግ እንደሚቻል ትምህርት እዚህ ይገኛል

ክፍል 2: Raspbian ን በ Raspberry Pi ላይ ይጫኑ የቤትዎን WiFi በማዋቀር ላይ።

ይህ wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf ን በመጠቀም ሊከናወን ይችላል

Pi ን እንደገና ያስጀምሩ እና ifconfig ውስጥ ሲተይቡ የአይፒ አድራሻ ማየት አለብዎት

ክፍል 3 - የድር አገልጋዩን እና የመረጃ ቋቱን ይጫኑ

አንዴ ፓይዎን ከጨረሱ በኋላ የይለፍ ቃልዎን መለወጥ የተሻለ ነው። ይህ በትእዛዝ passwd ሊከናወን ይችላል።

ያ አንዴ ከተጠናቀቀ ይቀጥሉ እና Apache ፣ PHP ፣ MariaDB እና PHPMyAdmin ን ይጫኑ።

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

MariaDB sudo ተስማሚ መጫኛ mariadb- አገልጋይ mariadb- ደንበኛ -y sudo apt install php-mysql -y sudo systemctl ዳግም ማስጀመር apache2.service

PHPMyAdminsudo ተስማሚ phpmyadmin -y ን ይጫኑ

ደህንነቱ የተጠበቀ የ MySQL ይለፍ ቃል ማዘጋጀትዎን አይርሱ።

ክፍል 4 - አስፈላጊውን የ Python ቤተ -መጽሐፍትን መጫን

ለጀርባው ፣ አንዳንድ ቤተ -መጻሕፍት ያስፈልጉናል። እነዚህ የ pip3 ትዕዛዙን በመጠቀም ሊጫኑ ይችላሉ።

pip3 mysql-connector-python ን ይጫኑ

pip3 ጫን flask-socketio

pip3 flask-cors ን ይጫኑ

pip3 ጫን geventpip3 gevent-websocket ን ይጫኑ

pip3 ጫን ttn

ደረጃ 2 ኤሌክትሮኒክስን መዘርጋት

ኤሌክትሮኒክስን መዘርጋት
ኤሌክትሮኒክስን መዘርጋት
ኤሌክትሮኒክስን መዘርጋት
ኤሌክትሮኒክስን መዘርጋት

ይህ ፕሮጀክት እንዲሠራ ሁሉንም ኤሌክትሮኒክስ ማገናኘት አለብን።

የሎራ ጋሻ በቀላሉ በቦታው ሊቀመጥ ይችላል። በእርስዎ Arduino ላይ ካስማዎች ጋር ብቻ ካስማዎች አሰልፍ.

ሌሎቹ ግንኙነቶች በእኔ የፍሪቲንግ መርሃግብር ውስጥ ተገልፀዋል። የትኛውን እዚህ ማውረድ ይችላል-

ደረጃ 3 የውሂብ ጎታውን ዲዛይን ማድረግ

የውሂብ ጎታውን ዲዛይን ማድረግ
የውሂብ ጎታውን ዲዛይን ማድረግ

ሁሉንም የጨዋታ እና ዳሳሾች ውሂብ ለማከማቸት ፣ ጥቂት ሰንጠረ madeችን ሠርቻለሁ -

የመለኪያ እና ዳሳሽ የመለኪያ መለኪያዎች ፣ በአነፍናፊ ሰንጠረ inች ውስጥ ተገኝቷል። እሱ የአነፍናፊውን ፣ የመለኪያውን ዋጋ (ለምሳሌ ተዛማጆች 51.123456 ፣ 3.123456) እና አማራጭ የጨዋታ መታወቂያ (በመለኪያ ወቅት አንድ ጨዋታ ንቁ ከሆነ).

speler የተጫዋቹ ስሞች እና የ RFID ባጃቸው UID። አማራጭ የመስክ አወያይ ታክሏል ፣ ይህ ሰው ጨዋታውን ማሻሻል ይችላል (ለምሳሌ ጊዜን ከማቆም በፊት)።

spel የጨዋታ መረጃ (የመጀመሪያ እና የመጨረሻ ሰዓት)።

spel_has_speler በ spel እና speler መካከል ያለው ግንኙነት። ተጫዋቾች ለጨዋታ የሚመደቡበት ይህ ነው።

በዚህ ሰንጠረዥ ውስጥ ውጤቱ ተቀምጧል። የጨዋታውን መታወቂያ ፣ የተጫዋች መታወቂያ ፣ ሳጥኑን የሰረቀበትን ጊዜ እና የጠፋበትን ጊዜ (ሌላ ሰው ሲሰርቅ ወይም ጨዋታው ሲያልቅ) ይ Itል። የመነሻ ሰዓቱን ከመጨረሻው ጊዜ በመቀነስ ፣ ከዚያ ቀረፃ ያገኘውን ውጤት ማስላት ይችላሉ።

የውሂብ ጎታ ወደ ውጭ መላክ በእኔ GitHub (https://github.com/BoussonKarel/CaptureTheBox) ላይ ሊገኝ ይችላል

በ PHPMyAdmin / MySQL Workbench ውስጥ sql ን ይክፈቱ እና ያሂዱ። የውሂብ ጎታ አሁን ወደ አገር ውስጥ መግባት አለበት።

ደረጃ 4 - በ TTN ላይ መለያ ማቀናበር

ደረጃ 1 በ TTN ላይ ለመለያ ይመዝገቡ እና መተግበሪያ ይፍጠሩ።

በ TheThingsNetwork ላይ ለመለያ ይመዝገቡ ፣ ከዚያ ወደ ኮንሶል> መተግበሪያ ያክሉ።

ለመተግበሪያዎ ስም ይምረጡ እና መተግበሪያ አክልን ጠቅ ያድርጉ።

ደረጃ 2 መሣሪያን ያስመዝግቡ

ማመልከቻዎን ሲጨርሱ ወደ የመመዝገቢያ መሣሪያ ይሂዱ።

የመሣሪያ መታወቂያ ይምረጡ ፣ ይህ የፈለጉት ሊሆን ይችላል (የእባብ ጉዳይ እስከሆነ ድረስ) እና ይመዝገቡን ጠቅ ያድርጉ።

በመሣሪያ EUI ስር አመንጪ አዶውን ጠቅ ያድርጉ ፣ ስለዚህ TTN ለእርስዎ አንድ ያመነጫል።

ደረጃ 3 - ማስረጃዎችዎን ይፃፉ

አሁን ወደ መሣሪያዎ ይሂዱ እና ከመሣሪያ EUI ፣ የመተግበሪያ EUI እና የመተግበሪያ ቁልፍ ቀጥሎ ባለው የኮድ አዶ ላይ ጠቅ ያድርጉ። አሁን እንደ ባይት ድርድር መታየት አለበት።

ከመቅዳትዎ በፊት ፣ የመቀየሪያ ቁልፍን ጠቅ ያድርጉ እና የእርስዎ ዴቪ EUI እና የመተግበሪያ EUI LSB FIRST መሆናቸውን ያረጋግጡ።

የእርስዎ የመተግበሪያ ቁልፍ MSB FIRST ሆኖ መቆየት አለበት (ያንን አይቀይሩት)።

በሚቀጥለው ደረጃ እነዚህን ቁልፎች ያስፈልግዎታል -አርዱዲኖን ማቀናበር።

ደረጃ 4 - የእርስዎን የመተግበሪያ አክሲዮኖች ቁልፍ ይፃፉ

አሁን በእኛ Raspberry Pi ላይ MQTT ን ለማዋቀር አንድ ተጨማሪ ቁልፍ እንፈልጋለን።

ወደ ትግበራዎ ይሂዱ እና ወደ Acces ቁልፎች ወደ ታች ይሸብልሉ።

ይህንን በመጠባበቂያ ደረጃ ውስጥ ያስፈልግዎታል።

ደረጃ 5: አርዱዲኖን ማቀናበር

የአርዲኖ ኮድ እንዲሁ በ GitHub ላይ ፣ በአርዱዲኖ (https://github.com/BoussonKarel/CaptureTheBox) ላይ ሊገኝ ይችላል

ተደራጅቶ እንዲቆይ ይህ ኮድ በበርካታ ትሮች ተከፍሏል።

ዋናው ኮድ - የፒን መግለጫዎች ፣ ማዋቀር () እና loop ()

0_LoRa.ino ይህ ኮድ ሎአራን በመጠቀም ግንኙነቱን ይቆጣጠራል።

የ LDR ፣ GPS እና RFID መለያዎችን መረጃ በ 13 ባይት ድርድር ውስጥ ያስቀምጣል እና ይህንን ወደ TheThingsNetwork ይልካል።

1_LDR.ino የአናሎግ አንባቢን () በመጠቀም ፣ በብርሃን ጥገኛ ተከላካይ ላይ ያለውን የቮልቴጅ መጠን ይለካል።

ይህ ወደ ብርሃን መቶኛ (0 ምንም መሆን የለበትም ፣ 100 የሞባይል ስልክ የእጅ ባትሪ ነው) ይለወጣል።

2_GPS.ino ይህ TX1 እና RX1 (Serial1) በመጠቀም ተከታታይ ግንኙነትን ይጠቀማል።

የሳጥኑን ኬክሮስ እና ኬንትሮስ ለማግኘት የ NMEA መልዕክቶችን (የ $ GPRMC መልዕክቶች ትክክለኛ እንዲሆኑ) ይጠቀማል።

3_RFID.

4_DotMatrix.

በማዋቀር ላይ።

ይህን ኮድ ወደ አርዱinoኖ ከመስቀልዎ በፊት ጥቂት ቤተ -ፍርግሞችን መጫን ይኖርብዎታል።

የአርዱዲኖ-ኤልኤምአይሲ ቤተ-መጽሐፍት በማትሂጅስኩይጂማን (https://github.com/matthijskooijman/arduino-lmic)

የ MFRC522 ቤተ -መጽሐፍት ለ RFID አንባቢ (https://github.com/miguelbalboa/rfid)

አሁን ወደ main.ino ይሂዱ እና DEVEUI ን ፣ APPEUI ን እና APPKEY ን ወደ የመጨረሻ ደረጃ ወደሚቀዱዋቸው ይለውጡ።

ደረጃ 6 - የኋላውን ማዘጋጀት

የዚህ ፕሮጀክት ጀርባ በ RPI> Backend (https://github.com/BoussonKarel/CaptureTheBox) ስር በእኔ GitHub ላይ ሊገኝ ይችላል።

እንዴት ነው የሚሰራው?

  1. በየ 10 ሰከንዶች ኮዱ ገባሪ ጨዋታን ይፈልጋል። አንድ ከተገኘ huidigSpel (የአሁኑ ጨዋታ) በሚለው ተለዋዋጭ ውስጥ ይቀመጣል።
  2. ሁነታው ወደ ሴሪያል ከተዋቀረ በአርዱዲኖ እና በፒ.ኢ.ኢ.ዲ. እና በጂፒኤስ እሴቶች ላይ ፒ ምርጫዎች መካከል ገመድ ጥቅም ላይ ይውላል። አርዱinoኖ በ JSON ቅርጸት ምላሽ ይሰጣል። የ RFID መለያዎች በሚቀርቡበት ጊዜ ሁሉ ይላካሉ። ይህ ሁናቴ ለልማት ዓላማዎች ብቻ ጥቅም ላይ ውሎ ነበር እና በእርግጥ አስፈላጊ አይደለም።
  3. ሁነታው ወደ ሎራ ከተዋቀረ የሎራ ውሂብ በ TTN በተቀበለ ቁጥር የመልሶ ጥሪን የሚቀሰቅስ የ MQTT ደንበኛ ይፈጠራል። ይህ LDR ፣ GPS እና RFID ውሂብ ይ containsል።
  4. የኤፒአይ መጨረሻ ነጥቦችን በመጠቀም ግንባሩ መረጃን ሰርስሮ ማውጣት ይችላል። አብዛኛው ውሂቡ huidigSpel.id ን በመጠቀም ዳታ ነው።

ቅንብሮቹን ይቀይሩ ወደ ሚስጥሮች.py ይሂዱ እና የ LoRa መተግበሪያዎን ስም እና የመለያዎች ቁልፍዎን (ቀደም ብለው ጽፈዋል)።

ወደ config.py ይሂዱ እና የውሂብ ጎታ ምስክርነቶችዎን (እንደ የይለፍ ቃል ፣ ተጠቃሚ…)

እንደ አገልግሎት ማቀናበር app.py ን ለማሄድ ይሞክሩ ፣ አንዴ ይህ እየሰራ መሆኑን ካረጋገጡ በኋላ እንደ አገልግሎት ልንጠቀምበት እንችላለን። ይህ ፓይዎን በሚነሳበት ጊዜ በራስ -ሰር ኮዱን በጀርባ ይጀምራል።

ይህንን ቅጂ ctb_service.service ወደ /etc/systemd/system/ctb_service.service ለማድረግ። sudo cp ctb_service.service /etc/systemd/system/ctb_service.service

አሁን systemctl ን በመጠቀም ctb_service.service ን ያንቁ

በኮዱ ላይ አንዳንድ ለውጦችን ማድረግ ከፈለጉ ፣ የስርዓትctl ማቆምን በመጠቀም በቀላሉ ሊያቆሙት ይችላሉ (ይህ ዳግም ማስነሳት ላይ እንደገና ይጀመራል) ወይም ማሰናከል (ስርዓት በራስ -ሰር እንዳይጀምር ያቆሙት) የ systemctl አሰናክልን በመጠቀም።

የምዝግብ ማስታወሻዎቹን (በስህተቶች ምክንያት) ማማከር ከፈለጉ ፣ journalctl -u ctb_service.service ን መጠቀም ይችላሉ።

በአገልግሎቶች ላይ ተጨማሪ መረጃ እዚህ ይገኛል

ደረጃ 7 የፊት ግንባርን ማቀናበር

እንደተለመደው የፊት ግንባር በ RPI> Frontend (https://github.com/BoussonKarel/CaptureTheBox) ስር በእኔ GitHub ላይ ሊገኝ ይችላል።

ይህንን በ Raspberry Pi /var /html አቃፊ ውስጥ ይለጥፉ።

ይህ ለጨዋታው ሁሉንም አስፈላጊ የድር ገጾችን ይ containsል።

እንዲሁም ከጀርባው ጋር ለመገናኘት ስክሪፕት (በእውነተኛ ጊዜ እና በኤፒአይ መጨረሻ ነጥቦችን በመጠቀም) ይ containsል።

ደረጃ 8 - መያዣን ማከል

መያዣን ማከል
መያዣን ማከል
መያዣን ማከል
መያዣን ማከል

ለጉዳዩ ፣ ከሚከተሉት ቁሳቁሶች/ቴክኒኮች ጋር አንድ የድሮ መሣሪያ መያዣን እጠቀም ነበር።

  • 3 ዲ ህትመት
  • ባትሪውን በቦታው ለማቆየት አረፋ
  • እንደገና ጥቅም ላይ የዋሉ የእንጨት ጣውላዎች
  • ትኩስ ሙጫ
  • ብሎኖች እና ለውዝ

በጉዳይዎ የሚያደርጉት የእርስዎ ምርጫ ነው! የጥበብ ነፃነት እሰጥሃለሁ።

ለማነሳሳት ፣ የእኔን (የተጠናቀቀውን) ጉዳይ አንዳንድ ፎቶዎችን አክዬአለሁ።

የሚመከር: