สารบัญ:
- ขั้นตอนที่ 1: ทำไมต้องให้อาหารปลา
- ขั้นตอนที่ 2: ข้อกำหนดเบื้องต้น
- ขั้นตอนที่ 3: สิ่งที่เรากำลังจะเรียนรู้
- ขั้นตอนที่ 4: สิ่งที่จำเป็นสำหรับโครงการ
- ขั้นตอนที่ 5: ประกอบเครื่องให้อาหารปลา
- ขั้นตอนที่ 6: วงจร 1: ESP-01 และ Arduino Pro Mini
- ขั้นตอนที่ 7: วงจร 2: ESP-01 เท่านั้น
- ขั้นตอนที่ 8: รหัสเดินผ่าน
- ขั้นตอนที่ 9: การสาธิต
วีดีโอ: ระดับเริ่มต้น: เรียนรู้ IOT ด้วยเครื่องให้อาหารปลาสุดเจ๋ง: 9 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
โปรเจ็กต์นี้เป็นข้อมูลเพิ่มเติมเกี่ยวกับแนวทางในการเริ่มต้นด้วยอุปกรณ์ IOT ราคาประหยัดขนาดเล็ก และสิ่งที่คุณทำได้ทั้งหมด
-
ไอโอทีคืออะไร?
- ได้จาก Google: IoT ย่อมาจาก Internet of Things Internet of Things หมายถึงเครือข่ายวัตถุทางกายภาพที่มีที่อยู่ IP สำหรับการเชื่อมต่ออินเทอร์เน็ตและการสื่อสารที่เกิดขึ้นระหว่างวัตถุเหล่านี้กับอุปกรณ์และระบบที่เปิดใช้งานอินเทอร์เน็ตอื่น ๆ
- ได้หลังจากทำงานกับมัน: ทำสิ่งที่บ้าเพราะคุณสามารถติดตาม/ควบคุมสิ่งต่าง ๆ ผ่านทางอินเทอร์เน็ต
-
อุปกรณ์ IoT เชื่อมต่อกันอย่างไร?
- ได้รับจาก Google: การเชื่อมต่อกับ ISP ของคุณทำได้โดยผ่าน ADSL หรืออีเธอร์เน็ตโดยใช้บริการไฟเบอร์เป็นต้น เมื่อเราเตอร์ที่บ้านเชื่อมต่อกับ ISP จะได้รับที่อยู่ IP ซึ่งใช้สำหรับสื่อสารกับเซิร์ฟเวอร์หรือบริการอื่น ๆ บนอินเทอร์เน็ต นี่คือที่อยู่ IP สาธารณะและระบุได้ทางอินเทอร์เน็ต
- ใช้งานได้แล้ว: เพียงแค่เชื่อมต่อกับ WiFi ของฉัน อุปกรณ์ของคุณก็พร้อมใช้งาน
-
อนาคตของ IOT?
Internet of Things (IoT) คือการใช้เซ็นเซอร์เครือข่ายในอุปกรณ์ทางกายภาพเพื่อให้สามารถตรวจสอบและควบคุมจากระยะไกลได้ เทคโนโลยีนี้ได้รับความนิยมอย่างมากในด้านต่างๆ เช่น การดูแลสุขภาพ การธนาคาร การค้าปลีก การผลิต สินค้าอุปโภคบริโภค ฯลฯ
ไม่มีที่สิ้นสุด
ดังนั้นมาเริ่มกันเลย
ขั้นตอนที่ 1: ทำไมต้องให้อาหารปลา
ฉันเริ่มการเดินทางในการเขียน Instructables เมื่อ 1 ปีที่แล้ว เนื่องจากต้องการทำเครื่องให้อาหารปลา
ฉันต้องไปเที่ยวพักผ่อนและต้องแน่ใจว่าปลาของฉันจะไม่ตายในระหว่างที่ฉันไม่อยู่
ดังนั้นไม่ว่าจะมีขยะอะไร ฉันก็ได้สร้างเครื่องให้อาหารปลาแบบง่ายๆ ที่หย่อนอาหารตามช่วงเวลาที่กำหนดโดยใช้เซอร์โวมอเตอร์ เชื่อฉันเถอะ ปลาของฉันรอดมาได้ (ครึ่งเดือน) ในวันหยุดของฉัน
www.instructables.com/id/Fish-Feeder-Using…
แต่สิ่งที่ฉันรู้สึกคือฉันสูญเสียสัมผัสของมนุษย์ในการให้อาหารสัตว์เลี้ยงของฉัน ฉันเริ่มคิดถึงมันจริงๆ ดังนั้นฉันจึงมีแนวคิดที่จะให้อาหารพวกมันโดยการควบคุมอุปกรณ์ด้วยวิธีบางอย่างที่ฉันต้องการปฏิสัมพันธ์ระหว่างมนุษย์ (ของฉัน) ดังนั้น IOT จึงดูมีความหวังและเมื่อใช้งานอินเทอร์เน็ต คุณสามารถควบคุมมันได้เหมือนเป็นการหลอกลวง นั่นคือทั้งหมดที่เกี่ยวกับโครงการนี้และเหตุผลที่ฉันทำ
ขั้นตอนที่ 2: ข้อกำหนดเบื้องต้น
- ความรู้พื้นฐานในการอัปโหลดโค้ด ESP-01
- ความรู้เบื้องต้นเกี่ยวกับ Arduino IDE
- ความรู้พื้นฐานเกี่ยวกับพินเอาต์สำหรับ ESP-01 และ Arduino mini pro
- ความรู้พื้นฐานการใช้ Thingspeak
หากคุณไม่มีความรู้มาก่อน โปรดค้นหาสิ่งเหล่านี้ใน Inscrutable คุณจะได้รับลิงก์มากมายเพื่อเริ่มต้น มีตัวอย่าง ESP8266 มากมายโดยค่าเริ่มต้น โปรดไปที่ อัปโหลดลงในชิป เล่นกับมัน เป็นวิธีที่เราจะเรียนรู้และบรรลุความรู้
ขั้นตอนที่ 3: สิ่งที่เรากำลังจะเรียนรู้
- เราจะใช้ ESP-01 เป็นอุปกรณ์ IOT ของเรา
- มันทำให้เรามีหมุด IO สองอัน
-
เราจะทำ 2 โครงการเล็ก ๆ ที่นี่
- วิธีหนึ่งที่คุณสามารถโต้ตอบกับอุปกรณ์อื่นๆ (เช่น Arduino)
- อีกอันหนึ่งที่มีเพียง ESP-01 เป็นแกนหลัก
- ESP wifimanager วิธีการกำหนดค่า
- นอกเหนือจากความเข้าใจเกี่ยวกับหลักการทำงานของเซอร์โวมอเตอร์แล้ว
- PWM โดยใช้ ESP-01
ขั้นตอนที่ 4: สิ่งที่จำเป็นสำหรับโครงการ
- ตัวแปลง ESP-01 และ USB เป็น TTL
- Arduino Pro Mini
- เซอร์โว SG-90
- 3.7 Lipo แบตเตอรี่
- TP456 1A โมดูลชาร์จแบตเตอรี่ Li-ion
- บอร์ดบัดกรี
- สิ่งบัดกรี
- ส่วนหัวชายและหญิงไม่กี่
- เครื่องพิมพ์ 3 มิติ (คุณสามารถสั่งซื้อชิ้นส่วน 3d ออนไลน์ได้)
- เครื่องมือช่างและกระดาษทรายเล็กน้อย
- สร้างบัญชีฟรีบน
ขั้นตอนที่ 5: ประกอบเครื่องให้อาหารปลา
- ฉันรู้..ฉันรู้ชิ้นส่วนเครื่องพิมพ์ 3 มิติ…วิธีพิมพ์ไม่มีเครื่องพิมพ์ 3 มิติ..และ bla..bla..bla..
- คุณสามารถสั่งซื้อออนไลน์ได้ มีร้านค้าออนไลน์มากมาย
- หากคุณทำโปรเจ็กต์ด้วยชิ้นส่วนเครื่องพิมพ์ 3 มิติ มันจะอยู่ได้นานและคงทนมากขึ้น
- ทำตามขั้นตอนและจะประกอบในครั้งเดียว
- ตรวจสอบความยาวของชิ้นส่วนที่เคลื่อนที่ได้ ใช้กระดาษทรายขัดพื้นผิวให้เรียบเพื่อลดแรงเสียดทาน
- เสร็จแล้ว ✅เราเก่งเรื่องวงจรจริงๆ
ขั้นตอนที่ 6: วงจร 1: ESP-01 และ Arduino Pro Mini
- สำหรับวงจรตามภาพนั้นง่ายมาก
- เลื่อนเมาส์เพื่อค้นหาจุดพิน
- ทั้งหมดถูกแท็ก
หลักการทำงาน:
- ESP-01 จะสามารถกำหนดค่า ISP ของคุณได้โดยใช้บริการ espwifimanger (ค้นหาใน instrutable สำหรับ wifi manger คุณจะพบโซลูชันมากกว่า 10 รายการ)
- เมื่อเสร็จแล้วจะตรวจสอบจุด API ของคุณอย่างต่อเนื่อง
- หากสูงก็จะอัปเดต GPIO-01 สูง
- ตอนนี้ GPIO-00 จะทำหน้าที่เป็นพินอินพุตเซ็นเซอร์สำหรับ Arduino ที่ Pint D8
- D8 ถ้าสูงก็จะเรียกฟังก์ชันเซอร์โว
- เมื่อเสร็จแล้วจะอัปเดต D7 High ซึ่งจะทำหน้าที่เป็นพินเซ็นเซอร์สำหรับ ESP GPIO-02
- และ GPIO-02 สูงขึ้น มันจะอัปเดต API ให้ต่ำ
- และทำให้ GPIO-00 ต่ำ
- และวนซ้ำยังคงดำเนินต่อไป
ขั้นตอนที่ 7: วงจร 2: ESP-01 เท่านั้น
สำหรับวงจรตามภาพนั้นง่ายมาก
หลักการทำงาน:
- ดังที่คุณทราบจากวงจรก่อนหน้านี้ เราสามารถใช้สองพินสำหรับ I/O
- ดังนั้น เราจะใช้อันหนึ่งเพื่อบ่งชี้ และอีกอันหนึ่งสำหรับการควบคุมเซอร์โว
- GPIO-00 สำหรับการควบคุมเซอร์โว
- GPIO-02 สำหรับบ่งชี้
-
ในการควบคุมเซอร์โว เราต้องสร้างสัญญาณ PWM จากพิน GPIO-00
- ดังนั้นการตรวจสอบเซอร์โวจึงเป็น PWM สำหรับสัญญาณรอบ 20ms
- หากคุณให้ 1ms PWM ของ Cycle 20ms มันจะอยู่ที่ 0 องศา (สำหรับฉันมันใช้งานได้ใน.7ms)
- หากคุณให้ 2ms PWM ของ Cycle 20ms มันจะอยู่ที่ 180 องศา
- หากคุณให้ 1.5ms PWM ของ Cycle 20ms มันจะอยู่ที่ 90 องศา
- ดูโค้ดโค้ดฟังก์ชัน runServo ที่จะช่วยให้คุณมีความคิดที่ดี
-
ด้านล่างนี้คือตรรกะ
- มองหาค่าปลายทางของ API ต่อไป
- หากคุณได้รับ ให้ส่งสัญญาณ PWM ใน GPIO-00
- กว่าทำการเรียกจุดสิ้นสุด API เพื่อรีเซ็ตค่า
- แล้ววนเหมือนเดิม
- ตรรกะง่ายเกินไป
ขั้นตอนที่ 8: รหัสเดินผ่าน
ดังที่คุณอาจรู้ว่าความรู้เพียงเล็กน้อยนั้นเป็นอันตราย การอัปโหลดโค้ดก็เช่นเดียวกัน โดยไม่รู้ว่ามันทำอะไรเหมือนกัน ในที่นี้ เราจะพูดถึงแต่ละฟังก์ชันและวิธีการทำงาน
โครงการ 2: OnlyESP8826
-
fastblink (จำนวน int, ข้อความข้อความสตริง)
- มันทำให้ inbuilt นำไปสู่การกะพริบสำหรับจำนวนการนับที่นับโดยจำนวน int
- มันจะพิมพ์ข้อความบนซีเรียล
-
ได้ผลลัพธ์ ()
- ฟังก์ชันนี้ส่งคืนผลลัพธ์ของเร็กคอร์ดล่าสุดสำหรับฟิลด์ที่ระบุใน url
- การใช้ไลบรารี ArduinoJson ของ 5.1 เรากำลังทำงานกับค่า json ที่ได้รับ
-
อัปเดตสถานะ ()
เรากำลังทำการเรียกการอัปเดตบนฟิลด์เพื่อตั้งค่าฟิลด์เป็น 0
-
runServo (int servoPin, ระดับ int)
- เป็นรูทีน PWM สำหรับเซอร์โว
- ช่วยให้เซอร์โวให้คะแนนในระดับที่กำหนด
-
ติดตั้ง
- เรากำลังตั้งค่าตัวจัดการ wifi
- ด้วยวิธีนี้เราจะสามารถเชื่อมต่ออุปกรณ์ของเรากับ ISP เฉพาะโดยใช้ wifi
- เมื่อบันทึกแล้วจะใช้งานได้ทุกครั้ง ไม่จำเป็นต้องกำหนดค่าอีก
- เมื่อเชื่อมต่อแล้วเราจะกะพริบไฟ LED ในตัว 10 ครั้ง
- จากนั้นตั้งค่าฟิลด์ใน Thingspeak เป็นศูนย์โดยใช้ updateStatus()
- ล่าช้ากว่า 5 วินาทีเพื่อให้การเรียก API ครั้งต่อไปทำงานได้อย่างราบรื่น
-
ห่วง
- หากอุปกรณ์เชื่อมต่อมากกว่าที่เรากำลังเรียกใช้ API เพื่อรับค่าฟิลด์ล่าสุดหรือฟิลด์สุดท้าย
- หากค่าฟิลด์เป็น 1 มากกว่าเพียงเราจะตั้งค่าพิน LED ในตัวให้เรืองแสง
- เรียกเซอร์โวเพื่อเลื่อนไปที่ 0 องศา → หน่วงเวลา 2 วินาที → 180 องศา → หน่วงเวลา 2 วินาที → 0 องศา
- กว่าความล่าช้าในการเรียก api ครั้งต่อไป
- กว่าที่เรากำลังตั้งค่าฟิลด์อีกครั้ง 0.
โครงการ 1: esp8826ตัวป้อนและตัวป้อน
- วิธีการทำงานของโครงการอื่น ๆ ค้นพบตัวเอง
- หากคุณลงมือทำเอง คุณจะเผชิญกับความท้าทายและมันจะช่วยให้คุณเรียนรู้
- ส่วนใหญ่ฟังก์ชันทั้งหมดจะเหมือนกันแต่มีการสื่อสารผ่านพินโดยการตั้งค่าพินสูงหรือต่ำ
- ได้อธิบายไว้ในขั้นตอนวงจรแล้ว
- กรณีที่เลวร้ายที่สุด ฉันยังอยู่ที่นี่เพื่อแนะนำคุณ และส่งข้อความหาฉันหากคุณต้องการความช่วยเหลือ
Curl สำหรับบุรุษไปรษณีย์
ในการอัปเดตค่าฟิลด์
รับ /update.json?api_key=8FC9LUB2AXVCZJ6L&field2=1
โฮสต์: api.thingspeak.com ประเภทเนื้อหา: application/x-www-form-urlencoded Cache-Control: no-cache Postman-Token: 688a86e0-7798-d4e1-b266-b5c666fefba7
เพื่อให้ได้ผลลัพธ์ค่าฟิลด์สุดท้าย:
รับ /channels/665683/fields/2.json?api_key=QOIEGTM7XT0EKI0V&results=1 HTTP/1.1Host: api.thingspeak.com Cache-Control: no-cache Postman-Token: b939c04d-7c72-4d82-aea9-b37e668a5200
เปลี่ยน.txt เป็น html แนบหน้าสำหรับการทำงานของเบราว์เซอร์
อัปเดตการอ่านเขียนให้เหมาะสมสำหรับเครื่องให้อาหารปลาของคุณ
ขั้นตอนที่ 9: การสาธิต
- วิดีโอแรกอยู่กับบุรุษไปรษณีย์
- ที่สองด้วยหน้า HTML
- ระบบวิดีโอที่สามในการดำเนินการ
- วิดีโอที่ออกมาว่าโมเมนต์เชิงกลเกิดขึ้นได้อย่างไร
ฉันทำการปรับเปลี่ยนเล็กน้อย:
- กรวย 3 มิติของฉันเสียหายระหว่างกระบวนการ ฉันเปลี่ยนมันด้วยขวดเล็ก
- สร้างที่ยึดขนาดเล็กแล้วทากาวด้วยเครื่องหนีบ
ถ้าอยู่กับฉันจนถึงที่สุด ขอบคุณที่ให้ความสนใจ และถ้าคุณทำได้มากกว่า ได้โปรดแบ่งปันความท้าทายของคุณ ฉันแน่ใจว่าฉันไม่สามารถครอบคลุมทุกสิ่งด้วยการแก้ไขครั้งแรกของฉัน โปรดให้ข้อมูลที่มีค่าของคุณเพื่อที่ฉันจะได้ อัปเดตด้วยรายละเอียดที่ขาดหายไป
สุดท้ายนี้ ขอขอบคุณ และโปรดให้ข้อมูลที่มีค่าของคุณเพื่อที่ฉันจะได้เรียนรู้และสามารถเขียนคำสั่งที่ยอดเยี่ยมขึ้นได้
แนะนำ:
เรียนรู้ C++ Oop: 6 ขั้นตอน
เรียนรู้ C++ Oop: สวัสดี ในคำแนะนำนี้ คุณจะได้เรียนรู้พื้นฐานของ c++ oop หวังว่าคุณจะสนุก
สร้างรูบริกในกระดานดำ เรียนรู้: 9 ขั้นตอน
สร้างรูบริกในกระดานดำ เรียนรู้: บทนำ รูบริกคือรายการเกณฑ์ที่นักเรียนจะได้รับการประเมิน รูบริกประกอบด้วยรายละเอียดที่อธิบายระดับประสิทธิภาพที่แตกต่างกันสำหรับแต่ละเกณฑ์ตามที่นักพัฒนากำหนด (ครู ผู้สอน ฯลฯ) รูบริกคือ
เรียนรู้ Arduino ใน 20 นาที (แพ็คพลังงาน): 10 ขั้นตอน (พร้อมรูปภาพ)
เรียนรู้ Arduino ใน 20 นาที (บรรจุพลังงาน): คำแนะนำนั้นเขียนขึ้นด้วยวิสัยทัศน์ในการส่งมอบสิ่งที่ดีและช่วยเหลือผู้ที่ชื่นชอบ Arduino ตัวจริงซึ่งต้องการแหล่งความเข้าใจที่ง่ายและชัดเจนซึ่งทุกคนสามารถเข้าใจได้ง่ายเพียงแค่อ่านโมดูลนี้ ฉันเองก็เป็น ardui
เรียนรู้ ARDUINO (ใน 20 นาที): 10 ขั้นตอน (พร้อมรูปภาพ)
เรียนรู้ ARDUINO (ใน 20 นาที): นี่เป็นคำแนะนำที่ฉันเขียนเป็นพิเศษเพื่อแบ่งปันความรู้ของฉันเกี่ยวกับ Arduino ในวิธีที่ง่ายมาก ฉันจะรับรองกับคุณอย่างแน่นอนว่านี่จะเป็นโมดูลที่อัดแน่นไปด้วยพลังงานซึ่งครอบคลุมเกือบทุกหัวข้อพื้นฐานใน Arduino Arduino มีหม้อขนาดใหญ่
เรียนรู้ Perl ง่ายถึงปานกลาง: 8 ขั้นตอน
เรียนรู้ Perl แบบง่ายถึงปานกลาง: Perl คือภาษาสคริปต์แบบข้อความที่มีข้อดีและข้อเสีย บทช่วยสอนนี้จะให้ภาพรวมของพื้นฐานและฟังก์ชันที่สคริปต์ส่วนใหญ่ (AKA; โปรแกรมเมอร์) จะใช้ มาเริ่มกันเลย! (สำหรับตัวดำเนินการ windows เท่านั้น