= 温度モニター = BBBを使った温度モニターの作成についての情報収集。 == 経緯 == PF-ARのBPMラック内の温度を計測して、BPMデータと温度の相関を調べるために多(?)チャンネルの温度計を複数箇所に置きたいらしい。[[br]] 多チャンネル温度モニターはいろいろなメーカーから出ているが、価格とEPICSの問題(?)からBBBかラズパイでやりたいらしい。 == 構成案 == 絶対値よりも相関の方が重要なので、温度を測定するセンサーはデジタル出力がお手軽でいい。[[br]] だが、BBB本体につけてしまうとBBBの発する熱で、何を測っているのかわからない状態になるので、何らかの方法で本体から離す必要がある。[[br]] デジタル出力のセンサーはほとんどがI2Cで出力するので、今回はI2C<->BBB間のデータ送受信をどうするか考える。 == 温度センサー == センサー部分は作成済みのものを繋いだ方が、センサー部だけ壊れても交換できるのでいい気がする。 * [http://akizukidenshi.com/catalog/g/gK-12125/ SHT31使用 高精度温湿度センサモジュールキット] * [http://akizukidenshi.com/catalog/g/gM-08663/ 温湿度センサ モジュール AM2320] * [http://akizukidenshi.com/catalog/g/gK-09421/ BME280使用 温湿度・気圧センサモジュールキット] * [http://akizukidenshi.com/catalog/g/gM-06675/ ADT7410使用 高精度・高分解能 I2C・16Bit 温度センサモジュール] * [https://strawberry-linux.com/catalog/items?code=80035 SHT-35 1チップ高精度温度・湿度センサ・モジュール] * [https://strawberry-linux.com/catalog/items?code=81050 DC1050 1チップ温度・湿度センサ・モジュール] === I2C extender === BBBには本体にI2Cマスターポートが2つあるので、それに直接接続する方法。[[br]] 一般的に使われてるI2C bus extenderは [http://www.tij.co.jp/product/jp/P82B715 P82B715 I2C バス・エクステンダ] それを使った製品もある。[[br]] [http://sandboxelectronics.com/?product=active-i2c-long-cable-extender-p82b715-module Active I2C Long Cable Extender P82B715 Module] それ以外でも、こんなものもある。[[br]] [https://store.shopping.yahoo.co.jp/suzakulab/pololu-2159.html?sc_e=slga_pla Pololu I2C 長距離差動式エクステンダー] * メリット * 接続に必要なソフトウェアは、OS標準のI2Cデバイスドライバのみ * EPICS用のdriver supportは作成済みなので、IOCは asyn + streamdeviceで作成可能 * デメリット * 専用のケーブルを作成する必要がある。(RJ45で代用(?)) * ケーブルのノイズ対策が必要になる可能性がある。 === USB<->I2Cコンバータ === BBBとはUSBで接続し、USBデバイスのI2Cコンバート機能を使う方法。 * USB UART + CPU[[br]] USB UART変換チップの先にI2CマスターポートがあるCPUを接続し、そのCPUでデータを文字列変換してUSBに送信する。 * USB UART * [http://www.ftdichip.com/Products/ICs/FT232R.htm FTDI FT232R] * [http://www.ftdichip.com/Products/ICs/FT231X.html FTDI FT231X] * [http://www.ftdichip.com/Products/ICs/FT234XD.html FTDI FT234XD] * CPU * [http://www.atmel.com/ja/jp/devices/attiny85.aspx ATtiny85] * USB I2C変換チップ * [http://www.microchip.com/wwwproducts/en/MCP2221A MicroChip MCP2221A] * [http://www.ftdichip.com/Products/ICs/FT260.html FTDI FT260] * [http://www.ftdichip.com/Products/ICs/FT232H.htm FTDI FT232H] * [https://learn.adafruit.com/adafruit-ft232h-breakout/overview Adafruit FT232H Breakout] * メリット * 接続はUSBケーブルのみ * デバイスドライバはLinux版もある。(open source版も) * asyn + streamdeviceでIOCを作成 * デメリット * 基板作成が必須 * 複数のプログラムを作成する必要がある。(CPUを使う場合) 以前、温湿度/大気圧を計測する基板を作成するときも、電源と信号線が一体化できてケーブルも標準化されているからUSB+CPUで作成したはず。[[br]] 今回は、BBB上のI2CやUSB-HIDを使うための環境がある程度整えられているので、別の選択肢でも実現は可能。