สารบัญ:

Nabito [Open Socket V2]: เครื่องวัดอัจฉริยะสำหรับการชาร์จ EV: 10 ขั้นตอน (พร้อมรูปภาพ)
Nabito [Open Socket V2]: เครื่องวัดอัจฉริยะสำหรับการชาร์จ EV: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Nabito [Open Socket V2]: เครื่องวัดอัจฉริยะสำหรับการชาร์จ EV: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Nabito [Open Socket V2]: เครื่องวัดอัจฉริยะสำหรับการชาร์จ EV: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Происхождение человека: документальный фильм об эволюционном путешествии | ОДИН КУСОЧЕК 2024, พฤศจิกายน
Anonim
Image
Image
มันทำอะไร?
มันทำอะไร?

นี่คือคู่มือการสร้างที่สองสำหรับ Nabito [open socket) เวอร์ชันแรกสามารถพบได้ที่: Nabito [open socket] v1

ฉันระบุเหตุผลในการสร้างโครงการนี้ในโพสต์บล็อกนี้: EVs นั้นไร้ประโยชน์สำหรับคนในอพาร์ตเมนต์

มันคืออะไร?

Nabito - ซ็อกเก็ตแบบเปิดคือ IoT สมาร์ทมิเตอร์ที่มีการวัดค่าไฟฟ้า เปิด/ปิดสวิตช์แอมแปร์สูง เซ็นเซอร์ NFC การอนุญาตผู้ใช้ ความสามารถในการเรียกเก็บเงิน และการจัดการผู้ใช้

โครงการประกอบด้วยสองส่วน: 1. กล่องควบคุม (อุปกรณ์ IoT) 2. ฟรอนต์เอนด์/แบ็กเอนด์ของเว็บแอป ทั้งโอเพนซอร์สทั้งหมด

1. กล่องควบคุมประกอบด้วยชิ้นส่วนที่หาซื้อได้ง่ายทางออนไลน์ และได้รับการออกแบบให้เป็นเต้ารับไฟฟ้าที่ชาญฉลาดและราคาไม่แพงสำหรับที่จอดรถสาธารณะและส่วนตัวสำหรับการชาร์จรถยนต์ไฟฟ้าอย่างช้าๆ ทำงานบน Raspberry Pi Zero W และ Arduino Nano

2. เว็บแอปทำงานบน Ruby on Rails และพร้อมใช้งานเป็นโอเพ่นซอร์สบน Github: https://github.com/sysdist/nabito-server การเชื่อมต่อระหว่างกล่องและเว็บแอปทำได้ผ่านโปรโตคอล MQTT

เป้าหมายของโครงการนี้คือการพัฒนาเครือข่ายการชาร์จแบบโอเพ่นซอร์สที่ทุกคนสามารถนำมาใช้และนำไปใช้หรือขยายได้

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

มันทำงานบนคอมพิวเตอร์บอร์ดเดียว Raspberry Pi Zero W (SCB) ค่าใช้จ่ายทั้งหมดของกล่องควบคุมอยู่ที่ประมาณ 60 ยูโร

Nabito - ปลั๊กไฟแบบเปิดได้รับการออกแบบสำหรับการชาร์จบนซ็อกเก็ตทั่วไป ในทวีปยุโรปคือ 230V และ 10 -13A เช่น cca 2.9kW ต่อเนื่อง แต่แนวคิดนี้ใช้กับซ็อกเก็ตใด ๆ ยูโรสหรัฐอเมริกาหรือสหราชอาณาจักรหรืออื่น ๆ โครงการในอนาคตจะครอบคลุมการติดตั้งเฟส 2 และ 3 ด้วย

ข้อมูลจำเพาะ:

  • เฟสเดียวแรงดันไฟฟ้า: 230 V
  • เอซีแม็กซ์ ปัจจุบัน: 13 A
  • กำลังไฟ: 2.9 กิโลวัตต์
  • ขนาด: 240x200x90mm
  • อินเทอร์เฟซ: การเชื่อมต่อ RJ45 LAN หรือ WIFI
  • การปฏิบัติตามข้อกำหนด IP: IP55

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

ขั้นตอนที่ 1: มันทำอะไร?

มันทำอะไร?
มันทำอะไร?

โปรเจ็กต์นี้ประกอบด้วยสองส่วน คือ กล่องควบคุมทางกายภาพซึ่งเป็นสิ่ง IoT (ฝั่งไคลเอ็นต์) และมีเว็บแอปพลิเคชันที่ควบคุม (ฝั่งเซิร์ฟเวอร์) ฟังก์ชันที่รวมกัน:

1. สวิตช์เปิด/ปิดด้วยรีเลย์หลักและคอนแทคเตอร์ สวิตช์เปิด/ปิดเต้ารับขึ้นอยู่กับการโต้ตอบของผู้ใช้

2. การวัดพลังงาน

กล่องควบคุมวัดกระแสไฟ AC และบันทึกการใช้พลังงาน ฟังก์ชั่นการวัดแสงมาตรฐาน การวัดพลังงานจะทำต่อผู้ใช้แต่ละคน ขณะนี้มีเพียงการตรวจสอบกระแสไฟ AC เท่านั้น ไม่มีการตรวจสอบแรงดันไฟฟ้า ณ จุดนี้

3. การตรวจสอบผู้ใช้

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

4. การเรียกเก็บเงิน

ขึ้นอยู่กับการกำหนดค่าซ็อกเก็ตของผู้ดูแลระบบและราคาต่อบิล 1kWh ถูกสร้างขึ้นสำหรับผู้ใช้แต่ละรายตามการใช้พลังงาน บิลรายเดือนจะถูกสร้างขึ้นในภายหลังเพื่อความสะดวกของผู้ดูแลระบบ

ขั้นตอนที่ 2: กอง HW และ SW

กอง HW และ SW
กอง HW และ SW
กอง HW และ SW
กอง HW และ SW
กอง HW และ SW
กอง HW และ SW
กอง HW และ SW
กอง HW และ SW

กอง HW:

  • Raspberry Pi Zero, 1 ชิ้น, €11.32,
  • ฮีตซิงก์ 1 ชิ้น €1.2
  • เซ็นเซอร์ NFC 1 ชิ้น €3.93
  • การ์ด micro SD 16GB, 1 ชิ้น, €9.4,
  • Arduino Nano, 1 ชิ้น, €1.74,
  • เซ็นเซอร์ CT - YHDC 30A SCT013, 1 ชิ้น, €4.28, https://www.aliexpress.com/item/KSOL-YHDC-30A-SCT013-0-100A-Non-invasive-AC-New-Sensor-Split-Core- ปัจจุบัน-Transformer-ใหม่/32768354127.html
  • ที่ชาร์จมือถือ 1 ชิ้น 5 ยูโร ราคาโดยประมาณ ใช้ที่ชาร์จเก่าที่มาพร้อมกับโทรศัพท์
  • คอนแทคเตอร์ไฟฟ้ากระแสสลับ 25A NO, 1 ชิ้น, €4.79,
  • รีเลย์หลัก 1 ชิ้น €0.84
  • กล่องแยกพลาสติก (S-box), 1 ชิ้น, €5,
  • สายไฟต่อดูปองท์สำหรับแรงดันไฟต่ำ 1 ชิ้น €2.29
  • IP54 230V ซ็อกเก็ตยูโร 1 ชิ้น ซื้อ 2 ยูโรที่ร้านฮาร์ดแวร์ในพื้นที่
  • ชิ้นส่วนขนาดเล็ก: แจ็ค 3.5 มม. ตัวเมีย, ตัวเก็บประจุ 10uF, ตัวต้านทาน 2x 10kOhm, ไดโอด LED, สายเคเบิล, 1 ชิ้น, €3, ซื้อที่ร้านขายอุปกรณ์อิเล็กทรอนิกส์ในพื้นที่
  • เทอร์มินัลบล็อก Wago 2 ตัวนำ 3 ชิ้น ราคา 2 ยูโร ซื้อจากร้านขายอุปกรณ์อิเล็กทรอนิกส์ในพื้นที่
  • เทอร์มินัลบล็อก Wago 5-conductor 2 ชิ้น ราคา €2 ซื้อที่ร้านขายอุปกรณ์อิเล็กทรอนิกส์ในพื้นที่
  • สาย USB mini-to-micro (Arduino->RPi) 1 ชิ้น ราคา 1.8 ยูโร ซื้อจากร้านคอมพิวเตอร์ในพื้นที่

ค่าใช้จ่าย HW ทั้งหมด: €60.59 (70.40 ดอลลาร์)

SW กอง:

  • กองกล่องควบคุม:

    • Raspbian Linux (ใช้ Ubuntu), โอเพ่นซอร์ส, $0 (ความรุ่งโรจน์ทั้งหมดสำหรับ Linus Torvalds + 20,000 คนที่ทำงานบนเคอร์เนล Linux + คนที่อยู่เบื้องหลังภาพ Raspberry Pi และ Raspbian Linux)
    • Node-RED, โอเพ่นซอร์ส, $0 (คนใจดีจาก IBM ที่อยู่เบื้องหลังการพัฒนา Node-RED)
  • สแต็คเว็บแอป:

    • แอปเซิร์ฟเวอร์ Nabito:
    • Ruby on Rails (RVM, Ruby, Gems), โอเพ่นซอร์ส, $0
    • Postgres DB โอเพ่นซอร์ส $0
    • Git, โอเพ่นซอร์ส (ความรุ่งโรจน์มากขึ้นสำหรับ Linus), $0
    • โปรโตคอล MQTT

ค่าสแต็ค SW ทั้งหมด: €0 (*THUMBS_UP*)

ขั้นตอนที่ 3: กล่องควบคุม: SW Setup

กล่องควบคุม: SW Setup
กล่องควบคุม: SW Setup
  1. ติดตั้ง RASPBIAN STRETCH LITE (เราไม่ต้องการเวอร์ชันเดสก์ท็อป) บน Raspberry Pi Zero Whttps://www.raspberrypi.org/downloads/raspbian/
  2. กำหนดค่า Raspbian เพื่อใช้ Wifi ในบ้านของคุณhttps://weworkweplay.com/play/automatically-connect-a-raspberry-pi-to-a-wifi-network/
  3. ติดตั้ง Node-RED บน Raspbianhttps://nodered.org/docs/hardware/raspberrypi
  4. คัดลอกโฟลว์ Nabito Node-RED และปรับใช้
  5. แก้ไขค่าเริ่มต้น Node-RED settings.js และเพิ่มลงใน functionGlobalContext: relay: "OFF",

    box_status: "ออฟไลน์"

  6. กำหนดค่าโบรกเกอร์ Node-RED MQTT ของคุณสำหรับการติดตั้งเซิร์ฟเวอร์ Nabito ที่คุณต้องการ (หรือต่อ
  7. รีสตาร์ทโหนด-RED
  8. ตรวจสอบการเชื่อมต่อ MQTT ใน Node-RED

ส่วน Arduino:

  1. ดาวน์โหลด รวบรวม และอัปโหลดภาพสเก็ตช์นี้ไปยัง Arduino Nanohttps://github.com/sysdist/nabito-arduino-nano.git
  2. เสร็จแล้ว!;-)

ขั้นตอนที่ 4: การเดินสายไฟ: สายไฟหลัก

การเดินสายไฟ: สายไฟหลัก
การเดินสายไฟ: สายไฟหลัก
การเดินสายไฟ: สายไฟหลัก
การเดินสายไฟ: สายไฟหลัก
การเดินสายไฟ: สายไฟหลัก
การเดินสายไฟ: สายไฟหลัก

สายไฟหลัก AC จ่ายไฟให้กับ:

  • คอนแทคเตอร์
  • รีเลย์หลัก
  • ที่ชาร์จมือถือที่ขับเคลื่อน Raspberry Pi และ Arduino

เอาต์พุตจากคอนแทคเตอร์กระแสสลับไปที่เต้ารับ ต่อสายดินป้องกันจากสายไฟหลักไปยังเต้ารับ

Raspberry Pi ควบคุมรีเลย์หลักและรีเลย์ในการเปิด/ปิดคอนแทคเตอร์

ขั้นตอนที่ 5: การเดินสายไฟ: Arduino, CT Sensor, NFC Sensor

การเดินสายไฟ: Arduino, CT Sensor, NFC Sensor
การเดินสายไฟ: Arduino, CT Sensor, NFC Sensor

ต่อ Arduino กับเซ็นเซอร์ CT ตามคู่มือต่อไปนี้:

learn.openenergymonitor.org/electricity-mo…

คุณต้องการ:

  • Arduino (คุณสามารถใช้ Arduino ใดก็ได้: Uno, Nano, Mega แล้วแต่คุณชอบตราบใดที่มี ADC)
  • ตัวเก็บประจุ 10uFตัวต้านทาน 2x 10kOhm
  • เต้ารับแจ็คตัวเมีย 3.5 มม.
  • เซ็นเซอร์ CT 30A/1V
  • เซ็นเซอร์ PN532 (RFID/NFC)
  • PCB ขนาดเล็ก
  • สายไฟขนาดเล็กสำหรับเชื่อมต่อ

ฉันบัดกรี Arduino Nano, ตัวเก็บประจุ, ตัวต้านทานและแจ็คตัวเมียกับ PCB ตามคู่มือด้านบนจากเว็บไซต์ openenergymonitor.org

เซ็นเซอร์ NFC เชื่อมต่อกับ Arduino Nano ผ่าน SPI (หมุดบน Arduino Nano: 10, 11, 12 และ 13)

Arduino เชื่อมต่อกับ Raspberry Pi ผ่าน micro USB

ขั้นตอนที่ 6: การเดินสายไฟ: Raspberry Pi

การเดินสายไฟ: Raspberry Pi
การเดินสายไฟ: Raspberry Pi
การเดินสายไฟ: Raspberry Pi
การเดินสายไฟ: Raspberry Pi

เชื่อมต่อ Arduino กับ Raspberry Pi ผ่านพอร์ต USB ด้วยวิธีนี้จะทำหน้าที่เป็นพอร์ตอนุกรมและแหล่งจ่ายไฟสำหรับ Arduino ซึ่งควรจับคู่กับ /dev/ttyUSB0

รีเลย์ไฟหลักเชื่อมต่อผ่านพิน 2 (5V), 6 (GND), 12 (GPIO)

ไฟ LED ที่แผงด้านหน้าเชื่อมต่อผ่านพิน 14 (GND), 16 (GPIO), 18 (GPIO)

ขั้นตอนที่ 7: การเดินสายไฟทุกอย่างเข้าด้วยกัน

การเดินสายไฟทุกอย่างเข้าด้วยกัน
การเดินสายไฟทุกอย่างเข้าด้วยกัน
  1. หนีบเซ็นเซอร์ CT บนสายไฟหลักที่ออกจากรีเลย์หลัก
  2. เชื่อมต่อแหล่งพลังงานสำหรับ Raspberry Pi
  3. ขันฝากล่องรวมสัญญาณ
  4. และคุณเดินสาย/ประกอบเสร็จแล้ว!

ขั้นตอนที่ 8: การตั้งค่าเว็บแอป

การตั้งค่าเว็บแอป
การตั้งค่าเว็บแอป

คุณต้องมีเซิร์ฟเวอร์ linux เพื่อเรียกใช้เว็บแอป คุณสามารถ:

  • เรียกใช้เซิร์ฟเวอร์ภายในเครื่องพีซี/โน้ตบุ๊กหรือเซิร์ฟเวอร์ Linux ในพื้นที่ของคุณ และชี้กล่องควบคุม [es] ไปที่การติดตั้งในเครื่องของคุณ
  • สร้างโดเมนของคุณเองและเรียกใช้เว็บแอปเป็นเว็บไซต์
  • ใช้ https://Nabito.org (ฟรี) เพื่อจัดการกล่องควบคุมของคุณ

แอปเซิร์ฟเวอร์ Nabito ทำงานบน Ruby on Rails และเป็นโอเพ่นซอร์ส:https://github.com/sysdist/nabito-server

สำหรับการติดตั้งและตั้งค่าเว็บแอป โปรดดูที่ README.md ของโปรเจ็กต์บน Github

ขั้นตอนที่ 9: เรียกใช้และทดสอบ

การวิ่งและการทดสอบ
การวิ่งและการทดสอบ

สำหรับการตั้งค่าท้องถิ่น:

  1. ปรับใช้แอปเซิร์ฟเวอร์ Nabito บนพีซี/โน้ตบุ๊กของคุณ
  2. กำหนดค่าโบรกเกอร์ mosquitto MQTT บนพีซีของคุณ (หรือโบรกเกอร์ MQTT อื่น ๆ ตามที่คุณต้องการ)
  3. เชื่อมต่อกล่องควบคุม Nabito กับ WiFi ในพื้นที่ของคุณ
  4. SSH ลงในกล่องและสั่งให้ใช้นายหน้า MQTT ของพีซีของคุณ
  5. เริ่มแอพ rails nabito-server
  6. ต่อโหลดไฟฟ้าขนาดเล็ก (เช่น โคมไฟตั้งโต๊ะ) เข้ากับเต้ารับ
  7. ใช้เว็บแอปเพื่อเริ่ม/หยุด socket id 1 เพื่อตรวจสอบปริมาณการใช้พลังงานจริงและทั้งหมด
  8. ใช้แท็ก NFC (ถ้ามี) เพื่อสลับซ็อกเก็ต
  9. ตรวจสอบการเรียกเก็บเงินสำหรับการใช้ซ็อกเก็ตล่าสุด
  10. หลังจากทดสอบสำเร็จ ให้เริ่มสร้างเครือข่ายการชาร์จ EV ของคุณเอง
  11. กำไร;-)

ขั้นตอนที่ 10: บทสรุป ปัญหา และแผนงานผลิตภัณฑ์

บทสรุป ปัญหา และแผนงานผลิตภัณฑ์
บทสรุป ปัญหา และแผนงานผลิตภัณฑ์

ในกล่องควบคุม Nabito เวอร์ชันนี้ ฉันสามารถแยกกล่องควบคุมและเว็บแอปโดยพื้นฐานแล้วสร้างโปรเจ็กต์ IoT (Internet of Things) กับทั้งสิ่งของที่จับต้องได้ซึ่งทำสิ่งที่มีประโยชน์ และแอปและบริการส่วนหลังที่จัดการ สิ่งทางกายภาพ

ราคาของกล่องเพิ่มขึ้นเล็กน้อยจากเวอร์ชันที่แล้ว (v1 ก่อน: €50, v2 ตอนนี้: €60) เพราะฉันเพิ่มคอนแทคเตอร์เพื่อความปลอดภัยในการให้บริการแอมป์ที่สูงขึ้นและ RPi ก็แพงกว่าบอร์ด OrangePi เล็กน้อย.

MQTT ใช้เป็นโปรโตคอลหลักสำหรับการบันทึกข้อมูลและการควบคุมกล่อง

ตั้งแต่ Nabito เวอร์ชันล่าสุด ฉันสามารถแก้ไขปัญหาส่วนใหญ่ได้ (Wifi, คอนแทคเตอร์, โปรเซสเซอร์ร้อนเกินไป, เต้ารับในตัว ฯลฯ) อย่างไรก็ตาม รายการปัญหาและโอกาสในปัจจุบันมีมากขึ้น:

ปัญหา:

  • Raspberry Pi Zero W เป็นบอร์ดที่ดีมาก มี Wifi และ Bluetooth และ 2 GPIO pins แต่โปรเซสเซอร์ยังคงร้อนได้ถึง 34C เมื่อไม่ทำงานซึ่งอาจเป็นปัญหาในสภาพอากาศที่อบอุ่นและฤดูร้อนที่มีแสงแดดส่องถึงโดยตรง
  • การรัน Linux ในกล่องควบคุมนั้นดีสำหรับการสร้างต้นแบบ แต่รูปแบบการผลิตของผลิตภัณฑ์นี้น่าจะทำงานบนบอร์ดแบบลีนที่มีความสามารถ TLS/SSL (ชิป ESP32 ดูมีแนวโน้มมาก)

โอกาส:

  • สร้างเวอร์ชันสำหรับกระแสที่สูงขึ้น (การทำงานเหมือนกัน แต่ใช้คอนแทคเตอร์ที่มีแอมป์สูงกว่าและเซ็นเซอร์ CT/โมดูลมอนิเตอร์พลังงานที่แตกต่างกัน)
  • สร้างเวอร์ชันสำหรับ 2 และ 3 เฟส
  • รวมโมดูลการตรวจสอบพลังงาน (เช่นเครื่องวัดพลังงาน Peacefair PZEM-004T)
  • ย้ายไปยัง ESP32 เพื่อเพิ่มประสิทธิภาพพลังงานและความร้อน
  • ผสานรวมกับ AWS IOT cloud และใช้ใบรับรองไคลเอ็นต์เพื่อการตั้งค่าความปลอดภัยที่ดีที่สุด (ขณะนี้ใช้เฉพาะผู้ใช้/รหัสผ่าน MQTT)
  • จัดการใบรับรองและข้อมูลรับรอง MQTT จากเว็บแอป (ขณะนี้มีการกำหนดค่าด้วยตนเองผ่านส่วนหลัง)
  • เพิ่มแผง LCD ขนาดเล็กเพื่อนำเสนอข้อมูลโดยตรงบนกล่องควบคุม Nabito
  • เพิ่ม numpad เพื่อให้ปุ่มโต้ตอบกับกล่อง (มีความเป็นไปได้ในการปักหมุดเพื่อเพิ่มความปลอดภัย)
  • รวมเทอร์โมมิเตอร์เพิ่มเติมเพื่อตรวจสอบอุณหภูมิแวดล้อมของกล่อง

หากคุณชอบโครงการนี้หรือมีคำถาม / ความคิดเห็นโปรดติดต่อฉันได้ที่ [email protected]

เว็บไซต์จำหน่ายระบบ: www.sysdist.com

สามารถติดตามผมได้ที่:twitter.com/sysdistfb.com/sysdist

ขอให้เป็นวันที่ดีและมีความสุขในการทำ!--Stefan

แนะนำ: