Git Product home page Git Product logo

usb_co2's Introduction

usb_co2

usb_co2

Mac, LinuxマシンにUSBで接続できて追加ドライバ不要で値を読めるCO2センサ

使い方(macOS)

まず、USB機器をすべてコンピュータから取り外す。

次に、usb_co2をUSBポートに接続する。

次に、コンピュータに接続されているシリアルポートの一覧を表示する。

$ ls -1 /dev/cu.*
/dev/cu.Bluetooth-Incoming-Port
/dev/cu.iMiminashi5s-WirelessiAP
/dev/cu.usbmodem14101

上記の例の場合、cu.usbmodem14101 というデバイスファイルがusb_co2を示す。

次に、sttyコマンドを実行してシリアルポートの設定を行う。

stty -f /dev/cu.usbmodem14101 raw 9600

最後に、catコマンドでデバイスファイルを読み込むとCO2の値(ppm)が表示される。

$ cat /dev/cu.usbmodem14101 
co2=399;status=0
co2=399;status=0
co2=399;status=0
co2=399;status=0
co2=399;status=0
co2=399;status=0

使い方(Linux)

まず、USB機器をすべてコンピュータから取り外す。

次に、usb_co2をUSBポートに接続する。

次に、コンピュータに接続されているシリアルポートの一覧を表示する。

$ ls -1 /dev/tty*
/dev/tty
.
. (中略)
.
/dev/ttyACM0
/dev/ttyAMA0
/dev/ttyprintk
/dev/ttyUSB0

上記の例の場合、/dev/ttyACM0 というデバイスファイルがusb_co2を示す。

次に、sttyコマンドを実行してシリアルポートの設定を行う。

stty -F /dev/ttyACM0 raw 9600

最後に、catコマンドでデバイスファイルを読み込むとCO2の値(ppm)が表示される。

$ cat /dev/ttyACM0
co2=399;status=0
co2=399;status=0
co2=399;status=0
co2=399;status=0
co2=399;status=0

usb_co2's People

Contributors

urib0 avatar miminashi avatar

Watchers

 avatar Takahiro Oohata avatar s-oku avatar rg_nakahata  avatar James Cloos avatar Akihito KIRISAKI avatar RG-CI avatar  avatar Haruka avatar

Forkers

miminashi

usb_co2's Issues

自動校正はONのままでいい

単純に400ppm前後の環境を用意するのが難しいのと、手動校正後の結果が低すぎたり信憑性に欠ける
とはいえ自動校正と比較している余裕もないので、ひとまず自動校正ONにしておく

実際の校正開始まで猶予をもたせたほうがいい?

  • 校正開始のタイミングでCO2源(=人間)がすぐ横にいるので、実際の校正開始まで数分待ったほうがいい?
  • MH-Z14Aがもともとそういう処理をしていたら必要ない
  • 実験してみないとわからんけど、予防的につけておいてもいいかも

校正モードにはいる操作をタクトスイッチではなくジャンパにしたい

  • タクトスイッチつけてみて思ったのが、「ケーブル挿すときに押さないように気をつかってしまう」
  • 「スイッチ押しながらケーブル挿す」は回路屋さんだと当たり前かもしれないけど普通に高等テクだと思う
  • ジャンパだと RUN <-> CALIB のような表記がシルクでできる(タクトスイッチでも press to calib とか書けるっちゃ書けるが)
  • 複数個やるときの作業性はそれぞれ一短一長で大差ないかも

一方、タクトスイッチのメリットとしては、

  • 校正モードにしたあと位置を戻さなくていい
  • ジャンパをなくす心配がない

などでしょうかね。

MH-Z19Bの値が定期的に257になる

恐らくだけどMH-Z19Bが5秒毎に値を更新する動作と、マイコンから値をリードするタイミングが被ると異常値が出るのではないか?という気がする

image

フルSMD化の検討

基板裏側に導体がなにも出ていないとケースなしでもガジェットとして成立しやすくなるので、フルSMD化を検討したい。

LEDなどの外付け部品をなくしたい

  • #2 の確認作業でLEDのはんだ付けしてみたら意外と手間だったのでなくしたい
  • XIAOにユーザ定義LEDついてるからこれを使うことにして、基本構成では外付けLEDは無しにしたい
  • 短く2連続点滅して1秒消灯(校正中) -> 点灯(校正完了) みたいな感じがよいかも

電源CO2センサに供給する電圧が間違っている

本来は3.3Vのところ5Vになっている

5Vにリワークすると、出力値が4,5千のままだった個体もある程度正常な値を出すようになったので、今までの個体差は電圧が原因と考えられる

シリアル出力のフォーマットを変える

下記の形式にする、statusは正常を"0"、異常を"0"以外で表す
co2=XXX;status=X
現状ではMH-Z14Aから受信したデータのチェックサムを見ていないので、"0"を固定で返す

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.