ዝርዝር ሁኔታ:

CleanBot በ Guillaume Meurillon: 8 ደረጃዎች
CleanBot በ Guillaume Meurillon: 8 ደረጃዎች

ቪዲዮ: CleanBot በ Guillaume Meurillon: 8 ደረጃዎች

ቪዲዮ: CleanBot በ Guillaume Meurillon: 8 ደረጃዎች
ቪዲዮ: 새벽 5시에 시작하는 강아지 고양이 집사의 여름 준비 2024, ሀምሌ
Anonim
CleanBot በ Guillaume Meurillon
CleanBot በ Guillaume Meurillon
CleanBot በ Guillaume Meurillon
CleanBot በ Guillaume Meurillon

ይህ ለት / ቤት ለሠራሁት ፕሮጀክት መመሪያ ነው። ግቡ ከበይነመረቡ ጋር የተገናኘ ከ Raspberry Pi ጋር መሣሪያን መፍጠር ነበር ፣ ዳሳሾችን መረጃ በሚሰበስቡበት ጊዜ። ይህ ውሂብ በ (MySQL) የውሂብ ጎታ ውስጥ መቀመጥ ነበረበት። ውሂቡ በድር ጣቢያው መታየት ነበረበት ፣ በፍላንክ webapp ጥቅል እና በጂንጃ 2 አብነት በፒቶን ውስጥ ኮድ ተሰጥቶታል።

ሀሳቤ Raspberry Pi ፣ Arduino ፣ ቀድሞውኑ የተሰበረ የሮቦት ክፍተት እና በርካታ ዳሳሾችን በመጠቀም ‹የተጠለፈ› የሮቦት ክፍተት መፍጠር ነበር።

ደረጃ 1 - ክፍሎቹን መሰብሰብ

ክፍሎችን መሰብሰብ
ክፍሎችን መሰብሰብ
ክፍሎችን መሰብሰብ
ክፍሎችን መሰብሰብ
ክፍሎችን መሰብሰብ
ክፍሎችን መሰብሰብ
ክፍሎችን መሰብሰብ
ክፍሎችን መሰብሰብ

ማንኛውንም ነገር ከመፍጠርዎ በፊት ፣ ምን ክፍሎች እንደሚጠቀሙ ፣ እንዴት እንደሚገናኙ ፣ በ Python ውስጥ የሶፍትዌር ትምህርቶችን በመፃፍ እና በመሳሰሉ ላይ ብዙ ምርምር አደረግሁ።

የሚፈልጓቸውን ክፍሎች በቀላሉ መፈለግ እንዲችሉ የክፍሎቹ ዝርዝር እንደ ፋይል ይካተታል።

የእኔ Raspberry Pi ን ሳያስጨንቁ ዳሳሾቼን በብቃት ለማንበብ ከ Raspberry Pi አጠገብ አንድ አርዱዲኖ ኡኖ ለመጠቀም ወሰንኩ። እኔ ለ Uno የመረጥኩት ጥሩ የሰዓት ፍጥነት ስላለው እና በአናሎግ ፒኖች ምክንያት ነው። ለ Raspberry Pi (ኤ.ዲ.ሲ.) (ለምሳሌ MCP3008) መጠቀም እችል ነበር ፣ ግን ብዙ ተጨማሪ ሽቦዎች ያስፈልጉኝ ነበር ፣ በጣም ውድ እና የእኔ ፒ በጣም ጠንክሮ መሥራት ነበረበት።

ከዚያ ከተሰበረው የሮቦት ቫክዩም ጥቅም ላይ የዋሉትን ክፍሎች መፈተሽ ጀመርኩ። የተበላሸበት የውስጥ ኤሌክትሮኒክስ ፣ ግን ያ ምንም ችግር አልነበረም ፣ ምክንያቱም እነዛን በፍፁም እተካለሁ። እንደ እድል ሆኖ የዲሲ ሞተሮች አሁንም እየሠሩ ነበር ፣ ስለሆነም ከእነዚህ ውስጥ አንዳቸውም መተካት የለባቸውም።

ክፍሎች ዝርዝር:

  • Raspberry Pi 3 ቢያንስ 8 ጊባ የማይክሮ ኤስዲ ክፍል 10 እና መያዣ ያለው ፤
  • Raspberry Pi T-cobbler እና የዳቦ ሰሌዳ (ዎች);
  • አርዱዲኖ ኡኖ ወይም ተመሳሳይ (በተመረጠው ጨዋ ኤዲሲ ያለው የቻይንኛ ያልሆነ ስሪት ፣ አንዳንድ ቻይንኛዎች የአርኤፍ ጉዳዮች አሏቸው) ከአንድ ዓይነት ጉዳይ ጋር;
  • የኤተርኔት ገመድ;
  • ሀ (የተሰበረ) የሮቦት ክፍተት;
  • 3x HC-SR04 ለአልትራሳውንድ ሞጁሎች;
  • 1x የአዳራሽ ዳሳሽ ሞዱል;
  • በተለያዩ እሴቶች ውስጥ በርካታ ተቃዋሚዎች;
  • ኤል ዲ አር;
  • 6x 18650 Li-ion ባትሪዎች + 3-ሴል መያዣዎች ለ 12 ቮ (በተሻለ ሁኔታ አዲስ ባትሪዎችን መጠቀም ወይም የሊፖ ባትሪዎችን በተሻለ ሁኔታ መጠቀም አለብዎት ፣ እነዚህ ረዘም ላለ ጊዜ ይቆያሉ);
  • 18650 (ወይም እርስዎ የሚጠቀሙት የባትሪ ዓይነት) 12v 3-cell መሙላት pcb;
  • አንዳንድ ክፍሎችዎን ለመሸጥ አንዳንድ የ PCB DIY ሰሌዳዎች ፣
  • የ polyurethane ፕላስቲክ ሉህ;
  • ላፕቶፕ / ዴስክቶፕ ኮምፒተር።

የመሳሪያ ዝርዝር ፦

  • ከብዙ ቁፋሮ ቁርጥራጮች ጋር መሰርሰሪያ;
  • የማዕዘን መፍጫ (ምንም ልምድ ከሌለዎት አይጠቀሙ) ወይም እንደ ድሬሜል ያለ ነገር;
  • የአሸዋ ወረቀት ቁራጭ;
  • በርካታ ጠመዝማዛዎች;
  • ልዕለ -ማጣበቂያ ፣ የማጣበቂያ ሙጫ ፣…;
  • የሽያጭ ብረት (ሽቦዎችዎን በቀላሉ ለማቅለጥ ቅባት ይጠቀሙ);
  • ጥንድ የሽቦ መቁረጫዎች እና የማራገፊያ መሣሪያ።

የሶፍትዌር ዝርዝር (አማራጭ)

  • አዶቤ XD - የሽቦ ማቀነባበር እና ፕሮቶታይፕ መፍጠር ፣
  • Fritzing: የኤሌክትሪክ መርሃ ግብር መፍጠር;
  • PyCharm ፕሮፌሽናል- Python IDE ማሰማራት እና የርቀት አስተርጓሚ የመጠቀም ችሎታ ያለው።
  • Putty - ከ Pi ጋር ፈጣን እና ቀላል የኤስኤስኤስ ግንኙነት;
  • Etcher.io: የራስፕስያን ምስል ወደ ኤስዲ ካርድ ለማብራት ቀላል መሣሪያ ፤
  • Win32DiskImager - ከነባር Raspbian ቅንብር ምስል ለመፍጠር ቀላል መሣሪያ ፤
  • የፕሮግራም አዘጋጆች ማስታወሻ ደብተር / /boot/cmdline.txt ፋይልን በደህና ለማርትዕ ሊጠቀሙበት የሚችሉት ቀላል መሣሪያ።

ደረጃ 2-ስፕሬይ-ስዕል እና በይነገጽ ዲዛይን ማድረግ

ስፕሬይ-ስዕል እና በይነገጽ ዲዛይን ማድረግ
ስፕሬይ-ስዕል እና በይነገጽ ዲዛይን ማድረግ
ስፕሬይ-ስዕል እና በይነገጽ ዲዛይን ማድረግ
ስፕሬይ-ስዕል እና በይነገጽ ዲዛይን ማድረግ
ስፕሬይ-ስዕል እና በይነገጽ ዲዛይን ማድረግ
ስፕሬይ-ስዕል እና በይነገጽ ዲዛይን ማድረግ
ስፕሬይ-ስዕል እና በይነገጽ ዲዛይን ማድረግ
ስፕሬይ-ስዕል እና በይነገጽ ዲዛይን ማድረግ

ንድፉን መፍጠር ከመጀመሬ በፊት ፣ ቀለሞቹን ሙሉ በሙሉ ስላልወደድኩ ውጫዊውን እረጨዋለሁ። እኔ ወደ ሱቁ ሄጄ የላይኛውን መያዣ እንደገና ለማደስ የፕላስቲክ ፕሪመርን ፣ ነጭ ቆርቆሮ እና የከዋክብት ጣሳ አነሳሁ።

የተረጨውን ቀለም እንዲደርቅ ከፈቀድኩ በኋላ ፣ እኔ ለተጠቀምኩበት ቀለም ትክክለኛውን የሄክስ ቀለም ኮድ አየሁ ፣ ስለዚህ የእኔን የድር በይነገጽ ከመሣሪያዬ ጋር በትክክል ማዛመድ እችል ነበር። ሞንታና 94 ግራፊቲ ስለምጠቀም ፣ እና የሄክስ እና አርጂቢ ኮዶች በድር ጣቢያቸው ላይ ስለነበሩ ይህንን የሄክስ ኮድ ማግኘት በጣም ቀላል ነበር።

ይህንን በይነገጽ እንዴት እንደምፈጥር በደንብ አውቅ ዘንድ ለእያንዳንዱ የድር ጣቢያዬ ገጽ ከፍተኛ-ታማኝነት የሽቦ ክፈፎችን ፈጠርኩ። የእኔን በይነገጽ ለአስተማሪዎቼ ካሳየሁ በኋላ ፣ ዳራውን ትንሽ ግራጫ እና ቁልፎቹን ነጭ ለማድረግ ምክሩን አገኘሁ ፣ ውጤቱም በእኔ አስተያየት ጥሩ ነበር።

ደረጃ 3 የውሂብ ጎታውን መፍጠር

የውሂብ ጎታ መፍጠር
የውሂብ ጎታ መፍጠር

ቀጣዩ አመክንዮአዊ እርምጃ በ MySQL የውሂብ ጎታ ውስጥ ምን ውሂብ ማከማቸት እንደፈለግኩ ማሰብ መጀመር ነበር። ስለ ባዶ ክፍተታቸው ብዙ ሰዎች የሚወዱ ስለሌሉ ለተጠቃሚዎች ጠረጴዛዎች እና የመግቢያ ውሂባቸው እንዲሁም ለሰንጠረsorsች (ለባትሪ ፣ ለርቀት እና ለአቧራ መያዣ) ሰንጠረ withች ጋር ሄድኩ።

ምስሉ በጠረጴዛዎች መካከል ካሉ ግንኙነቶች ሁሉ ጋር በ MySQL Workbench ውስጥ የተቀረጹትን የጠረጴዛዎቼን አቀማመጥ ያሳየዎታል።

ለተጠቃሚዎቼ ፣ በይነገጹን እና ኢሜይሎችን ግላዊነት ለማላበስ ስማቸውን እና የአባት ስሙን መከታተል ፈልጌ ነበር። በእርግጥ ኢሜይሎችን ለመላክ ፣ የኢሜል አድራሻቸውንም እፈልጋለሁ። እንዲሁም ስለእኔ ተጠቃሚዎች የኢሜል ምርጫ (ኢሜይሎችን መቀበል ይፈልጉ ወይም አይፈልጉ) ለመከታተል ጠረጴዛ ጨመርኩ። ስለ ተጠቃሚዎች ማከማቸት የፈለግሁት የመጨረሻው ነገር ፣ ለመሣሪያው የእነሱ ሚና ነው። ተጠቃሚዎችን እንደ አስተዳዳሪ እና መደበኛ ተጠቃሚዎች እከፋፍላለሁ። አስተዳዳሪዎች በስርዓቱ ውስጥ ተጠቃሚዎችን የመጨመር ፣ የማስወገድ እና የማስተዳደር መብት አላቸው ፣ መደበኛ ተጠቃሚዎች ግን እነዚህን መሣሪያዎች መድረስ አይችሉም።

የሚቀጥለው ሰንጠረዥ መሣሪያው ያከናወናቸውን ትክክለኛ ሩጫዎች የሆኑትን “deviceruns” ይ containsል። አከፋፋዮቹ በተወሰነ ተጠቃሚ (ሩጫውን የጀመረው ሰው) የተያዙ ናቸው ፣ እና የአሂድ ሰዓቱን ለማስላት የመነሻ ሰዓት እና የመጨረሻ ሰዓት አላቸው።

ሌላ ጠረጴዛ ሴንደርደርታን ከእያንዳንዱ devicerun ጋር ለማገናኘት ያገለግላል። አነፍናፊዎቹ እራሳቸው መታወቂያቸውን ፣ ስማቸው እና መግለጫቸውን የያዙ በሌላ ጠረጴዛ ውስጥ ተከማችተዋል።

ደረጃ 4 - ክፍሎቹን አንድ ላይ ማገናኘት

ክፍሎቹን አንድ ላይ ማገናኘት
ክፍሎቹን አንድ ላይ ማገናኘት
ክፍሎቹን አንድ ላይ ማገናኘት
ክፍሎቹን አንድ ላይ ማገናኘት

የመረጃ ቋቱን መርሃግብር ከፈጠርኩ በኋላ ሁሉንም ክፍሎች በአንድ የሥራ ፕሮቶታይፕ ውስጥ ለማገናኘት የዳቦ ሰሌዳዎችን እና ሽቦዎችን መጠቀም ጀመርኩ።

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

Raspberry Pi ን ማቀናበር
Raspberry Pi ን ማቀናበር

የቅርብ ጊዜውን የ Raspbian ምስል ለማውረድ ወደ Raspbian ድር ጣቢያ ይሂዱ። እዚህ የትኛውን distro ማውረድ እንደሚፈልጉ መምረጥ ይችላሉ። ለፈጣን ክዋኔ ፣ ራዕይ የሌለውን distro ፣ ለአነስተኛ ራም አጠቃቀም ማውረድ ወይም የግራፊክ የተጠቃሚ በይነገጽን ከመረጡ GUI ን በመጠቀም ማውረድ ይችላሉ።

ስርዓተ ክወናውን ለመጫን በቀላሉ Etcher ን ያውርዱ ፣ ምስሉን ወደ ማይክሮ ኤስዲ ካርድዎ በፍጥነት እና በቀላሉ ለመፃፍ የ GUI መሣሪያ ነው።

ፒኢን መድረስ እንዲችሉ ራስ -አልባ ሁነታን ለማንቃት ፣ tyቲ በኮምፒተርዎ ላይ መጫን ያስፈልግዎታል። ቀጣዩ ደረጃ በኤቸር ወደተፈጠረ ወደ ቡት አቃፊ መሄድ እና ፋይሉን cmdline.txt ን ከሚወዱት የጽሑፍ አርታኢ ፣ ከቀድሞው የፕሮግራም አዘጋጆች ማስታወሻ ደብተር ጋር መክፈት ነው። ይህንን ጽሑፍ በፋይሉ መጨረሻ ላይ ያክሉ ፦

ip = 169.254.10.1

አዲስ መስመር አለመፍጠርዎን ያረጋግጡ ፣ ይህንን ወደ መስመሩ መጨረሻ ያክሉት!

በመቀጠል ወደ ቡት አቃፊው ሥሩ ይመለሱ እና ssh የተባለ ፋይል ይፍጠሩ። ምንም ማራዘሚያ አይጨምሩ ፣ ይህ የእርስዎ ፒ በተጀመረ ቁጥር የኤስኤስኤስ አገልጋዩ መጀመሩን ያረጋግጣል። አሁን በቀላሉ የ SD ካርዱን በእርስዎ ፒ ውስጥ ያስገቡ ፣ በቂ የኃይል ምንጭ ከእርስዎ ፒ ጋር ያገናኙ እና በእርስዎ ፒ እና በኮምፒተርዎ መካከል የኤተርኔት ገመድ ያክሉ።

Putቲ ይክፈቱ እና በአይፒ አድራሻው ውስጥ ይተይቡ - 169.254.10.1። አሁን አዎ የሚለውን ጠቅ ያድርጉ እና ይግቡ ፣ ነባሪው የተጠቃሚ ስም ፒ እና የይለፍ ቃሉ እንጆሪ ነው።

በመቀጠል ፣ ወቅታዊ ለማድረግ የሚከተለውን ትዕዛዝ ያስፈጽሙ

sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

የመጨረሻው ደረጃ በእርስዎ Raspberry Pi ላይ ምናባዊ የ Python አስተርጓሚ መፍጠር ነው ፣ ይህ ኮድዎን ያስፈጽማል። ይህንን ለማድረግ በቀላሉ tyቲን ይክፈቱ እና የሚከተለውን ይተይቡ

sudo mkdir ፕሮጀክት 1

ሲዲ ፕሮጄክት 1 ፓይዘን 3 -ኤም ፒፕ መጫኛ -የ pip setuptools wheel virtualenv python3 -m venv –system -site -package venv

ደረጃ 6-የድር መተግበሪያን መጻፍ

የድር መተግበሪያን መፃፍ
የድር መተግበሪያን መፃፍ

እያንዳንዱን ክፍል ካገናኘሁ እና Raspberry Pi ን ካዋቀረሁ በኋላ ዋናውን የድር-መተግበሪያዬን ፍላስክ እና ጂንጃ 2 ን መፃፍ ጀመርኩ። ፍላስክ ለፓይዘን ለአጠቃቀም ቀላል የሆነ የጀርባ ማእቀፍ ሲሆን ጂንጃ 2 እኔ የተጠቀምኩት አብነት ቋንቋ ነው። በጂንጃ አማካኝነት መዋቅሮችን እና የመሳሰሉትን በመደበኛ ቀለበቶች (ኤችቲኤምኤል) ፋይሎች መፍጠር ይችላሉ።

የጀርባውን ኮድ በሚለጥፉበት ጊዜ ፣ እኔ ለአንዳንድ ንጥረ ነገሮች ኤችቲኤምኤል ፣ ሲኤስኤስ እና ጃቫስክሪፕትን ጨምሮ ለትግበራው የፊት መጨረሻን ጻፍኩ። እኔ ለቅጥ ሉሆች የ ITCSS ዘዴን እና የ BEM ን ማስታወሻ ተጠቀምኩ።

ከዋናው የድር መተግበሪያ በተጨማሪ እኔ ሌሎች ሁለት ዋና ፕሮግራሞችንም ፈጠርኩ። አንዱ በዝርዝሩ ውስጥ ላሉ ተጠቃሚዎች የመሣሪያውን አይፒ አድራሻ ለመላክ የተፃፈ ነው። ኢሜይሎችን ለመቀበል የተቀበለ እያንዳንዱ የተመዘገበ ተጠቃሚ የድር በይነገጽን ለመጀመር አገናኝ የያዘ ደብዳቤ ይቀበላል። ይህ ፕሮግራም እንደ ስርዓት አገልግሎት ይሠራል።

ሌላው ዋናው ፋይል ለትክክለኛው መሣሪያ ነው። መሣሪያውን ለመጀመር እና ለማቆም እና መረጃን ለመሰብሰብ ይህ ዋናው በእኔ ፍላሽ ትግበራ በኩል ተደራሽ ነው። የተሰበሰበው መረጃም በዚህ ዋና በኩል ወደ መሣሪያው የውሂብ ጎታ ይሰቀላል። ከዚያ ይህ ውሂብ በድር-መተግበሪያ ውስጥ ሊታይ ይችላል።

ድር-መተግበሪያው በ Python Threading አማካኝነት በዋናው ከሚሠራው መሣሪያ ጋር ተገናኝቷል። አንድ ተጠቃሚ የመነሻ ቁልፍን ጠቅ ሲያደርግ መሣሪያውን ከበስተጀርባ ለማሄድ ክር ይፈጠራል። ይህ በእንዲህ እንዳለ ተጠቃሚው በመተግበሪያው ውስጥ በትክክል ማሰስ ይችላል። ማቆሚያ የሚለውን ጠቅ ሲያደርጉ ይህ ክር ይቆማል እና ስለዚህ መሣሪያው ይቆማል።

ደረጃ 7 መያዣውን ለማጠናቀቅ ቁርጥራጮችን መፍጠር

መያዣውን ለማጠናቀቅ ቁርጥራጮችን መፍጠር
መያዣውን ለማጠናቀቅ ቁርጥራጮችን መፍጠር
መያዣውን ለማጠናቀቅ ቁርጥራጮችን መፍጠር
መያዣውን ለማጠናቀቅ ቁርጥራጮችን መፍጠር
መያዣውን ለማጠናቀቅ ቁርጥራጮችን መፍጠር
መያዣውን ለማጠናቀቅ ቁርጥራጮችን መፍጠር
መያዣውን ለማጠናቀቅ ቁርጥራጮችን መፍጠር
መያዣውን ለማጠናቀቅ ቁርጥራጮችን መፍጠር

የመተግበሪያውን ትልቁን ክፍል ከፃፍኩ በኋላ የእኔ ዳሳሾች እና ሌሎች ክፍሎች በትክክል እንዲገጣጠሙ የመሣሪያውን መያዣ መለወጥ ጀመርኩ። ይህንን ለማድረግ በአካባቢው የ DIY ሱቅ ውስጥ የ polyurethane ንጣፍ ገዝቼ 2 ቅንፎችን መቁረጥ ጀመርኩ። ይህንን የ polyurethane ን ሉህ ተጠቅሜ ነበር ምክንያቱም በሚቆራረጥበት ጊዜ ቁርጥራጮች የመበጠስ ዕድል ስለሌለው ፣ እና እሱ በጣም ተለዋዋጭ ስለሆነ ፣ የእኔ ሮቦት ክብ ቅርፅ ስላለው ፍጹም ነው።

የመጀመሪያው ቅንፍ አንድ ማሳያ ውስጥ መቀመጥ ጥቅም የት አናት ላይ አንድ ጉድጓድ መሙላት ነው. እኔም አንድ ላይ / ማብሪያ ማጥፋት ያለውን ባትሪዎች በትክክል ሊጠፋ ይችላል ስለዚህም ጋር ማሳያ ተተክቷል.

ሌላኛው ቅንፍ በመሣሪያው ፊት ለፊት ለተቀመጠው የእኔ HC-SR04 ultrasonic sensors ድጋፍ ነው።

የተሽከርካሪው መሽከርከሪያዎችን መከታተል እንዲችል አንድ ማድረግ ያለብዎት የመጨረሻው ነገር ፣ በአንዱ ጎማዎች ማጠናከሪያዎች ውስጥ አንድ ቀዳዳ መቁረጥ እና ማግኔት ማስገባት ነበር።

እነዚህን ቅንፎች ከጨረስኩ በኋላ ለዲዛይን ተስማሚ እንዲሆን እኔ በተውኩት ቀለም እረጨዋለሁ።

ደረጃ 8 - ኮዱ

ፕሮግራሙን ለመጫን የፋይሉን code.zip ያውርዱ እና በፕሮጀክቱ 1 ማውጫ ውስጥ ይንቀሉት።

በመቀጠል ይህንን ትእዛዝ በ Raspbian ወይም Putty ላይ በተርሚናል ውስጥ ያከናውኑ

sudo cp project1/conf/project-1*/etc/systemd/system/

sudo cp project1/conf/project1-*/etc/systemd/system/sudo systemctl ዳሞን-ዳግም ጫን sudo systemctl ፕሮጀክት ያንቁ -1* sudo systemctl ፕሮጀክት ያንቁ 1* sudo systemctl nginx ን እንደገና ያስጀምሩ

በመቀጠል እርስዎ ያፈሩትን የውሂብ ጎታ ይክፈቱ እና በአርጎን 2 ሃሽ የይለፍ ቃል አዲስ ተጠቃሚ ይፍጠሩ። አሁን ፕሮግራሙን መጠቀም ይችላሉ።

ይደሰቱ!

የሚመከር: