CP2112とはサンハヤトUSB・I2C(SMBus)変換モジュール MM-CP2112Aに『マイコンのプログラミング不要でI2C接続のセンサーやGPIO(8ピン)をPCアプリケーションから直接制御できます。』とありますが、実際はかなり難物
筆者も簡単に操作出来る様に思い購入したのが2017年12月、年末年始休暇1週間全部注ぎ込んで開発、2018.1.6 Ver0.1 1st releaseしたもの
今回は環境ガスセンサーBME680をサポートしましたがBME680もかなり難物で旧サイトのBoschSensortecのdriverを必要とします
又、最新BME680のDriverは開発ボード専用みたいなので筆者の環境MM-CP2112Aでは使えない
とはいうものの、写真の右、古いPCのLubuntu 18.04 LTSと自作ボードで一ヶ月程掛かってAM2320とBME680の択一で使えるようになりました
pepocp2112ctl Ver0.2とBME680 Drivers BME680_driverからbme680.c bme680.h bme680_defs.hをDownloads
Build with
gcc -Wall -g -o pepocp2112ctl pepocp2112ctl.c bme680.c `pkg-config hidapi-hidraw –libs`
or
gcc -Wall -o pepocp2112ctl pepocp2112ctl.c bme680.c -lhidapi-hidraw
# pepocp2112ctl
** Welcome to pepocp2112ctl Version-0.2 Copyright Isamu.Yamauchi compiled:Mar 28 2021 ** usage:pepocp2112ctl port:0-8 0|1 [timer:0-300000ms]
usage:pepocp2112ctl 5 <–AM2320 measured
usage:pepocp2112ctl 10 <–BME680 measured
出力ポート 0-3
入力ポート 4-7
に固定されています
ポートNo 0番目の読み取り
# pepocp2112ctl 0
0
ポートNo 0番目を 1 へ設定
# pepocp2112ctl 0 1
1
ポートNo 0番目を5秒間 1 へ設定
# pepocp2112ctl 0 1 5000
0
I2C接続AM2320の温度・湿度表示
# pepocp2112ctl 5
23.0 55.4
I2C接続BME680の温度、湿度、気圧、ガス(オーム)連続ファイル出力
# cat /www/remote-hand/tmp/.pepocp2112bme680
2021/03/28/17:56:11,28.5,38.8,1004.3,528394