アンドロイド携帯を使ったSD 011粒子センサの使用
4141 ワード
私のラップトップ(このシリーズの最初のポストで説明されたs)でSDS 011粒子センサーのいくつかのテストの後、私はそれが空気質のためにチェックする最も実用的な方法でないと理解しました.私はバックパックで私とラップトップを取るためにそれを取得し、それを再開し、USBを使用してセンサーを接続し、起動する必要がありましたthe Python3 script ( suspttpdサーバを停止中に実行します).
いくつかの時点で、私はすべての回で私は非常に強力で小型携帯電話のコンピュータを持っていることに気づいた- Android携帯電話.幸運にも数ヶ月前、私は買いましたOTG cable 私の電話のために.
私はSerial USB Terminal 人造人間電話のために、それをインストールして、SDS 011センサーを私の電話に接続しました.アプリケーションが自動的に起動され、接続を開始した後、定期的にターミナル出力にいくつかのガベージ文字が表示されるのを見たので、私の電話は、センサーからの出力を読むことができます.
最初のテストは、この推測が正しいことを示しました.初期の計算は、電話からフェッチされるデータが正しい測定を表すことを証明しました.ハンドメイドの計算はArduino C code from the joy-it sensor manual :
「まあ、たぶん私はそれについて考えている最初の人ではないでしょう」
私はそのようなアプリケーションを検索しましたGoogle Play . 残念なことに、そのようなアプリケーションは存在しませんでした(少なくともこのポストを書く時に).
私はインターネット上でAndroidアプリケーションを探して見つけましたa GitHub repo for SDS011 Android application - より良い.残念ながら、このアプリケーションは、Googleのプレイには、私はそれを構築し、“手で”インストールする必要が公開されていません.
私は構築し、私の携帯電話を使用して、このアプリケーションをインストールthe Android Developers instructions . これは、カジュアルな携帯電話のユーザーのためではない、それをダウンロードし、設定を必要とAndroid Studio . しかし、最後の結果は良いです-developers of the SD011 Android app .
いくつかのこのアプリで遊んだ後、いくつかの欠点が見つかりました: ゲージの範囲が表示されていませんproper colours for air quality according to the PM2.5 or PM10 levels
アプリは測定履歴を記録しません 時間を見つけたら、次のような機能を備えたAndroidアプリケーションを作りたいです. 保存/測定の歴史を見る 日付時刻&GPS含まれて 地図上の各測定の場所を表示する このように我々は乗りに乗ることができるか、街を歩くことができますし、後で空気の質が異なる場所の間に異なるかどうかを確認するデータを分析する 一時停止/継続測定 これは、センサーレーザー&私の携帯電話のバッテリーを保存します 構成の測定 これは、センサーレーザー&私の携帯電話のバッテリーを保存します カバーイメージとラップトップイメージは、以下によってつくられます: computergottyt Goumbik
いくつかの時点で、私はすべての回で私は非常に強力で小型携帯電話のコンピュータを持っていることに気づいた- Android携帯電話.幸運にも数ヶ月前、私は買いましたOTG cable 私の電話のために.
私はSerial USB Terminal 人造人間電話のために、それをインストールして、SDS 011センサーを私の電話に接続しました.アプリケーションが自動的に起動され、接続を開始した後、定期的にターミナル出力にいくつかのガベージ文字が表示されるのを見たので、私の電話は、センサーからの出力を読むことができます.
最初のテストは、この推測が正しいことを示しました.初期の計算は、電話からフェッチされるデータが正しい測定を表すことを証明しました.ハンドメイドの計算はArduino C code from the joy-it sensor manual :
...
#define LEN 9
unsigned char incomingByte = 0;
unsigned char buf[LEN];
int PM2_5Val = 0;
int PM10Val = 0;
...
if (incomingByte == 0xAA) {
Serial.readBytes(buf, LEN);
if ((buf[0] == 0xC0) && (buf[8] == 0xAB)) {
for (i=1; i<=6; i++) {
checksum = checksum + buf[i];
}
if (checksum != buf[7]) {
PM2_5Val=((buf[2]<<8) + buf[1])/10;
PM10Val=((buf[4]<<8) + buf[3])/10;
...
これは以下のバイト列を意味します:hex: aa c0 50 00 29 01 7f bc b5 ab
dec: 80 00 41 01 127 188 181
...私は以下の数学を行いました.同じ値が私のラップトップ上で上記のpython 3スクリプトを使用して測定することができました:checksum (hex) = 50+00+29+01+7f+bc = 1b5 (which overflows to b5)
PM25 (dec) = (00*256 + 80) / 10 = 8.0
PM10 (dec) = (01*256 + 41) / 10 = 29.7
いくつかの思考の後、私はこれが新しいAndroidアプリケーションの良いユースケースであると理解した.「まあ、たぶん私はそれについて考えている最初の人ではないでしょう」
私はそのようなアプリケーションを検索しましたGoogle Play . 残念なことに、そのようなアプリケーションは存在しませんでした(少なくともこのポストを書く時に).
私はインターネット上でAndroidアプリケーションを探して見つけましたa GitHub repo for SDS011 Android application - より良い.残念ながら、このアプリケーションは、Googleのプレイには、私はそれを構築し、“手で”インストールする必要が公開されていません.
私は構築し、私の携帯電話を使用して、このアプリケーションをインストールthe Android Developers instructions . これは、カジュアルな携帯電話のユーザーのためではない、それをダウンロードし、設定を必要とAndroid Studio . しかし、最後の結果は良いです-developers of the SD011 Android app .
いくつかのこのアプリで遊んだ後、いくつかの欠点が見つかりました:
Reference
この問題について(アンドロイド携帯を使ったSD 011粒子センサの使用), 我々は、より多くの情報をここで見つけました https://dev.to/vvidovic/using-sds011-particle-sensor-with-my-android-phone-2475テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol