- 16x2LCDとRaspberryPiの接続:
- Bluetooth通信に必要なパッケージのインストール:
- Bluetoothを介したデバイスとRaspberryPiのペアリング:
- 回路図:
- AndroidアプリBlueTermを使用したLCDでの音声入力:
コンピュータや携帯電話で非常に一般的に使用されている音声タイピングに精通している必要があります。音声タイピングでは、話すことで任意の単語を入力できます。音声タイピングは、障害のある人やすばやく入力したい人にとって非常に便利です。そのため、今日、音声テキストがLCDに表示される16x2LCDディスプレイに同じものを実装しています。ここでは16x2LCDを使用しましたが、このセットアップは、空港、ショッピングモール、オフィスなど、メッセージをブロードキャストするために、より大きなディスプレイを備えた多くの場所にインストールできます。
このプロジェクトでは、Androidアプリ(BlueTerm)を介してGoogle Voiceキーボードを使用して入力音声を提供し、RaspberryPiを使用して16x2LCDにテキストを印刷します。ここでは、ワイヤレスBluetoothMediumを使用して16x2LCDにテキストを入力し、RaspberryPiでUSBBluetoothドングルを使用します。したがって、基本的には、16x2LCDをRaspberryPiとインターフェースし、携帯電話から送信されたデータを受信するようにRaspberryPiでBluetoothをセットアップする必要があります。LCDとRaspberryPiのインターフェイスを既に作成し、BluetoothとRaspberryPiのチュートリアルを作成しました。確認できます。
16x2LCDとRaspberryPiの接続:
Bluetoothのセットアップに進む前に、まず16x2LCDをRaspberryPiと インターフェースします。このプロジェクトでは、外部Adafruitライブラリを使用して16x2LCDをRaspberryPiとインターフェイスしました。これを使用すると、LCDを駆動するために多くのコード行を記述する必要がなく、コード。ただし、このライブラリはAdafruitによって作成されていますが、HD44780コントローラーを備えたすべてのLCDモジュールに使用できます。外部ライブラリを使用せずにLCDを接続する場合は、以前のチュートリアルを確認して、LCDを8ビットモードでインターフェイスし、LCDを4ビットモードでインターフェイスすることができます。
Adafruitライブラリを使用するには、最初に以下のコマンドを使用してライブラリをインストールする必要があり ます。最初のコマンドはRaspberryPiにCharLCDリポジトリ(Adafruitによる)を複製し、2番目のコマンドはダウンロードしたディレクトリ内に移動し、最後にAdafruit_Python_CharLCDディレクトリ内にあるsetup.pyスクリプトを実行してライブラリをインストールする必要があります。
git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git cd./Adafruit_Python_CharLCD sudo python setup.py install
これで16x2LCDのライブラリがインストールされ、次の行を使用してこのライブラリをPythonプログラムにインポートするだけでその機能を使用できます。
Adafruit_CharLCDをLCDとしてインポートします
ライブラリフォルダー(Adafruit_Python_CharLCD)にある 'examples'フォルダー内にいくつかのサンプルスクリプトがあります。char_lcd.py サンプルスクリプトを実行して、セットアップをテストでき ます。ただし、その前に、次のセクションの回路図で以下に示すように、LCDピンをRaspberryPiに接続する必要があります。
LCDをRaspberryPiの他のGPIOピンに接続することもできます。以下のように、Pythonプログラムで正しいインターフェイスピンについて言及する必要があります。Raspberry Pi GPIOピンの詳細については、こちらをご覧ください。
#RaspberryPiピンのセットアップlcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2
これで、AdafruitLibraryが提供する機能を直接使用し てLCDを制御できます。いくつかの機能を以下に示します。スクリプトの例で詳細を確認できます。
- lcd.message(message)= LCDにテキストを印刷します。
- lcd.clear()= LCDをクリアします。
- lcd.set_cursor(col、row)=カーソルを列と行の任意の位置に移動します。
- lcd.blink(True)=カーソルを点滅させる(TrueまたはFalse)
- lcd.move_left()=カーソルを1つ左に移動します。
- lcd.move_right()=カーソルを1つ右に移動します。
次に、Bluetoothを使用してRaspberryPiをAndroidスマートフォンに接続します。
Bluetooth通信に必要なパッケージのインストール:
ここでは、Bluetoothが組み込まれていないRaspberry 2 PiモデルBを使用しているため、RaspberryPiでBluetooth通信をセットアップするために単純なUSBBluetoothドングルを 使用してい ます。RaspbianJessieがインストールされたメモリカードがRaspberryPiで準備されている必要があります。この記事をチェックして、Raspbian OSをインストールし、RaspberryPiの使用を開始してください。したがって、最初に以下のコマンドを使用してRaspbianを更新する必要があります。
sudo apt-get update sudo apt-get upgrade
次に、Bluetooth関連のパッケージをいくつかインストールする必要があります。
sudo apt-get install bluetooth blueman bluez
次に、RaspberryPiを再起動します。
sudoリブート
BlueZ は、オープンソースプロジェクトであり、公式のLinuxBluetoothプロトコルスタックです。すべてのコアBluetoothプロトコルをサポートし、公式のLinuxカーネルの一部になりました。
Blueman は、Bluetoothデバイスを管理および制御するためのデスクトップインターフェイスを提供します。
最後に 、Python言語を使用してRFCOMMを介してデータを送受信できるように、Bluetooth通信用のPythonライブラリが必要 です。
sudo apt-get install python-bluetooth
RaspberryPiのGPIOサポートライブラリもインストールします。
sudo apt-get install python-rpi.gpio
これで、RaspberryPiでのBluetooth通信に必要なパッケージのインストールが完了しました。
Bluetoothを介したデバイスとRaspberryPiのペアリング:
携帯電話などのBluetoothデバイスとRaspberryPiのペアリングは非常に簡単です。ここでは 、AndroidスマートフォンをRaspberryPiとペアリングしました。以前、BlueZをPiにインストールしました。これは、 Bluetoothデバイスを管理するための 「bluetoothctl」 と呼ばれるコマンドラインユーティリティを提供し ます。ただし、その前に、USBBluetoothドングルをRaspberryPiに接続し、以下のコマンドを使用して、検出されたかどうかを確認します。
lsusb
次に 、以下のコマンドで bluetoothctl ユーティリティを開き ます。
sudo bluetoothctl
' help'と 入力すると、 bluetoothctl ユーティリティのすべてのコマンドを確認できます 。今のところ、以下のコマンドを指定された順序で入力する必要があります。
#電源オン#エージェントオン#検出可能オン#ペアリング可能#スキャンオン
最後のコマンド「 スキャンオン 」の後、Bluetoothデバイス(携帯電話)がリストに表示されます。モバイルでBluetoothがオンになっていて、近くのデバイスから見えるようになっていることを確認してください。次に、デバイスのMACアドレスをコピーし、次のコマンドを使用してペアリングします。
ペア
次に、ターミナルコンソールでパスコードまたはPINの入力を求められ、そこにパスコードを入力してEnterキーを押します。次に、プロンプトが表示されたら携帯電話に同じパスコードを入力すると、RaspberryPiと正常にペアリングされます。このプロセス全体については、Bluetoothを使用したGPIOの制御に関する以前のチュートリアルでも説明しました。
回路図:
AndroidアプリBlueTermを使用したLCDでの音声入力:
携帯電話をペアリングした後、Bluetoothシリアルアダプターを使用してRaspberryPiと通信するためのAndroidアプリをインストールする必要があり ます。RFCOMM / SPPプロトコルはBluetooth経由のシリアル通信をエミュレートするため、 このプロトコルをサポートするBlueTermアプリをここにインストールしました 。
RFCOMMソケットを介した通信をサポートする他のBluetoothターミナルアプリを使用することもできます。
BlueTermアプリをダウンロードしてインストールした後 、ターミナルから以下のPythonプログラムを実行 し、BlueTermアプリからペアリングされた raspberrypi デバイスを同時に接続し ます。接続が成功すると 、以下に示すように、アプリの右上隅に connected:raspberrypi が表示 さ れます。今、 Googleの音声入力キーボードを選択して話し始め、それがLCDに登場します。
このプロジェクトのPythonプログラムは以下のとおりで、簡単に理解できます。主な典型的な部分は、前に説明したBluetoothプログラミングに関連しています。この記事のプログラミングセクションを確認してください。
Voiceを使用してRaspberryGPIOピンを制御するか、より大きなLCD / TFTディスプレイを使用してより大きなメッセージを表示することにより、このプロジェクトをさらに拡張できます。以前のRaspberryPiプロジェクトとチュートリアルも確認してください。