สารบัญ:

สถานีตรวจอากาศ IoT อื่น: 8 ขั้นตอน
สถานีตรวจอากาศ IoT อื่น: 8 ขั้นตอน

วีดีโอ: สถานีตรวจอากาศ IoT อื่น: 8 ขั้นตอน

วีดีโอ: สถานีตรวจอากาศ IoT อื่น: 8 ขั้นตอน
วีดีโอ: พาทัวร์ สถานีตรวจวัดอากาศ (Weather Station) 2024, พฤศจิกายน
Anonim
สถานีตรวจอากาศ IoT อีกแห่ง
สถานีตรวจอากาศ IoT อีกแห่ง
สถานีตรวจอากาศ IoT อีกแห่ง
สถานีตรวจอากาศ IoT อีกแห่ง
สถานีตรวจอากาศ IoT อีกแห่ง
สถานีตรวจอากาศ IoT อีกแห่ง
สถานีตรวจอากาศ IoT อีกแห่ง
สถานีตรวจอากาศ IoT อีกแห่ง

ต่อไปนี้เป็นของขวัญวันเกิดให้พ่อของฉัน แรงบันดาลใจจาก Instructable อื่นที่ฉันเห็นและในตอนแรกตั้งใจจะพิสูจน์ให้เขาเห็นว่าเป็นชุดสร้างด้วยตนเอง อย่างไรก็ตาม เมื่อเริ่มทำงานในโครงการนี้ร่วมกับเขา ฉันตระหนักได้อย่างรวดเร็วว่าบทช่วยสอนเบื้องต้นที่เป็นแรงบันดาลใจให้ของขวัญนั้นล้าสมัยไปแล้ว และบทเรียนออนไลน์อื่นๆ อีกจำนวนมากมีช่องว่างที่สำคัญในการอธิบาย ดังนั้นฉันจึงตัดสินใจเผยแพร่สถานีตรวจอากาศ IoT อีกแห่งซึ่งหวังว่าจะง่ายต่อการปฏิบัติตามแบบฟอร์มตั้งแต่ต้นจนจบ

คำแนะนำเพิ่มเติมนี้แสดงวิธีใช้ Blynk, Google ชีตหรือทั้งสองอย่างเพื่อตรวจสอบและบันทึกการอ่านเซ็นเซอร์ ยิ่งไปกว่านั้น รายการ Google ชีตจะถูกเขียนโดยตรงไปยังแผ่นงาน (โดยไม่ต้องผ่านบริการของบุคคลที่สาม)

เกี่ยวกับ Stevenson Screen มีออนไลน์มากมายที่สามารถพิมพ์ 3 มิติได้เช่น https://www.thingiverse.com/thing:1718334. ฉันจะสร้างสิ่งนี้สำหรับคำแนะนำนี้

Stevenson Screen คือ "ที่พักพิงของเครื่องมือคือที่พักพิงหรือสิ่งที่แนบมากับเครื่องมืออุตุนิยมวิทยาที่ป้องกันการตกตะกอนและการแผ่รังสีความร้อนโดยตรงจากแหล่งภายนอก ในขณะที่ยังคงปล่อยให้อากาศหมุนเวียนรอบตัวได้อย่างอิสระ" (วิกิพีเดีย).

อะไหล่

  • Wemos LolIn - NodeMCU v3 (1.43 ดอลลาร์สหรัฐ)
  • BME280 (เซ็นเซอร์อุณหภูมิ ความดัน และความชื้น) (2.40 ดอลลาร์สหรัฐ)
  • 6V 1000mA แผงโซลาร์เซลล์ (USD 9.96)
  • 5 โวลต์ 1A Micro USB 18650 แบตเตอรี่ลิเธียมชาร์จโมดูล + ป้องกัน Dual ฟังก์ชั่น TP4056 (USD 0.99)
  • แบตเตอรี่ NiMH แบบรีชาร์จขนาด 4x 1.2V ได้
  • ที่ใส่แบตเตอรี่ (4x AA, วางเคียงข้างกันและสิ้นสุด)
  • ปลั๊กขั้วต่อไมโคร USB ตัวผู้
  • เคเบิ้ลไทร์
  • ถั่วปีก 3x
  • ไม้เท้าหรือไม้กวาด
  • อีพ็อกซี่และ/หรือซุปเปอร์กาว (เมื่อมองย้อนกลับไป ซิลิคอนอาจทำงานได้ดีกว่า)

ซอฟต์แวร์

  • แอพ Blynk
  • Google ชีต (หากต้องการเข้าถึงข้อมูลย้อนหลัง)
  • EasyEDA (สำหรับการวาดแผนผัง)
  • Arduino IDE

เครื่องมือ

  • หัวแร้ง
  • ประสาน
  • ท่อหดความร้อน
  • เครื่องพิมพ์ 3 มิติ
  • ปืนกาว

ขั้นตอนที่ 1: การพิมพ์ 3 มิติ - Stevenson Screen

การพิมพ์ 3 มิติ - Stevenson Screen
การพิมพ์ 3 มิติ - Stevenson Screen
การพิมพ์ 3 มิติ - หน้าจอสตีเวนสัน
การพิมพ์ 3 มิติ - หน้าจอสตีเวนสัน
การพิมพ์ 3 มิติ - Stevenson Screen
การพิมพ์ 3 มิติ - Stevenson Screen

ดังที่ได้กล่าวไปแล้ว ดาวน์โหลดไฟล์จาก https://www.thingiverse.com/thing:1718334 และพิมพ์บิตที่ต้องการ คำแนะนำในการประกอบยังอยู่ในลิงค์ด้านบน ฉันได้ทำการแก้ไขบางอย่าง (ดูหมายเหตุด้านล่าง)

ชิ้นส่วนที่พิมพ์ได้แก่

  • Top_Cover_for_m3_tapping.stl
  • Middle_Ring.stl (x5)
  • Middle_Ring_bottom.stl (x1, STL แนบด้านบน)
  • Solid_Plate.stl (x1)
  • Solid_Plate_Base.stl (x1)
  • Pole_Mount_1in_Round.stl
  • Sensor_Grid.stl
  • Electronics_Mount.stl
  • My_Solar_Cell_Mount.stl (x2, STL แนบด้านบน)

ลำดับการประกอบคือ:

  • ร้อยรู
  • ขันเกลียวแท่ง M3 เข้ากับซ็อกเก็ตเกลียว
  • Top_Cover
  • Solid_Plate
  • Middle_Rings
  • เลื่อนใน Sensor_Grid
  • Electronics_Mount
  • Solid_Plate_Bottom
  • Pole_Mount
  • My_Solar_Cell_Mounts ถูกเคลือบด้วยอีพอกซีที่ด้านบนของ Top_Cover

ฉันเจาะรูบนแผ่น Solid เพื่อให้สายชาร์จจากแผงโซลาร์เซลล์เชื่อมต่อกับที่ชาร์จ จากนั้นอีกสายหนึ่งเพื่อให้สายวิ่งจากตัวควบคุมไปยังเซ็นเซอร์บน Sensor_Grid

เมื่อเสร็จแล้ว เซ็นเซอร์จะถูกตั้งโปรแกรมให้อ่านค่าต่อไปนี้ทุกๆ 60 นาที:

  • อุณหภูมิ
  • ความชื้น
  • ความดัน

หมายเหตุ

  • ฉันปรับแต่งที่ยึดโซลาร์เซลล์ให้เหมาะกับการยึดโซลาร์เซลล์ของฉันมากขึ้น
  • ฉันติดตั้งอุปกรณ์อิเล็กทรอนิกส์ระหว่าง Pole_Mount และ Solid_Plate ดูเหมือนว่าจะไม่ให้การป้องกันที่ดีสำหรับอุปกรณ์อิเล็กทรอนิกส์ ดังนั้นฉันจึงแก้ไขบน Solid_Plate เพื่อให้มีกระโปรงที่จะปิดช่องว่างและด้วยเหตุนี้จึงให้การป้องกันที่ดีขึ้นสำหรับอุปกรณ์อิเล็กทรอนิกส์ ภาพถ่ายด้านบนบางส่วนถูกถ่ายก่อนที่ฉันจะทำการเปลี่ยนแปลงนี้
  • อีพ็อกซี่ของฉันตกลงมาโดยไม่ถือแผงโซลาร์เซลล์ซึ่งฉันติดใหม่ด้วยกาวซุปเปอร์ ฉันคิดว่าฉันจะต้องใช้ซิลิโคน

ขั้นตอนที่ 2: วงจร

The Circuit
The Circuit
The Circuit
The Circuit

เชื่อมต่อวงจรตามที่แสดงในแผนผัง ติดตั้ง LoLin และ BME280 บนตาข่ายที่พิมพ์ 3 มิติตามที่แสดงในภาพ

BME280 -> LiLon

  • VCC -> 3.3V
  • GND -> GND
  • SCL -> D1
  • SDA -> D2

LiLon -> LiLon

D0 -> RST (จำเป็นเพื่อปลุกคอนโทรลเลอร์ให้ตื่นจากโหมดหลับลึก แต่ต้องเชื่อมต่อหลังจากอัปโหลดโค้ดไปยังคอนโทรลเลอร์แล้วเท่านั้น)

บันทึก

ฉันมีความท้าทายในการหาแบตเตอรี่ LiLon ที่เหมาะสม ด้วยเหตุผลบางอย่างฉันไม่ประสบความสำเร็จในการเปิดเครื่องผ่าน VIN ฉันจึงขับเคลื่อนดังนี้:

  • เอาต์พุตจาก TP4056 ถูกต่อเข้ากับขั้วต่อ USB ตัวผู้ จากนั้นเสียบเข้ากับช่องเสียบ USB ของบอร์ดเพื่อจ่ายไฟ
  • B- และ B+ บน TP4056 เชื่อมต่อกับที่ใส่แบตเตอรี่ AA ซึ่งถือแบตเตอรี่ NiMH

ขั้นตอนที่ 3: IoT - Blynk

IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk
IoT - Blynk

"Blynk เป็นแพลตฟอร์ม IoT ที่ไม่เชื่อเรื่องฮาร์ดแวร์ด้วยแอปมือถือที่ปรับแต่งได้ คลาวด์ส่วนตัว กลไกจัดการกฎ และแดชบอร์ดการวิเคราะห์การจัดการอุปกรณ์" โดยทั่วไปจะช่วยให้คุณสามารถจัดการและตรวจสอบเซ็นเซอร์ระยะไกลได้อย่างปลอดภัยจากทุกที่ในโลกผ่านทางอินเทอร์เน็ต ในขณะที่บริการเชิงพาณิชย์ แต่ละบัญชีมาพร้อมกับเครดิตฟรี 2,000 เครดิต เครดิตช่วยให้คุณสามารถเชื่อมโยงมาตรวัด จอแสดงผล การแจ้งเตือน ฯลฯ กับเซ็นเซอร์หรือเซ็นเซอร์ของคุณ แม้ว่าราคาการสมัครรับข้อมูลจะอยู่นอกช่วงงบประมาณของมือสมัครเล่น แต่เครดิตฟรีก็เพียงพอแล้วสำหรับโปรเจ็กต์ง่ายๆ แบบนี้

ในการเริ่มใช้บริการ คุณจะต้องดาวน์โหลดแอป Blynk ลงในโทรศัพท์/อุปกรณ์ของคุณก่อน สร้างและบัญชี (หรือเข้าสู่ระบบด้วยบัญชีที่มีอยู่) แล้วสร้างโครงการใหม่ดังนี้:

  • เลือกฮาร์ดแวร์ของคุณ
  • ตั้งชื่อโครงการของคุณ (ในกรณีนี้ฉันใช้ "Weather Station"
  • คลิก "สร้าง"
  • จากนั้นคุณจะได้รับรหัสรับรองความถูกต้องทางอีเมล

คุณไม่จำเป็นต้องเพิ่มวิดเจ็ตที่จำเป็น ด้วยเครดิตฟรี 2,000 ของฉันฉันได้เพิ่มสิ่งต่อไปนี้:

  • 3 เกจ
  • 1 ซุปเปอร์ชาร์ท

มาตรวัดและแผนภูมิได้รับการตั้งค่าตามรูปภาพที่แนบมา โดยแต่ละอันจะได้รับหมุดเสมือนของตัวเองซึ่งจะนำไปใช้ในโค้ดอย่างหลัง

เมื่อตั้งค่าเสร็จแล้ว สามารถกดปุ่มเล่นที่ด้านบนขวาเพื่อเริ่มสะสมวันที่ได้

ดูข้อมูลเพิ่มเติมได้ที่

docs.blynk.cc/#getting-started.

ขั้นตอนที่ 4: รหัส - การเตรียม Arduino IDE

จะต้องเพิ่มไลบรารีต่อไปนี้ใน Arduino IDE เพื่อให้โครงการนี้เสร็จสมบูรณ์:

  • https://github.com/adafruit/Adafruit_BME280_Library (ต้องการเซ็นเซอร์อุณหภูมิ ความดัน และความชื้น)
  • https://github.com/adafruit/Adafruit_Sensor
  • https://github.com/esp8266/Arduino (ช่วยให้คุณเข้าถึงบอร์ด ESP8266)
  • https://github.com/blynkkk/blynk-library/releases/tag/v0.6.1 (ห้องสมุด Blynk)
  • https://github.com/electronicsguy/ESP8266/tree/master/HTTPSRedirect (HTTPSRRedirect จำเป็นสำหรับการเชื่อมต่อกับ Google ชีต)

สำหรับคำแนะนำในการติดตั้งไลบรารี่สำหรับ Arduino IDE โปรดไปที่

การตั้งค่าฮาร์ดแวร์ของฉันมีดังนี้:

  • บอร์ด: NodeMCU 1.0 (โมดูล ESP-12E)
  • ความเร็วในการอัพโหลด: 115200

เมื่อใช้โค้ดที่แนบมาในขั้นตอนต่อไปนี้ โปรดอ้างอิงความคิดเห็นในโค้ดเกี่ยวกับการเพิ่มสิ่งต่อไปนี้เสมอ

  • Wifi SID
  • รหัสผ่าน Wifi
  • Blynk คีย์การให้สิทธิ์
  • รหัสสคริปต์ของ Google
  • คีย์การแชร์ Google ชีต

ขั้นตอนที่ 5: รหัส - Blynk

ฉันต่อสู้เป็นเวลานานเพื่อให้เซ็นเซอร์ BME280 ของฉันทำงาน จนกระทั่งฉันพบตัวอย่างที่มีบรรทัดต่อไปนี้

สถานะ = bme.begin(0x76); //ที่อยู่ I2C ของเซ็นเซอร์ที่ฉันใช้คือ 0x76

ดูเหมือนว่าฉันต้องตั้งค่าที่อยู่เซ็นเซอร์ เมื่อฉันทำสิ่งนี้แล้วมันก็ใช้ได้ดี

Blynk มีส่วนต่อประสานผู้ใช้มือถือที่ดีมาก แต่ก็มีข้อ จำกัด ดังต่อไปนี้:

  • เครดิตฟรีเพียง 2,000 โปรเจ็กต์ที่ต้องการมากกว่านั้นต้องมีการสมัครสมาชิกรายเดือนที่มีราคาแพง (เว้นแต่คุณจะโฮสต์และดูแลเซิร์ฟเวอร์ Blynk ของคุณเอง)
  • เว้นแต่คุณจะโฮสต์เซิร์ฟเวอร์ Blynk ของคุณเอง คุณจะไม่สามารถส่งออกข้อมูลในอดีตได้

ด้วยเหตุผลข้างต้น ฉันได้พิจารณาวิธีที่ฉันสามารถรวมกระบวนการรวบรวมข้อมูลของฉันลงใน Google ชีตได้อย่างไร นี้จะครอบคลุมในส่วนถัดไป

ขั้นตอนที่ 6: รหัส - Google ชีต

รหัส - Google ชีต
รหัส - Google ชีต
รหัส - Google ชีต
รหัส - Google ชีต
รหัส - Google ชีต
รหัส - Google ชีต

เพื่อที่จะบันทึกการอ่านของคุณเพื่อให้คุณสามารถวิเคราะห์ข้อมูลในอดีตได้ในภายหลัง คุณต้องเขียนมันลงในฐานข้อมูลบางประเภท ไลบรารี HTTPSRedirect ทำให้เราทำได้โดยการเขียนข้อมูลลงใน Google ชีต

ข้อจำกัดหลักของวิธีนี้มีดังนี้:

  • ไม่มีส่วนต่อประสานผู้ใช้มือถือที่ดี
  • Google ชีตสามารถมีเซลล์ได้สูงสุด 400,000 เซลล์ สำหรับโครงการนี้ นี่ไม่ใช่ปัญหาใหญ่เพราะจะใช้เวลาเพียง 11 ปีกว่าจะถึงขีดจำกัดนี้

Google ชีตได้รับการตั้งค่าดังนี้

สร้าง Google ชีตที่มีสองแผ่น

แผ่นที่ 1: ข้อมูล

แผ่นข้อมูลต้องมี 4 คอลัมน์ ได้แก่ วันที่/เวลา อุณหภูมิ ความชื้น ความดัน (คอลัมน์ A ถึง D) จัดรูปแบบคอลัมน์อย่างเหมาะสม เช่น คอลัมน์ A จะเป็น " วันที่ เวลา " เพื่อให้วันที่และเวลาปรากฏในเซลล์

แผ่นที่ 2: แดชบอร์ด

สร้างแผ่น Dashboard ตามรูปภาพที่แนบมา โดยป้อนสูตรตามรายการด้านล่าง:

  • B2: =counta(Data!B:B)-1
  • B3: =B1+TIMEVALUE(CONCATENATE("00:", Text(G7, "0")))
  • B6: =query(Data!A2:D, "เลือกลำดับ B โดย A desc จำกัด 1")
  • C6: =query(Data!A2:D, "เลือกลำดับ C โดย A desc จำกัด 1")
  • D6: =query(Data!A2:D, "เลือกลำดับ D โดย A desc จำกัด 1")
  • B8: =query(Data!A2:D, "Select A order by B desc จำกัด 1")
  • C8: =query(Data!A2:D, "Select A order by C desc จำกัด 1")
  • D8: =query(Data!A2:D, "Select A order by D desc จำกัด 1")
  • B9: =query(Data!A2:D, "Select B order by B desc จำกัด 1")
  • C9: =query(Data!A2:D, "เลือกลำดับ C โดย C desc จำกัด 1")
  • D9: =query(Data!A2:D, "เลือกลำดับ D โดย D desc จำกัด 1")
  • B11: =query(Data!A2:D, "เลือก A โดยที่ B ไม่ใช่ลำดับว่างโดย B asc จำกัด 1")
  • C11: =query(Data!A2:D, "เลือก A โดยที่ C ไม่ใช่ลำดับว่างโดย C asc จำกัด 1")
  • D11: =query(Data!A2:D, "เลือก A โดยที่ D ไม่ใช่ลำดับว่างโดย D asc จำกัด 1")
  • B12: =query(Data!A2:D, "เลือก B โดยที่ B ไม่ใช่ลำดับว่างโดย B asc จำกัด 1")
  • C12: =query(Data!A2:D, "เลือก C โดยที่ C ไม่ใช่ลำดับว่างโดย C asc จำกัด 1")
  • D12: =query(Data!A2:D, "เลือก D โดยที่ D ไม่ใช่ลำดับว่างโดย D asc จำกัด 1")
  • G3: =4+B2*4+29+17
  • G4: =(G2-G3)/G2
  • G6: =G2/4 G8: =G7*G6
  • G9: =(G8/60)/24
  • G10: =G9/365
  • G11: =(((((G2-G3)/4)*G7)/60)/24/365)

Google ชีตมีเซลล์ได้สูงสุด 400,000 เซลล์ ซึ่งใช้ร่วมกับข้อเท็จจริงที่ว่าการอ่านแต่ละครั้งใช้ 4 เซลล์ เพื่อคำนวณว่าเหลือพื้นที่ว่างเท่าใดและเมื่อไรจะหมด

อาจเป็นไปได้ที่จะปรับปรุงสูตรเหล่านี้ ฉันทำสองสิ่งที่นี่ นั่นคือ เรียนรู้เกี่ยวกับสูตรการสืบค้นแล้วจึงเขียนสูตรบางอย่างเพื่อช่วยให้ฉันจำตรรกะที่อยู่เบื้องหลังพวกเขาได้

ภาพหน้าจอ "ตัวแก้ไขแผนภูมิ" แสดงการตั้งค่าพื้นฐานสำหรับกราฟอุณหภูมิ กราฟอื่นๆ ที่สร้างโดยใช้การตั้งค่าเดียวกัน ความแตกต่างเพียงอย่างเดียวระหว่างกราฟคือค่าแกนตั้งขั้นต่ำ (อยู่ใต้แท็บปรับแต่ง) แท็บปรับแต่งยังมีการตั้งค่าอื่นๆ เช่น ชื่อการเข้าถึง ชื่อกราฟ ฯลฯ

ตอนนี้เราต้องการ Google Script ที่จะช่วยให้เราเขียนข้อมูลของเราได้โดยการเรียก URL

การสร้างสคริปต์

ใน URL ของ Google ชีต ให้จดคีย์ระหว่าง " d/ " และ " /edit " นี่คือ -Your-Google-Sheet-Sharing-Key- ของคุณ และจะต้องใช้ในโค้ดด้านล่าง

ถัดไปไปที่เครื่องมือ > ตัวแก้ไขสคริปต์ และสร้าง Google App Script โดยวางโค้ดในไฟล์ GS ที่แนบมา อัปเดต var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/-Your-Google-Sheet-Sharing-Key–/edit"); เพื่อสะท้อนคีย์การแบ่งปันของคุณ

ตอนนี้เผยแพร่สคริปต์โดยไปที่ เผยแพร่ > ปรับใช้เป็นเว็บแอป

คัดลอก URL ของเว็บแอปปัจจุบันและบันทึกไว้ที่ใดที่หนึ่งตามที่คุณต้องการเพื่อแยก GScriptID (-Your-Google-Script-ID–) GScriptID คือสตริงระหว่าง " s/ " และ " /exec? " ตรวจสอบให้แน่ใจว่า "ทุกคน แม้กระทั่งไม่ระบุชื่อ" สามารถเข้าถึงแอปได้ ในระหว่างกระบวนการนี้ คุณจะถูกขอให้ให้สิทธิ์บางอย่าง เป็นสิ่งสำคัญที่คุณให้สิ่งเหล่านี้

หมายเหตุ: เมื่อใดก็ตามที่คุณแก้ไขโค้ด คุณต้องสร้างเวอร์ชันโปรเจ็กต์ "ใหม่" และเผยแพร่ มิฉะนั้น คุณจะยังคงใช้โค้ดเดิมเดิมอยู่

คุณสามารถทดสอบสคริปต์ได้โดยไปที่ https://script.google.com/macros/s/-Your-Google-Script-ID–/exec?Temperature=10&Humidity=11&Pressure=12 ทุกครั้งที่คุณรีเฟรชลิงก์นี้ ควรเพิ่มรายการใหม่ลงใน Google ชีต

ข้อมูลข้างต้นนี้นำมาจากบทช่วยสอนต่อไปนี้: https://embedded-lab.com/blog/post-data-google-sheets-using-esp8266/ บทช่วยสอนนี้ล้าสมัย ดังนั้นโค้ด Arduino ที่เกี่ยวข้องในหัวข้อถัดไปจึงมีการเปลี่ยนแปลงเพื่อรองรับไลบรารี HTTPSRedirect ล่าสุด

รหัส Arduino

ดูรหัสที่แนบมา

ขั้นตอนที่ 7: รหัส - Blynk & Google ชีต

เพื่อให้ได้ประโยชน์สูงสุดจากทั้งสองโลก เราสามารถรวมรหัสสำหรับทั้ง Blynk และ Google ชีต

ดูรหัสที่แนบมา

ขั้นตอนที่ 8: ความคิดเห็นสุดท้าย

ความคิดเห็นสุดท้าย
ความคิดเห็นสุดท้าย
ความคิดเห็นสุดท้าย
ความคิดเห็นสุดท้าย

ไม่มีสิ่งใดข้างต้นเป็นความคิดของฉัน แต่เป็นโครงการที่สร้างขึ้นจากความคิดและผลงานของผู้อื่น ฉันสนุกกับการดึงมันมารวมกันที่เดียว โดยใช้เทคโนโลยีและเครื่องมือต่างๆ เพื่อสร้างโปรเจ็กต์ที่สนุกและใช้ได้จริง ฉันชอบเรียนรู้วิธีจัดเก็บการอ่านใน Google ชีตเป็นพิเศษ สำหรับสิ่งนี้ฉันขอขอบคุณ ElectronicsGuy (Sujay Phadke)

อัปเดต

หลังจากทำโปรเจ็กต์นี้เสร็จแล้ว ฉันต้องเปลี่ยนการตั้งค่าไร้สาย ตอนนี้ฉันทำงานบนคอมพิวเตอร์เครื่องอื่น หลังจากอัปโหลดการเปลี่ยนแปลง โปรเจ็กต์หยุดทำงาน หลังจากการแก้ไขปัญหาบางอย่าง ฉันสรุปว่าฟังก์ชัน deepsleep ทำงานล้มเหลว ฉันนำโครงการกลับบ้านและอัปโหลดที่นั่น (โดยใช้รหัสเดียวกัน) และใช้งานได้ ฉันจึงสรุปได้ว่าต้องมีบางอย่างเปลี่ยนแปลงในไลบรารีที่ฉันเพิ่มเข้าไป ฉันได้แนบไลบรารีที่อยู่ในคอมพิวเตอร์ที่บ้านของฉันมาไว้ในส่วนนี้ ในกรณีที่คนอื่นเจอปัญหานี้

แนะนำ: