I2C通信について

4 件の投稿を閲覧中 - 1 ~ 4 件(全 4 件)
  • 著者
    投稿
  • #5753
    ORIteck CO., LTD
    一般参加者

    今、IoTEdgeApp.mzaxを参考にArduinoNanoと温湿度センサーにより、温湿度の計測をするアプリを作成中です。センサーはGrove I2C High Accuracy Temp&Humi Sensor(SHT35)で、Seeed Studio SHT35 モジュールを使用しています。

    4pinモジュールで回路は、A4-SDA, A5-SCL, 5V, GNDです。

    IoTEdgeApp.mzaxを使用し、上記回路でのArduinoNanoと接続しているのですが値が取れません。
    スケッチはStandardFirmataです。

    I2Cのデバイスを使用する場合、Arduinoのピンモード(A4,A5)をI2Cとするだけでは値の取得はできませんか?取得方法はありますか?

    #5754
    MZPlatformユーザー会
    サイト管理者

    IoTEdgeApp.mzaxとその中で用いているFirmata通信コンポーネントでは、現状I2Cデバイスから値を取得することはできません。今後の検討事項となりますが、その実現時期は未定ですので、I2Cデバイスからの値取得は別の方法を考えた方が良いと思います。

    #5755
    ORIteck CO., LTD
    一般参加者

    別の方法とはですが、下記①から③で一番近いお考えを教えて下さい。


    現在のMZの機能(ユーザー側でコンポーネント作成は省く)ではI2C通信のデバイスは使用できないから。


    別のコンポーネントを使用すれば可能だけど、Firmata通信コンポーネントを使用してのI2Cデバイスからの値の取得はできない。


    例えば、測定できるスケッチを実行し、.txtに書き込んだ上でMZでその値を取得するイメージ。
    何かを中継してMZを利用する。

    #5756
    MZPlatformユーザー会
    サイト管理者

    おそらく1ですが、2と3も近いです。

    現状のMZでは、ユーザがJavaで独自コンポーネントを作らないとI2Cデバイスから情報取得ができません。その理由は、I2Cデバイスはデバイスごとに個別に処理を作りこまないと情報が取得できず、汎用的なコンポーネントを実現できないからです。

    そのため、Arduino側に独自のスケッチを書き込んでI2Cデバイスから情報を取得し、その値をPC側にシリアル通信で送信し、MZのシリアル通信コンポーネントで受ける方法が現実的です。同様のことを実現した事例がありますので、下記リンク先をご覧ください。
    https://staff.aist.go.jp/y-furukawa/memo_mz_physical_arduino.html

4 件の投稿を閲覧中 - 1 ~ 4 件(全 4 件)
  • このトピックに返信するには、ログインしてください。