0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

太陽光発電の発電量をロギングしてみた。(3)Microbit間無線通信とRaspberryPi-Microbit間シリアル通信で、測定値をロギング

Posted at

【太陽光発電の発電量をロギングしてみた。目次】

Microbit間無線通信とRaspberryPi-Microbit間シリアル通信で、測定値をロギング

ここでは、電流・電圧測定モジュールINA260を接続したMicrobitから、他のMicrobitに測定データを無線通信で転送し、USB接続されたRaspberryPiとシリアル通信してRaspberryPiで測定値をロギングする。

● Microbitの無線通信

Microbitは独自の無線通信により、他のMicrobitとデータ通信することができる。
Microbitの無線通信は意外とすごい。
冷蔵庫の中にMicrobitを入れて、庫外のMicrobitに温度データを送信できる。
試しに停止中の電子レンジにも入れてみたが、通信可能だった。

無線を使用するには、MakeCodeでは以下のブロックを使用するだけである。
・イニシャル処理で、送信側・受信側で同じ無線グループを設定 
image.png

・送信側:「無線で送信」する。
image.png

・受信側:「無線で受信したとき」トリガーを使用して受信値を取得する。
image.png

以下、MakeCodeで編集した、センサー接続側のソースの全体像である。
測定値を無線で他のMicrobitに送信している。

【センサー接続側プログラム】
Microbit電流測定.png

● Microbit-Raspberry間のシリアル通信

Microbitでシリアル通信すれには、MakeCodeで「高度なブロック」-「シリアル通信」を使用する。
以下はRasberryPiにUSB接続するMicrobitのプログラムである。
無線受信したデータをシリアル通信で送信する。

【シリアル通信側プログラム】
image.png

image.png

● RaspberryPi側シリアル通信

RaspberryPiとMicrobitは、USBケーブルで接続する。
RasberryPiでLXTerminalを起動し、以下のscreenコマンドを実行することでMicrobitの送信データを受信して表示することができる。

sudo screen /dev/ttyACM0 115200

しかし、ロギングするならもう少し手を加えたいので、pythonで書いてみる。

import serial
import struct
import datetime as dt

use_port = "/dev/ttyACM0"

_serial = serial.Serial(use_port)
_serial.baudrate = 115200
_serial.parity = serial.PARITY_NONE
_serial.bytesize = serial.EIGHTBITS
_serial.stopbits = serial.STOPBITS_ONE
_serial.timeout = 15

try:
    while True:
        rx = _serial.readline()
        st = "{0},{1}".format(dt.datetime.now(), rx)
        print(st)
        with open('/home/pi/current_{}.log'.format(dt.date.today()), mode="a") as f:
            f.write(st)

except Exception as ex:
    print(ex)
finally:
    _serial.close()

【太陽光発電の発電量をロギングしてみた。目次】

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?