ব্যাটারি চার্জ স্তরের ভিত্তিতে ইভেন্ট


11

আমি এখনও কিছু খুঁজে পাইনি তাই আমি আশা করছিলাম যে এখানকার কারও ধারণা থাকতে পারে।

আমি কোনও অ্যাপল ল্যাপটপে ব্যাটারির উপর ভিত্তি করে নির্দিষ্ট চার্জের স্তরে পৌঁছতে বা ব্যাটারিটি পুরোপুরি চার্জ হওয়ার পরেও বন্ধ করতে চাই।

আমি জানি আমি পর্যায়ক্রমে কিছু চালাতে পারি, ব্যাটারি স্তরটি পরীক্ষা করে দেখুন এবং কী করবেন তা স্থির করুন, তবে সম্ভব হলে ইভেন্টটি চালিত করতে আমি পছন্দ করি।

উত্তর:


5

পাওয়ার ম্যানেজার নিখরচায় নয় তবে ব্যাটারি স্তরের (অভ্যন্তরীণ বা ইউপিএস) উপর ভিত্তি করে ইভেন্টগুলি ট্রিগার সমর্থন করে। ইভেন্টগুলি স্ক্রিপ্টগুলি চালাতে, অ্যাপ্লিকেশনগুলি চালু করতে বা বন্ধ করার মতো কার্য সম্পাদন করতে পারে।

পাওয়ার ম্যানেজার ইভেন্ট চালিত এবং ব্যাটারি পরিবর্তনের জন্য পোল করে না।

পরিবর্তে পাওয়ার ম্যানেজার ওএস এক্সের আইওকিট স্তরটিতে হুক করে এবং হার্ডওয়্যার থেকে আপডেটের জন্য অপেক্ষা করে। কেউ লগ ইন না করা হলে ইভেন্টগুলি ট্রিগার করা যেতে পারে; এটি কোনও সক্রিয় ব্যবহারকারীর উপর নির্ভর করে না।

পাওয়ার ম্যানেজার - বাকি ব্যাটারিতে স্ক্রিপ্ট চালান

অন্তর্নির্মিত তফসিল সহকারী কাজগুলি ব্যাটারি যখন কোনও নির্দিষ্ট স্তরে নেমে আসে তখন সম্পাদনের দিকে মনোনিবেশ করে তবে ব্যাটারি শতাংশে বা বাকি সময়টি বৃদ্ধির জন্য তা পরীক্ষা করতে সক্ষম হয়।

এই দুটি পোস্ট ইউপিএস পাওয়ার উত্স সম্পর্কে কথা বলে তবে এগুলি সহজেই আপনার ম্যাকবুকের অভ্যন্তরীণ ব্যাটারির জন্য মানিয়ে নেওয়া হয়:

প্রকাশ: আমি পাওয়ার ম্যানেজারের পিছনে একটি সফটওয়্যার ইঞ্জিনিয়ার।


3

আমি এটি ওএস ভিত্তিক হতে চাই, সুতরাং আমার কোনও ইন্টারনেট সংযোগ বা ব্রাউজার খোলার দরকার নেই ইত্যাদি ব্যাকগ্রাউন্ডে ঘটতে পারে এমন কিছু

এটি করার সবচেয়ে সহজ উপায় হ'ল কোনও অ্যাপ্লিকেশন সহ, তবে কেবল বিল্ট-ইন ওএস কমান্ড দিয়ে এটি কীভাবে করা যায় তা এখানে। আমি জানি যে আপনি এটি ইভেন্ট চালিত হতে চান, তবে আমি কীভাবে এটি সম্পাদন করতে পারি তা নিশ্চিত নই, সুতরাং ব্যাটারির স্তরটি যাচাই করার জন্য এখানে একটি উপায় রয়েছে, তারপরে এটি একটি চৌম্বের উপরে / নীচে থাকলে অন্য কিছু করা।

আপনি কোনও launchdপ্রক্রিয়া বিবেচনা করতে পারেন , এটি মূলত একটি নির্ধারিত কাজ যা প্রতি xমিনিটে চলে। এগুলি প্রায়শই উন্নত ব্যবহারকারীরা ব্যবহার করেন তবে সেটআপ করা খুব বেশি কঠিন নয়। আপনি এই ডিরেক্টরিতে অন্তর্ভুক্ত একটি .plist ফাইলের সাথে একটি সূচনা হওয়া তফসিলযুক্ত কার্যটি কনফিগার করেছেন: Macintosh HD\Library\LaunchDaemonsএবং আপনি এই .plist ফাইলটি কীভাবে গঠন করেন;

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Debug</key>
<true/>
<key>ExitTimeOut</key>
<integer>120</integer>
<key>Label</key>
<string>com.me.BatteryInfo</string>
<key>ProgramArguments</key>
<array>
    <string>/Users/yourusername/batt.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>1800</integer>
</dict>
</plist>

আপনি যদি উপরে উল্লিখিত ফোল্ডারের মতো সেই ফাইলটি সংরক্ষণ করতে চান com.me.BatteryInfoতবে LaunchDaemonsএটি একটি সময় নির্ধারিত টাস্ক তৈরি করবে যা প্রতি 30 মিনিটে চলে। সংখ্যাটি, 1800সরাসরি উপরে </dict>সেকেন্ডে সময় হয় আপনি কতবার টাস্কটি চালাতে চান। এটি <string>/Users/yourusername/batt.sh</string>যেখানে বলে সেখানে আপনি নির্দিষ্ট করেছেন যে কোন স্ক্রিপ্ট সময়সূচীতে চলে। আপনাকে অবশ্যই চলে যেতে হবে <string>এবং </sting>অক্ষত থাকতে হবে ।

লাইনটি <string>com.me.BatteryInfo</string>নির্ধারিত কাজের অনন্য নাম। আপনি যদি একাধিক তৈরি করতে যাচ্ছেন তবে নিশ্চিত করুন যে এখানে প্রতিটি তালিকাতে একটি অনন্য নাম রয়েছে।

আপনার পরবর্তী কাজটি করা দরকার root। প্লেস্টের মালিকানা পরিবর্তন করা । এটি সুরক্ষা বৈশিষ্ট্য হিসাবে প্রয়োজনীয় (সফ্টওয়্যার / ব্যবহারকারীদের নির্ধারিত দূষিত কাজগুলি তৈরি করা বন্ধ করার জন্য, আমি ধরে নিই)। ফাইলটির মালিকানা পরিবর্তন করতে, করুন sudo chown root \Library\LaunchDaemons\yourtask.plist(yourtask.plist প্রতিস্থাপন করুন আপনার তৈরি করা .plist এর প্রকৃত ফাইল নামের সাথে)। এই টাস্কটি আপনাকে একটি পাসওয়ার্ডের জন্য অনুরোধ করবে।

এখন আপনাকে স্ক্রিপ্ট তৈরি করতে হবে যা পর্যায়ক্রমে চলবে। কম্পিউটারকে কী করতে হবে তা জানাতে আপনাকে একটি .sh ফাইল (বাশ স্ক্রিপ্ট) তৈরি করতে হবে। একটি .sh ফাইল তৈরি করতে, প্রোগ্রামার পাঠ্য সম্পাদক, যেমন সাব্লাইম পাঠ্য বা কমোডো সম্পাদনা খুলুন । পাঠ্য সম্পাদনাটি ব্যবহার করবেন না, কারণ এটি প্রায়ই আপনার ফাইলগুলিতে পাঠ্য যুক্ত করে যা আপনার স্ক্রিপ্টে হস্তক্ষেপ করবে। পাঠ্যের সম্পাদনাটি কোডের জন্য সত্যই ব্যবহার করা উচিত নয়।

নিম্নলিখিত কোড সহ একটি স্ক্রিপ্ট (.sh ফাইল) তৈরি করুন;

#!/bin/sh

percent=$(ioreg -l | awk '$3~/Capacity/{c[$3]=$5}END{OFMT="%.3f";max=c["\"MaxCapacity\""];print(max>0?100*c["\"CurrentCapacity\""]/max:"?")}')

if [ $percent > 95 ]
    then
        echo 'charged.'
fi
exit 0

প্রতিস্থাপন echo 'charged.'টার্মিনাল কমান্ড (গুলি) সঙ্গে আপনি তারপর ব্যাটারি চার্জ করা আছে চালানোর জন্য চাই। open /Applications/Notes.appনোটস অ্যাপ্লিকেশনটি খুলবে; আপনি কোনও ভিন্ন অ্যাপ্লিকেশন খোলার জন্য ডিরেক্টরিটি পরিবর্তন করতে পারেন।

$percent > 95এটি পরবর্তী লাইনটি কেবল তখন চালানোর জন্য বলে যখন ব্যাটারি 95চার্জের চেয়ে বেশি হয়। আপনি যা চান এটি এটিকে পরিবর্তন করতে পারেন। এখানকার ব্যাটারির স্তর প্রায়শই উপরের মেনু বারে প্রদর্শিত হয় তার থেকে কিছুটা আলাদা হয়ে থাকে। আপনি যদি 'ব্যাটারি পুরোপুরি চার্জ হয়ে যায় তখন চালাতে চান' তবে আমি এটি> 95 হিসাবে রেখে যাওয়ার পরামর্শ দিই । উদাহরণস্বরূপ, যখন আপনার ব্যাটারি 20% এর নিচে চলে যায় তখন আপনি যদি টাস্কটি চালনা করতে চান it$percent < 20

দ্রষ্টব্য: কারণ এটি একটি নির্ধারিত কাজ, আপনার স্ক্রিপ্টটি প্রতি xমিনিটে কয়েক মিনিট চলবে । এর অর্থ আপনি যদি open \Applications\Notes.appআপনার স্ক্রিপ্টের ভিতরে রাখেন তবে নোটস অ্যাপ্লিকেশনটি প্রতি xমিনিটে শুরু হবে (যদি আপনার ব্যাটারি চার্জ করা থাকে)

কেউ লগ ইন না করলেও এই টাস্কটি চলবে।

আমি জানি আপনি কিছুক্ষণ আগে এই প্রশ্নটি জিজ্ঞাসা করেছিলেন তবে আশা করি এটি কারও সহায়ক হবে।


2

এটি ম্যাক-নির্দিষ্ট নয়, তবে মজিলা অরোরার বিল্ট-ইন এপিআই রয়েছে যাতে ব্যাটারি সম্পর্কিত বিভিন্ন ধরণের ফাংশন রয়েছে। কেউ ব্যাটারির অবস্থান নির্ধারণ করতে পারে (এটি চার্জযুক্ত কিনা বা না), ব্যাটারিটি স্রাব / চার্জ করতে এবং এর স্তরটি আরও কত সময় নিতে পারে। ব্যাটারির স্তর যখন নির্দিষ্ট পর্যায়ে থাকে তখন কীভাবে কোনও ইভেন্ট কল করার জন্য ইভেন্টলিস্টনার যুক্ত করবেন তার একটি সহজ উদাহরণ রয়েছে।


আমি এটি ওএস ভিত্তিক হতে চাই, সুতরাং আমার কোনও ইন্টারনেট সংযোগ বা ব্রাউজার খোলা দরকার নেই etc. পটভূমিতে ঘটতে পারে এমন কিছু।
ত্রুটিযুক্ত জাগলার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.