ዝርዝር ሁኔታ:

በ WEMOS D1 (ESP-8266EX) ላይ የተመሠረተ ማይክሮ ፓይቶን IoT Rover: 7 ደረጃዎች (ከስዕሎች ጋር)
በ WEMOS D1 (ESP-8266EX) ላይ የተመሠረተ ማይክሮ ፓይቶን IoT Rover: 7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: በ WEMOS D1 (ESP-8266EX) ላይ የተመሠረተ ማይክሮ ፓይቶን IoT Rover: 7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: በ WEMOS D1 (ESP-8266EX) ላይ የተመሠረተ ማይክሮ ፓይቶን IoT Rover: 7 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: #324 Wemos D1 Mini: Long Range and Low Power Modification (ESP8266, LiFePo4) 2024, ሀምሌ
Anonim
Image
Image
በ WEMOS D1 (ESP-8266EX) ላይ የተመሠረተ ማይክሮ ፓይቶን IoT Rover
በ WEMOS D1 (ESP-8266EX) ላይ የተመሠረተ ማይክሮ ፓይቶን IoT Rover

** አዘምን - ለቪ 2 አዲስ ቪዲዮ ከላሴ ጋር ለጥፌዋለሁ **

እኔ ለወጣት ልጆች የሮቦቲክስ አውደ ጥናቶችን አስተናግዳለሁ እና አስደሳች ፕሮጀክቶችን ለመገንባት ሁል ጊዜ ኢኮኖሚያዊ መድረኮችን እፈልጋለሁ። አርዱዲኖ ክሎኖች ርካሽ ቢሆኑም ፣ ልጆች የማያውቋቸውን የ C/C ++ ቋንቋ ይጠቀማል። እንዲሁም ፣ ለ IoT ፕሮጄክቶች የግድ አስፈላጊ የሆነ አብሮገነብ WiFi የለውም። በሌላ በኩል ፣ Raspberry Pi WIFI ሲኖረው እና ልጆች ፓይዘን በመጠቀም ፕሮግራም ሊያደርጉት ቢችሉም ፣ መሣሪያዎችን ለማብራት እና ለማጥፋት ጥቂት የጂፒኦ ወደቦችን ለመቆጣጠር አሁንም ውድ መድረክ ነው። ሁለቱም WIFI እና Python ችሎታዎች ባሉት መካከል የሆነ ነገር እፈልጋለሁ። መልሴን በማይክሮ ፓይቶን ውስጥ ያገኘሁት ይመስላል ርካሽ በሆነ ESP8266 ላይ የተመሠረተ ቦርድ ላይ።

ማይክሮፎን ምንድን ነው?

በድረ -ገፁ መሠረት ፣ ማይክሮ ፓይቶን የፒቶን 3 ቤተ -መጽሐፍት አነስተኛ ንዑስ ንዑስ ንዑስ ክፍልን ያካተተ የ Python 3 የፕሮግራም ቋንቋዎች ዘገምተኛ እና ቀልጣፋ ትግበራ ነው እና በማይክሮ መቆጣጠሪያዎች ላይ እና በተገደበ አካባቢ (እንደ ESP8266) ለማሄድ የተመቻቸ ነው። እሱ በመሠረቱ ቺፕ ላይ የ Python IDE ነው። አንድ ትልቅ ጥቅም Webrepl የተባለ የድር አሳሽ ደንበኛን በመጠቀም ኮድ መፍጠር እና በበረራ ላይ መለወጥ ይችላሉ። (በአርዱዲኖ ውስጥ ያንን ለማድረግ ይሞክሩ።) እንዲሁም በመረጃ ምዝግብ ማስታወሻ ወይም በአርዲኖ ውስጥ ባለው የ LED ማያ ገጽ ላይ ከመተማመን ይልቅ በዌብሬፕል ላይ በእውነተኛ ጊዜ የአነፍናፊ ውሂብን ማየት ይችላሉ።

ESP8266 ምንድን ነው?

በአጭሩ ፣ አብሮገነብ የአውታረ መረብ ችሎታ ያለው እንደ አርዱinoኖ አድርገው ያስቡት። በ C/C ++ ውስጥ ESP8266 ቦርዶችን ለማዘጋጀት Arduino IDE ን መጠቀም ይችላሉ ወይም በ NodeMCU ወይም በማይክሮ ፓይቶን ማብራት ይችላሉ። በዚህ ፕሮጀክት ውስጥ ማይክሮ ፓይቶን በ ESP8266 ሰሌዳ ላይ ብልጭ አደርጋለሁ።

