আমার ব্যাটারি কম থাকলে আমি কীভাবে একটি কাস্টম শব্দ বাজাতে পারি?


13

আমার ব্যাটারি কম হলে আমার কম্পিউটারটি একটি কাস্টম সাউন্ড ফাইল প্লে করতে চাই (10% বলুন)। কিভাবে আমি এটি করতে পারব? ধন্যবাদ

উত্তর:


6

আমি আমার নিজের crontab -eকাজটি কনফিগার করার জন্য এই পৃষ্ঠায় পরামর্শটি ব্যবহার করেছি বলে আমি কেবল উত্তর দিতে চেয়েছিলাম ।

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

তাই .... স্ক্রিপ্ট এবং একটি প্রাথমিক ব্যাখ্যা ....

গ্লুটানিমেট এবং স্কট গুডগ্যামের উপরের পোস্টগুলি অনুসারে (ধন্যবাদ বন্ধুরা!), আমি মূলত নিম্নলিখিতটি করলাম:

এমপিজি 123 পেতে এবং অডিও খেলতে সক্ষম হতে:

sudo apt-get install acpi mpg123

কমান্ডটি লিখতে ফাইল খুলুন:

crontab -e

ফাইলের শেষে প্রবেশের আদেশ:

*/1 * * * * if [ `acpi -b | awk ' { print ( $(NF-2)-0)}'`  -lt "15" ] ; then mpg123 /home/andy/Alarm.mp3 ; fi

উপরোক্ত ব্যাখ্যা

শুরুতে তারকাচিহ্নগুলি

পাঁচটি তারকাচিহ্ন কমান্ডগুলি চালনার জন্য ফ্রিকোয়েন্সি উপস্থাপন করে।

  • প্রথম তারা = মিনিট: 0-59
  • দ্বিতীয় তারকা = ঘন্টা: 0-23
  • তৃতীয় তারা = মাসের দিন: 0 - 31
  • চতুর্থ তারা = মাস: 0 - 12
  • পঞ্চম তারকা = সপ্তাহের দিন: 0 - 6 (0 রবিবার)

*/1 * * * *

মানে 'প্রতি মিনিটে এটি চালান'

যদি / তারপর / এফ আই:

IF [ stuff inside these brackets ] ; THEN do something ; FI

আপনারা, বেশিরভাগই আমি কল্পনা করি, আমি যদি / তাদের বিবৃতিগুলির সাথে খুব পরিচিত। এফআই শেষে আইএফ এর বিবৃতি শেষ করে

অডিও বাজানো হচ্ছে:

mpg123 /home/andy/Alarm.mp3

এটি কেবল আমার হোম ডিরেক্টরিতে অবস্থিত mpg123একটি ফাইল প্লে করতে ব্যবহার করে ।Alarm.mp3/home/andy/

আউটপুট ব্যাটারি তথ্য:

acpi -b

এটি কেবল ব্যাটারির স্থিতি ছাড়িয়ে যায়। আমার ল্যাপটপে এটি ফলাফল দেয় যেমন:

Battery 0: Discharging, 74%, 02:35:18 remaining

পাইপ টু অ্যাওয়ার্ক কমান্ড

 | awk ' { print ( $(NF-2)-0)}'`  -lt "15"

ঠিক আছে, সুতরাং আমরা উপরের ব্যাটারির স্থিতির আউটপুট পাইপ করছি এবং দ্বিতীয়টি প্রান্ত-এর শেষে মান (এনএফ -2) প্রিন্ট করছি যা উপরের উদাহরণে '74% '। তবে আমাদের 'শতাংশ' -0 অপসারণ করতে হবে । আমরা বর্তমান মানকে 15 -lt "15" মানের সাথে তুলনা করতে চাই । সুতরাং এটি সরল ইংরেজিতে সংক্ষেপে বলা যায়,

যদি ব্যাটারির মান কম হয় তবে 15% ততক্ষণ আপনি একটি অডিও ফাইল খেলেন

আমি প্রশংসা করি যে আমি এটিকে কিছুটা কমিয়ে দিয়েছি এবং সম্ভবত আমার ব্যাখ্যাটি আরও উন্নত হতে পারে তবে আশা করি এটি অন্য কাউকে ব্যাটারির জন্য কীভাবে একটি অ্যালার্ম যুক্ত করতে এবং তাদের ল্যাপটপগুলি হঠাৎ করে বিদ্যুত বন্ধ করা থেকে রক্ষা করতে সহায়তা করবে!

শুভকামনা!


সম্পাদনা

ঠিক আছে ... সুতরাং দেখা যাচ্ছে যে যখন আমার ল্যাপটপটি চার্জ করা হচ্ছে তখন আউটপুট

acpi -b

হল:

Battery 0: Charging, 35%, 01:04:08 until charged

ব্যাটারি হয় যখন

Battery 0: Discharging, 36%, 01:22:36 remaining

প্রাথমিকভাবে উল্লিখিত প্যারামিটার ব্যবহার করে

print ( $(NF-2)-0)

বিভিন্ন ফলাফল আউটপুট দেয়, কারণ মনে রাখবেন, এনএফ- মান বিট প্রদর্শন করে আউটপুটের শেষে থেকে কতগুলি আইটেম পিছন দিকে যায়, তাই এর ব্যাটারির আউটপুট সহ

Battery 0: Discharging, 36%, 01:22:36 remaining

$(NF-2) চার্জ থাকা ল্যাপটপের সাথে '36% 'আউটপুট দেয়

Battery 0: Charging, 35%, 01:04:08 until charged

$(NF-2) আউটপুট '00: 50: 12 ', অর্থাত্ চার্জ হওয়া অবধি সময়ের পরিমাণ।

-0পরে $(NF-2)minuses মান থেকে শূন্য, তাই যখন মান একটি শতাংশ -036 '' থেকে ''36% ভালো কিছু থেকে এটা পরিবর্তন। যখন আউটপুট মানটিকে অ-সংখ্যাসূচক হিসাবে ধরা হয়, যেমন উপরের সময় '01: 04: 08 'এর সময় আউটপুট, তখন মানটি -0' 0 'হয়। সুতরাং আপনি আমার সমস্যাটি দেখতে পারেন - আমার ল্যাপটপটি যখন চার্জ হয় তখন আউটপুট মান সর্বদা '0' থাকে। যেহেতু আউটপুট মান 15 এর কম হলে আমি একটি অ্যালার্ম বাজাতে চাই তাই এটি ব্যাটারি অ্যালার্মে অনুবাদ করে যা চার্জ নেওয়ার সময় প্রতি মিনিটে চলে যায়!

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

সুতরাং ... এটি চতুর্থ মান পড়ার জন্য, কমান্ডটি পরিবর্তিত হয়

awk ' { print ($(NF-2)-0)}'

প্রতি

awk ' { print ($4)-0}'

বা তার সম্পূর্ণ গৌরব:

*/1 * * * * if [ `acpi -b | awk ' { print ($4)-0}'`  -lt "15" ] ; then mpg123 /home/andy/Alarm.mp3 ; fi

আবার আমি আশা করি যে কাউকে সাহায্য করে! শুভকামনা এবং পড়ার জন্য ধন্যবাদ!


বোনাস সম্পাদনা

ঠিক আছে, কিছুটা বাড়তি হাঁসফোঁস এবং অ্যালার্ম বাজানোর আগে কীভাবে ভলিউমটি 100% এ সেট করা যায় এবং কীভাবে শব্দটি সশব্দ করা যায় তা আমিও কাজ করেছিলাম - কারণ এটির মুখোমুখি হোন, আপনি যদি এটি শুনতে না পান তবে ব্যাটারি অ্যালার্মের কী দরকার? কারণ আপনি ' ভলিউমটি কমতে নির্ধারণ করেছে বা এটি নিঃশব্দ করেছে ?!

যাইহোক, আপনার যে আদেশটি প্রয়োজন তা হ'ল:

*/1 * * * * if [ `acpi -b | awk ' { print ($4)-0}'`  -lt "15" ] ; then pactl set-sink-volume 0 100% && pactl set-sink-mute 0 0 && mpg123 /home/andy/Alarm.mp3 ; fi

যেমন আপনি দেখতে পাচ্ছেন, আমি সমস্ত কিছু কমান্ড স্ট্রিং .োকানো হয়েছে

pactl set-sink-volume 0 100% && pactl set-sink-mute 0 0 &&

( &&কেবলমাত্র একাধিক কমান্ড একসাথে আবদ্ধ করুন)

আবার সবাইকে শুভকামনা!

শেষ সম্পাদনা

ঠিক আছে, সুতরাং ... একটি চূড়ান্ত (আশাবাদী!) সম্পাদনা ... স্পষ্টতই, ক্রোন কাজগুলি চালানোর সময় শতাংশের চিহ্নটি একটি বিশেষ চিহ্ন। সুতরাং, আপনাকে প্রতিটিের \সামনে একটি ব্যাকস্ল্যাশ ( ) রেখে শতকরা চিহ্নটি 'পালাতে' হবে %যাতে শেল দ্বারা এটি ব্যাখ্যা করা (ভুল) হয় না।

সুতরাং মূলত প্রতিস্থাপন

100%

সঙ্গে

100\%

অতএব, আপনি যে আদেশটি সত্যই প্রয়োজন তা হ'ল:

*/1 * * * * if [ `acpi -b | awk ' { print ($4)-0}'`  -lt "15" ] ; then pactl set-sink-volume 0 100\% && pactl set-sink-mute 0 0 && mpg123 /home/andy/Alarm.mp3 ; fi

ভাই আশা করি এটি আপনার জন্য যেমন সাজিয়ে তোলে ঠিক তেমনই আমার জন্যও !! (অবশেষে!)


এটি একটি দুর্দান্ত ব্যাখ্যা! দুর্ভাগ্যক্রমে, খুব চার্জ করার সময় এটি প্রতি মিনিটে একটি শব্দ বাজায়।
OpnSrcFan

5

আপনি একটি ক্রোন জব সেট আপ করতে পারেন যা প্রতি 5-10 মিনিটের পরে ব্যাটারির স্থিতি পরীক্ষা করে এবং তারপরে ব্যাটারির শতাংশের উপর নির্ভর করে এটি কিছুটা শব্দ বাজবে।

শব্দটি খেলতে আপনি ব্যবহার করতে পারেন

mpg123 filename.mp3

এটি ইনস্টল করতে

sudo apt-get install mpg123

কমান্ড লাইন থেকে ব্যাটারি স্থিতি পেতে আপনি এই আদেশটি ব্যবহার করতে পারেন

upower -i /org/freedesktop/UPower/devices/battery_BAT0

grepনীচের হিসাবে আপনি সঠিক তথ্য বের করতে পারেন ব্যবহার করে

upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"

এখন আপনি এই সমস্ত জিনিস শেল স্ক্রিপ্টে রাখতে পারেন (এবং ifব্যাটারির অবস্থা 10% এর চেয়ে কম কিনা তা পরীক্ষা করার শর্তও) এবং ক্রোন জবটিতে কেবল এই শেল স্ক্রিপ্টের পথ দিতে পারেন।

সুতরাং প্রতি 5 মিনিটের পরে (আপনি এই ব্যবধানটি পরিবর্তন করতে পারেন) আপনার ব্যাটারির স্থিতি পরীক্ষা করা হবে এবং যদি ব্যাটারি 10% এর চেয়ে কম হয় তবে আপনার সরবরাহিত সাউন্ড ফাইলটি চালানো হবে!

আশাকরি এটা সাহায্য করবে!


3
ঠিক আছে, কেবল শীতল লোকেরা এমপিজি 123 ব্যবহার করে :)
স্কট

3

এটি করার একটি সহজ উপায় হ'ল আপনার ক্রন্টবায় একটি সাধারণ চেক যোগ করা (ক্রোন হ'ল ব্যাকগ্রাউন্ডে নিয়মিত, ব্যবহারকারী-সংজ্ঞায়িত ভিত্তিতে জিনিস চালানোর ব্যবস্থা system

প্রথমে আপনাকে কমান্ড লাইন এমপি 3 প্লেয়ার এবং এসপিআই ইনস্টল করতে হবে যাতে ব্যাটারি স্থিতি পড়তে সক্ষম হয়।

টার্মিনাল থেকে প্যাকেজ ইনস্টল করতে নিম্নলিখিতটি চালান।

sudo apt-get install acpi mpg123

এরপরে, টার্মিনালে থাকা অবস্থায়, টাইপ crontab -eকরে ফাইলটির শেষে নীচে প্রবেশ করুন। আপনার বাড়ির ডিরেক্টরিতে কেবল আপনার ব্যবহারকারীর নাম এবং .mp3 আপনার ফাইলের নাম পরিবর্তন করুন।

*5 * * * * if [ `acpi |awk '{print substr($NF, 0, length($NF)-1)}'`  -lt "10" ] ; then mpg123 /home/user/SuperCoolSound.mp3   ;fi

সংরক্ষণ করতে কন্ট্রোল-ও (চিঠি) এবং এন্টার চাপুন। প্রস্থান করতে নিয়ন্ত্রণ-এক্স চাপুন

অতিরিক্ত জিনিস আপনি পড়তে চাইতে পারেন ...

উবুন্টু ক্রোনহোতো

উবুন্টু গাইড


এখানে কাজ করেনি: ➜ ~ [ acpi |awk '{print substr($NF, 0, length($NF)-1)}' -lt "10"]; তারপরে aplay / home/feliplalli/ Music /siren.wav; fi [: পূর্ণসংখ্যার অভিব্যক্তি প্রত্যাশিত: অবশেষ ➜ ~ acpi ব্যাটারি 0: ডিসচার্জিং, 9%, 00:17:56 বাকি
ফিলিপ

2

আসলে আমি অ্যান্ডি পাইয়ের উত্তরটি ব্যবহার করেছি তবে এটি আমার পক্ষে কার্যকর হয়নি। ক্রোন কোডটি কার্যকর করে, তবে এটি শব্দটি প্লে করে না। অবশেষে আমি সমাধানটি খুঁজে পেয়েছি এবং এটি এখানে ভাগ করে নিচ্ছি:

পদক্ষেপ 1: এমপিজি 3 ইনস্টল করুন

sudo apt-get install acpi mpg123

পদক্ষেপ 2: নিম্নলিখিত কমান্ডটি সংরক্ষণ করুন~/bin/battery_alert

#!/bin/bash
PATH=/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
if [ `acpi -b | awk ' { print ($3)}'`  == "Discharging," ] ; then
    # Discharging
    # Monitor for low battery
    if [ `acpi -b | awk ' { print ($4)-0}'`  -le "15" ] ; then
        pactl set-sink-volume 0 75\% && pactl set-sink-mute 0 0 && mpg123 /home/user/battery_low.mp3 ;
    fi
else
    # Charging
    if [ `acpi -b | awk ' { print ($4)-0}'`  -eq "100" ] ; then
        # Fully charged
        pactl set-sink-volume 0 75\% && pactl set-sink-mute 0 0 && mpg123 /home/user/battery_full.mp3 ;
    fi
fi

এই স্ক্রিপ্টটি ব্যাটারি_লো.এমপি 3 বাজায় যদি ল্যাপটপটি ডিসচার্জ হয় এবং চার্জ 15% এর চেয়ে কম বা সমান হয়। (যদি এসি শক্তি সংযুক্ত থাকে তবে এটি আপনাকে সতর্ক করবে না)। চার্জটি 100% হলে এই কোডটি আপনাকেও সতর্ক করে। আপনি যদি পুরোপুরি চার্জ হওয়া রাষ্ট্রের জন্য সতর্কতা না চান, অন্য কোডটি এই কোড থেকে সরিয়ে দিন।

পদক্ষেপ 3: নিম্নলিখিত কমান্ডটি ব্যবহার করে ফাইলটিকে সম্পাদনযোগ্য করে তুলুন।

chmod +x ~/bin/battery_alert

পদক্ষেপ 4: কমান্ড ব্যবহার করে এই ফাইলটি ক্রমান ব্যবহার করে নিম্নলিখিত কমান্ডটি ফাইলের শেষে খুলুন crontrab -eকমান্ড দ্বারা খুলুন ।

*/5 * * * * /home/user/bin/battery_alert

(এই আদেশের পরে খালি লাইন রাখতে ভুলবেন না)

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