IoT 101プロジェクト:RaspberryPiからのストリーム温度
"こんにちは世界!" –これは、コーディング方法を学習するときに作成した最初のプログラムの出力である可能性があります。温度データをストリーミングするためのデバイスのセットアップは、急速に事実上のモノのインターネット(IoT)「HelloWorld!」になりつつあります。事業。 「HelloWorld!」を印刷する場合初めては長くて苛立たしい仕事でした、あなたは他のプログラムを書いたことがないかもしれません。最初のIoTプロジェクトは、あなたの顔に大きな笑顔を与えるだけです。この楽しくて簡単なプロジェクトは、IoTデータストリーミングの素晴らしい世界を紹介します。
このプロジェクト全体のビデオチュートリアルは、次の場所にあります。
http://youtu.be/HMqPbfvCshs
必要な物資は次のとおりです。
- インターネットに接続されたRaspberryPiまたは選択したシングルボードコンピューター。
- DS18B20温度センサー(https://www.adafruit.com/product/381)。
- 簡単な回路を配線するためのブレッドボード(Adafruit Piスターターキット内)。
- 4.7Kから10Kの抵抗器(Adafruit Piスターターキットにも含まれています)。
DS18B20温度センサーは、デジタル出力を備えており、Piにはアナログ-デジタルコンバーター(ADC)が搭載されていないため、RaspberryPiで適切に機能します。 Raspbianには、センサーの出力を読み取るためのインターフェースが含まれています。温度を取得して解析するための小さなコードを作成する必要があります。 Adafruitには、DS18B20を使用するための優れたチュートリアルがあります。これは、画面に出力するだけでなく、温度をストリーミングするために従い、変更するだけです。
ハードウェアのセットアップは簡単です。 DS18B20の赤い線を3.3Vに接続します。 GNDへの黒線。プルアップ抵抗とPiのGPIOピン4への青いワイヤー。
温度センサー読み取りインターフェースを開始するには、2つのコマンドを実行する必要があります。 Piのコマンドプロンプトに移動するか、PiにSSHで接続します。次のコマンドを入力します:
sudo modprobe w1-gpio
sudo modprobe w1-therm
これで、温度センサーの出力がPi上のファイルに書き込まれます。そのファイルを見つけるには、
cd / sys / bus / w1 / devices
このディレクトリには、「28-」で始まるサブディレクトリがあります。 「28-」の後に続くのは、センサーのシリアル番号です。そのディレクトリにcdします。このディレクトリ内のw1_slaveという名前のファイルには、センサーの出力が含まれています。このファイルの内容は次のようになります:
a2 01 4b 46 7f ff 0e 10 d8:crc =d8はい
a2 01 4b 46 7f ff 0e 10 d8 t =26125
「t =」の後の数字は、必要な数字です。これは摂氏1/1000度の温度です(上記の例では、温度は26.125℃です)。このファイルを読み取り、その数を解析する単純なプログラムが必要です。私たちにとって幸運なことに、Adafruitは、これを実行して温度を画面に出力するPythonスクリプトをすでに作成しています。 Piに新しいファイル(例:temperature.py)を作成し、次のコードをコピーして貼り付けます:
コードを表示するには、ここをクリックしてください
このスクリプト(「sudopythontemperature.py」)を実行して、画面に温度センサーの出力を表示します。
これが、Adafruitチュートリアルから逸脱するポイントです。画面に温度を送るのは退屈です。このデータを、現在の温度だけでなく、キャプチャされた温度データの履歴を確認できる場所にストリーミングしたいと考えています(さらに、一連の温度をテキストとして「読み取り」たい場合は、きれいなデータの視覚化が必要です)。最初に初期状態ストリーマーをインストールして、温度測定の目的地を指定します(初期状態ストリーマーの設定手順については、こちらをご覧ください。非常に簡単で、2分もかかりません)。上記のスクリプトを変更して、温度を画面に出力するのではなく、初期状態のアカウントにストリーミングします。変更点は次のとおりです。
コードを表示するには、ここをクリックしてください
6行目のclient_key =“”と書かれている引用符の間に、初期状態アカウントに関連付けられているクライアントキーをコピーして貼り付ける必要があります。クライアントキーは、アカウント設定の下、またはアカウントにログインするとランディングページで見つけることができます。
これらは、先ほど行った変更です:
- 4行目で、初期状態のデータストリーマーモジュールをインポートしました。
- 6行目で、「Temperature Stream」という新しいバケットを作成し、クライアントキーを介してアカウントに関連付けました。
- 30行目で、read_temp()関数を変更して、温度を摂氏でのみ返すようにしました。
- 34行目で、read_temp()の出力を華氏に変換しました。
- 35行目と36行目では、2つの温度をストリーミングしました。
詳細:IoT 101プロジェクト:RaspberryPiからのストリーム温度
製造プロセス