ไลบรารี Arduino ยอดนิยมที่ใช้สำหรับแอปพลิเคชันประหยัดพลังงานสูงได้สร้างความกังวลในชุมชนหลังจากเว็บไซต์อย่างเป็นทางการเริ่มเปลี่ยนเส้นทางไปยังสิ่งที่ดูเหมือนจะเป็นเว็บไซต์คาสิโนออนไลน์ของเนเธอร์แลนด์ ไลบรารี JeeLib ที่พัฒนาขึ้นเดิมโดย JeeLabs สำหรับระบบนิเวศ JeeNode ของพวกเขา ได้เป็นโซลูชันหลักสำหรับนักพัฒนาที่ต้องการขยายอายุแบตเตอรี่ Arduino จากหลายวันไปจนถึงหลายปี
การเปรียบเทียบการใช้พลังงาน:
- LED ปิด, ไม่ใช้ไลบรารี JeeLib : 6.7 mA
- LED เปิด, ไม่ใช้ไลบรารี JeeLib : 8.8 mA
- LED ปิด, ใช้ไลบรารี JeeLib : 43 μA
- LED เปิด, ใช้ไลบรารี JeeLib : 2.2 mA
- อัตราการปรับปรุง: ลดการใช้พลังงานในโหมดสลีปลง 150 เท่า
การเปลี่ยนเส้นทางเว็บไซต์ทำให้เกิดสัญญาณเตือน
ความขัดแย้งเกิดขึ้นเมื่อผู้ใช้สังเกตเห็นว่าเว็บไซต์เอกสาร JeeLib ตอนนี้เปลี่ยนเส้นทางไปยังหน้าที่ซ่อนอยู่ภายในเว็บไซต์คาสิโน การเปลี่ยนแปลงที่ไม่คาดคิดนี้ทำให้นักพัฒนาหลายคนตั้งคำถามเกี่ยวกับความน่าเชื่อถือของไลบรารีและการสนับสนุนในอนาคต สมาชิกในชุมชนได้อธิบายสถานการณ์นี้ว่าน่าสงสัยและสงสัยว่าโปรเจกต์เดิมอาจถูกทิ้งร้างและถูก web squat หรือ brandjack โดยบุคคลที่ไม่เกี่ยวข้องในภายหลัง
แม้จะมีความกังวลเหล่านี้ แต่ซอร์สโค้ดของไลบรารียังคงเข้าถึงได้ผ่าน GitHub ซึ่งยังคงแสดงกิจกรรมการพัฒนาอย่างต่อเนื่อง repository JeeLib ประกอบด้วยคลาส Sleepy ที่สำคัญซึ่งช่วยให้ไมโครคอนโทรลเลอร์ ATmega และ ATtiny เข้าสู่โหมดสลีปประหยัดพลังงานสูง โดยใช้พลังงานเพียง 43 ไมโครแอมป์เมื่อเทียบกับ 6.7 มิลลิแอมป์ในการทำงานปกติ
ผลกระทบทางเทคนิคและทางเลือกอื่น
ฟังก์ชันหลักของไลบรารียังคงใช้งานได้สำหรับผู้ใช้ปัจจุบัน แต่ปัญหาเว็บไซต์ได้กระตุ้นให้เกิดการอภิปรายเกี่ยวกับทางเลือกอื่น สมาชิกในชุมชนบางคนแนะนำให้ fork คลาส Sleepy เพื่อใช้งานแบบอิสระ ในขณะที่คนอื่นๆ ชี้ไปที่เอกสารที่เก็บถาวรเป็นโซลูชันชั่วคราว เทคโนโลยีพื้นฐานอาศัยฟังก์ชันสลีปมาตรฐาน AVR-libc ทำให้สามารถใช้งานฟังก์ชันที่คล้ายกันได้ค่อนข้างง่ายโดยไม่ต้องพึ่งพาไลบรารีที่อาจถูกบุกรุก
มีข้อผิดพลาดที่ชัดเจนใน include #include <JeeLib.h> และไลบรารีดูเหมือนจะไม่มีเอกสารที่ดีและค่อนข้างน่าสงสัยจริงๆ
สำหรับนักพัฒนาที่ทำงานกับโปรเจกต์ Arduino ที่ใช้แบตเตอรี่ สถานการณ์นี้เน้นย้ำถึงความสำคัญของการทำความเข้าใจหลักการจัดการพลังงานพื้นฐานมากกว่าการพึ่งพาไลบรารีของบุคคลที่สามเพียงอย่างเดียว ไมโครคอนโทรลเลอร์สมัยใหม่เช่น MSP430 และชิป STM32 หลากหลายรุ่นมีโหมดประหยัดพลังงานในตัวที่สามารถบรรลุประสิทธิภาพที่ดีกว่าการใช้งาน JeeLib
การคำนวณอายุการใช้งานแบตเตอรี่:
- การติดตั้ง Arduino แบบมาตรฐาน: ใช้งานได้ประมาณ 1 เดือนด้วยแบตเตอรี่ AA 2 ก้อน
- การปรับให้เหมาะสมด้วยโหมดสลีป: สามารถใช้งานได้ประมาณ 2 ปีตามทฤษฎี
- ตัวอย่างเซ็นเซอร์วัดอุณหภูมิ: ใช้พลังงานเฉลี่ย 0.16 mA ด้วยรอบการสลีป 10 วินาที
- แบตเตอรี่ 2500 mAh สามารถใช้งานได้ 454 วันตามทฤษฎีในโหมด deep sleep
การตอบสนองของชุมชนและแนวโน้มอนาคต
ชุมชน Arduino ได้ตอบสนองด้วยการแบ่งปันแนวทางทางเลือกและการจัดทำเอกสารวิธีแก้ไขปัญหา นักพัฒนาที่มีประสบการณ์บางคนได้สังเกตว่าแม้บอร์ด Arduino จะยอดเยี่ยมสำหรับการเรียนรู้และการสร้างต้นแบบ แต่ก็ไม่ได้รับการปรับให้เหมาะสมสำหรับแอปพลิเคชันที่ใช้แบตเตอรี่ในการผลิตเนื่องจากตัวควบคุมแรงดันไฟฟ้าที่กินไฟมากและตัวเลือกการออกแบบอื่นๆ ที่ให้ความสำคัญกับความง่ายในการใช้งานมากกว่าประสิทธิภาพ
ในอนาคต นักพัฒนาได้รับการส่งเสริมให้สำรวจฟังก์ชันสลีปดั้งเดิมของไมโครคอนโทรลเลอร์หรือพิจารณาบอร์ดพัฒนาประหยัดพลังงานที่สร้างขึ้นเป็นพิเศษ สถานการณ์นี้เป็นการเตือนใจถึงความเสี่ยงที่เกี่ยวข้องกับการพึ่งพาไลบรารีของบุคคลที่สามที่อาจขาดการบำรุงรักษาระยะยาวหรือโครงสร้างความเป็นเจ้าของที่ชัดเจน