パイコントロール
PiControlは、ウェブブラウザからRaspberry Piを遠隔操作できる強力なアプリです。
このページでは、PiControlアプリの概要を説明します。
パイコントロール
デフォルトでは、3つのコマンドが含まれており、Raspberry Piですぐに利用できることにお気づきでしょう。すなわち、PiControlを使用すると、Raspberry Piの電源をオフにし、Raspberry Piを再起動し、PiCockpitクライアントをアップグレードすることができます。
PiControlのカスタマイズ
PiControlが特に便利なのは、カスタマイズが可能なことだ。
Raspberry Pi上でJSONファイルを編集することで、簡単かつ安全に独自のコマンドを定義できる。
ここでは、コマンドラインを使ったことのないユーザー向けに説明する。
コマンドラインの使い方を知っているなら、ファイルを作成してNanoやVimで編集する方が簡単で速いかもしれない。
もしそうでなければ、ここで手順を説明しよう。
まず、ファイルブラウザをスーパーユーザーモードで開きます(この手順により、PiCockpit PiControlの設定ファイルを改ざんしようとするユーザーやアプリケーションから安全に保護できます)。
Raspberry Pi OS Menuをクリックし、ここで "Run... "コマンドをクリックする:
実行したいコマンドを入力してください」というボックスが表示されます。次のように入力する。 sudo pcmanfm
をクリックし、OKをクリックする。
新しいウィンドウが開き、/home/ディレクトリの内容が表示されます:
画面左上の警告マークはスーパーユーザーモードであることを示す。右上で、以下のディレクトリに移動します:
/etc/picockpit-client/apps/com.picockpit/picontrol/modules
既存のファイルの横の何もない場所で右クリックし、"New File... "を選択する。
新しいファイルをssh-server.jsonと呼びます。
新規ファイルを右クリックして、コンテキストメニューを表示させます。Geany "を選択してください:
先ほど作成した新しいファイルが表示されます。ただし、現時点では空です。
SSHサーバーサービスをシャットダウンするためのコマンドと、それを起動するためのコマンドの2つを新しく作ってみよう。Geanyのテキストフィールドに次のように入力する:
{
"name": "SSH commands",
"icon": "mdi-ssh",
"handle": "ssh",
"description": "Control the SSH server",
"commands": {
"ssh-stop": {
"name": "SSH Server off",
"icon": "mdi-server-minus",
"description": "Shuts the SSH service down",
"confirm": true,
"user": "root",
"command": ["service", "ssh", "stop"]
},
"ssh-start": {
"name": "SSH Server on",
"icon": "mdi-server-plus",
"description": "Starts the SSH service",
"user": "root",
"command": ["service", "ssh", "start"]
}
}
}
この時点でファイルを保存しなければならない。例えば、Geanyのファイルメニューから保存を選択するか、Ctrl + Sを押すことでこれを行うことができます:
この時点では、新しいコマンドはまだウェブ・インターフェイスには表示されていない。
PiCockpitクライアントを再起動する必要があります。
Raspberry Pi OSメニューの "Run... "コマンドをもう一度クリックし、次のように入力します。 sudo service picockpit-client restart
を入力してからOKをクリックする:
PiControlのウェブインターフェイスを見てみましょう:
すべて正しく入力されていれば、新しいSSHサーバーのコマンドが表示されます。I
JSONファイルを間違えた場合(例えば、中括弧を忘れた場合)、PiCockpitはその "壊れた "ファイルを無視します。
これでコマンドを試すことができる。
おめでとうございます。これで、ウェブインターフェースから実行できる独自のコマンドセットができました。
コマンドを実行している間は、そのページに留まってください。移動するとステータスはクリアされます。SSHサーバーが動作しているかどうかを確認するには、PiDoctorアプリでテストを構築してください。
PiControlはRaspberry Pi上でリモートアクションを実行するためのものです。
新しいコマンドを追加したり、コマンドを更新したときは、PiCockpitクライアントを再起動することを忘れないでください。
また、不要なコマンドを削除することもできる。例えば、Raspberry Piをリモートでシャットダウンする機能を削除したい場合は、core.jsonファイルを編集します。
PiControlの.JSON構文
このファイルは、PiControl用の新しいモジュールを設定します。
すでに述べたように、これは.JSON構文を持っている。したがって、上の例で示したように、中括弧を正しく開いて終わらせる必要があります。
モジュール自体を設定するheadと、コマンド("commands "セクション)がある。これらはいくつかの共通の項目を共有している:
名前
name "には、ウェブ・インターフェースで表示される人間が読める名前を入力します。
アイコン
icon "項目は、ボタンやモジュールを装飾するためのオプションです。これらはMaterial Design Iconの名前で、例えば "mdi-ssh "などです。
をチェックすることができます。 Material Design Iconsの全リストはこちら.アイコンの名前をコピーするだけです(先頭のmdi-を含む)。
記述
description "項目はオプションで、コマンドやモジュールの情報をもう少し追加することができます。
ハンドル
ハンドルネームは、モジュールに対して明示的に設定され、モジュール間で一意でなければなりません。コマンドの場合、ハンドルは暗黙の了解です。"ssh-stop" と "ssh-start「は、私の例でコマンドに使用した2つのハンドルです。
ハンドルネームは、「/」、「+」、「$」、「*」を含まないものであれば、何を選んでも構いません。基本的なダウンケースのASCII文字にこだわり、「-」を使うことをお勧めします。ハンドルネームは 必須.
ちなみに、ファイルはハンドルとは別のファイル名にすることができます。ハードドライブ上のモジュール.JSONファイルを簡単に識別できるように、ファイル名とハンドルには少なくとも関連する名前を使用することをお勧めします。
コマンドは「」の中に入ります。コマンド「ブロックを使用しており、追加の構成が可能です。
確認
もし "confirm" が存在し、trueに設定されている場合、PiControlウェブインターフェイスは、実際にコマンドを実行する前に確認ダイアログを表示します。これは、"危険な "コマンドが誤ってタップやクリックで実行されないようにするのに便利です。
ユーザー
もし "user" が存在する場合、コマンドはそのユーザーとして実行される。 ルート この例では、十分な権限を持っていることを確認しています)。
PiControlは、ユーザー" "としてコマンドを実行します。パイ" をデフォルトで設定します。また、「」よりも少ない権限の他のユーザーに設定することもできます。パイ“.
GPIOコマンドを実行したり、omxplayerを使って動画を再生したりする場合は、新しいユーザーに追加の機能を与える必要があるかもしれません。ユーザーは パイ は、これらの必要な権限をデフォルトで持っています。通常、これらの権限は、ユーザーを特別なグループに追加することで設定されます。
コマンド
これはRaspberry Pi上で実行する実際のコマンドである。コマンドライン上で実行する場合と比較して、コマンド内のスペースを置き換える必要があることに注意してください。例えば
service ssh start
と書かれているはずです。
["service", "ssh", "start"] です。
PiControlは、一連のコマンドの連鎖もサポートしています(例えば、通常のapt-get update、apt-get upgradeのシーケンス)。その例としてcore.jsonをチェックしてみてください。
結論
ご質問や問題がありましたら、ご遠慮なくお問い合わせください!
こんにちわ
picontrolのボタンで次のコマンドを実行したい: cd /home/pi/Sensoren ; python3 SCRIPT.py
説明通りにやってみると、ボタンは押せるのですが、コマンドが実行されず、プロセスも停止できません。
何かアドバイスはありますか?
ありがとうございます。
picontrolはシェルではなく、すべてのコマンドが独立して実行されることを覚えておいてください。
パイソンスクリプトの起動は問題なく行えます。
"コマンド"["python3", "/home/pi/do_something.pyc"] です。
しかし、このスクリプトが後でChromiumのようなGUIを持つアプリを起動したり、Chromiumが直接起動したりすると問題が発生します。
"command":["chromium-browser"] の結果は、"Unable to open X display.".
Xディスプレイを必要とするスクリプトやアプリを起動するにはどうすればいいですか?
これについては、ここで少し詳しく書いています。
https://pi3g.com/2020/05/19/chromium-exit-code-5/
基本的には、どのXディスプレイを使用するかをアプリケーションに伝える必要があります。
Chromiumの場合は、フラグを立てて行います。
chromium-browser -display=:0 -kiosk https://picockpit.com
note, -kiosk は、ブラウザをキオスクモードで起動します。これは追加情報として入れておきます。
note II: パラメーターには2つのダッシュが使われていますが、WordPressでは1つの長いダッシュに変更されています。
その他のアプリケーションでは、確認が必要です。多くの場合、環境変数を設定して行います。
PiCockpitの場合は、変数を設定してからアプリケーションを起動するbashスクリプトを書く必要があるかもしれません。
そして、bashスクリプトを実行します。
これで成功したという方は、ぜひ教えてください。
マックス
また、Chromiumのコマンドラインスイッチの詳細については、以下の2つのリンクを参照してください。
http://peter.sh/experiments/chromium-command-line-switches/
https://www.chromium.org/developers/how-tos/run-chromium-with-flags
このソフトウェアとインフラを使ってコマンドを設定しましたが、これは素晴らしいことです。このシンプルで使いやすいソフトウェアにとても感謝しています。ちょっとしたアドバイスが欲しかったのですが、もしよろしければお願いします。基本的に、私のPiはPCのスリープを解除するように設定されています。そして、あなたのソフトウェアは、etherwakeコマンドでPCを解除するためのシンプルなウェブインターフェイスを可能にし、機能していますが、この1つのコマンドをすぐに実行するためのより高速な方法が欲しいと思っています。これを可能にする方法はないでしょうか?現在、PCを起動させるためには、ログインしてからコマンドにアクセスし、ポップアップボックスでボタンを選択しなければなりませんが、基本的にワンクリックでコマンドを実行できるAPIやショートカットがあれば、それは助かります。いずれにしても、本当にありがとうございました。とても素晴らしいです。
機能提案をありがとうございます、追加しました。今度、wake on lanアプリをやろうと思っているんですが、もしかしたらもう少し便利になるかもしれません。
Hallo,
wie kannich zum Beispiel Abfragen wie (Do you want to continue? [Y/n]) über das Script mit "Y" bestätigen?
Vielen Dank!
ハーガーさん、こんにちは。
これは非常に難しい問題です。apt-get のようなコマンドライン・プログラムは、以前から統合されています。 -だくだく このオプションは、相互作用のないモードで使用することを可能にします。このオプションは、特にスクリプトで使用されることが多く、手で操作することはできません。代わりに、古典的な Unix ' を使用することができます。は' プログラムを使用すると、自分自身の結果を得ることができます。Beispielsweise mit:
yes | sudo apt upgrade
この2つの方法のいずれかを使用することで、より良い方法を見つけることができます。それでも、私たちは喜んで、もう一度質問をさせていただきます。
こんにちは、picockpitからRPiのターミナルが使えるのですか?
まだ、将来のリリースで予定されています。(19.4.2023現在)
記載されているウェブサイトのすべてのアイコンが利用可能/動作するわけではありません。
バージョン4.9.95以降の新しいアイコン、例えば「mdi-lamps-outline」を使うにはどうしたらいいですか?
フロントエンドのコードを更新している最中です。あなたのコメントを私たちの開発者と共有し、おそらく彼らはアイコンを最新バージョンにするために、次の更新の前にこれを調べることができます。
こんにちは、私たちはフロントエンドを更新しました。つまり、Material Design Iconsの最新バージョンまでのすべてのアイコンを使用できるようになりました。今後はフォントのバージョンも最新のものに更新していきます。
[ここをクリックしてください:PiControlで独自のコマンドを設定する方法をご紹介します。[...]
[Pi をコントロールするための管理ツールはすべて動作しています。これにはGPIO、PiControl、PiDoctor、PiStatsアプリが含まれます。SSH サーバーを簡単に切り替えられるように、新しい 64 Bit インストールをセットアップするとか?あるいは、セットアップしたメディアセンターの起動と停止?WoLメッセージの送信?私たちのソフトウェアが提供する可能性については、こちらをご覧ください。[...]
/i) {print "PACKAGE:$1 INSTALLED: $2 AVAILABLE: $3n"}'.
上記のコマンドはSSHでは問題なく動作するが、PiControlでは問題が発生し、レポートが表示される:
(100) E: コマンドラインオプション 'n' [-ne から] は、他のオプションとの組み合わせでは理解されません。
PiControlに表示されるコマンドは、エスケープしてスペースを分割した文字列と同じなので、JSONを正しくエスケープしたと思います。
JSON:
{
"name":「CISO更新コマンド」、
"アイコン":「mdi-update"、
「ハンドルネーム"CISO"、
"説明":"CISOはすべてのアップデートをインストールする"、
"コマンド":{
"ciso-updates":{
"name":「CISOアップデート」、
"アイコン":"mdi-server-minus"、
"description":"リポジトリ内の全パッケージのリストを更新し、インストールされている全パッケージをアップグレードする、
「confirm": true、
"ユーザー":「root」、
"コマンド":[
[
「apt-get」、
"更新"
],
[
「apt-get」、
「アップグレード」、
"-y"
],
[
「apt-get」、
「ジャストプリント」、
「アップグレード」、
"2>&1",
“|”,
「perl」である、
"-ネ"、
"if "である、
“(/Inst\\s([\\w,\\-,\\d,\\.,~,:,\\+]+)\\s\\[([\\w,\\-,\\d,\\.,~,:,\\+]+)\\]\\s\\(([\\w,\\-,\\d,\\.,~,:,\\+]+)\\)?”,
"/i)",
"{print"、
"PACKAGE:"、
“$1”,
"INSTALLED:"、
“$2”,
「AVAILABLE:」である、
"$3T3N"}'
]
]
}
}
}
Hallo,
私はpicockpitで最初の部分を試しましたが、クロミウムブラウザ、dillo、geanyを使うことはできませんでした。
端末に接続することで、直接使用することができます。
"geany":{
"name":「EditorG」、
"アイコン":"mdi-application-edit-outline"、
"description":「テキストエディタ"、
「confirm": true、
"notermination":真、
"ユーザー":「root」、
"コマンド":["geany"]。
},
こんにちは、次のようなメッセージが表示されます:"-display=:0"
そうだね:“,
{
"name":「ジーニー・オープナー
"アイコン":"mdi-application-edit-outline"、
"ハンドル":"open-geany"、
"description":"起動Geany"、
"コマンド":{
"open-geany":{
"name":「Open Geany」、
"アイコン":"mdi-application-edit-outline"、
"説明":"ランチ・ジーニー"、
「confirm": true、
"ユーザー":"
"コマンド":["geany","-display=:0"]。
}
}
}
[Raspberry Piを在庫管理システムに組み込むことで、在庫レベルの監視、資産の追跡、再注文プロセスの自動化が可能になります。カスタマイズされた在庫管理システムを開発したい場合は、スクリプトを開発し、PiCockpitを通してPiControlアプリで実行することができます。[...]
[RaspberryPiのスクリプトを直感的かつ簡単に管理できます。PiControlアプリを使えば、スクリプトを簡単に書くことができ、そのスクリプトを実行するためのボタンを [...] [...]どこからでも作成できます。