2016-08-29 10 views
1

私はラズベリーパイの初心者です。私は基本的な疑問があります。複数のターミナルコマンドを1つのファイルに入れて、すべてのコマンドを一度に実行しますか?

私は基本的に私のラズベリーパイをビーコンにして、そこからAndroidアプリにデータを広告しようとしています。

複数のターミナルコマンドを1つのファイルに入れて、ファイルをコンパイルして実行するだけですべてのコマンドを実行できるのだろうか?

this tutorialに続いた。

私の基本的な疑問は、デバイスが利用可能かどうか(ブルートゥース)を確認して広告するたびに、それぞれのコマンドが必要だということです。複数のラズベリーpiコマンドをファイルに統合し、ファイルを(スクリプトとして)コンパイルして実行するだけで、これらのコマンドをすべて実行できますか?次のように

コマンドのほとんどは、以下のとおりです。

sudo hcitool lescan, 
sudo hcitool hci0, 
sudo hcitool -i hci0 0x008, 

及びこれらのようないくつかのコマンド..

+2

あなたはあなたが読んで過ごす時間を返済ますスクリプトチュートリアル。これはかなり良いです:http://ryanstutorials.net/bash-scripting-tutorial。がんばろう。 – shellter

答えて

1

はあなたのコマンドでファイルexample.txtを持って言う:

sudo hcitool lescan 
sudo hcitool hci0 
sudo hcitool -i hci0 0x008 

その後のことができます。 sh example.txtまたはbash example.txtを実行してこれらのコマンドを実行します。 を参照してくださいubuntu run text file as command

1

本当にこのためにpythonを使用する場合は、サブプロセスモジュールを使用できます。あなたがループ内でこれを望んでいた場合

import subprocess 
with open ('/home/pi/bluetoothcommands.txt') as btcommands: 
    for line in btcommands: 
     subprocess.run (line) 

import subprocess 
with open ('/home/pi/bluetoothcommands.txt') as btcommands: 
    while True: 
     for line in btcommands: 
      subprocess.run (line) 

/home/pi/bluetoothcommands.txtファイルで:

sudo hcitool lescan 
sudo hcitool hci0 
sudo hcitool -i hci0 0x008 
関連する問題