ዝርዝር ሁኔታ:

ፍላሽ ESP-01 (ESP8266) Raspberry Pi ን በመጠቀም የዩኤስቢ-ወደ-ተከታታይ አስማሚ ከሌለ 3 ደረጃዎች
ፍላሽ ESP-01 (ESP8266) Raspberry Pi ን በመጠቀም የዩኤስቢ-ወደ-ተከታታይ አስማሚ ከሌለ 3 ደረጃዎች

ቪዲዮ: ፍላሽ ESP-01 (ESP8266) Raspberry Pi ን በመጠቀም የዩኤስቢ-ወደ-ተከታታይ አስማሚ ከሌለ 3 ደረጃዎች

ቪዲዮ: ፍላሽ ESP-01 (ESP8266) Raspberry Pi ን በመጠቀም የዩኤስቢ-ወደ-ተከታታይ አስማሚ ከሌለ 3 ደረጃዎች
ቪዲዮ: SKR 1.4 - TMC2209 v1.2 2024, ህዳር
Anonim
ፍላሽ ESP-01 (ESP8266) Raspberry Pi ን በመጠቀም ያለ ዩኤስቢ-ወደ-ተከታታይ አስማሚ
ፍላሽ ESP-01 (ESP8266) Raspberry Pi ን በመጠቀም ያለ ዩኤስቢ-ወደ-ተከታታይ አስማሚ

ይህ አስተማሪ ESP8266 ማይክሮ መቆጣጠሪያዎን በ ESP-01 WIFI ሞዱል ላይ እንዴት ማቀናበር እንደሚጀምሩ ይመራዎታል። ለመጀመር የሚያስፈልግዎት (በእርግጥ ከ ESP-01 ሞዱል በተጨማሪ) ነው

  • Raspberry Pi
  • ዝላይ ሽቦዎች
  • 10 ኪ resistor

ወደ ዘመናዊ አሌክሳ ቁጥጥር በተደረገለት የ LED የሌሊት መብራት ውስጥ አንድ አሮጌ የአልጋ መብራት ለማደስ ፈልጌ ነበር። የድምፅ ትዕዛዙን በመጠቀም ማብራት/ማጥፋት ምንም የሚያምር ነገር የለም። እኔ ቀላሉን የ ESP-01 WIFI ሞዱል ፣ ቅብብል እና ሽቦን በመስመር ላይ በኤልዲዎች አዝዣለሁ ፣ እና የዩኤስቢ-ወደ-ተከታታይ አስማሚ ለ ESP8266 ማይክሮ መቆጣጠሪያ ፕሮግራም ለማዘዝ ሙሉ በሙሉ ረሳሁ። ነገር ግን እኔ Raspberry Pi ስለነበረኝ እና ሁለቱም Raspberry Pi እና ESP-01 ቦርድ UART ፒኖች ስለነበሩ ፣ ያለ አስማሚው ESP8266 ን ፕሮግራም ለማድረግ RPi ን መጠቀም እችላለሁ ብዬ አሰብኩ።

ደረጃ 1 ራፕቤሪ ፒን ያዋቅሩ

ራፕቤሪ ፒን ያዋቅሩ
ራፕቤሪ ፒን ያዋቅሩ

Raspberry Pi 3 Model B+ን እጠቀም ነበር ፣ ሆኖም ፣ መመሪያዎች በሌሎች ስሪቶች ላይ ፣ በተለይም በአምሳያው ቢ ላይ መስራት አለባቸው።

ስለዚህ ፣ በመጀመሪያ ነገሮች በመጀመሪያ - UART ን በ Pi ላይ ማንቃት አለብን።

የ RPi ውቅረት ቅንብሮችን ይሂዱ። በተርሚናል መስኮት አሂድ

$ sudo raspi-config

ወደ 5 በይነገጽ አማራጮች ይሂዱ ፣ ከዚያ ይምረጡ P6 ተከታታይ። ከዚያ እርስዎ ጠየቁ የመግቢያ ቅርፊት በተከታታይ ተደራሽ እንዲሆን ይፈልጋሉ? ፒ ፒን አልባ ለማድረግ ፣ ግን ከሌሎች መሣሪያዎች ጋር ለመገናኘት UART ን መጠቀም ስለማንፈልግ ይምረጡ ፣ ስለሆነም በሚከተለው ማያ ገጽ ላይ ሲጠየቁ ተከታታይ ወደብ ሃርድዌር እንዲነቃ ይፈልጋሉ? ይምረጡ። እንደተጠየቀው Pi ን እንደገና ያስጀምሩ። UART አሁን በ RX እና TX ፒን በ Raspberry Pi 3. ላይ ለ Serial Communication መንቃት አለበት።

ደረጃ 2 ESP-01 ን ከ Raspberry Pi ጋር ያገናኙ

ESP-01 ን ከ Raspberry Pi ጋር ያገናኙ
ESP-01 ን ከ Raspberry Pi ጋር ያገናኙ

አሁን ሁሉንም ነገር በአንድ ላይ ለማገናኘት እንወርዳለን።

በመጀመሪያ ፣ በ ESP8266 ማይክሮ መቆጣጠሪያ ፣ TXD (ማስተላለፍ) እና RXD (መቀበል) ፒኖችን ለማገናኘት በእርስዎ RPi 3.3V ኃይል እና GND (መሬት) ፒኖች ላይ ይለዩ ፣ እና ESP8266 ን (ሁለት ከፍ ያለ ወይም ሊዋቀሩ የሚችሉ ፒኖች) ለመስራት ሁለት አጠቃላይ ዓላማ ፒኖች። ዝቅተኛ)። በ pinout.xyz ላይ የፒን ዝግጅት ይፈልጉ ወይም ተርሚናል ውስጥ ይተይቡ

$ pinout

በሁለተኛ ደረጃ በ ESP-01 ላይ አስፈላጊ ፒኖችን ይለዩ። ግን መጀመሪያ ላይ ስለ ESP-01 ፒኖች ግንዛቤ ሊኖረን ይገባል። በዚህ ረገድ እርስዎን ለማገዝ በበይነመረብ ላይ በርካታ አጋዥ ሀብቶችን አገኘሁ። ይህ በጣም አጭሩ ነው ፣ ይህ በጣም የተሻለ ማብራሪያ ይሰጣል። በአጭሩ - 8 ፒኖች አሉ ፣ እኛ ከእነሱ 7 እንፈልጋለን ፣ ማለትም የ VCC ኃይል እና GND (መሬት) ፒኖች ለኃይል ፣ TXD እና RXD ፒን ለግንኙነት ፣ እና RST (ዳግም አስጀምር) ፣ CH_PD (ቺፕ ፓወር ዳውን ፣ አንዳንድ ጊዜ የተሰየመ) ሞዱሉን ለማንቀሳቀስ CH_EN ወይም ቺፕ አንቃ) እና GPIO0። ብዙውን ጊዜ ESP8266 በመደበኛ ሁኔታ ይሠራል ፣ ግን ኮድ ወደ ESP8266 በሚሰቅሉበት ጊዜ በፍላሽ ሞድ ውስጥ መሆንን ይከተላል። ለመደበኛ ወይም መደበኛ የአሠራር ሁኔታ ሞጁሉ ከኃይል ጋር መገናኘት አለበት (በግልጽ) ፣ ግን ፒን CH_PD እንዲሁ በ 10 ኬ በኩል ከቪሲሲ ጋር መገናኘት አለበት (ይህ እሴት በተለያዩ መልሶች ይለያያል ፣ እስከ 3 ኪ እሴቶችን አገኘሁ) በሚነሳበት ጊዜ ተከላካይ። በሌላ በኩል ፣ ብልጭ ድርግም ወይም የፕሮግራም ሁነታን ለማስገባት GPIO0 ፒን በሚነሳበት ጊዜ መሬቱን ማረም ያስፈልግዎታል። በ GPIO0 በኩል ያልተገደበ የአሁኑ ፍሰትን ለመከላከል GPIO0 ን በአንዳንድ ዝቅተኛ የመቋቋም ተከላካይ 300Ω - 470Ω (እዚህ ላይ የበለጠ) ለማገናኘት ይመከራል። ስሙ እንደሚያመለክተው የ RST ፒን MCU ን ዳግም ያስጀምራል (ወይም እንደገና ይጀምራል)። በመደበኛ ቀዶ ጥገና ወቅት በ 10 ኬ መጎተቻ ተከላካይ በኩል ከቪሲሲሲ ጋር ሊገናኝ ይችላል ፣ ግን ማይክሮ መቆጣጠሪያውን እንደገና ለማቋቋም መሠረት መሆን አለበት። የ RST እና የ GPIO0 ፒኖችን (ወይም አንድ ቁልፍን ለማስመሰል ሽቦዎችን እንኳን ለመቀላቀል) አካላዊ አዝራሮችን መጠቀም ሁል ጊዜ የሚቻል ቢሆንም በሞጁሉ RST እና GPIO0 ላይ ከፍተኛ እና ዝቅተኛ voltage ልቴጅ ለማዘጋጀት Raspberry Pi ፒኖችን መጠቀም የበለጠ አስደሳች ተሞክሮ ነው። ካስማዎች እንዲሁም በ 10 ኪ እና በ 470Ω resistors ውስጥ አያስፈልግም።

አሁን የ ESP-01 ፒን ልዩነቶችን በማወቅ ሁሉንም ነገር አንድ ላይ ማገናኘት መጀመር እንችላለን። ከላይ ካለው ስዕል ጋር የሚከተለውን ሰንጠረዥ እንደ ማጣቀሻ ሊጠቀሙበት ይችላሉ-

ESP-01 Raspberry Pi

  • ቪሲሲ (3.3 ቪ) ፒን #1 (3.3 ቪ)
  • GND ፒን #6 (GND)
  • TXD ፒን #10 (RXD / BCM 15)
  • አርኤክስዲ ፒን #8 (TXD / BCM 14)
  • CH_PD ፒን #1 (3.3 ቪ)
  • የ RST ፒን #3 (BCM 2)
  • ጂፒኦ 0 ፒን #5 (ቢኤምሲ 5)

የመጨረሻውን የ VCC ፒን ያገናኙ። ቪሲሲን ያገናኙበት ሁኔታ የእርስዎ Wi-Fi ሞዱል ያበራል። RPi እና ESP8266 UART ን በመጠቀም መገናኘት ይችሉ እንደሆነ ለማየት ማያ ገጽ ወይም ሚኒኮም ይጠቀሙ (ማስታወሻ - በነባሪ Raspbian ላይ የተጫኑ ስለማይመስሉ መጀመሪያ ማያ ወይም ሚኒኮምን መጫን ያስፈልግዎታል)።

የማያ ገጽ አሂድ በመጠቀም;

$ sudo ማያ /dev /serial0 115200

ሚኒኮም ሩጫ በመጠቀም;

$ sudo minicom -b 115200 -o -D /dev /serial0

ማሳሰቢያ -ብዙ የመስመር ላይ ሀብቶች ከ ESP8266 በ /dev /ttyAMA0 ጋር መገናኘትን ይጠቁማሉ ፣ ግን ይህ እንደ RPi ሰነድ በ RPi 3 ወይም ከዚያ በኋላ (ዜሮ W ን) አይሰራም። በ /dev /serial0 በምትኩ ወይም /dev /ttyS0 በኩል ይገናኙ።

ማያ ገጽ ወይም ሚኒኮም ከገቡ በኋላ ከ ESP8266 ጋር ለመገናኘት የ AT ትዕዛዞችን ይጠቀሙ። AT ን ይተይቡ ፣ ከዚያ Enter ን ይጫኑ እና ከዚያ ትእዛዝ ለመላክ Ctrl+J ን ይጫኑ። በምላሹ እሺ ማግኘት አለብዎት። የሚገኙ የ AT ትዕዛዞች ዝርዝር በ espressiff.com ወይም እዚህ ብቻ ሊገኝ ይችላል።

መሣሪያዎቹ በአካል ተገናኝተው እርስ በእርስ ይነጋገራሉ እኛ የ RPi GPIO ፒኖችን እና በመጨረሻም ESP8266 ን ወደ ፕሮግራሙ ማውረድ እንችላለን።

ደረጃ 3 የሶፍትዌር ማዋቀር (Python to Operate and Arduino IDE to Program)

ክፍል 1. ESP8266 ሁነቶችን ለመቀየር ፓይዘን መጠቀም

ከላይ እንደተጠቀሰው የ ESP8266 የአሠራር ሁነቶችን ለመቀየር የ RPI ን GPIO ፒኖችን ለመጠቀም ምቹ ነው። ESP8266 ን በመደበኛ ወይም በፕሮግራም ሞድ ውስጥ ያስቀመጡ ሁለት መሠረታዊ የፓይዘን ኮዶችን ጻፍኩ።

መደበኛ ሁኔታ ማይክሮ መቆጣጠሪያውን ወደ መደበኛ የአሠራር ሁኔታ ለማስገባት እሱን ማብራት እና CH_PD ን በመጎተት ተከላካይ ወደ ቪሲሲ ማገናኘት ብቻ ያስፈልገናል ፣ ግን MCU ን ከፕሮግራም ወደ መደበኛ ሁኔታ ለመቀየር እሱን እንደገና ማስጀመር አለብን (እንደገና ያስቡ)። በ RPi ላይ ይህንን ለማድረግ በ ESP-01 ላይ ከ RST ፒን ጋር የተገናኘውን የ RPi GPIO በአጭሩ እናወግደዋለን (በነባሪነት ዳግም ለማስጀመር የተጠቀምኩት የ RPi ፒን ወደ ከፍተኛ ተዘጋጅቷል)። እንዴት በአጭሩ? ለእኔ ይህ ግምታዊ ጥያቄ ነው። የተለያዩ የጊዜ ክፍተቶችን መሞከር ይችላሉ ፣ ግን ከ 200 - 500 ሚ.ሜ በትክክል እንደሚሰራ አገኘሁ። የተሻለ ሀሳብ ካለዎት በአስተያየቶች ውስጥ ይፃፉ። ኮድዎን እንደ reset.py ያስቀምጡ።

#!/usr/bin/python

RPi. ፒን እንደ ውፅዓት GPIO.output (resetPin ፣ GPIO. LOW) በ RST ፒን ጊዜ ላይ # ጠብታ ቮልቴጅ። እንቅልፍ (.2) # ይጠብቁ ።2 s GPIO.output (resetPin ፣ GPIO. HIGH) # በ RST ፒን GPIO ላይ # ወደነበረበት ቮልቴጅ። ማፅዳት () የወደፊት የአሂድ ማስጠንቀቂያዎችን ለመከላከል በ RPI ላይ # ፒኖችን ዳግም ያስጀምሩ

  • የፕሮግራም አወጣጥ ሁኔታ - MCU ን በፕሮግራም ሁናቴ ውስጥ ለማስቀመጥ ESP8266 ን በ GPIO0 መሬት ላይ ማስነሳት አለብን ፣ ወይም በአማራጭ እንደገና በማስነሳት እና GPIO0 ን በሚነሳበት ጊዜ (የቮልቴጅ ጠብታዎች ትክክለኛ ትክክለኛ ቆይታ ለእኔ ብዙም የሚታወቅ አይደለም ፣ ስለሆነም በጥብቅ አይሁኑ) በተጠቀመባቸው እሴቶች መመራት)። ኮድ እንደ flash.py ወይም ከዚህ በታች ያውርዱ። የድርጊቶች ቅደም ተከተል የሚከተለው ነው-

    • የ RST ፒን ወደታች ይጎትቱ
    • GPIO0 ፒን ወደታች ይጎትቱ
    • የ RST ፒን ይጎትቱ
    • GPIO0 ፒን ይጎትቱ

#!/usr/bin/python

RPi. GPIO.setup (resetPin ፣ GPIO. OUT) # እንደ ዳግም ማስጀመሪያ ፒን እንደ ውፅዓት GPIO.setup (flashPin ፣ GPIO. OUT) # የፍላሽ ፒን እንደ ውፅዓት GPIO.output (resetPin ፣ GPIO. LOW) # በ RST ፒን ጊዜ ላይ # ጠብታ ቮልቴጅን ያዘጋጁ። እንቅልፍ (.2) # ለዚህ መጠበቅ ፍላጎት ግምታዊ GPIO.output (flashPin ፣ GPIO. LOW) # በ GPIO0 ጊዜ ላይ የ # ጠብታ ቮልቴጅ። እንቅልፍ (.2) # የዚህ መጠበቅ ፍላጎት ግምታዊ GPIO.output (resetPin ፣ GPIO. HIGH) ነው።) # ESP8266 ጊዜን ማስነሳት ይጀምሩ። እንቅልፍ (.5) # GPIO.ouput ን እንዲነሳ ESP8266 ን ይጠብቁ # የወደፊቱን የአሂድ ማስጠንቀቂያዎችን ለመከላከል በ GPIO pinGPIO.cleanup ላይ # በፒኤች ላይ ፒኖችን ዳግም ያስጀምሩ።

በተርሚናል ለውጥ ፈቃዶች ውስጥ ፦

$ sudo chmod +x flash.py

$ sudo chmod +x reset.py

ከአሁን በኋላ በተርሚናል ውስጥ ወደሚሠራ የፕሮግራም ሁኔታ መግባት በሚፈልጉበት ጊዜ ሁሉ-

$ Python /flash.py

ወደ መደበኛ የአሠራር ሁኔታ ለመግባት ኮድ ከሰቀሉ በኋላ ሩጫ

$ Python /reet.py

በዚህ ጊዜ እርስዎም ESP8266 firmware ን ማዘመን ይፈልጉ ይሆናል። ያንን እንዴት ማድረግ እንደሚቻል ብዙ የመስመር ላይ ትምህርቶች አሉ ፣ ስለዚህ ይህንን እንዴት ማድረግ እንደሚቻል በዝርዝር አልገባም።

ክፍል 2. Arduino IDE ን ማቀናበር

Arduino IDE ን አስቀድመው ከጫኑ ፣ የእርስዎ አይዲኢ ለ ESP8266 ዝግጁ መሆኑን ለማረጋገጥ አሁንም በክፍል ውስጥ ማለፍ ይፈልጋሉ።

በ Rapberry Pi ላይ የእርስዎን ESP8266 ፕሮግራም ለማድረግ አርዱዲኖ አይዲኢን መጠቀም ይችላሉ። በ RPi ላይ IDE ን ለመጫን ሁለት መንገዶች አሉ-

  • apt-get install ን በመጠቀም ከውሂብ ማከማቻዎች በትእዛዝ መስመር በኩል
  • ከ arduino.cc በእጅ ያውርዱ እና ይጫኑ።

ወደ መጨረሻው መንገድ እንዲሄዱ አጥብቄ እመክራለሁ። ከውሂብ ማከማቻዎች የ IDE ሥሪት ጊዜው ያለፈበት ይመስላል እና ESP8266 ፕሮግራምን ለመጀመር ከመዘጋጀትዎ በፊት በእርግጥ ብዙ ማድረግ ይኖርብዎታል። ችግርን ለማስወገድ ወደ Arduino.cc የማውረጃ ገጽ ይሂዱ እና የ Linux ARM ሥሪት ያውርዱ። በመቀጠልም አይጨመቁ እና ይጫኑት-የወረደው ፋይል ስም ይህን ይመስላል arduino-X. Y. Z-linuxarm.tar.xz ፣ በማውረጃ አቃፊው ውስጥ-

$ tar -xvf arduino-X. Y. Z-linuxarm.tar.xz

ይህ ፋይሉን ወደ arduino-X. Y. Z አቃፊ ማላቀቅ አለበት። አሂድ ፦

$ sudo./arduino-X. Y. Z/install.sh

ይህ IDE ን መጫን አለበት። መጫኑ ከተጠናቀቀ በኋላ አይዲኢውን ያስጀምሩ።

  • ከ Arduino IDE ወደ ፋይል> ምርጫዎች ይሂዱ። በምርጫዎች መስኮት ታችኛው ክፍል ላይ “ተጨማሪ የቦርድ አስተዳዳሪ ዩአርኤሎችን” ይፈልጉ። ወደ “ተጨማሪ የቦርድ አስተዳዳሪ ዩአርኤሎች” መስክ https://arduino.esp8266.com/stable/package_esp8266com_index.json ያስገቡ ፣ “እሺ” የሚለውን ቁልፍ ጠቅ ያድርጉ።
  • ወደ መሣሪያዎች> ቦርድ: XXX> የቦርዶች አስተዳዳሪ ይሂዱ። በመስኮቱ ውስጥ ፍለጋን ይጠቀሙ ወይም ወደ ታች ይሸብልሉ ፣ የ ESP8266 ሰሌዳ ምናሌን ይምረጡ እና ጫን ጠቅ ያድርጉ። መጫኑ እስኪጠናቀቅ እና መስኮቱን እስኪዘጋ ድረስ ይጠብቁ።
  • እንደገና ወደ መሣሪያዎች> ቦርድ - XXX ይሂዱ እና የ ESP8266 ሰሌዳዎችን ይፈልጉ። አጠቃላይ ESP8266 ሞዱል ይምረጡ።

አሁን አይዲኢ ESP8266 ን ለማዘጋጀት ዝግጁ ነው። ተፈላጊውን ኮድ በ IDE መስኮት ውስጥ ያስገቡ ወይም ይለጥፉ እና ያስቀምጡት። ስቀል የሚለውን ጠቅ ያድርጉ። ከ ተርሚናል አሂድ flash.py ፣ ይህ ሰሌዳዎን በፕሮግራም ሁኔታ ውስጥ ማስገባት አለበት። አይዲኢ ማጠናከሩን እና መስቀሉን እስኪጨርስ ጥቂት ደቂቃዎችን ይጠብቁ (ማስታወሻ ESP-01 በተለምዶ ከ 2 ኤልኢዲዎች ጋር ይመጣል ፣ ኮዱ በሚሰቀልበት ጊዜ ሰማያዊው LED ያበራል) እና reset.py ን ያሂዱ። አሁን የእርስዎ ESP-01 ቦርድ ተግባሮችን ለማከናወን ዝግጁ ነው።

የሚመከር: