สารบัญ:

Pocket ESP8266 Weather Station [No ThingsSpeak] [ใช้แบตเตอรี่]: 11 ขั้นตอน
Pocket ESP8266 Weather Station [No ThingsSpeak] [ใช้แบตเตอรี่]: 11 ขั้นตอน

วีดีโอ: Pocket ESP8266 Weather Station [No ThingsSpeak] [ใช้แบตเตอรี่]: 11 ขั้นตอน

วีดีโอ: Pocket ESP8266 Weather Station [No ThingsSpeak] [ใช้แบตเตอรี่]: 11 ขั้นตอน
วีดีโอ: #264 Weekly Roundup #65 - New Maker Products // News 2024, พฤศจิกายน
Anonim
Pocket ESP8266 Weather Station [No ThingsSpeak] [แบตเตอรี่ขับเคลื่อน]
Pocket ESP8266 Weather Station [No ThingsSpeak] [แบตเตอรี่ขับเคลื่อน]
Pocket ESP8266 Weather Station [No ThingsSpeak] [แบตเตอรี่ขับเคลื่อน]
Pocket ESP8266 Weather Station [No ThingsSpeak] [แบตเตอรี่ขับเคลื่อน]
Pocket ESP8266 Weather Station [No ThingsSpeak] [แบตเตอรี่ขับเคลื่อน]
Pocket ESP8266 Weather Station [No ThingsSpeak] [แบตเตอรี่ขับเคลื่อน]

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

โดยทั่วไปแล้วสภาพอากาศในกระเป๋านี้มีสมองของ ESP8266 และทำงานโดยใช้แบตเตอรี่อย่างที่มันเป็นหัวใจ มาพร้อมกับ DHT11 ซึ่งใช้วัดอุณหภูมิและความชื้นแล้วส่งไปที่ ESP8266 จากนั้น ESP8266 จะส่งข้อมูลนี้ไปยังเว็บไซต์ของเราแทนการใช้เว็บไซต์ของบุคคลที่สาม หลังจากส่งข้อมูลไปยังเว็บไซต์ของเราแล้ว ESP8266 จะเข้าสู่โหมด DeepSleep เป็นเวลา 30 นาทีและเริ่มต้นใหม่หลังจากนั้น โครงการทั้งหมดทำงานบน 1A แบตเตอรี่ที่ชาร์จใหม่ผ่านโมดูล TP4056 พก Pocket Weather Station นี้ไปได้ทุกที่ เชื่อมต่อกับ Hotspot ของโทรศัพท์หรือเราเตอร์ Wifi ในบ้านของคุณ มันสามารถกำหนดค่าให้เชื่อมต่อกับ wifi อื่นโดยไม่ต้องตั้งโปรแกรมใหม่

ตอนนี้คุณรู้มากเกี่ยวกับโมดูลนี้แล้ว มาเริ่มเรียนรู้เพิ่มเติมเกี่ยวกับ Software Part กันเถอะ!

กดปุ่มโหวตด้านบน ถ้าคุณชอบ - ขอให้สนุก

ขั้นตอนที่ 1: ทำความเข้าใจกระบวนการ

เข้าใจกระบวนการ
เข้าใจกระบวนการ

ก่อนอื่น ฉันต้องการให้คุณเข้าใจว่า Pocket Weather Station ทำงานอย่างไร

เกี่ยวกับโครงการ:

ความยาก: ปานกลาง

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

เกี่ยวกับ UI (ส่วนต่อประสานผู้ใช้):

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

มันเรียบง่ายอย่างสมบูรณ์และผู้ใช้จะแสดงส่วนต่อประสานกราฟิกซึ่งเขาสามารถอ่านค่าได้อย่างง่ายดาย

การทำงานของโครงการ:

สิ่งนี้ใช้ได้กับรหัสที่ค่อนข้างง่าย

การทำงานมีดังนี้:

ESP8266 เชื่อมต่อกับเราเตอร์ WiFi ของคุณ > ESP8266 ขอการวัดจาก DHT11 > DHT11 คืนค่าการวัดเป็น ESP8266 > จากนั้น ESP8266 จะส่งคำขอ HTTP ไปยังเว็บไซต์ของเราและส่งข้อมูลไปยัง GET Request > หลังจากนั้น ESP8266 จะเข้าสู่โหมด Deep Sleep เป็นเวลา 30 นาที > หลังจากรีบูต ESP8266 เป็นเวลา 30 นาที และผ่านกระบวนการทั้งหมดอีกครั้ง

WiFi คืออะไร เราเตอร์ปิดอยู่?

ฉันใช้ WiFiManager Library พร้อมรหัสซึ่งมีอินเทอร์เฟซที่ง่ายต่อการกำหนดค่าเป็น Wifi อื่นหรือลองเชื่อมต่อกับ Wifi ที่มีอยู่ใน ESP8266 อีกครั้งเมื่อเราเตอร์ของคุณปิดอยู่หรือรหัสผ่านถูกเปลี่ยน

ไลบรารี WiFiManager ป้องกันไม่ให้เรายุ่งและตั้งโปรแกรมชิปใหม่เมื่อเราต้องการเปลี่ยนเป็นจุดเชื่อมต่อ wifi อื่นหรือหากรหัสผ่านของเราเตอร์ของคุณถูกเปลี่ยน

กระบวนการของ WifiManager นั้นง่าย:

ในการเริ่มต้นครั้งแรก > บูตเครื่องในโหมด AP > กำหนดค่าเราเตอร์ไร้สายของคุณ > รีบูตเข้าสู่โหมด STA (บันทึกรายละเอียดของคุณสำหรับการรีบูตเพิ่มเติม เพื่อที่คุณจะได้ไม่ต้องกำหนดค่าอีกครั้งในการรีบูตครั้งอื่น)

กรณี: หากเราเตอร์ Wifi ของคุณไม่ทำงานหรือหากรหัสผ่าน Wifi ของคุณถูกเปลี่ยน

บูตเข้าสู่โหมด AP > กำหนดค่า Wifi ใหม่ หรือ เปลี่ยนรหัสผ่าน wifi > หากผู้ใช้ไม่เชื่อมต่อกับ AP ของ esp8266 ระบบจะลองอีกครั้งด้วยรายละเอียด wifi เดียวกันหลังจากผ่านไประยะหนึ่ง

ขั้นตอนที่ 2: รวบรวมชิ้นส่วนทั้งหมด

รวบรวมชิ้นส่วนทั้งหมด
รวบรวมชิ้นส่วนทั้งหมด

ชิ้นส่วนที่ใช้ในสถานีตรวจอากาศนี้มีราคาไม่แพง ดังนั้น คุณไม่จำเป็นต้องผ่านงบประมาณรายวันของคุณ:NS

อย่างไรก็ตาม ไปเลย:

1) ESP12E/F (ESP12F เป็นตัวเลือกที่ดีที่สุด)

2) DHT11

3) LM1117 (ฉันขอแนะนำให้ใช้ตัวควบคุมการออกกลางคันอื่น ๆ เพื่อชีวิตโครงการที่ดีขึ้น) (มีกระแสไฟนิ่งที่ 0.5Mah ดังนั้นจึงควรเลือกใช้ MCP ประเภทอื่นซึ่งมีค่าต่ำกว่า 30 uA!)

4) 0805 ตัวต้านทาน SMD 4.7K

5) 0805 ตัวต้านทาน SMD 12K

6) 0805 SMD 0.1uf ตัวเก็บประจุเซรามิก

7) Li-ion Single Cell Mobile Battery 1A หรือสูงกว่า

8) TP4056 เครื่องชาร์จแบตเตอรี่ Li-ion พร้อม IC ป้องกัน

ฉันขอแนะนำให้ใช้โมดูลเครื่องชาร์จ TP4056 กับ IC ป้องกันเท่านั้น เพราะเมื่อแบตเตอรี่ถึง 2.4v (เหนือโซนอันตราย) IC ป้องกันจะจัดการคำสั่งและจะปิดโครงการโดยอัตโนมัติ

ขั้นตอนที่ 3: แผนผัง

แผนผัง
แผนผัง

ดังนั้น เมื่อไม่กี่ปีที่ผ่านมาฉันจึงเข้าใจถึงพลังของแผนผัง

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

นี่คือจุดเชื่อมต่อบน ESP8266:

GPIO16 > รีเซ็ต

CH_PD > VCC

GPIO 4 > DHT11 - พินข้อมูล

GPIO15 > GND

VCC > อินพุตแบตเตอรี่

GND > GND

จุดเชื่อมต่อบน DHT11:

VCC > อินพุตแบตเตอรี่

ข้อมูล > GPIO 4

GND > GND

ขั้นตอนที่ 4: เค้าโครง PCB

เค้าโครง PCB
เค้าโครง PCB

ฉันสร้างเค้าโครง PCB เนื่องจากพิน ESP12 ไม่เป็นมิตรกับบอร์ดบอร์ด

PCB นี้ถูกสร้างขึ้นตามขนาดแบตเตอรี่ของฉัน แต่สามารถใช้กับแบตเตอรี่ขนาดอื่นได้

คุณสามารถผ่านแผนผังและสร้าง PCB ของคุณเองได้ตามขนาดแบตเตอรี่ของคุณ

สิ่งนี้ถูกสร้างขึ้นบน PCB ด้านเดียวโดยมี TOP Layer บน Eagle CAD เท่านั้น ดังนั้น ก่อนพิมพ์ ให้เลือกตัวเลือก Mirror ใน Eagle PCB

ไฟล์ PCB ที่แนบมา

ข้อควรสนใจ: เนื่องจากไม่มีพื้นที่เพียงพอในการเชื่อมต่อ VCC PCB Trace ดังนั้นฉันจึงสร้างช่องว่าง (อ้างอิง Jumper บน PCB) คุณจะต้องเชื่อมต่อ 2 จุดเหล่านั้นด้วยลวดฉนวน

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

รหัส Arduino
รหัส Arduino

สำหรับโครงการนี้ฉันตั้งโปรแกรม ESP8266 ใน Arduino IDE

เครดิตพิเศษไปที่:

1) ห้องสมุด Adafruit DHT

2) ไลบรารี WebManager

3) ห้องสมุด Arduino ESP8266

โค้ดใช้ไลบรารีทั้งหมดเหล่านี้เพื่อการทำงานที่เหมาะสม คลิกที่ชื่อห้องสมุดด้านบนเพื่อไปและดาวน์โหลด

รหัส Arduino ที่แนบมากับขั้นตอนนี้ จะมีการเปลี่ยนแปลงเล็กน้อยที่จำเป็นในรหัสนี้สำหรับการทำงานกับเราเตอร์ของคุณ ซึ่งจะชี้แจงในขั้นตอนสุดท้าย

ขั้นตอนที่ 6: การแกะสลัก PCB

แกะสลัก PCB
แกะสลัก PCB
แกะสลัก PCB
แกะสลัก PCB
แกะสลัก PCB
แกะสลัก PCB
แกะสลัก PCB
แกะสลัก PCB

เนื่องจากฉันจะไม่กำลังพูดถึงวิธีการแกะสลัก PCB ด้านเดียวของคุณเองที่บ้าน ดังนั้นใครก็ตามที่ไม่ทราบ นี่คือลิงค์ที่คุณสามารถรู้วิธีสร้างมันได้

ลิงค์: วิธีการจำ PCB ที่บ้าน

> ข้ามขั้นตอนนี้หากคุณสร้างบน Breadboard หรือ StripBoard หรือ คุณรู้อยู่แล้วว่าต้องทำอย่างไร >>

ขั้นตอนที่ 7: บัดกรีชิ้นส่วนทั้งหมด

บัดกรีชิ้นส่วนทั้งหมด
บัดกรีชิ้นส่วนทั้งหมด
บัดกรีชิ้นส่วนทั้งหมด
บัดกรีชิ้นส่วนทั้งหมด
บัดกรีชิ้นส่วนทั้งหมด
บัดกรีชิ้นส่วนทั้งหมด

นี่คือการอธิบายตนเอง คุณจะต้องประสานชิ้นส่วนทั้งหมดที่ระบุในรายการตามชื่อที่เกี่ยวข้องที่ระบุในไฟล์ PCB

หมายเหตุ: เพิ่มแถบเทปที่ปิดรอย PCB ใกล้กับ ESP12 Bottom 6 Extra Pins เพื่อป้องกันไฟฟ้าลัดวงจร

ฉันได้เพิ่มรูปภาพด้านบนซึ่งให้สถานที่อ้างอิงทั้งหมดแก่คุณซึ่งคุณต้องประสานชิ้นส่วน

อย่าลืมบัดกรีจัมเปอร์ด้วยลวดฉนวน

> ข้ามขั้นตอนนี้หากทำบน Breadboard หรือ StripBoard >>

ขั้นตอนที่ 8: เชื่อมต่อแบตเตอรี่ด้วยการตั้งค่า

การเชื่อมต่อแบตเตอรี่ด้วยการตั้งค่า
การเชื่อมต่อแบตเตอรี่ด้วยการตั้งค่า
การเชื่อมต่อแบตเตอรี่ด้วยการตั้งค่า
การเชื่อมต่อแบตเตอรี่ด้วยการตั้งค่า
การเชื่อมต่อแบตเตอรี่ด้วยการตั้งค่า
การเชื่อมต่อแบตเตอรี่ด้วยการตั้งค่า
การเชื่อมต่อแบตเตอรี่ด้วยการตั้งค่า
การเชื่อมต่อแบตเตอรี่ด้วยการตั้งค่า

ตามที่กล่าวไว้ ฉันใช้แบตเตอรี่ Li-ion Single Cell 1A จากโทรศัพท์มือถือ Samsung Dead ของฉัน โชคดีที่แบตเตอรี่ทำงานได้ดีดังนั้นฉันจึงแนะนำให้ทุกคนเก็บแบตเตอรี่ไว้หากเมนบอร์ดในโทรศัพท์ของคุณตาย

ข้อควรระวัง: อย่าใช้แบตเตอรี่ที่บวม รั่วไหลและสามารถระเบิดได้ในทุกกรณี

ตอนนี้มาถึงส่วนที่หากิน!:

1) ฉันเห็นว่า Bat+ และ OUT+ บน TP4056 เชื่อมต่อเข้าด้วยกัน ดังนั้นฉันจึงใช้สายเดียวเพื่อเชื่อมต่อกับแบตเตอรี่และใช้สาย VCC อื่นที่มาจากด้าน ESP8266 เพื่อเชื่อมต่อกับแบตเตอรี่ + (ในความหมายทั้งหมด มันจะเป็นกรณีเดียวกับที่คุณใช้ 2 สายสำหรับ Bat+ และ OUT+)

2) ตอนนี้ความแตกต่างคือเมื่อมาถึงกราวด์ของพินบนโมดูล TP4056 โมดูลมีกราวด์พินที่แตกต่างกันสำหรับ OUT และ BAT- ดังนั้นในขณะที่เชื่อมต่อกราวด์คุณจะต้องใช้ 2 สายแทนที่จะเชื่อมต่อกับกราวด์ของแบตเตอรี่

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

ขั้นตอนที่ 9: การตั้งค่าเว็บไซต์ของคุณเอง

การตั้งค่าเว็บไซต์ของคุณเอง
การตั้งค่าเว็บไซต์ของคุณเอง

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

ส่วนเว็บไซต์. พวกเราหลายคนคงจะสับสนว่าอย่างไร?

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

ดังนั้นเพื่อการทดลองใช้งาน คุณสามารถทดลองใช้ฟรีโฮสติ้งและโดเมนตามที่เว็บไซต์นี้ให้:

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

สำหรับผู้เริ่มต้น:

โดเมน - มันถูกอ้างถึงชื่อที่มอบให้กับเว็บไซต์หรือคุณอาจรู้ว่าเป็น URL (เช่น: Instrucables.com)

โฮสติ้ง - เป็นเซิร์ฟเวอร์ที่เซิร์ฟเวอร์ไฟล์ของเว็บไซต์ไปยังผู้ใช้

ตอนนี้ฉันกำลังจัดเตรียมไฟล์ที่ปฏิบัติตามล่วงหน้าและแหล่งที่มาของไฟล์ซึ่งคุณต้องอัปโหลดไปยังโฮสติ้งของคุณ (แตกไฟล์ทั้งหมดจาก.zip ด้านบนแล้ววาง)

ดังนั้นเพียงอัปโหลดสิ่งเหล่านี้ไปยังโฮสติ้งของคุณและทำการเปลี่ยนแปลงที่จำเป็นในขั้นตอนต่อไป

ไฟล์แนบ

---- การเข้าถึงข้อมูลที่ส่งไปยังเว็บไซต์โดยโมดูล -----

เพื่อแสดงข้อมูลจากโมดูลถึงเรา คุณเพียงแค่ต้องพิมพ์ url ของคุณและเพิ่มบรรทัด "/show.php" ข้างหน้า

("yoururl.url/show.php")

ขั้นตอนที่ 10: การเปลี่ยนแปลงเล็กน้อยที่ผู้ใช้ต้องการ

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

ในรหัส Arduino ค้นหาบรรทัดของรหัสเหล่านี้:

IPAddress _ip = IPAddress (192, 168, 1, 112); // เปลี่ยนการตั้งค่า 3 รายการนี้ตาม IP ของเราเตอร์และ GateWay. IPAddress _gw = IPAddress(192, 168, 1, 1); IPAddress _sn = IPAddress (255, 255, 255, 0);

แล้วเปลี่ยนตาม IP เกตเวย์และซับเน็ตของเราเตอร์ของคุณเอง

ไปที่รหัสเดิมอีกครั้งและค้นหาบรรทัดนี้:

http.begin("https://yourwebsiteurl.com/main.php?temp="+ String(t) +"&hum="+ String(h) +""); //เปลี่ยน URL ตาม URL เว็บไซต์ของคุณ

ดังนั้น ในบรรทัดนี้ คุณต้องเปลี่ยน "yourwebsiteurl.com" เป็น URL เว็บไซต์ของคุณเอง

นั่นคือทั้งหมด และคุณมีสถานีตรวจอากาศพกพา ESP8266 Pocket แบบพกพาที่ใช้งานได้จริง

ขั้นตอนที่ 11: จบโมดูล

จบโมดูล
จบโมดูล
จบโมดูล
จบโมดูล
จบโมดูล
จบโมดูล
จบโมดูล
จบโมดูล

ตอนนี้ ทุกคน นี่เป็นขั้นตอนเพิ่มเติมและจะทำให้โมดูลของคุณโดดเด่นและป้องกันการลัดวงจรจากการสัมผัส ทางออกที่เรียบง่ายและมีสไตล์คือการใช้ท่อหดแบบใช้ความร้อนสีขาวขนาดเส้นผ่านศูนย์กลาง 7 ซม. ตัดชิ้นส่วนเล็ก ๆ ออกจากการเปิด DHT11

แนะนำ: