ዝርዝር ሁኔታ:
- ደረጃ 1 ፦ 3 ዲ ካርታ ማግኘት
- ደረጃ 2 - ለ LED ማስገቢያዎች ካርታውን ማዘጋጀት
- ደረጃ 3: ኤልኢዲዎቹን ያስገቡ
- ደረጃ 4: ኤልዲዎቹን ከ Raspberry Pi ጋር ያገናኙ
- ደረጃ 5: ኤልኢዲዎቹን ይፈትሹ
- ደረጃ 6: ሲጠየቁ LED ን ለማብራት ኮድ
- ደረጃ 7 - ቦታን እንዴት እንደሚቀበሉ
- ደረጃ 8: ይህ ሁሉ እንዴት እንደሚሰራ
- ደረጃ 9: ከፕሮጀክትዎ ላይ ከመነሳሳት የራስዎን ይገንቡ
ቪዲዮ: የጂፒኤስ መከታተያ 3 ዲ ካርታ 9 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:30
ይህ ፕሮጀክት የቤተሰብ አባላትን ቦታ ለማሳየት በመንገዶች ፣ በወንዞች እና በከተሞች ፣ በ LED ቢኮኖች አማካኝነት 3 ዲ የታተመ 3 ዲ ካርታ ነው። አንድ ልጅ በትምህርት ቤት መሆን አለመሆኑን ፣ ወይም የሁለቱም ወላጆች ሥፍራ ብቻ ሊያሳይ ይችላል። እንዲሁም እራት ለትክክለኛው ጊዜ እንዲደረግ ወላጆቹ ወደ ቤት የሚመለሱበትን ጊዜ ለመተንበይም ልንጠቀምበት እንችላለን። እንዲሁም ለቤተሰብ እና ለጓደኞች ለማሳየት እና ለማሳየት በአጠቃላይ አሪፍ ፕሮጀክት ነው።
ይህንን አስተማሪነት በመሥራት ይደሰታሉ ወይም ስለሠራሁት ፕሮጀክት በማወቅ ይደሰታሉ ብዬ ተስፋ አደርጋለሁ
ደረጃ 1 ፦ 3 ዲ ካርታ ማግኘት
የአካባቢያችሁን 3 ዲ ካርታ ለማግኘት ፣ አንዱን በማድረጉ ሂደት እርስዎን ለመምራት የሚረዳ የተለየ መመሪያ ጽፌያለሁ። ከአስተማሪው ጋር ያለው አገናኝ እዚህ አለ
www.instructables.com/id/Making-a-3D-Print…
ደረጃ 2 - ለ LED ማስገቢያዎች ካርታውን ማዘጋጀት
አሁን የ 3 ዲ ካርታ አለዎት ፣ በመንገዶች ፣ በከተሞች እና በወንዞች ፣ አንድ ሰው በካርታው ላይ የት እንዳለ የሚጠቁምበት መንገድ እንፈልጋለን። እኔ ባለ ሁለት-ቀለም 3 ሚሜ አርጂ ኤልኢዲዎችን እጠቀም ነበር ፣ ምክንያቱም የካርታው ዋና ዓላማ ሁለቱ ወላጆች የት እንዳሉ ለማሳየት ነው። በዕድሜ ትልቁ ልጅ ያለበትን ለማሳየት በተወሰኑ ቦታዎች ላይ አርጂቢ ኤልዲ (LED) ተጠቀምኩ። በ Raspberry Pi ላይ ለማምረት የ 28 ፒኖች ገደብ አለ ፣ ስለሆነም የ LEDs ሥፍራዎችን በጥበብ ይምረጡ። እኔ ወደ 24 የሚጠጉትን ተጠቅሜ አበቃሁ ፣ ስለዚህ ደህና መሆን አለብዎት።
PLA ን ለመቦርቦር ፣ መደበኛ የእንጨት መሰርሰሪያ ቢት በጥሩ ሁኔታ ሲሠራ አገኘሁ ፣ እና እኔ እንደ እንጨት እንደማከም አድርጌያለሁ።
ካርታው በጣም ወፍራም በነበረባቸው ቦታዎች ፣ የመሠረቱን ንብርብር በትላልቅ ቁፋሮ ቢት ፣ ከዚያም የሚታየው የላይኛው ንብርብር ከትክክለኛው የ 3 ሚሜ ቁፋሮ ቢት ጋር አወጣለሁ።
ደረጃ 3: ኤልኢዲዎቹን ያስገቡ
አሁን ለኤልዲዎቹ የሚቀመጡበት ቀዳዳዎች ስላሉን ፣ እኛ ውስጥ ማጣበቅ እንችላለን። PVA ወይም Superglue ለዚህ በጥሩ ሁኔታ ይሠራል ፣ PVA በቦታው ላይ በማሸጉ ዙሪያውን እንደሮጠ አገኘሁ ፣ እና superglue እንዲሁ በጥሩ ሁኔታ ሰርቷል። በእያንዲንደ ኤል.ዲ. (LED) ሊይ በሚታይ ጎን ሊይ በጥቂት ሚሊ ሜትር ብቻ ሊጣበቁ ይችሊለ። በጀርባው ላይ ስለ እግሮች አይጨነቁ ፣ አንዴ ከተሸጡ በኋላ እነዚህን ማጠፍ እንችላለን።
ደረጃ 4: ኤልዲዎቹን ከ Raspberry Pi ጋር ያገናኙ
እኔ በቀጥታ LEDs ን ወደ Raspberry Pi ሸጥኳቸው ፣ ሆኖም ፣ እርስዎ ቀድሞ የተሸጠ የራስጌ ካለዎት ፣ ወይም ፒን ለሌላ ነገር ለመጠቀም መቻል ከፈለጉ ፣ ከዚያ ለእያንዳንዱ ኤልዲኤም የመዝለያ ሽቦዎችን እንዲጠቀሙ ሀሳብ አቀርባለሁ ፣ ያ ማለት ፒ ሊወገድ የሚችል ነው። አንዴ ኤልዲውን ከሸጥኩ በኋላ ጀርባው ላይ እንዳይጣበቁ እግሮቼን ወደ ታች አጣጥፌ እንደነበረ ማየት ይችላሉ።
ደረጃ 5: ኤልኢዲዎቹን ይፈትሹ
ሁሉም ኤልኢዲዎች እየሠሩ መሆናቸውን ለማረጋገጥ ፣ እያንዳንዱን በሚቻል ፒን ውስጥ የሚያልፍ ስክሪፕት ሮጥኩ ፣ እና አንድ በአንድ ያበራልኋቸው ፣ ይህም እኔ ጠቅ ስገባ በሚቀጥለው ወደ ላይ ይወጣል። ይህ የትኛውን የፒን ቁጥር በጣም ጠቃሚ እንደሆነ የገባበትን ቦታ እንዳስተውል አስችሎኛል።
RPi. GPIO ን እንደ GPIO ያስመጡ
የማስመጣት ጊዜ GPIO.setmode (GPIO. BCM) በክልል ውስጥ (0 ፣ 28) ፦ GPIO.setup (i ፣ GPIO. OUT) በክልል ውስጥ ለ (0 ፣ 28) ፦ GPIO.output (i ፣ GPIO. HIGH) time.sleep (0.3) GPIO.output (i, GPIO. LOW) ህትመት ("ያ ነበር:" + str (i)) z = raw_input ("ቀጣይ?")
ይህ በሚሆንበት ጊዜ ፣ የትኛው ፒን የትኛው ቦታ እና የትኛው ቀለም እንዳደረገ የጽሑፍ ፋይል ላይ እመለከተዋለሁ። በሚቀጥለው ደረጃ በጣም ጠቃሚ ስለሆነ ይህንን ማድረግ ያስፈልግዎታል።
ደረጃ 6: ሲጠየቁ LED ን ለማብራት ኮድ
ይህንን ፕሮጀክት የሠራሁበት መንገድ ፒን ለማብራት የሚያስችል መሠረታዊ ድር ጣቢያ ያለው አንድ Raspberry Pi Zero W ን ያካትታል። ይህ ማለት ብዙውን ጊዜ የሚበራ እና እየሮጠ ያለው ዋናው ፒ 4 ማቀነባበሪያውን ሊያከናውን ይችላል ፣ ከዚያ ትንሹ ፒ 0 ፒን ብቻ ማብራት አለበት ፣ ይህም ነገሮችን ትንሽ የበለጠ የተወሳሰበ ያደርገዋል። ይህንን ያደረግሁት ለቅንብሬቼ የሚስማማ ስለሆነ ፣ እና ደግሞ Pi 0 በኋላ ምን እንደምናደርግ ትንሽ ሊዘገይ እንደሚችል ተሰማኝ።
RPi. GPIO ን እንደ GPIO ያስመጡ
የማስመጣት ጊዜን ከ flask ማስመጣት Flask ፣ render_template ፣ ጥያቄ ፣ jsonify ማስመጣት os መተግበሪያ = Flask (_ name_) p = GPIO.setmode (GPIO. BCM) ለክልል (0 ፣ 28) ፦ GPIO.setup (i ፣ GPIO። OUT) @app.route ('/') def index (): መመለስ request.remote_addr @app.route ("/off/") def turn_off (pin): GPIO.output (int (pin), GPIO. LOW) "ጠፍቷል" @app.route ("/ጠፍቷል/ሁሉም") def alloff (): በክልል ውስጥ (0, 28): GPIO.output (i, GPIO. LOW) "ጠፍቷል" @app.route ("/አብራ/") def turn_on (pin): GPIO.output (int (pin) ፣ GPIO. HIGH) _name_ == '_main_': app.run (አርም = እውነት ፣ አስተናጋጅ = '0.0. 0.0 ')
ይህ የሚሠራበት መንገድ የፒ አይ ፒ አድራሻውን ዩአርኤል ይጠብቃል እና ከዚያ ያበራል ወይም ያጥፉ እና ከዚያ የፒን ቁጥሩን ይጠብቃል።
ይህንን ኮድ በ Raspberry Pi የቤት ማውጫ ውስጥ ያስቀምጡ እና “pin_website.py” ብለው ይሰይሙት
ይህንን ለማድረግ በራስ -ሰር እንዲሠራ ማቀናበር ያስፈልግዎታል ፣ ስለዚህ ይህንን ለማድረግ በተርሚናል ዓይነት ውስጥ- sudo nano /etc /profile
በዚህ ፋይል ግርጌ ላይ «python3 pin_website.py &» ን ያክሉ
በጀርባው ውስጥ እንዲሠራ ስለሚያደርግ “&” አስፈላጊ ነው ፣ እና ስለዚህ ማስነሳት እንዲቀጥል ያስችለዋል
ደረጃ 7 - ቦታን እንዴት እንደሚቀበሉ
IFTTT ን በመጠቀም ስልኩ ወደ አንድ ቦታ ሲገባ ኢሜል ሊልክልዎ ፣ ወይም የድር አድራሻ መላክ ወይም በቴሌግራም መላክ እንዲችል አገልግሎትን ማቀናበር ይችላሉ።
ደረጃ 8: ይህ ሁሉ እንዴት እንደሚሰራ
ያለኝ ቅንብር በ https://freedns.afraid.org/ የተሰጠውን አገልግሎት በመጠቀም ወደብ ማስተላለፍ እና የማይንቀሳቀስ ዲ ኤን ኤስ የእኔን ድር ጣቢያ የሚያስተናግድ አገልጋይ ፒ ነው። ብዙ ይህ በጣም የተወሳሰበ ነው ፣ እና ስለ ወደብ ማስተላለፍ ግንዛቤ ሊኖርዎት ይገባል ፣ ይህንን ክፍል በሌላ ጊዜ እንዴት ማድረግ እንደሚቻል መመሪያ እሰጥ ይሆናል።
እርስዎ ሊያደርጉት የሚችሉበት ሌላው መንገድ ወደ ፒኢ መልእክቶችን ለማግኘት ቴሌግራምን መጠቀም ፣ ወይም በጣም ቀላሉ ፣ ኢሜሎቹን የሚያነብ እና በዚያ በኩል የአካባቢ ዝመናዎችን የሚቀበል የኢሜል አንባቢ ማዘጋጀት ነው።
የቴሌግራምን ቦት ወይም የኢሜል አንባቢን አልሞከርኩም ፣ ግን እንዴት ማድረግ እንደሚችሉ የሚያሳዩ ብዙ ትምህርቶች አሉ።
IFTTT ን በመጠቀም በድር ድርጣቢያዎች የሚጠየቀው የእኔ የፍላሽ / ፓይዘን ኮድ እዚህ አለ።
ከ flask ማስመጣት Flask ፣ render_template ፣ መጠየቅ ፣ jsonify
ከውጪ ጊዜ የማስመጣት ጊዜን ከካርታ ማስመጣት * app = Flask (_ name_) l = 0 setup () @app.route ('/') def index (): return request.remote_addr @app.route ('/mum/enter /') def mu (ሥፍራ): mum.current_loc (ቦታ) መመለስ "ለዝማኔው አመሰግናለሁ ፣ እማዬ!" @app.route ("/dad/enter/") def da (l): dad.current_loc (l) መመለስ "ለዝማኔው አመሰግናለሁ አባዬ!" @app.route ("/child/enter/") def child_enter (l): me.current_loc (l) "Hey, Me" @app.route ('/mum/መውጣት/') def mume (ቦታ): mum.offline (ቦታ) ይመለሳል "ለዝማኔው አመሰግናለሁ ፣ እማዬ!" @app.route ("/dad/መውጣት/") def dade (l): dad.offline (l) መመለስ "ለዝማኔው አመሰግናለሁ ፣ አባዬ!" @app.route ("/ልጅ/መውጫ/") def child_exit (l): me.offline (l) "Hey, Me" @app.route ("/reset") def redo (): ማዋቀር () መመለስ "ዳግም አስጀምር!" _name_ == '_main_': app.run (አርም = እውነት ፣ አስተናጋጅ = '0.0.0.0')
እና map.py:
http.client ፣ urllib.request ፣ urllib.parse ፣ urllib.error ፣ base64 ያስመጡ
አስት አስመጣ ፣ json የማስመጣት ጊዜ የማስመጣት ክር የማስመጣት os params = urllib.parse.urlencode ({}) last_loc = 0 dlast_loc = 0 mlast_loc = 0 def setup (): conn = http.client. HTTPSConnection ('freedns.afraid.org') conn.request ("GET", str ("/ተለዋዋጭ/update.php? ZmFpOWlJQ29QczhiOW1iYWJoNVdVcG9HOjE5MTM2ODU2")) ምላሽ = conn.getresponse () conn = http.client. HTTPConnection ('192.168.1.2 (192.168.1.2) "GET" ፣ str ("/off/all")) ምላሽ = conn.getresponse () f = open ("pin" ፣ "w") f.write (str (-1)) f.close () f = ክፍት ("pind", "w") f.write (str (-1)) f.close () f = open ("pinm", "w") f.write (str (-1)) f.lose () class mum: def current_loc (l): global last_loc locs = {"llansantffraid": 4, "oswestry": 5, "lynclys": 8, "home": 9, "shrewsbury": 11, "llanymynech": 13 ፣ “አራት መስቀሎች”: 18 ፣ “llandrinio”: 25 ፣ “welshpool”: 27} f = open (“pin” ፣ “w”) f.write (str (-1)) f.close () ጊዜ። እንቅልፍ (1) conn = http.client. HTTPConnection ('192.168.1.251:5000') conn.request ("GET" ፣ str ("/off/") + str (last_loc)) ምላሽ = conn.getrespons ሠ () conn = http.client. HTTPConnection ('192.168.1.251:5000') conn.request ("GET" ፣ str ("/on/") + str (locs [l])) ምላሽ = conn.getresponse () last_loc = locs [l] def offline (l): global last_loc locs = {"llansantffraid": 4, "oswestry": 5, "lynclys": 8, "home": 9, "shrewsbury": 11, "llanymynech ": 13," አራት መስቀሎች ": 18," llandrinio ": 25," welshpool ": 27} conn = http.client. HTTPConnection ('192.168.1.251:5000') conn.request (" GET ", str (" /ጠፍቷል " ("python3 flash.py &") የክፍል አባ: locs = {"welshpool": 3, "lynclys": 1, "home": 23, "shrewsbury": 0, "llanymynech": 6, "four crosses": 15 ፣ “llandrinio”: 10 ፣ “welshpool”: 24} def current_loc (l): dlast_loc locs = {"welshpool": 3, "lynclys": 1, "home": 23, "shrewsbury": 0, " llanymynech ": 6," አራት መስቀሎች ": 15} f = ክፍት (" pind "," w ") f.write (str (-1)) f.close () time.sleep (1) conn = http.client. HTTPC ግንኙነት ('192.168.1.251:5000') conn.reques t ("GET" ፣ str ("/off/") + str (dlast_loc)) ምላሽ = conn.getresponse () conn = http.client. HTTPConnection ('192.168.1.251:5000') conn.request ("GET"), str ("/on/") + str (locs [l])) response = conn.getresponse () dlast_loc = locs [l] def offline (l): dlast_loc locs = {"welshpool": 3, "lynclys ": 1," ቤት ": 23," shrewsbury ": 0," llanymynech ": 6," አራት መስቀሎች ": 15," llandrinio ": 10} conn = http.client. HTTPConnection ('192.168.1.251:5000') conn.request ("GET" ፣ str ("/off/") + str (dlast_loc)) ምላሽ = conn.getresponse () f = open ("pind", "w") f.write (str (locs [l])) f.close () os.system ("python3 flashd.py &") class me: def current_loc (l): mlast_loc locs = {"home": 22, "school": 2, "oswestry"): 14} ረ = ክፍት ("pinm", "w") f.write (str (-1)) f.close () time.sleep (1) conn = http.client. HTTPConnection ('192.168.1.251:5000 ') conn.request ("GET" ፣ str ("/off/") + str (mlast_loc)) ምላሽ = conn.getresponse () conn = http.client. HTTPConnection (' 192.168.1.251:5000 ') conn.request (“ያግኙ” ፣ str (“/on/”) + str (እነሆ cs [l])) ምላሽ = conn.getresponse () mlast_loc = locs [l] def offline (l): dlast_loc locs = {"home": 22, "school": 2, "oswestry": 14} conn = http. ደንበኛ, "ወ") f. ጻፍ (str (locs [l])) f.close () os.system ("python3 flashm.py &")
ደረጃ 9: ከፕሮጀክትዎ ላይ ከመነሳሳት የራስዎን ይገንቡ
ስለዚህ የቀደመው ደረጃ ለመረዳት በጣም ከባድ እንደሚሆን አውቃለሁ ፣ ስለዚህ ካርታውን እንዴት እንደሚያደርጉት በማሳየት እና ኤልኢዲዎችን የሚያበራ እና የሚያጠፋ የራስቤሪ ፓይ እንዲኖረኝ እተወዋለሁ። አሁን ፣ IFTTT ን በመጠቀም ፣ ኢሜል የሚልክልዎ የፓይዘን ስክሪፕት መፍጠር ያስፈልግዎታል። ከዚያ በጣም ቀላል የሆነውን የኢሜል ንባብ ቁራጭ ማግኘት ያስፈልግዎታል (ጉግል)። ከዚያ አንዴ ኢሜልን ካነበቡ እና የወላጅ ቦታን ካገኙ ፣ የትኛውን ፒን ማብራት እንዳለብዎ ‹if› የሚለውን መግለጫ ይጠቀሙ።
በካርታው ላይ ፣ የሚያብለጨልጭ ብርሃን ማለት አካባቢውን ለቀው ወጥተዋል ማለት ነው
በሌላ ፓይ ላይ ኤልኢዲዎችን ከፓይዘን የማብራት መንገድ እንደሚከተለው ነው
http.client ፣ urllib.request ፣ urllib.parse ፣ urllib.error ፣ base64 ያስመጡ
params = urllib.parse.urlencode ({}) conn = http.client. HTTPConnection ('192.168.1.251:5000') #ይህን ከ raspberry pi ካርታ IP አድራሻ conn.request ("GET", str ("/off) /2”)) # ይህ የፒን ቁጥር 2 ምላሽ = conn.getresponse () # ይህ ዩአርኤሉን ይጠይቃል ፣ እና ከዚያ ካርታው ፒ ይህንን ያነባል እና የፒን ቁጥር 2 ን ያጠፋል
በመሠረቱ ፣ እኔ በ 3 ዲ ካርታዬ ያደረግሁትን የራስዎን የጂፒኤስ መከታተያ ካርታ ለመሥራት እንደ መነሳሻ አድርገው ሊጠቀሙበት እንደሚችሉ ተስፋ አደርጋለሁ።
የሚመከር:
የጂፒኤስ መከታተያ 6 ደረጃዎች
የጂፒኤስ መከታተያ: ሄይ ጓዶች በዚህ ቪዲዮ ውስጥ Esp 8266 (nodemcu) እና ኒዮ 6 ሜ ጂፒኤስ ሞጁልን በመጠቀም የጂፒኤስ መከታተያ እንሠራለን ስለዚህ እንጀምር
የራስዎን የጂፒኤስ ኤስ ኤም ኤስ ደህንነት መከታተያ ስርዓት ያድርጉ - 5 ደረጃዎች (ከስዕሎች ጋር)
የራስዎን የጂፒኤስ ኤስኤምኤስ ደህንነት መከታተያ ስርዓት ያድርጉ - በዚህ ፕሮጀክት ውስጥ የእርስዎን ቦታ የሚልክልዎትን የደህንነት መከታተያ ስርዓት ለመፍጠር ሲም 533 ጂ ጂ ሞዱሉን ከአርዱዲኖ እና ፓይዞኤሌክትሪክ አስተላላፊ እንደ አስደንጋጭ ዳሳሽ ጋር እንዴት እንደሚያዋህዱ አሳያችኋለሁ። በኤስኤምኤስ በኩል ውድ ተሽከርካሪ በ
የጂፒኤስ መንገድ መከታተያ V2: 4 ደረጃዎች (ከስዕሎች ጋር)
የጂፒኤስ መንገድ መከታተያ V2: ፕሮጀክት የጂፒኤስ መንገድ መከታተያ V2 ቀን - ግንቦት - ሰኔ 2020 UPDATET የዚህ ፕሮጀክት የመጀመሪያ ስሪት በመርህ ደረጃ ሲሠራ መስተካከል የነበረባቸው በርካታ ስህተቶች ነበሩት። በመጀመሪያ ሳጥኑን አልወደድኩትም ስለዚህ በሌላ ተተካሁት። በሁለተኛ ደረጃ
የጂፒኤስ የመኪና መከታተያ በኤስኤምኤስ ማሳወቂያ እና የነገር ንግግር ውሂብ ሰቀላ ፣ አርዱዲኖን መሠረት ያደረገ ፣ የቤት አውቶሜሽን - 5 ደረጃዎች (ከስዕሎች ጋር)
የጂፒኤስ የመኪና መከታተያ በኤስኤምኤስ ማሳወቂያ እና በ ‹‹Spepe› መረጃ ሰቀላ ፣ አርዱዲኖ ላይ የተመሠረተ ፣ የቤት አውቶማቲክ› - ይህንን የጂፒኤስ መከታተያ ባለፈው ዓመት አደረግሁት እና በጥሩ ሁኔታ ስለሚሠራ አሁን በአስተማሪ ላይ አተምኩት። በእኔ ግንድ ውስጥ ካለው መለዋወጫዎች መሰኪያ ጋር ተገናኝቷል። የጂፒኤስ መከታተያው በተንቀሳቃሽ ስልክ ውሂብ በኩል የመኪናውን አቀማመጥ ፣ ፍጥነት ፣ አቅጣጫ እና የሚለካውን የሙቀት መጠን ይሰቅላል
ለታላቁ የጂፒኤስ መከታተያ ካርታ DeLorme Earthmate GPS LT-20 ን ከእርስዎ ጉግል ምድር ጋር እንዴት ማገናኘት እንደሚቻል። 5 ደረጃዎች
ለታላቁ የጂፒኤስ መከታተያ ካርታ DeLorme Earthmate GPS LT-20 ን ከእርስዎ Google Earth ጋር እንዴት ማገናኘት እንደሚቻል ።: Google Earth Plus ን ሳይጠቀሙ የጂፒኤስ መሣሪያን ከታዋቂው የ Google Earth ፕሮግራም ጋር እንዴት እንደሚያገናኙ አሳያችኋለሁ። ይህ በተቻለ መጠን ርካሽ እንደሚሆን ዋስትና ለመስጠት ትልቅ በጀት የለኝም