የድር አሳሽ በመጠቀም የ 2WD መኪናን የምጓዝበት ለዚህ ቀላል ፕሮጀክት በ ESP8266-12EX ላይ የተመሠረተ WEMOS D1 ን ለማግኘት ወሰንኩ። ለ MicroPython የተነደፉ ሌሎች ቦርዶች አሉ ነገር ግን መስፈርቴን ካላሟላ የምጥለውን ርካሽ ነገር ፈልጌ ነበር። እንደተጠበቀው ፣ ሁሉንም መስፈርቶቼን አሟልቷል እናም ምናልባት ዌሞስ እና ማይክሮፕቶን ወደ ወደፊት ፕሮጀክቶች ውስጥ የማካተት ይሆናል።

ደረጃ 1: ክፍሎች

ክፍሎች
ክፍሎች
ክፍሎች
ክፍሎች
ክፍሎች
ክፍሎች
ክፍሎች
ክፍሎች
  • Wemos D1 ወይም ማንኛውም ESP8266 መሠረት ሰሌዳዎች
  • የሞተር ጋሻ (ከ AliExpress ርካሽ L293D እጠቀማለሁ)
  • የባትሪ መያዣዎች ለ 4 x AA እና 9V (4 x AA ባትሪዎች ለሞተር እና 9 ቪ ለሞሞ ቦርድ ነው)
  • 2WD የመኪና ሻሲ
  • የዱፖን ኬብሎች

ሁሉንም ነገር ለማቀናጀት ብየዳ ብረት ፣ ጠመዝማዛ ሾፌር እና ሙጫ ጠመንጃ ሊፈልግ ይችላል።

ደረጃ 2 የሃርድዌር ስብሰባ

የሃርድዌር ስብሰባ
የሃርድዌር ስብሰባ
የሃርድዌር ስብሰባ
የሃርድዌር ስብሰባ
የሃርድዌር ስብሰባ
የሃርድዌር ስብሰባ

በመጀመሪያ ፣ እንደ መመሪያው መሠረት ሻሲውን ይሰብስቡ።

ከዚያ እንደሚታየው ሙቅ ሌሎች ሙጫዎችን ያጣምሩ።

የሞተር ሽቦዎች ለሞተር ተርሚናሎች መሸጥ እና የተርሚናል መገጣጠሚያዎችን ለማጠንከር ሙቅ ማጣበቂያ ይጠቀሙ።

ወደ 4AA ባትሪ መያዣ ትንሽ መቀየሪያ ተለጥል። ይህ ኃይልን ወደ ሞተር ጋሻ ያበራል/ያጠፋል።

ደረጃ 3 - ሽቦ

ሽቦ
ሽቦ
ሽቦ
ሽቦ
ሽቦ
ሽቦ

እንደሚታየው የእኔን የወልና ዲያግራም ይከተሉ።

ቬሞስ ለሞተር ጋሻ -

D1 IN2

D2 IN1 D3 IN4 ** መዝለል D4 D5 IN3 GND -> GND

የሞተር ጋሻ ወደ ሞተር/ኃይል;

ተርሚናል -> የግራ ሞተር

B ተርሚናል -> የቀኝ ሞተር ቪሲሲ -> ባትሪ (+) GND -> ባትሪ (-)

ደረጃ 4 የማይክሮ ፓይቶን መጫኛ

በመጀመሪያ ፣ ቬሞስ በ CH304G ላይ የተመሠረተ ተከታታይ/የዩኤስቢ ቺፕ አለው። ይህ ርካሽ አርዱዲኖ-ክሎኖች ውስጥ የተገኘው ተመሳሳይ ቺፕ ነው እና ለ Mac ወይም ለፒሲ ተገቢውን ሾፌር መጫን አለብዎት። ሾፌሩን ለመጫን በዚህ ጣቢያ ላይ ያሉትን መመሪያዎች ይከተሉ።

ዌሞስን ከኮምፒዩተርዎ ጋር ያገናኙ እና ኮምፒተርዎ ዌሞስን መለየት እንደሚችል ያረጋግጡ። በማክ ላይ የሚከተለውን ትዕዛዝ ያሂዱ እና /dev/tty.wchusbserial640 የሚባል መሣሪያ ያያሉ።

$ ls -lt /dev /tty* | ራስ

crw-rw-rw- 1 root wheel 17 ፣ 4 ማር 2 23:31 /dev/tty.wchusbserial640

በፒሲ ላይ ከሆኑ ፣ ይህንን Instructable ን እንደ ማጣቀሻ ሊጠቀሙበት ይችላሉ።

በመቀጠልም ፍላሽ መሣሪያው esptool.py በ Python ላይ የተመሠረተ ስለሆነ Python 2 ወይም 3 ን በኮምፒተርዎ ላይ ማዋቀር ያስፈልግዎታል። የማይክሮ ፓይቶን መመሪያው መሣሪያው ከ Python 2.7 ጋር ብቻ እንደሚሠራ ቢገልጽም ፣ ያንን በ Python 3 ውስጥ ያለምንም ችግር ማሄድ ችያለሁ። የቅርብ ጊዜውን ፓይዘን ከ https://www.python.org ያውርዱ እና ለፒሲዎ ወይም ለማክዎ የመጫኛ መመሪያዎችን ይከተሉ።

በመጨረሻ ፣ ማይክሮፎን በዌሞስ ላይ መጫን ያስፈልግዎታል። የማይክሮ ፓይቶን ጣቢያ ማይክሮፒቶን በ ESP8266 ላይ እንዴት ማቀናበር እንደሚቻል ላይ ጥሩ አጋዥ ስልጠና አለው። በ ESP8266 ላይ በማይክሮ ፓይቶን ለመጀመር የመጫን መመሪያዎችን ብቻ ይከተሉ።

ከዚህ በታች የተጠቀምኳቸው ትዕዛዞች ናቸው

$ esptool.py --port /dev/tty.wchusbserial640 erase_flash

esptool.py v1.3 በማገናኘት ላይ…. Cesanta flasher stub ን በማሄድ ላይ … ብልጭ ድርግም (ይህ ትንሽ ጊዜ ሊወስድ ይችላል)… መደምሰስ 10.5 ሰከንድ ወስዷል

$ esptool.py --port /dev/tty.wchusbserial640 write_flash -fm dio -fs 32m -ff 40m 0x00000 esp8266-20170108 -v1.8.7.bin

esptool.py v1.3 በማገናኘት ላይ…. Cesanta flasher stub ን በማሄድ ላይ… የፍላሽ መለኪያዎች በ 0x0240 ተዘጋጅተዋል 589824 ባይት በ 0 x0 በ 50.8 ሰከንዶች (92.8 ኪቢ/ሰ)… በመተው ላይ…

ማይክሮ ፓይቶን አሁን በቦርድዎ ላይ ተጭኗል!

ደረጃ 5 - አውታረ መረብን ያዋቅሩ

ማዋቀር አውታረ መረብ
ማዋቀር አውታረ መረብ

ማይክሮፒቶን አሁን በዎሞስዎ ላይ ሲጫን ፣ ገና ከአውታረ መረብዎ ጋር አልተገናኘም። መጀመሪያ አውታረ መረብን ማንቃት ያስፈልግዎታል። በማክ ላይ ፣ ተከታታይ ተርሚናል ክፍለ ጊዜን ወደ ዌሞስ ለመጀመር የ SCREEN ትዕዛዙን ያስፈጽሙ።

$ ማያ /dev/tty.wchusbserial640 115200

ባዶ ማያ ገጽ ሲመለከቱ ፣ ጥያቄን ለመመለስ ተመለስን ይምቱ ፦

>>

(ማስታወሻ ፦ ለመውጣት CTRL-A CTRL- / ይተይቡ)

አሁን የድር ደንበኛ መዳረሻን እናንቃት። የማዋቀሪያ ፕሮግራሙን ለማስኬድ “webrepl_setup” ን ያስገቡ። WebREPL ን ለማንቃት E ን ያስገቡ እና ከዚያ የይለፍ ቃል ያዘጋጁ። ለውጦችን ለማግበር እንደገና ያስነሱ።

>> webrepl_setup ን ያስመጡ

የ WebREPL daemon ራስ-ማስጀመር ሁኔታ: ተሰናክሏል (ኢ) ማንቃት ወይም (ዲ) በሚነሳበት ጊዜ እንዲሠራ ይፈልጋሉ? (ለማቋረጥ ባዶ መስመር)> E WebREPL ን ለማንቃት ለእሱ የይለፍ ቃል ማዘጋጀት አለብዎት አዲስ የይለፍ ቃል ፦ xxxxx የይለፍ ቃል ያረጋግጡ - xxxxx ዳግም ከተነሳ በኋላ ለውጦች ይንቀሳቀሳሉ አሁን እንደገና ማስጀመር ይፈልጋሉ? (y/n) y

በመጨረሻም የዌብሬፕልን ደንበኛን ወደ ማሽንዎ ያውርዱ። ይህ እንደ አማራጭ ነው ነገር ግን ደንበኛው በኋላ ላይ ሊጠቀሙባቸው ከሚፈልጉ ሌሎች ጠቃሚ መሣሪያዎች ጋር ይመጣል። ለምሳሌ ፣ webrepl_cli.py በ scp-like አገባብ ፋይሎችን ወደ ዌሞስ ለመቅዳት ትእዛዝ ነው። ደንበኛውን ለማውረድ git ይጠቀሙ። (እስካሁን ከሌለዎት የጊት መሣሪያውን ይጫኑ።)

git clone

የድር አሳሽዎን ይክፈቱ እና በዩአርኤሉ መስክ ላይ ፣ የወረደውን የዌብሬፕል ደንበኛ ፋይል ቦታዎን ቦታ ያስገቡ እንደ ፦

ፋይል//// ተጠቃሚዎች /xxxxx/wemos/webrepl/webrepl.html

ይህ የድር አሳሽ ደንበኛን በአሳሽዎ ላይ ማሳየት አለበት። ከእሱ ጋር ከመገናኘትዎ በፊት መጀመሪያ ከ WIFi የመዳረሻ ነጥብዎ ጋር መገናኘት አለብዎት። ለኮምፒዩተርዎ የሚገኝ WIFI ን ከተመለከቱ አውታረ መረብ በማይክሮ ፓይቶን-xxxx ሲጀምር ያያሉ። ከዚያ አውታረ መረብ ጋር ይገናኙ። (ማስጠንቀቂያ - አንዴ ወደዚያ አውታረ መረብ ከተገናኙ በኋላ የበይነመረብ መዳረሻዎን ያጣሉ።)

ወደ የድር ድርፕል ደንበኛዎ ይመለሱ እና አገናኝ ላይ ጠቅ ያድርጉ። እሱ የይለፍ ቃል መጠየቅ አለበት። የዌሞስ የይለፍ ቃልዎን ያስገቡ እና መገናኘት አለብዎት።

ወደ ማይክሮ ፓይቶን እንኳን በደህና መጡ!

የይለፍ ቃል: WebREPL ተገናኝቷል >>>

የእርስዎ ቬሞስ አሁንም በ AccessPoint Mode ውስጥ እያሄደ ነው። ይህ ደህና ቢሆንም ኮምፒውተሬ በቤት WIFI በኩል እንዲደርስበት እና አሁንም የበይነመረብ መዳረሻ እንዲኖረው ከቤቴ WIFI ጋር በሚገናኝበት በጣቢያ ሞድ ውስጥ እንዲሠራ እመርጣለሁ። ያንን ለማድረግ ከአውታረ መረብ ውቅር ጋር boot.py የተባለ ፋይል መፍጠር እና ወደ ዌሞስ መስቀል አለብዎት።

ናሙና boot.py እዚህ አለ። Ssid እና የይለፍ ቃልን ወደ የቤትዎ WIFI አውታረ መረብ ይለውጡ። እንዲሁም ፣ 192.168.0.32 የሆነ የማይንቀሳቀስ አይፒ ልሰጠው እፈልጋለሁ። ወደ ቤትዎ WIFI የሚገኝ የአይፒ አድራሻ ይለውጡት።

boot.py (ከታች ማውረድ ይችላሉ)

ማስመጣት gc

import webrepl def do_connect (): አውታረ መረብ sta_if = network. WLAN (network. STA_IF) sta_if.isconnected (): ማተም ('ከአውታረ መረብ ጋር መገናኘት' ') sta_if.active (True) sta_if.ifconfig ((' 192.168. 0.32 '፣' 255.255.255.0 '፣' 192.168.0.1 '፣' 192.168.0.1 ')) sta_if.connect (' '' ')) sta_if. አልተገናኘም () ፦ ህትመት ይለፉ (' የአውታረ መረብ ውቅር '፣ sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()

የእርስዎን boot.py ፋይል ወደ ዌሞስዎ ለመላክ የዌብሬፕል ደንበኛን ‹ፋይል ላክ› ቅጽ ይጠቀሙ። ዳግም ለማስጀመር የዳግም አስጀምር አዝራርን ይጫኑ። የ SCREEN ትዕዛዙን በመጠቀም አሁንም በዩኤስቢ በኩል ከተገናኙ ፣ ያዩታል-

ከአውታረ መረብ ጋር በመገናኘት ላይ… የአውታረ መረብ ውቅር (('192.168.0.32' ፣ '255.255.255.0' ፣ '192.168.0.1' ፣ '192.168.0.1') WebREPL ዴሞን በ ws//192.168.4.1: 8266 WebREPL ዴሞን በ ws ላይ ተጀመረ: //192.168.0.32: 8266 በመደበኛ ሞድ ውስጥ ዌብሬፕል ማይክሮፒታይን v1.8.7-7-gb5a1a20a3 ን ለማንበብ ፋይል ‹main.py› ን መክፈት አልቻለም በ 2017-01-09 ፤ የ ESP ሞዱል በ ESP8266 ለተጨማሪ መረጃ “እገዛ ()” ይተይቡ። >>>

ይህ የ 192.168.0.32 ipaddress ን በመጠቀም የእርስዎ ቬሞስ ከቤትዎ WIFI ጋር መገናኘቱን ያረጋግጣል።

ለማረጋገጥ የአይፒ አድራሻውን ፒንግ ማድረግ ይችላሉ።

$ ፒንግ 192.168.0.32

ፒንግ 192.168.0.32 (192.168.0.32) 56 የውሂብ ባይት

64 ባይት ከ 192.168.0.32: icmp_seq = 0 ttl = 255 ጊዜ = 9.334 ms 64 ባይት ከ 192.168.0.32: icmp_seq = 1 ttl = 255 ጊዜ = 11.071 ሚ.

ደረጃ 6 ዋናውን ፕሮግራም ይጫኑ

ዋናውን ፕሮግራም ይጫኑ
ዋናውን ፕሮግራም ይጫኑ
ዋናውን ፕሮግራም ይጫኑ
ዋናውን ፕሮግራም ይጫኑ

በመጨረሻ ፣ በዊሞስዎ ላይ መስራቱን የሚቀጥለውን ዋናውን ፕሮግራም መጫን ያስፈልግዎታል።

ወደ የድር አሳሽዎ ይመለሱ እና የ webrepl ደንበኛ ፕሮግራምን ያሂዱ። የአይፒ አድራሻውን ወደ የእርስዎ የዌሞስ አይፒ አድራሻ ይለውጡ። በእኔ ሁኔታ አሁን 192.168.0.32 ነው። የዌሞስ የይለፍ ቃልዎን ያስገቡ እና አሁን ከዌሞስ ጋር መገናኘት አለብዎት።

የተያያዘውን main.py ፕሮግራም እንጫን። የተያያዘውን ፋይል ወደ ኮምፒተርዎ ያውርዱ። የወረደውን main.py ለመምረጥ ፋይል ምረጥ የሚለውን ጠቅ ያድርጉ እና ወደ መሣሪያ የተላከውን ጠቅ ያድርጉ።

ዋናውን የፒ.ፒ. ፕሮግራም ለመጫን የእረፍት ቁልፍን መጫን ያስፈልግዎታል። የዳግም አስጀምር አዝራርን ከተጫኑ በኋላ ፣ ያያሉ ፦

ከአውታረ መረብ ጋር በመገናኘት ላይ…

የአውታረ መረብ ውቅር (('192.168.0.32' ፣ '255.255.255.0' ፣ '192.168.0.1' ፣ '192.168.0.1')

WebREPL daemon በ ws: //192.168.4.1: 8266 ላይ ተጀምሯል WebREPL ዴሞን በ ws: //192.168.0.32: 8266 ዌብሬፕል በመደበኛ ሁነታ ተጀምሯል ማዳመጥ ፣ አሳሽዎን ከ…

ይህ ማለት የእርስዎ main.py ፕሮግራም ገብሯል እና ወደብ 80 ይዘረዝራል።

ለመሞከር የድር አሳሽዎን ይክፈቱ እና https:// ያስገቡ

በቪዲዮው ላይ እንደሚታየው ይህ የመኪና መቆጣጠሪያ ማያ ገጹን ማሳየት አለበት። ሽቦዎችዎ በትክክል ከተገናኙ የመቆጣጠሪያ ቁልፎች መኪናውን ለማንቀሳቀስ ወደ GPIO ወደቦችዎ ትክክለኛ ምልክቶችን ይልካል።

ደረጃ 7 - የወደፊት ማሻሻያዎች

የሚከተሉት የሚደረጉ ነገሮች በእኔ v2 ዝርዝር ውስጥ አሉ-

  • የሞተር ፍጥነትን ለመቆጣጠር PWM ይጠቀሙ
  • የድር በይነገጽን ያሻሽሉ። ምናልባት የ RRS ማዕቀፍ ይጠቀሙ። እኔ በዚህ ሰዓት aREST lib በ MicroPython ላይ ይገኛል ብዬ አላምንም ስለዚህ እሱን መጥለፍ አለብኝ።

ይህንን አስተማሪ ስላነበቡ እናመሰግናለን። ለወደፊቱ ለተጨማሪ ፕሮጄክቶች በፌስቡክ ፣ በዩቲዩብ እና በአስተማሪዎች ላይ ይከተሉኝ።

የሚመከር: