สารบัญ:

IoT Hydroponics - การใช้ Adafruit IO สำหรับการบันทึก EC, PH และอุณหภูมิ: 6 ขั้นตอน
IoT Hydroponics - การใช้ Adafruit IO สำหรับการบันทึก EC, PH และอุณหภูมิ: 6 ขั้นตอน

วีดีโอ: IoT Hydroponics - การใช้ Adafruit IO สำหรับการบันทึก EC, PH และอุณหภูมิ: 6 ขั้นตอน

วีดีโอ: IoT Hydroponics - การใช้ Adafruit IO สำหรับการบันทึก EC, PH และอุณหภูมิ: 6 ขั้นตอน
วีดีโอ: Finished DIY WiFi Arduino darkroom timer and RGB LED light source 2024, พฤศจิกายน
Anonim
IoT Hydroponics - การใช้ Adafruit IO สำหรับการบันทึก EC, PH และอุณหภูมิ
IoT Hydroponics - การใช้ Adafruit IO สำหรับการบันทึก EC, PH และอุณหภูมิ

คำแนะนำนี้จะแสดงวิธีการตรวจสอบ EC, pH และอุณหภูมิของการตั้งค่าไฮโดรโปนิกส์และอัปโหลดข้อมูลไปยังบริการ IO ของ Adafruit

Adafruit IO สามารถเริ่มต้นใช้งานได้ฟรี มีแผนชำระเงิน แต่แผนฟรีนั้นมากเกินพอสำหรับโครงการนี้

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

  • บอร์ดพัฒนา ESP32 ใด ๆ อันนี้ดูเหมือนสมเหตุสมผล แต่ทุกอย่างจะได้ผล
  • บอร์ดอินเทอร์เฟซ EC Probe แบบแยกส่วนและหัววัดค่าการนำไฟฟ้า K1 คุณสามารถรับทั้งสองได้ที่ ufire.co
  • บอร์ดอินเทอร์เฟซ ISE Probe แบบแยกและหัววัดค่า pH จาก ufire.co
  • อัตราต่อรองและสิ้นสุดบางอย่างเช่นสายไฟและสาย USB

ขั้นตอนที่ 2: ซอฟต์แวร์

  1. ฉันจะถือว่าคุณคุ้นเคยกับ Arduino, Arduino IDE และติดตั้งไว้แล้ว ถ้าไม่เป็นไปตามลิงค์
  2. สิ่งต่อไปคือการติดตั้งแพลตฟอร์ม ESP32 ด้วยเหตุผลบางอย่าง ฟีเจอร์นี้ไม่ได้ทำให้ง่ายขึ้นด้วยฟีเจอร์การจัดการแพลตฟอร์มที่ IDE มีให้ ดังนั้น คุณจะต้องไปที่หน้า github และทำตามคำแนะนำในการติดตั้งที่เหมาะสม
  3. ตอนนี้สำหรับห้องสมุด:

    1. จากใน Arduino IDE ให้ไปที่ Sketch / Include Library / Manage Libraries… และค้นหาและติดตั้ง 'EC_Salinity'
    2. ค้นหาและติดตั้ง 'Isolated ISE Probe Interface'
    3. ค้นหาและติดตั้ง 'Adafruit MQTT Library'
    4. ค้นหาและติดตั้ง 'ArduinoHttpClient'
    5. และสุดท้ายค้นหาการติดตั้ง 'Adafruit IO Arduino'

ขั้นตอนที่ 3: การสร้างการเชื่อมต่อ

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

อุปกรณ์ uFire ที่เราจะวัด EC, pH และอุณหภูมิเชื่อมต่อกับ ESP32 โดยบัส I2C ด้วย ESP32 คุณสามารถเลือกพินสองพินสำหรับ I2C อุปกรณ์ทั้งสองจะอยู่บนบัสเดียวกัน ดังนั้นพิน SCL และ SDA จะเหมือนกัน หากคุณดูรหัส (ขั้นตอนถัดไป) คุณจะเห็นสองบรรทัดนี้

ISE_pH pH(19, 23);

EC_ความเค็ม มิลลิวินาที(19, 23);

ฉันตัดสินใจใช้พิน 19 สำหรับ SDA และพิน 23 สำหรับ SCL ดังนั้นให้เชื่อมต่อ 3.3v ของ ESP32 (หรืออะไรก็ตามที่อาจถูกเรียกบนบอร์ดของคุณโดยเฉพาะ) กับพิน 3.3 / 5v ของอุปกรณ์ EC uFire, GND ถึง GND, 19 ถึง SDA และ 23 ถึง SCL ตอนนี้เชื่อมต่อบอร์ด uFire pH กับบอร์ด EC ปักหมุดสำหรับพิน พินบน ESP32 ของคุณอาจแตกต่างจากรูปภาพ

ขั้นตอนที่ 4: สร้างบัญชี Adafruit

คุณจะต้องสร้างบัญชีบน io.adafruit.com ไปที่ลิงก์เพื่อ 'เริ่มต้นใช้งานฟรี'

เมื่อเสร็จแล้ว ให้กลับไปที่ io.adafruit.com และคุณควรดูรายการแดชบอร์ดที่ว่างเปล่าของคุณ ทางด้านซ้าย คุณจะเห็นรายการเมนูที่เรียกว่า 'View AIO Key' ให้คลิกที่รายการนั้นและกล่องโต้ตอบจะเปิดขึ้น คุณจะเห็นกล่องข้อความที่ระบุว่า 'ชื่อผู้ใช้' และ 'รหัสที่ใช้งานอยู่' คุณจะต้องใช้ทั้งสองอย่างสำหรับขั้นตอนต่อไป

ขั้นตอนที่ 5: ร่าง

ร่างสำหรับสิ่งนี้เป็นขั้นต่ำสุดในการรับข้อมูลของเราและอัปโหลด มีหลายสิ่งที่ต้องปรับปรุงในเรื่องนี้ การจัดการพลังงาน การกำหนดค่าแบบ over-the-air การสอบเทียบเซ็นเซอร์… หลายๆ อย่าง แต่นี่เป็นเพียงการสาธิตและจุดเริ่มต้น ดังนั้นเราจะทำให้มันเรียบง่าย

อัปโหลดสิ่งนี้ลงใน Arduino IDE ตรวจสอบให้แน่ใจว่าคุณเลือกบอร์ดที่ถูกต้องจากเมนูเครื่องมือ โมดูล ESP32 Dev จะใช้งานได้มากกว่า บอร์ดบางตัวจะทำงานที่อัตราบอดที่สูงกว่า แต่เกือบทั้งหมดจะทำงานที่ 115, 200 เปลี่ยนบรรทัด AdafruitIO_WiFi io เป็นข้อมูลเฉพาะของคุณ 'ชื่อผู้ใช้' และ 'รหัสที่ใช้งานอยู่' คือข้อมูล Adafruit ที่คุณเพิ่งพบ, WiFi SSID คือชื่อเครือข่าย WiFi ของคุณ และรหัสผ่าน WiFi คือรหัสผ่านสำหรับเครือข่ายนั้น

#รวม "AdafruitIO_WiFi.h"#include "ISE_pH.h" #รวม "uFire_EC.h" ISE_pH pH(19, 23); uFire_EC มิลลิวินาที(19, 23); AdafruitIO_WiFi io ("ชื่อผู้ใช้", "รหัสที่ใช้งานอยู่", "WiFi SSID", "รหัสผ่าน WiFi"); AdafruitIO_Feed *ph = io.feed("pH"); AdafruitIO_Feed *temp = io.feed("C"); AdafruitIO_Feed *ec = io.feed("mS"); การตั้งค่าเป็นโมฆะ () { io.connect (); ms.setK(1.0); } วงเป็นโมฆะ () { io.run(); ph->save(pH.measurepH()); ล่าช้า (3000); temp->save(pH.measureTemp()); ล่าช้า (3000); ec->save(mS.measureEC()); ล่าช้า (3000); }

ขั้นตอนที่ 6: แดชบอร์ด Adafruit

หากทุกอย่างราบรื่น คุณได้เชื่อมต่อทุกอย่าง อัปโหลดภาพร่าง และสร้างบัญชี คุณจะสามารถดูข้อมูลที่เข้ามาได้

ไปที่ io.adafruit.com อีกครั้งและเลือกรายการเมนู 'ฟีด' ทางด้านซ้าย นี่คือบันทึกประเภทหนึ่งของสตรีมข้อมูลทั้งหมดของคุณ คุณควรเห็นการอัปเดตข้อมูลทั้งสามชิ้น ทุกๆ สามวินาที

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

แนะนำ: