ዝርዝር ሁኔታ:
- ደረጃ 1 የግንባታ አካባቢን መፍጠር
- ደረጃ 2: የምንጭ ኮድ ያግኙ ፣ ያዋቅሩ እና ይገንቡ
- ደረጃ 3 የሃርድዌር ክፍሎችን ያገናኙ
- ደረጃ 4 - ብልጭታ እና አሂድ
- ደረጃ 5: መስተጋብር
- ደረጃ 6 - የትግበራ ዝርዝሮች
ቪዲዮ: የ WiFi LED ስትሪፕ + የሙቀት ዳሳሽ በ ESP8266: 6 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
ይህ መማሪያ ESP8266 ን ለማቀናጀት እና ከሁለቱም የሙቀት ዳሳሽ እና ከ LED ስትሪፕ ጋር እንዲነጋገር እርምጃዎችን ይገልፃል ፣ ግብዓት ለመቀበል እና በ WiFi ላይ ከ MQTT ጋር መላክ ይችላል። ፕሮጀክቱ የተሠራው በካል ፖሊ ሳን ሉዊስ ኦቢስፖ በ 2016 መገባደጃ- CPE 439: Real Time Embedded Systems ውስጥ ነው። አጠቃላይ ግቡ በበይነመረብ የተገናኘ “ነገር” በርካሽ ሃርድዌር የመፍጠርን ቀላልነት ለማሳየት ነበር።
የሚያስፈልጉ ዕቃዎች/ዕቃዎች
- NodeMCU ESP8266 dev ቦርድ
- WS2812B LED ስትሪፕ
- MAX31820 የሙቀት ዳሳሽ
- የዳቦ ሰሌዳ
- 4.7 ኪ ohm resistor
- 220 ohm resistor
- ዝላይ ሽቦዎች
- ማይክሮ-ዩኤስቢ ገመድ
- ሊኑክስን የሚያሄድ ፒሲ (ወይም ቪኤም) (ለምሳሌ ኡቡንቱ)
ግምቶች/ቅድመ -ሁኔታዎች
- የትእዛዝ-መስመር መሣሪያዎችን በመጠቀም እና ጥቅሎችን በዲቢያን ላይ በተመሠረተ distro ላይ የመጫን ልምድ
- የ Makefile አገባብ መሠረታዊ ግንዛቤ
- ሽቦዎችን በማገናኘት ላይ
ደረጃ 1 የግንባታ አካባቢን መፍጠር
ፕሮጀክቱን ለመገንባት በእርስዎ ማሽን ላይ የተጫነ esp-open-sdk ያስፈልግዎታል። አገናኙን ይከተሉ እና የግንባታ መመሪያዎችን ያንብቡ። በአጭሩ ጥገኝነትን ለመጫን አንዳንድ የ sudo apt-get ትዕዛዞችን ታደርጋለህ ፣ git clone-esp-open-sdk ን ለመዝጋት/ለማውረድ እና በመጨረሻም esp-open-sdk ን ለመገንባት ትእዛዝ ያድርጉ።
ተመልከተኝ
ደረጃ 2: የምንጭ ኮድ ያግኙ ፣ ያዋቅሩ እና ይገንቡ
አሁን esp-open-sdk ተገንብቷል ፣ የፕሮጀክቱን ማከማቻ ይደብቁ።
git clone
ወደ የፕሮጀክቱ ማውጫ ይቀይሩ ፣.local አቃፊ ይፍጠሩ እና የምሳሌ ቅንብሮችን ይቅዱ።
cd esp-rtos- ሙከራዎች
mkdir -p.local cp settings.example.mk.local/settings.mk
አሁን ከማንኛውም የጽሑፍ አርታዒ ጋር.local/settings.mk ን ይክፈቱ እና የሚከተሉትን ቅንብሮች ይለውጡ
- OPENSDK_ROOT: በደረጃ 1 የገነቡትን esp-open-sdk የሚገኝበት ፍጹም መንገድ
- WIFI_SSID - የ WiFi አውታረ መረብዎ SSID
- WIFI_PASS - የ WiFi አውታረ መረብዎ የይለፍ ቃል
- PIXEL_COUNT ፦ በእርስዎ WS2812B LED strip ላይ የፒክሴሎች ብዛት
ማሳሰቢያ -ይህ ፕሮጀክት ኤልኢዲዎችን ለማሽከርከር SPI ን ስለሚጠቀም እና እነሱን ለማቅረብ NodeMCU 3.3v ን ስለሚጠቀም ምናልባት ከ ~ 60 LED ዎች በላይ መንዳት ላይችሉ ይችላሉ።
ማሳሰቢያ - ሌሎች ቅንጅቶች መለወጥ አያስፈልጋቸውም ፣ ግን ከተፈለገ ሊሆኑ ይችላሉ። ቅድሚያ የሚሰጣቸውን ተግባራት ቅደም ተከተል ለመጠበቅ ይመከራል። ቅድሚያ የሚሰጠው ቁጥር ዝቅተኛ ፣ የተግባሩ ቀዳሚነት ዝቅ ይላል።
አሁን ፕሮጀክቱን ይገንቡ
ያድርጉ -C ምሳሌዎች/cpe439
ሁሉም ነገር በትክክል ከተዋቀረ ማጠናቀር መጀመር አለበት። በመጨረሻ ማየት ያለብዎት-
በተሳካ ሁኔታ 'firmware/cpe439.bin' ተፈጥሯል
ተመልከተኝ
ደረጃ 3 የሃርድዌር ክፍሎችን ያገናኙ
አሁን ኮዱ ተሰብስቧል ፣ የእኛን ተጓዳኝ አካላት ለማገናኘት ጊዜው አሁን ነው።
በመጀመሪያ ፣ NodeMCU ን በዳቦ ሰሌዳው ላይ ይለጥፉ ፣ ከዚያ በስዕላዊ መግለጫው ላይ እንደሚታየው ግንኙነቶችን ለመሥራት የጃምፐር ሽቦዎችን ይጠቀሙ።
ሊያውቋቸው የሚገቡ ሁለት ነገሮች
- አስፈላጊ-የ WS2812B የውሂብ መስመር ባለሁለት አቅጣጫ አይደለም። በጠርዙ የ LED ጎን ላይ ያሉትን ምልክቶች በቅርበት ከተመለከቱ ፣ አንድ አቅጣጫ የሚያመለክቱ ትናንሽ ቀስቶችን ማየት አለብዎት። ከኖድኤምሲዩ D7 የሚወጣው ውጤት ወደ WS2812B ወደ አቅጣጫው ጠቋሚ በተመሳሳይ አቅጣጫ መሄድ አለበት ፣ ይህም በቅርበት ከተመለከቱ በስዕላዊ መግለጫው ውስጥ ማየት ይችላሉ።
- የእርስዎ WS2812B በምን ዓይነት አያያ comesች ላይ በመመስረት በደህና ወደ ዳቦ ሰሌዳ እንዲገናኙ ለማድረግ አንዳንድ ማሻሻያዎችን ማድረግ ያስፈልግዎታል። እንዲሁም የዳቦ ሰሌዳ-አቅም ካለው መዝለያ ኬብሎች ጋር ለማገናኘት የአዞ ክሊፖችን መጠቀም ይችላሉ።
- የ MAX31820 ፒኖች አነስ ያለ ቅጥነት አላቸው እና ከመደበኛ 0.1 ኢንች/2.54 ሚሜ ዝላይዎች በጣም ቀጭን ናቸው ፣ ለማገናኘት አስቸጋሪ ያደርጋቸዋል። በዚህ መንገድ አንዱ ከሴት ወደ ወንድ የሚዘል ሽቦዎችን መጠቀም ፣ የፕላስቲክ መያዣውን ከሴት ጎን ማውጣት ፣ ከዚያ የሴት መዝለያ ጫፎቹን በትናንሽ MAX31820 ፒኖች ዙሪያ በጥብቅ ለመጨፍለቅ አንዳንድ መያዣዎችን ይጠቀሙ።
ክፍሎቹን እንዳያበላሹ NodeMCU ን ከማብራትዎ በፊት ግንኙነቶቹን እንደገና ያረጋግጡ።
ደረጃ 4 - ብልጭታ እና አሂድ
ብልጭ ድርግም
ከሁሉም ሃርድዌር ጋር ተገናኝተው የእርስዎን NodeMCU ይሰኩ እና በሚከተለው ትዕዛዝ ያብሩ
ብልጭታ ያድርጉ -C ምሳሌዎች/cpe439 ESPPORT =/dev/ttyUSB0
/dev/ttyUSB0 NodeMCU ከዚህ በታች መታየት ያለበት ተከታታይ com ነው። ሌሎች ተከታታይ መሣሪያዎች ካሉዎት እንደ /dev /ttyUSB1 ወይም ሌላ ሌላ ቁጥር ሊታይ ይችላል። ለመፈተሽ ይህንን ትእዛዝ ሁለት ጊዜ ማሄድ ይችላሉ ፣ አንድ ጊዜ በ NodeMCU ሲነቀል ፣ እና አንድ ጊዜ ከተሰካ እና ልዩነቱን ያወዳድሩ
ls /dev /ttyUSB*
ሊያጋጥሙዎት የሚችሉት ሌላው ችግር መሣሪያውን ለመድረስ ፈቃድ አለመስጠት ነው። ይህንን ለማስተካከል ሁለት መንገዶች አሉ-
-
ተጠቃሚዎን ወደ የውይይት ቡድን ያክሉ ፦
sudo adduser $ (whoami) መገናኛ
- መሣሪያውን chmod ወይም ጮክ ያድርጉ
sudo chmod 666 /dev /ttyUSB0 sudo chown $ (whoami): $ (whoami) /dev /ttyUSB0ቋሚ መፍትሔ በመሆኑ የመጀመሪያው ዘዴ ይመረጣል።
በመሮጥ ላይ
የፍላሽ ትዕዛዙን በተሳካ ሁኔታ ከሠራ በኋላ መሣሪያው ወዲያውኑ ይነሳል እና የተቀናጀውን ኮድ ማሄድ ይጀምራል። ብልጭ ድርግም ካደረጉ በኋላ በማንኛውም ጊዜ ተከታታይ ውጤትን ለመመልከት የሚከተለውን ትእዛዝ ማሄድ ይችላሉ-
python3 -m serial.tools.miniterm -eol CRLF --exit -char 003 /dev /ttyUSB0 500000 --raw -q
ጊዜን ለመቆጠብ ይህንን ወደ የእርስዎ ~/.bashrc ፋይል ማከል ይችላሉ-
ተለዋጭ nodemcu = 'python3 -m serial.tools.miniterm -eol CRLF -exit -char 003 /dev /ttyUSB0 500000 --raw -q'
..እዚያ ለዚያ ትእዛዝ ተለዋጭ ስም “nodemcu” ብለው ለመተየብ ያስችልዎታል።
ሁሉም ነገር በትክክል ከተዋቀረ የእርስዎ የ LED ስትሪፕ አረንጓዴ ማብራት አለበት ፣ እና በተከታታይ ላይ የ WiFi ግንኙነትን ማየት ፣ የአይፒ አድራሻ ማግኘት ፣ ከ MQTT ጋር መገናኘት እና የሙቀት መጠን መረጃ እየተገፋ መሆኑን መልዕክቶች ማየት አለብዎት።
ከ MyWiFiSSID ፣ ሰርጥ 1dhcp ደንበኛ ጅምር ጋር ተገናኝቷል… wifi_task: status = 1wifi_task: status = 1ip: 192.168.2.23 ፣ ጭንብል ፦ 255.255.255.0 ፣ gw: 192.168.2.1ws2812_spi_init ok Reequest tempe: (ድጋሚ) ከ MQTT አገልጋይ test.mosquitto.org ጋር በመገናኘት ላይ
ደረጃ 5: መስተጋብር
መሣሪያዎ ከ WiFi ጋር ተገናኝቶ እና የ MQTT ደላላ በተሳካ ሁኔታ ከተገናኘ ፣ ከ MQTT ጋር ከ NodeMCU ውሂብ መላክ እና መቀበል ይችላሉ። አስቀድመው ካላደረጉ የትንኝ ደንበኞችን ጥቅል ይጫኑ ፦
sudo apt-get ጫን ትንኞች-ደንበኞችን
አሁን የወባ ትንኝ_ፓብ እና የትንኝ_ሱብ ፕሮግራሞችን ከ shellልዎ መጠቀም መቻል አለብዎት።
የሙቀት ዝመናዎችን በመቀበል ላይ
የሙቀት መረጃን ለመቀበል ኖድኤምሲዩ ለሚያወጣው ርዕስ ለመመዝገብ የ mosquitto_sub ትዕዛዙን መጠቀም እንፈልጋለን።
mosquitto_sub -h test.mosquitto.org -t /cpe439 /temp
ወደ ተርሚናል ሲደርሱ የሙቀት መረጃን (በሴልሲየስ ውስጥ) ማየት አለብዎት።
+25.87+25.93+25.68…
የ LED ንጣፍ ቀለሙን በርቀት ማቀናበር
በ MQTT ላይ የ RGB እሴቶችን ወደ NodeMCU ለመላክ ቀለል ያለ የመልእክት ቅርጸት ጥቅም ላይ ይውላል። የትእዛዝ ቅርጸቱ እንደዚህ ይመስላል
r: RRRg: GGGb: BBB ~
RRR ፣ GGG ፣ BBB ለመላክ ከሚፈልጉት ቀለም ከ RGB እሴቶች (0-255) ጋር ይዛመዳል። ትዕዛዛችንን ለመላክ ፣ ትንኝ_ፓብ ትዕዛዙን እንጠቀማለን። አንዳንድ ምሳሌዎች እነሆ -
mosquitto_pub -h test.mosquitto.org -t /cpe439 /rgb -m 'r: 255g: 0b: 0 ~' # redmosquitto_pub -h test.mosquitto.org -t /cpe439 /rgb -m 'r: 0g: 255b: 0 ~ ' # greenmosquitto_pub -h test.mosquitto.org -t /cpe439 /rgb -m' r: 0g: 0b: 255 ~ ' # ሰማያዊ
ፈጠራን ለማግኘት ከፈለጉ እንደዚህ ያለ በመስመር ላይ ባለ ቀለም መልቀሚያ ያግኙ እና በመረጡት የ RGB እሴት ትዕዛዙን ያርትዑ።
ተመልከት
በዚህ ፕሮጀክት ውስጥ ያሉት ርዕሶች በሕዝባዊ MQTT ደላላ ላይ ወደ /cpe439 /rgb እና /cpe439 /temp ተቀናብረዋል ፣ ይህ ማለት ሌላ ሰው ከእርስዎ ጋር ተመሳሳይ ርዕሶችን እንዳያሳትም ወይም እንዳይመዘገብ የሚከለክል ምንም ነገር የለም ማለት ነው። ነገሮችን ለመሞከር ፣ የሕዝብ ደላላን መጠቀም ጥሩ ነው ፣ ግን ለከባድ ፕሮጄክቶች በይለፍ ቃል ጥበቃ ከደላላ ጋር መገናኘት ወይም የራስዎን ደላላ በአገልጋይ ላይ ማሄድ ይፈልጋሉ።
ደረጃ 6 - የትግበራ ዝርዝሮች
Onewire
ESP8266 1 ኮር ብቻ አለው ፣ በጣም ረጅም ፣ እንደ የሙቀት መለኪያ ለመለካት 750ms ን መጠበቅ ያሉ ተግባሮችን ማገድ በተለምዶ WiFi በጥሩ ሁኔታ እንዳይሠራ እና ምናልባትም ብልሽት እንኳን ያስከትላል። በ FreeRTOS ምሳሌ ውስጥ ፣ እነዚህን ረጅም መጠባበቂያዎች ለማስተናገድ vTaskDelay () ን ይደውላሉ ፣ ነገር ግን ከ FreeRTOS ስርዓት መዥገር አጠር ያሉ በማንበብ እና በመፃፍ መካከል የሚፈለጉ ብዙ አጫጭር መጠባበቂያዎች አሉ ፣ እና ስለሆነም በ vTaskDelay () ሊወገድ አይችልም። በእነዚህ ዙሪያ ለመሄድ ፣ በዚህ ፕሮጀክት ውስጥ ያለው ባለአሽከርካሪ ሾፌር በ ESP8266 የሃርድዌር ሰዓት ቆጣሪ የሚነዳውን የመንግስት ማሽን ለማሽከርከር የተፃፈ ሲሆን ይህም እንደ እያንዳንዱ 10 ማይክሮ ሰከንዶች ያህል ዝቅተኛ ክስተቶችን ሊያስነሳ ይችላል ፣ ይህም በጣም አጭር ይሆናል በኦንዌይር የንባብ/የመፃፍ ክዋኔዎች መካከል አስፈላጊ ጊዜ። አብዛኛዎቹ ሌሎች ትግበራዎች ይህንን ለማስተናገድ ለማዘግየት () (ወይም) ተመሳሳይ የማገጃ ጥሪ ይጠቀማሉ ፣ ግን ያለማቋረጥ የሙቀት ዝመናዎችን የሚወስዱ ከሆነ ፣ እነዚያ ሁሉ መዘግየቶች መደመር ይጀምራሉ ፣ በዚህም አነስተኛ ምላሽ ሰጪ መተግበሪያን ያስከትላሉ። የዚህ የኮድ ክፍል ምንጭ በተጨማሪ/ኦንዌየር አቃፊ ውስጥ ይገኛል።
WS2812B
የ ESP8266 የ LED ቁራጮችን በ 800 ኪኸ ለማሽከርከር ለ PWM ምንም መደበኛ የሃርድዌር አማራጮች የሉትም። በዚህ ዙሪያ ለመዞር ፣ ይህ ፕሮጀክት ኤልኢዲዎቹን ለማሽከርከር የ SPI MOSI ፒን ይጠቀማል። የ SPI የሰዓት ምጣኔን በማስተካከል እና የ SPI የክፍያ ጭነት ዙሪያውን በመቀየር ፣ የእያንዳንዱን ኤልኢዲ ትክክለኛ አስተማማኝ ቁጥጥር ማግኘት ይችላሉ። ይህ ዘዴ እንከን የለሽ አይደለም- ለአንድ ኤልኢዲዎች በ 5 ቪ ምንጭ የተጎላበተ እና በ SPI ፒን ውፅዓት ደረጃ መለወጫ መጨመር አለበት። ግን 3.3V ይሠራል። ሁለተኛ ፣ የ SPI ዘዴን በመጠቀም ባልተሟላ ጊዜ ምክንያት የሚከሰቱ ብልሽቶች አሉ። እና ሦስተኛው አሁን SPI ን ለሌላ ለማንኛውም ነገር መጠቀም አይችሉም። በዚህ ዘዴ ላይ ተጨማሪ ዳራ እዚህ ሊገኝ ይችላል ፣ እና የዚህ ኮድ ክፍል ምንጭ በተጨማሪ/ws2812 አቃፊ ውስጥ ይገኛል።
የ LED ንጣፎችን ለመንዳት የበለጠ አስተማማኝ ዘዴ i2s ን መጠቀም ነው። ሆኖም ይህ ዘዴ ብዙ ቺፕ-ተኮር ጠላፊዎች አሉት ፣ ስለዚህ SPI እንደ የመማሪያ ልምምድ የተሻለ ምርጫ ይመስል ነበር።
የሚመከር:
አርዱዲኖ ሶላር የተጎላበተው የሙቀት እና የእርጥበት ዳሳሽ እንደ 433 ሜኸ የኦሪገን ዳሳሽ 6 ደረጃዎች
አርዱዲኖ ሶላር የተጎላበተ የሙቀት መጠን እና የእርጥበት ዳሳሽ እንደ 433 ሜኸ የኦሪገን ዳሳሽ-ይህ በፀሐይ ኃይል የሚሰራ የሙቀት እና የእርጥበት ዳሳሽ ግንባታ ነው። ዳሳሽ የ 433 ሜኸዝ ኦሪገን ዳሳሽ ያስመስላል ፣ እና በቴልልድስ ኔት ፍኖት ውስጥ ይታያል። የሚያስፈልግዎት-1x " 10-LED የፀሐይ ኃይል እንቅስቃሴ ዳሳሽ " ከኢባይ። 3.7v batter እንደሚል እርግጠኛ ይሁኑ
አርዱዲኖ ከአልትራሳውንድ ዳሳሽ እና ከእውቂያ -አልባ የሙቀት ዳሳሽ ጋር መገናኘት -8 ደረጃዎች
አርዱዲኖ ከአልትራሳውንድ ዳሳሽ እና ከእውቂያ -አልባ የሙቀት ዳሳሽ ጋር መገናኘት -በአሁኑ ጊዜ ፣ ሰሪዎች ፣ ገንቢዎች ለፕሮጀክቶች ፕሮቶታይፕ ፈጣን ልማት አርዱዲኖን ይመርጣሉ። አርዱዲኖ ለአጠቃቀም ቀላል በሆነ ሃርድዌር እና ሶፍትዌር ላይ የተመሠረተ ክፍት ምንጭ የኤሌክትሮኒክስ መድረክ ነው። አርዱዲኖ በጣም ጥሩ የተጠቃሚ ማህበረሰብ አለው። በዚህ ፕሮጄክት
LM35 የሙቀት ዳሳሽ በመጠቀም ከአርዱዲኖ ኡኖ ጋር ንባብ የሙቀት መጠን - 4 ደረጃዎች
LM35 ን የሙቀት መጠን ዳሳሽ በመጠቀም ከአርዱዲኖ ኡኖ ጋር - ንባብ በዚህ አስተማሪዎች ውስጥ LM35 ን ከአርዱዲኖ ጋር እንዴት መጠቀም እንደሚቻል እንማራለን። Lm35 የሙቀት መጠን እሴቶችን ከ -55 ° ሴ እስከ 150 ° ሴ ማንበብ የሚችል የሙቀት ዳሳሽ ነው። ከአየሩ ሙቀት ጋር ተመጣጣኝ የአናሎግ ቮልቴጅን የሚያቀርብ ባለ 3-ተርሚናል መሣሪያ ነው። ከፍተኛ
ESP8266 NodeMCU የመድረሻ ነጥብ (ኤፒ) ለድር አገልጋይ በ DT11 የሙቀት ዳሳሽ እና በአሳሹ ውስጥ የሙቀት መጠን እና እርጥበት ማተም 5 ደረጃዎች
ESP8266 NodeMCU የመድረሻ ነጥብ (ኤፒ) ለድር አገልጋይ በ DT11 የሙቀት ዳሳሽ እና የማተሚያ ሙቀት እና እርጥበት በአሳሽ ውስጥ - ሠላም ወንዶች በአብዛኛዎቹ ፕሮጄክቶች ውስጥ ESP8266 ን እንጠቀማለን እና በአብዛኛዎቹ ፕሮጄክቶች ውስጥ ESP8266 ን እንደ ድር አገልጋይ እንጠቀማለን ፣ ስለዚህ መረጃ በ በ ESP8266 የተስተናገደውን ዌብሳይቨርን በመድረስ በ wifi ላይ ያለ ማንኛውም መሣሪያ ግን ብቸኛው ችግር ለሥራ የሚሰራ ራውተር ያስፈልገናል
የ DHT11 የሙቀት ዳሳሽ በአርዱዲኖ እንዴት እንደሚጠቀም እና የሙቀት ሙቀት እና እርጥበት ማተም -5 ደረጃዎች
የ DHT11 የሙቀት ዳሳሽ በአርዱዲኖ እና በሕትመት የሙቀት መጠን እና እርጥበት እንዴት እንደሚጠቀሙ - የ DHT11 ዳሳሽ የሙቀት መጠንን እና እርጥበት ለመለካት ጥቅም ላይ ይውላል። እነሱ በጣም ተወዳጅ የኤሌክትሮኒክስ የትርፍ ጊዜ ማሳለፊያዎች ናቸው። የ DHT11 እርጥበት እና የሙቀት ዳሳሽ በእራስዎ የኤሌክትሮኒክስ ፕሮጄክቶች ላይ የእርጥበት እና የሙቀት መጠን መረጃን በእውነቱ ማከል ቀላል ያደርገዋል። በየ