木曜日、5月 21、2020
物理ボタンで電源のON/OFFを制御する
上記で、システムシャットダウン時のLED制御を設定しましたが、今度は本体にある電源ボタンを使った制御を設定します。
この設定をおこなうと、電源ボタンを長押しすることでシャットダウンを検知し、本体の電源をOFFさせることが可能になります。
シャットダウン用プログラムの作成
システムシャットダウンのプログラムはPythonのプログラムで作成します。以下のソースコードをつかって、ファイルを作成してください。
ここでは、ファイル名を "shutd_btn.py" とし、ファイルを/ratoc 以下に保存します。
ディレクトリはあらかじめ作成しておきます。
$ mkdir ratoc $ cd ratoc
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # RPi-CM3MB2/MB3 Shutdown Button handler # "shutd_btn.py" # 2018/03/13 R1.0 # RATOC Systems, Inc. Osaka, Japan # import RPi.GPIO as GPIO import os, time shutd_ctl = 6 #GPIO 06 for Shutdown Control GPIO.setmode(GPIO.BCM) # Use Broadcom pin numbering GPIO.setup(shutd_ctl, GPIO.IN, pull_up_down=GPIO.PUD_UP) print( "RPi-CM3MBx Shutdown Button handler" ) def isr_shutdown(self): print( "Shutdown Button is activated !!" ) os.system( "sudo shutdown -h now" ) GPIO.add_event_detect(shutd_ctl, GPIO.FALLING, callback=isr_shutdown, bouncetime=2000) while(True): time.sleep(1) GPIO.cleanup()
スクリプトファイルの作成がおわれば、ファイルの属性を変更します。
~/ratoc/ $ sudo chmod 755 ./shutd_btn.py
次に、先ほど作ったファイルをサービス登録るためにサービスファイルを作成します。
以下のコードを使ってサービスファイルを作成してください。
ここでは、ファイル名を "shutd_btn.service" とします。
[Unit] Description=RPi-CM3MB2/MB3 Shutdown button service Wants=network.target [Service] ExecStart=/home/pi/ratoc/shutd_btn.py Restart=on-failure RestartSec=10s [Install] WantedBy=multi-user.target
ファイルの作成が終われば、サービスファイルを システムにコピーします。
~/ratoc/ $ sudo cp shutd_btn.service /etc/systemd/system/shutd_btn.service
サービスの開始
先ほどコピーしたサービスを開始させます。
~/ratoc/ $ cd $ sudo systemctl start shutd_btn.service
サービスの自動実行化
次に、サービスを自動実行するための設定をおこないます。
$ sudo systemctl enable shutd_btn.service
自動実行を有効にしたのち、サービスが正しく動作しているかをかくにんします。
$ sudo systemctl status shutd_btn.service
● shutd_btn.service - RPi-CM3MB2/MB3 Shutdown button service
Loaded: loaded (/etc/systemd/system/shutd_btn.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-03-15 11:57:55 JST; 5min ago
Main PID: 349 (python3)
CGroup: /system.slice/shutd_btn.service
mq349 python3 /home/pi/ratoc/shutd_btn.py3月XX XX:XX:XX raspberrypi systemd[1]: Started RPi-CM3MB2/MB3 Shutdown button service.
上記のように●が緑になっていれば、正常に動作しています。
動作確認後、電源ボタンを3秒間長押しして、連動してシャットダウンが実行されることを確認します。
電源ボタンを押して起動後に、再度以下のコマンドを入力してください。
$ sudo systemctl status shutd_btn.service
コマンド入力後、サービスが正しく動作しているかを確認してください。
※●が緑になっていればOKです。
おまけ:システム起動時のサービス自動実行を無効化したいとき
自動実行を無効化する際は、以下のコマンドを入力してください。
sudo systemctl disable shutd_btn.service
コメントの追加
下記フォームにあなたのコメントを入力してください
水曜日, 7月 26, 2023 - 19:19:42
Hello guys! Nice article 物理ボタンで電源のON/OFFを制御する : г‚ігѓЎгѓігѓ€ « ラズパイブгѓг‚°
Если вы ищете идеальную платформу для приобретения любых вещей, то MEGA - ваш лучший выбор. Это самая крупная и надежная площадка в России и СНГ, которая всегда доступна по адресу мега купить. На MEGA вы сможете найти все, что вам нужно, независимо от ваших предпочтений и запросов. Здесь представлен огромный ассортимент позиций, готовых удовлетворить самые разнообразные потребности.
mega nz
mega
мега магазин
sb mega
мега официальный сайт
официальный сайт меги
ph99bGGoma
日曜日, 10月 1, 2023 - 06:45:37
Новые полиэтиленовые мешки
полиэтиленовые мешки оптом полиэтиленовые мешки.
木曜日, 12月 21, 2023 - 02:20:41
Мешки для строительного мусора с доставкой по всей России
сколько стоят мешки для строительного мусора http://www.meshki-dlya-stroitelnogo-musora-w.ru/.
土曜日, 1月 6, 2024 - 03:09:55
Строительные мешки купить в магазине
мешки под мусор строительный цена https://www.meshki-dlya-stroitelnogo-musora-p.ru.
水曜日, 7月 17, 2024 - 16:41:55
Новости Бреста а также Брестской сфере равно сфере, самая пре самая оперативная экспресс-информация: объекта дня, обзоры, последние происшествия а также события мегаполиса, информации что касается ДТП
https://elnet.by/