ዝርዝር ሁኔታ:
- ደረጃ 1: የሚያስፈልግዎት
- ደረጃ 2 - ሁለትዮሽ ጽኑ ዕቃዎችን ለመያዝ ማከማቻን ይፍጠሩ
- ደረጃ 3: ሁለትዮሽዎችን ይፍጠሩ
- ደረጃ 4 የአገልጋዩን ፍሰት ይፍጠሩ
- ደረጃ 5 የአገልጋዩን ሎጂክ ያክሉ
- ደረጃ 6 - ዝመናን ለመጠየቅ ኮዱን ወደ ረቂቅ ያክሉ
- ደረጃ 7: በመጨረሻም ዝመናውን ያስጀምሩ
ቪዲዮ: የ ESP8266 ራስ -ሰር ዝመና አገልጋይ ያዋቅሩ -7 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:34
ብዙ ሰዎች ESP8266 ን አሁን በብዙ የቤት ውስጥ (ESP-01S ፣ Wemos D1 ፣ NodeMCU ፣ Sonoff ወዘተ) ለቤት አውቶማቲክ ስርዓቶች እየተጠቀሙ ነው። የራስዎን ኮድ ከጻፉ (እኔ እንደማደርገው) እያንዳንዳቸውን በኦቲኤ (በአየር ላይ) እንኳን ማዘመን ትንሽ አድካሚ ይሆናል።
የራሴ ስርዓት ፣ ለምሳሌ 8x ESP-01S ፣ 6x Wemos D1 ፣ 4x Sonoff Basic 12x Sonoff S20 ፣ 2x Sonoff SV እና አንድ የጋራ ኮድ መሠረት የሚጋራ NodeMCU አለው ፣ ስለዚህ ቀለል ያለ ኮድ በምሠራበት ጊዜ ለማዘመን 33 መሣሪያዎች አሉ። ለውጥ።
ግን ቀላሉ መንገድ አለ - “የዝመና አገልጋይ”። እጅግ በጣም ጥሩው የአርዱዲኖ አይዲኢ + ESP8266 ኮር አብዛኛው ሥራውን የሚያከናውን ቤተ -መጽሐፍት አለው (ESP8266httpUpdate) ፣ ግን እንዲሠራ የራስዎን አገልጋይ እንዴት እንደሚያዋቅሩ ማወቅ አለብዎት።
ይህ አስተማሪ NODE-RED አገልጋይን እንዴት እንደሚጠቀሙ ያሳየዎታል ፣ ግን ተመሳሳይ አመክንዮ በመረጡት ማንኛውም የአገልጋይ ቴክኖሎጂ ላይ ይሠራል። Apache + PHP ወዘተ
ደረጃ 1: የሚያስፈልግዎት
- አርዱዲኖ አይዲኢ
- ESP8266 ኮር
- 1 ሜ ወይም ከዚያ በላይ ፍላሽ ራም ያለው ማንኛውም የ ESP8266 dev ቦርድ
- የድር አገልጋይ (ትሁት ራስተር እንጆሪ እንኳን ያደርጋል - እኔ የምጠቀምበት ነው)
- የ SPIFFS ፋይል ስርዓት ምስል በራስ-ሰር ማዘመን ከፈለጉ (አማራጭ) የ mkspiffs መሣሪያ
ደረጃ 2 - ሁለትዮሽ ጽኑ ዕቃዎችን ለመያዝ ማከማቻን ይፍጠሩ
በአገልጋዬ ላይ የተለያዩ የመሣሪያ ጽኑ ዕቃዎችን እና የ SPIFFS ምስሎችን የሚይዝ/ቤት/pi/trucFirmware የሚባል አቃፊ አለኝ።
ለእያንዳንዱ የሃርድዌር ዓይነት (ከጥቂት #ትርጓሜዎች ከአንድ ምንጭ ፋይል) የተለየ ሁለትዮሽ እጠብቃለሁ እና አዲስ ልቀት ሲዘጋጅ ለእያንዳንዱ የዒላማ መሣሪያ የአርዲኖ አይዲኢን “ንድፍ/ላክ የተጠናከረ የሁለትዮሽ” ምናሌ ትዕዛዙን እጠቀማለሁ። ምንም እንኳን 5 የተለያዩ የሃርድዌር ዓይነቶች ቢኖሩም ፣ ሁለት SPIFFS ሁለትዮሽዎች ብቻ አሉ - 1M እና 4M ስሪት - በ mkspiffs መሣሪያ የተገነባ - ሁሉም መሳሪያዎች 1 ሜ ወይም 4 ሜ ብልጭታ ስላላቸው።
ደረጃ 3: ሁለትዮሽዎችን ይፍጠሩ
የ Arduino IDE ምናሌ አማራጭ ንድፍ/ወደ ውጭ መላክ የተጠናከረ ሁለትዮሽ በመጠቀም ፣ ከዝማኔ አገልጋዩ ሲጠይቀው ወደ መሣሪያው የሚጫነውን firmware ይፍጠሩ።
የ SPIFFS ሁለትዮሽ ከፈለጉ የ mkspiffs መሣሪያውን መጫን ያስፈልግዎታል።
አንዴ ካለዎት የ SPIFFS ሁለትዮሽ መገንባት ቀላል ነው። የስሪት ቁጥሩን እንደ መለኪያ (%1) ለሚወስደው ለ 1 ሜ ስሪት አንድ መስመር የምድብ ፋይል አለኝ።
mkspiffs -c ውሂብ/ spiffs_%1_1M.bin
እና ሌላ ለ 4M ስሪት
mkspiffs -p 256 -b 8192 -s 0x0FB000 -c ውሂብ/ spiffs_%1_4M.bin
ከዚያ ሁሉንም የተጠናቀሩ ሁለትዮሽ እና የ SPIFFS.ቢኔሪያል ፋይሎችን ወደ ማከማቻው እገለብጣለሁ
ደረጃ 4 የአገልጋዩን ፍሰት ይፍጠሩ
እኔ NODE-RED ን እጠቀማለሁ ፣ ግን ቀላሉ አመክንዮ በማንኛውም የአገልጋይ ቴክኖሎጂ / ቋንቋ ላይ ተመሳሳይ ይሆናል።
ሀ) የ ESP8266httpUpdate ጥያቄን የሚያዳምጥ url ን ይግለጹ። የእኔ raspberryPi serevr በ 192.168.1.4 ላይ ነው እና በ 1880 ወደብ ላይ ያዳምጣል /ከሃርድዌር ዓይነት ጋር ተያይዞ። ስለዚህ ለ ‹Wemos D1 Mini› ሁለትዮሽ ልጠይቅ ከሆነ ፣ ዩአርኤል እንደሚከተለው ያበቃል
192.168.1.4:1880/update/d1_mini
ለ) የሚከተሉትን አመክንዮ ለማስተናገድ ኮድ ይፍጠሩ
ESP8266: “ሰላም ፣ a.b.c የጽኑ ሥሪት እሄዳለሁ ፣ አዲስ ስሪት አለዎት?” አገልጋይ - “እስቲ ላየኝ… ah አዎ አዎ a.b.d አለኝ - እዚህ ይመጣል…”
አዲስ ስሪት ካለ አገልጋዩ በ http ምላሽ ውስጥ እንደ የሁለትዮሽ ውሂብ ጭነት ይልካል። የ ESP8266httpUpdate ክፍል አዲሱን ኮድ ለማስኬድ (ከተጠየቀ) መሣሪያውን እንደገና ከማስነሳት (ከተጠየቀ) ይልቅ የጽሑፍ ማስነሻ አድራሻውን ወደ አዲሱ ኮድ በመቀየር ባለ ሁለትዮሽውን ወደ ማህደረ ትውስታ የመገልበጥ አስቸጋሪ ክፍልን ይሠራል።
በሌላ በኩል ከፍ ያለ ስሪት ከሌለ ፣ እሱ “ለእርስዎ ምንም የለኝም” በሚለው በ http 304 ስህተት ይመልሳል እና ኮድዎ እንደተለመደው መስራቱን ይቀጥላል።
ደረጃ 5 የአገልጋዩን ሎጂክ ያክሉ
በዥረቱ ውስጥ ያለው የመጀመሪያው መስቀለኛ መንገድ https://192.168.1.4:1880//ለመሣሪያ ዓይነት ከተጨመረበት የ http ጥያቄ ጋር “ያዳምጣል”። የሚከተለው የጃቫስክሪፕት ኮድ ላለው ‹የፍለጋ ዱካ ይገንቡ› ተግባር መስቀለኛ መንገድ ያስተላልፋል-
msg.type = msg.req.params.type; var h = msg.req.headers; msg.version = h ["x-esp8266-version"];
msg.mode = h ["x-esp8266-mode"];
ከሆነ (msg.mode == "sketch") {msg.payload = "/home/pi/trucFirmware/*. ino."+msg.type+". bin"; } ሌላ {var sz = h ['x-esp8266-chip-size']; msg.payload = "/home/pi/trucFirmware/spiffs _*_"+(sz/1048576)+"M.bin"; } msg መመለስ;
ይህ በቀላሉ ለሚከተለው የ sys ተግባር ተገቢውን ዱካ በዱር ምልክት ያዘጋጃል
ls - r
ከዚያ ውጤቱ ወደ “ስሪቶች አወዳድር” ተግባር መስቀለኛ ይመገባል-
var f = msg.payload.split ("\ n") [0]; msg.filename = f;
ከሆነ (msg.mode == "ንድፍ") {
f = f.replace ("/home/pi/trucFirmware/truc_", ""); f = f.replace (". ino."+msg.type+". bin", ""); } ሌላ {f = f.replace ("/home/pi/trucFirmware/spiffs_", ""); f = f.replace (/_ / dM \.bin/, ""); }
ከሆነ (msg.version <f) {
node.warn (“ማሻሻል ያስፈልጋል”);
node.warn ("ይመለሳል"+msg.filename); msg መመለስ; } node.warn (“ማሻሻል የለም”); msg.statusCode = 304; msg.payload = ;
msg መመለስ;
የመቀየሪያ መስቀያው ከዚያ የ 304 “ምንም ዝመና አያስፈልግም” የሚለው መልእክት መላክን ወይም ትክክለኛው አዲስ ሁለትዮሽ ተመልሶ ወደ መሣሪያው መመለሱን ያረጋግጣል።
ደረጃ 6 - ዝመናን ለመጠየቅ ኮዱን ወደ ረቂቅ ያክሉ
በሚቀጥለው ጊዜ የስሪት ቁጥሩን በሚጨምሩበት ጊዜ በራስ -ሰር እንዲዘምን ረቂቁ የሚከተለው ኮድ በውስጡ እንዲካተት ያስፈልጋል።
#ያካትቱ
#TRUC_VERSION "0_4_99" ን ይግለጹ
#SPIFFS_VERSION "0_5_0" ን ይግለጹ
// THIS_DEVICE በተለያዩ የማጠናከሪያ ጊዜ ትርጓሜዎች ላይ በመመስረት ቀደም ብሎ ተዘጋጅቷል/ ይህም በመጨረሻ የ hw ዓይነትን ይገልጻል ፣ ለምሳሌ። #ይህንን_እንዴት “ዲ 1_ሚኒ” const char * updateUrl =”https://192.168.1.4:1880/update/” ይህ_እንዴት; // ይህ የእኔ raspberry Pi አገልጋይ ነው ፣ 1880 ነባሪው NODE-RED ወደብ // /ዝመናው ለአገልጋዩ ‹እንዲያዳምጥ› የመረጥኩት url ነው ፣ ከዚያ የመሣሪያው ዓይነት… {ሕብረቁምፊ msg; t_httpUpdate_return ret; ESPhttpUpdate.rebootOnUpdate (ሐሰት); ከሆነ (ንድፍ) {ret = ESPhttpUpdate.update (updateUrl, TRUC_VERSION); // **************** ይህ ‹ንግዱን የሚያከናውን›} ሌላ {ret = ESPhttpUpdate.updateSpiffs (updateUrl ፣ SPIFFS_VERSION) ፤ } ከሆነ (ret! = HTTP_UPDATE_NO_UPDATES) {ከሆነ (ret == HTTP_UPDATE_OK) {
Serial.printf ("የዘመነ ተሳካ");
እውነት ተመለስ; } ሌላ {ከሆነ (ret == HTTP_UPDATE_FAILED) {
Serial.printf ("ማሻሻል አልተሳካም");
}}} ሐሰትን ይመልሱ ፤ }
ደረጃ 7: በመጨረሻም ዝመናውን ያስጀምሩ
በሚነሳበት ጊዜ ፣ ወይም ምናልባት ለ MQTT መልእክት ምላሽ (እኔ እንደማደርገው) የሚከተለውን ኮድ ያሂዱ
ከሆነ (_actualUpdate (እውነተኛ)) ESP.restart ();
// ወይም ለ SPIFFS…
ከሆነ (_actualUpdate (ሐሰት)) ESP.restart ();
መሣሪያው እራሱን ያዘምናል እና የቅርብ ጊዜውን ኮድ ከአገልጋዩ በማሄድ እንደገና ይነሳል። 33 መሳሪያዎችን በእጅ ከማዘመን ለእኔ ለእኔ በጣም ቀላል ነው!
ስለ Home Automation ፣ IOT እና ESP8266 ብዙ ጠቃሚ መረጃዎች በእኔ ብሎግ ላይ ሊገኙ ይችላሉ
የሚመከር:
ESP8266 POV አድናቂ ከሰዓት እና ከድር ገጽ የጽሑፍ ዝመና ጋር - 8 ደረጃዎች (ከስዕሎች ጋር)
ESP8266 POV አድናቂ ከሰዓት እና ከድር ገጽ የጽሑፍ ዝመና ጋር - ይህ ተለዋዋጭ ፍጥነት ፣ POV (የእይታ ጽናት) ፣ አልፎ አልፎ ጊዜውን የሚያሳየው ደጋፊ ፣ እና በራሪ ላይ ሊዘመኑ የሚችሉ ሁለት የጽሑፍ መልእክቶች ናቸው። " The POV Fan እንዲሁም ሁለቱን ጽሑፍ እኔን ለመለወጥ የሚያስችልዎት አንድ ገጽ የድር አገልጋይ ነው
በ Raspberry Pi ላይ የራስዎን የጂፒኤስ መከታተያ አገልጋይ ያዋቅሩ 8 ደረጃዎች
በ Raspberry Pi ላይ የራስዎን የጂፒኤስ መከታተያ አገልጋይ ያዋቅሩ - በዚህ ፕሮጀክት ውስጥ የራስዎን የጂፒኤስ መከታተያ አገልጋይ በ Raspberry pi ላይ እንዴት እንደሚያዋቅሩ አሳያችኋለሁ። ለመከታተያ አገልጋዩ የምንጠቀምበት ሶፍትዌር ለዊንዶውስ እና ለሊኑክስ እንዲሁ የሚገኝ ስለሆነ Raspberry pi መሆን የለበትም።
Esp8266 የጽኑ ትዕዛዝ ዝመና 7 ደረጃዎች
የ Esp8266 የጽኑዌር ዝመና - የ ESP8266 ሞዱል ርካሽ ሽቦ አልባ ሞዱል ነው። ለማንኛውም ማይክሮ መቆጣጠሪያ/ማይክሮፕሮሰሰር wifi መስጠት የሚችል ኤስኦሲ (ሲፒዩ ላይ ያለ ስርዓት) አለው። esp8266 ን መጠቀም የሚቻልባቸው ሁለት መንገዶች አሉ። ወይም አርዱዲኖ ወይም
የእራስዎን አነስተኛ አገልጋይ አገልጋይ ይፍጠሩ! እጅግ በጣም ቀላል ፣ ፈጣን እና ነፃ! (ምንም ጠቅ ማድረጊያ የለም): 11 ደረጃዎች (ከስዕሎች ጋር)
የእራስዎን አነስተኛ አገልጋይ አገልጋይ ይፍጠሩ! እጅግ በጣም ቀላል ፣ ፈጣን እና ነፃ! (ምንም ጠቅ ማድረጊያ የለም): Minecraft እርስዎ የሚፈልጉትን ማንኛውንም ነገር ማድረግ የሚችሉበት እጅግ በጣም አስደሳች ጨዋታ ነው! ግን በይነመረብ ላይ ከጓደኞች ጋር መጫወት አንዳንድ ጊዜ ህመም ሊሆን ይችላል። በሚያሳዝን ሁኔታ ፣ ብዙ ባለብዙ ተጫዋች አገልጋዮች በጨዋታ ተሞክሮ ሳይሆን በትሮሎች ተሞልተዋል
በጣም የራስዎን የድር አገልጋይ ያዋቅሩ !: 12 ደረጃዎች
በጣም የራስዎን የድር አገልጋይ ያዋቅሩ! - ፋይሎችዎን የሚይዙበት እና የበይነመረብ ግንኙነት በሚያገኙበት በማንኛውም ቦታ የሚደርሱበት ቦታ እንዲኖርዎት ይፈልጋሉ? ለጓደኛዎ ዘፈን ለመስጠት ከፈለጉ ወይም ምናልባት እርስዎ ከፈለጉ የሙዚቃ ቤተ -መጽሐፍትዎ እንዲኖርዎት ይፈልጉ ይበሉ