見出し画像

37. C・C++言語で Raspberry Pi Sense Hat の情報を収集する

前回の記事                        次回の記事

はじめに

前回の記事では、Azure IoT SDK for C を使って、C言語による IoT デバイスアプリケーション開発を試しました。
今回は、その応用として、Raspberry Pi のドーターボードの Sense Hat からセンサーデータを計測して Azure IoT Hub に送信する IoT デバイスアプリケーションを C言語で開発してみることにします。

Sense Hat

Sense Hat の詳細は、
Buy a Sense HAT – Raspberry Pi
をご覧ください。
Raspberry Pi にアドオンして使える、8×8 フルカラー LED マトリクスがついた、電源入れると結構きれいに光るボードです。

https://images.prismic.io/rpf-products/049d9e7a086cb233116999b3fd701e4cfae86d3a_sense-hat-plugged-in-1-1383x1080.jpg?ixlib=gatsbyFP&auto=compress%2Cformat&fit=max&w=600&h=400

以下の物理データを計測できるセンサーが装備されています。

  • 温度、湿度、大気圧

  • 加速度

  • 角速度

  • 磁気

このボードの配置方法の為、温度はほぼ、Raspberry Pi のボードの温度が計測できます。

セットアップ

セットアップは簡単で、Raspberry Pi の電源を切って、購入した Sense Hat を Raspberry Pi に装着し電源を入れます。
起動したら、Raspberry Pi の Shell 上で、

$ sudo apt-get update
$ sudo apt-get install sense-hat

を実行して、必要なファームウェアをインストールし、一旦リブートを行います。

$ sudo reboot -h now

あ、I2C で Sense Hat にアクセスするので、Raspberry Pi の Configuration 設定で、I2C のインターフェース利用を Enable にするのを忘れずに。

利用可能な API

sense-hat パッケージをインストールすると、Python、C++ でアプリを開発するのに必要なファイル群がインストールされます。
Python の場合は、
Sense Hat on Raspberry Pi – The Ultimate Tutorial (Part 1) – RaspberryTips
等が参考になります。リブート後にシェル上で、python3 を実行して、

pi@raspi-agu:~ $ python3
Python 3.9.2 (default, Mar 12 2021, 04:06:34)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from sense_hat import SenseHat
>>> sense = SenseHat()
WARNING:root:Failed to initialise TCS34725 colour sensor. (sensor not present)
>>> dir = sense.get_compass()
>>> dir
143.8349319953042
>>>

ここから先は

15,279字

¥ 300

期間限定!PayPayで支払うと抽選でお得

この記事が気に入ったらチップで応援してみませんか?