สารบัญ:

ระดับเริ่มต้น: เรียนรู้ IOT ด้วยเครื่องให้อาหารปลาสุดเจ๋ง: 9 ขั้นตอน (พร้อมรูปภาพ)
ระดับเริ่มต้น: เรียนรู้ IOT ด้วยเครื่องให้อาหารปลาสุดเจ๋ง: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ระดับเริ่มต้น: เรียนรู้ IOT ด้วยเครื่องให้อาหารปลาสุดเจ๋ง: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ระดับเริ่มต้น: เรียนรู้ IOT ด้วยเครื่องให้อาหารปลาสุดเจ๋ง: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: เครื่องให้อาหารปลาอัตโนมัติ ค่าตัวไม่แพงใช้งานได้จริง @2kptv426 2024, พฤศจิกายน
Anonim
ระดับเริ่มต้น: เรียนรู้ IOT ด้วยเครื่องให้อาหารปลาสุดเจ๋ง
ระดับเริ่มต้น: เรียนรู้ IOT ด้วยเครื่องให้อาหารปลาสุดเจ๋ง

โปรเจ็กต์นี้เป็นข้อมูลเพิ่มเติมเกี่ยวกับแนวทางในการเริ่มต้นด้วยอุปกรณ์ 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

วงจรที่ 1: ESP-01 และ Arduino Pro Mini
วงจรที่ 1: ESP-01 และ Arduino Pro Mini
วงจรที่ 1: ESP-01 และ Arduino Pro Mini
วงจรที่ 1: ESP-01 และ Arduino Pro Mini
วงจรที่ 1: ESP-01 และ Arduino Pro Mini
วงจรที่ 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 เท่านั้น

วงจร 2: ESP-01 เท่านั้น
วงจร 2: ESP-01 เท่านั้น
วงจร 2: ESP-01 เท่านั้น
วงจร 2: ESP-01 เท่านั้น
วงจร 2: ESP-01 เท่านั้น
วงจร 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 มิติของฉันเสียหายระหว่างกระบวนการ ฉันเปลี่ยนมันด้วยขวดเล็ก
  • สร้างที่ยึดขนาดเล็กแล้วทากาวด้วยเครื่องหนีบ

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

สุดท้ายนี้ ขอขอบคุณ และโปรดให้ข้อมูลที่มีค่าของคุณเพื่อที่ฉันจะได้เรียนรู้และสามารถเขียนคำสั่งที่ยอดเยี่ยมขึ้นได้

แนะนำ: