xDOT DK に BME280 を接続する。

/media/uploads/shigechan/img_9987-ss.jpg/media/uploads/shigechan/2018-04-24_09h58_26-ss.jpg
xDTO DK に 温度・湿度・気圧センサーである BME280 を接続した時のメモ書きです。


<BME280の接続>
/media/uploads/shigechan/2018-05-07_14h51_32.png
I2C i/f を使う設定で、デバイスのアドレスを5番ピンをGNDに接続し、0x76で使うようにします。
VDD(1), GND(2), SDA(4), SCL(6) それぞれを xDOT DK へ接続します。
これで、センサー端末側のハード的な準備は、完了となります。


<xDOTファームウェアの作り込み>

  1. LoRaWAN通信プログラム
    以前のページ( ”xDOT DK 標準環境でカスタムファームウェアを動作させる")で使った XDOT-Devicewiseをベースに使用します。
  2. BME280センサープログラム
    BME280_Helloサンプルページがありますので使用方法が確認できます。このページの中に、BME280 I2C用ライブラリがありますのでインポートします。I2C用ライブラリー と SPI用ライブラリー の2つが存在しますので、使用するi/fのライブラリをインポートします。
  3. センサー端末プログラミング
    前記しました2つのプログラムで動作確認後、オリジナルプログラムに改良します。 センサー端末プログラムから LoRaWANパケットとして送り出すデータフォーマットと送り出すタイミングは、それぞれの用途で独自に定義できますので、詳細に関しては、ここでは控えます。
    コンパイル後のバイナリーファイルを保存し、xDOTドライブへドラッグ&ドロップする事で BME280センサー+照度センサーを使った カスタムファームウェアを書込みます。その後、リセットボタンを押し、リブートさせます。

<ConduitAEP側のプログラミング>
プログラミングに関しましては、自由ですので言及しませんが、ヒントなる情報をメモ書きします。
node-red のサンプルフローは次の通りとなります。
/media/uploads/shigechan/2018-05-07_17h19_23.png

  1. ヒント1
    センサー端末からの受信には、"lora in"ノードを使用します。この時、引き渡される msg の内容を確認すると、
    /media/uploads/shigechan/2018-05-07_16h36_19-2s.jpg
    が確認できます。
    送信側(センサー端末)でセットしたデータは、"payload"で示される文字列部分ですが、センサー端末情報(appeui, deveui 等)までが取得出来るようになっていますので、端末識別も 端末情報をデータベース化し比較する事で端末毎の処理が可能になります。 lora in ノードのメッセージオブジェクトの情報詳細は、Node-red の lora in ノードを選択し、右側 info タブをクリックする事で確認できますので参照してください。

  2. ヒント2
    function ノードで、java script を実行する となっておりますので、java script のコーディング手法が必要となります。併せて java script の書き方を一読してください。

  3. ヒント3
    AT&TにアクセスするREST APIサンプル

  4. ヒント4
    xDOT から送信するデータサイズを増やしていったら、ある時、次のような メッセージが
    吐き出されたので、データサイズを短くする事で対処。

   Scan... Temperature: 27.68 degC, 1017.60 hPa, 48.81 , Light: 366 lux, Button: 0
    Transmitting Data...
    Sending: 'id:04004baf, t:27.68, p:1017.600, h:48.81, l:366,c:0'
    ERROR: Failed to Send Data - -1:Invalid Parameter, Data exceeds datarate max payload 51 bytes
    ERROR: Failed to Send Data - -1:Invalid Parameter, Data exceeds datarate max payload 51 bytes
    Scanning...
    Scan... Temperature: 27.69 degC, 1017.63 hPa, 48.80 , Light: 366 lux, Button: 0

以上


Please log in to post comments.