農業から建設まで、屋外業務を支える気象センサー「SenseCAP S700 V2」──Win/Mac/Linux対応、RS-485/SDI-12で柔軟に開発

農業や建設、防災の現場では、気象データを継続的に記録し活用することが求められている。マイコンを使えば個人でも温湿度は測れるが、屋外で長期間安定して動作し、既存システムと連携できるとなると、センサーに求められる要件は一段上がる。

Seeed Studioの「SenseCAP」は、そうした要件に応える環境センシング製品群だ。センサーだけでなく、データロガーやクラウドサービスなどを組み合わせ、用途に応じた環境モニタリングシステムを構築できる。

本記事ではその7-in-1モデル「SenseCAP S700 V2」をセットアップし、Pythonを用いてModbus RTUで気象データを取得した。さらにAIを活用して、取得したデータを記録・可視化するローカルダッシュボードも構築し、産業用途を想定したハードウェアの特徴と、開発環境の扱いやすさを検証する。

目次

環境センシングエコシステム「SenseCAP」

SenseCAP製品群(Seeed Studio Wikiより引用)
SenseCAP Portalの管理画面(Seeed Studio Wikiより引用)

Seeed Studioが展開する「SenseCAP」は、屋外での環境センシングを想定したハードウェアと、取得したデータを管理・可視化する「SenseCAP Portal」などで構成されるIoTプラットフォームだ。温湿度などを計測するセンサーから、複数の気象情報をまとめて取得する気象センサー、LoRaWANや4Gに対応したデータロガーまでをそろえ、遠隔地の環境データを継続的に収集・活用するシステムを構築できる。

FabSceneでも以前、GroveセンサーとLoRaWANを組み合わせた事例を紹介した。

中国の茶園での使用事例(引用元)

SenseCAPは世界各地で活用されている。中国・四川省の高山茶園では、気温や湿度、気圧、照度、土壌環境などを継続的に計測し、栽培管理や茶葉の品質向上、トレーサビリティに活用する「IoTea Project」が実施された。

ほかにも、スウェーデン・ストックホルムでは、公園や産業施設の環境モニタリングに、中国・深圳の冷蔵倉庫では、LoRaWANを使った食品保管環境の監視に利用された事例が公開されている。

雨量や風速まで測れる気象センサー「SenseCAP S700 V2」

製品ページより引用

そうしたSenseCAPのラインアップのなかで、気象観測機能を集約したモデルが「SenseCAP S700 V2」だ。気温、相対湿度、気圧、照度、降雨量、風速、風向の7項目を計測でき、屋外への常設を想定した防塵・防水性能を備える。

通信はRS-485に対応し、Modbus RTUなどのプロトコルを利用でき、SDI-12にも対応する。対応するデータロガーなどを介してSenseCAP Portalと連携できるほか、既存設備やユーザー独自のシステムへ組み込むこともできる。Seeed Studioの通販サイトでの販売価格は11万637円(送料・関税を除く。記事初出時の価格)だ。

Raspberry Piと連携した使用例(Seeed Studio Wikiより引用)

Seeed StudioはS700 V2とRaspberry PiをRS-485で接続し、取得した気象データをブラウザ上で可視化するチュートリアルを公開している。また、データロガーとソーラーパネルを組み合わせ、遠隔地で気象データを収集するシステムも紹介されている。自前のサーバーやサードパーティのサービスと組み合わせることもでき、用途や予算、開発環境に応じて、データの取得・蓄積方法を選べる点も特徴だ。

Seeed日本法人の松岡貴志氏によれば、国内では土木・建築分野からの問い合わせが多いという。「工事現場では環境への影響を記録する必要があり、既存の高額なソリューションの代替として、S700 V2を調達したいというニーズがあるようだ」と話す。

開封からアプリケーションの設定まで

S700 V2を実際に使ってみよう。専用ツールによる初期設定から、Pythonを使ったModbus通信、さらにAIを活用したローカルダッシュボードの構築までを試し、産業用途を前提とした気象センサーの扱い方を確かめていく。

箱から取り出してまず驚いたのが、本体の存在感だ。製品写真ではコンパクトにも見えるが、実物はラグビーボールほどの大きさがあり、重量も約2kgとずっしりしている。外装や接続部もしっかり作られており、屋外への常設を前提とした装置であることが伝わってくる。

センサー類は天面を中心にまとめられている。底面には風向の基準となる「NORTH」の表示があり、手動で方位を合わせて設置できるほか、内蔵する電子コンパスによる方位補正も利用できる。

USB Type-Cに対応。専用アプリで簡単初期設定

S700 V2の底面には、USB Type-C端子とM12コネクタが設けられている。USB Type-C端子は着脱可能なフタの内側にあり、ケーブル1本でPCとの通信と給電が可能だ。接続中はフタを閉じられないため、初期設定や屋内での動作確認に利用し、屋外へ常設する場合は原則としてM12ケーブルを用いる。

USB Type-C端子は、Oリング付きのフタの内側に配置されている。

初期設定には、Seeed Studioが公開する「SenseCAP ONE Configuration Tool」を使用する。Windows、macOS、Linuxに対応しており、本記事ではmacOSでの手順を紹介する。

USBケーブルで本体とPCを接続してシリアルポートを確認し、ボーレートを9600bpsに設定して「Connect」を押すと、すぐに本体が認識された。

Configuration Toolのメイン画面

メイン画面には、気温、相対湿度、気圧、照度に加え、風向・風速の最小・最大・平均値、積算雨量、降雨時間、降雨強度などが表示される。数値はリアルタイムで更新され、本体の傾きを示す「Tilt Status」や内部ヒーターの温度も確認できる。

Configuration Toolの設定画面

「Settings」画面では、通信プロトコルやModbusアドレス、データ取得間隔などを変更できる。Configuration ToolはSenseCAP ONEシリーズ共通のため、画面上にはRS-232やRS-422などの選択肢も表示される。

通信プロトコルに「RS-485 Modbus RTU」を選択し、ボーレートを9600bps、デバイスアドレスを20に設定。「Write to Device」を押して本体へ反映した。

RS-485(Modbus RTU)で通信する

S700 V2のRS-485通信では、ASCIIプロトコルに加え、産業機器やデータロガーで広く使われるModbus RTUを利用できる。Seeed K.K.エンジニアブログではUSB Type-CとASCIIを使った通信例も公開されているが、今回はModbus RTUを選び、Pythonを用いて計測値を取得する。

USB Type-Cでの接続(左)と、M12ケーブルでの接続(右)

S700 V2では各センサーの計測値がInput Registerに割り当てられており、製品マニュアルに公開されているレジスタマップを参照すれば、特別なSDKを使わずにデータを取得できる。

M12ケーブルを電源とPCに接続

S700 V2のM12ケーブルには、電源線と通信用の信号線がまとめられている。動作には12〜24Vの電源が必要だ。ACアダプターから電源を供給したうえで、RS-485の信号線をUSB-RS-485変換アダプターへ接続し、PCとの通信に利用した。

M12ケーブルの配線(マニュアルより引用)
USB-RS-485変換アダプター側の端子配置は製品によって異なるため、「A」「B」「GND」の表記を確認して接続する。

Pythonからセンサー値を取得する

Pythonからの通信には、Modbus通信用ライブラリのpymodbusと、シリアル通信に必要なpyserialを利用した。まずPythonの仮想環境を作成して両ライブラリをインストールし、USB-RS-485変換アダプターがどのシリアルポートとして認識されているかを確認する。

プログラムでは、Configuration Toolで設定した通信条件(9600bps、デバイスアドレス:20)と、ユーザーマニュアルの「Modbus Register Map」に記載されたレジスタアドレスを指定する。まずは通信確認用の最小限のコードを作成し、気温だけを読み出した。

from pymodbus.client import ModbusSerialClient

client = ModbusSerialClient(
    port="/dev/(接続したポートの名前)",
    baudrate=9600,
    parity="N",
    stopbits=1,
    bytesize=8,
    timeout=2,
)

if not client.connect():
    print("接続失敗")
    exit()

result = client.read_input_registers(
    address=0,
    count=2,
    device_id=20,
)

if result.isError():
    print(result)
else:
    high, low = result.registers
    raw = (high << 16) | low
    print("受信レジスタ:", result.registers)
    print(f"気温: {raw / 1000:.3f} ℃")

client.close()
上記コードの実行結果

コードを実行するとS700 V2からレジスタ値が返り、気温を取得できた。その後、レジスタマップに従って処理を追加し、気温、相対湿度、気圧、照度、風向・風速、降雨量など、Configuration Toolに表示される14項目を取得した。

各種データを取得

産業用センサーというと、専用ソフトウェアやSDKが必要で扱いが難しい印象もあるが、一般的なUSB-RS-485変換アダプターとPythonライブラリだけで通信できた。設定用の専用ツールと公開されたレジスタマップを使えば、取得したデータの保存や可視化など、その先の処理をユーザー側で自由に設計できる。

バイブコーディングで気象ビューワが完成

簡易的に3Dプリンターでマウントを製作し、自宅の出窓で計測した。あくまで短期間の検証用であり、常設する場合はメーカーが販売するブラケットの使用を推奨する。

各センサーの値を取得できれば、その先の扱い方は自由だ。データベースへ保存する、クラウドへ送る、既存設備へ組み込む、独自の画面を作るなど、用途に応じてさまざまな展開ができる。標準プロトコルを通じて計測データを直接取り出せることは、S700 V2の大きな強みだ。

一方、データを取得できても、保存や可視化のためのソフトウェアを一から作るには相応の手間がかかる。そこでOpenAIのコーディングエージェント「Codex」を使い、自然言語で要件を伝えながら、ローカルで動く気象ダッシュボードを作成した。

Codexの実行画面

まず、先ほど動作を確認したModbus通信のコードが入ったプロジェクトフォルダをCodexに読み込ませ、次のような仕様を伝えた。

「S700 V2から10秒ごとに全データを取得し、SQLiteへ保存する。ブラウザには現在値と過去1時間・24時間のグラフを表示し、記録をCSVとしてダウンロードできるようにする。すべてローカル環境で動作させ、センサーとの通信に失敗してもWebサーバーは停止させない。」

S700 V2が取得した値を可視化する、ブラウザ上の自作ダッシュボード

すると、十数分ほどで、ひと通りの機能を備えたダッシュボードが完成した。ローカルホストへアクセスすると、気温、湿度、気圧、照度、風向・風速、降雨量などが一覧で表示され、10秒ごとに最新の値へ更新される。センサーとの通信状態も画面上から確認できる。

取得間隔を1分に変更して24時間計測。8月上旬の厳しい暑さが可視化された。
CSVデータとして14項目の記録を取り出した。

各項目を選択すれば、過去1時間または24時間の推移をグラフで表示できる。計測値は時刻とともにSQLiteへ蓄積され、画面上のボタンからCSVとして書き出せる。CSVをExcelで開けば、各時刻に取得した14項目のデータを表形式で確認できる。

この検証はMacBookで行ったが、同様の仕組みをRaspberry Piなどの小型コンピューター上に構築すれば、PCを占有せず、常設のデータロガーとして運用することも考えられる。

気象データ活用を加速する選択肢

SenseCAP S700 V2を使って印象的だったのは、産業用途を前提とした堅牢なハードウェアでありながら、取得したデータをユーザーが自由に扱える点だ。専用ツールで手軽に設定でき、RS-485(Modbus RTU)のような標準的な通信方式に対応する。Pythonから直接データを取得することもでき、用途に応じたシステムへ組み込みやすい。

海外でのSenseCAP利用事例(製品ページより引用)

AIによってソフトウェア開発のハードルが下がったことで、こうしたセンサーの活用範囲はさらに広がっている。本記事の検証でも、Modbus通信を確認したコードを起点に、データの蓄積やグラフ表示、CSV出力まで備えたダッシュボードを短時間で構築できた。信頼性を重視したハードウェアでデータを取得し、その先の処理をAIで補う。この組み合わせによって、従来は開発コストのかかった環境モニタリングも、より自由に構築できるようになっている。

ただし、AIが生成したコードが産業用途に求められる信頼性を備えているとは限らない。Seeed日本法人の松岡貴志氏も、「試作や検証の段階では有効だが、長期の安定運用に耐えられるかどうかは、コードの中身を確認した上で判断してほしい」と話す。実装を加速するAIと、安定してデータを取得できるハードウェア。両者をうまく組み合わせることで、環境モニタリングの構築はより現実的な選択肢になっていく。

本記事はSponsored記事です。
提供:Seeed Studio / Seeed 株式会社

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!

ライター/編集者。大学で3Dプリンターと出会いものづくりの面白さに目覚め、デジタルファブリケーションの世界へ。卒業後、研究員として2年半ほど従事したのち、ものづくりを中心としたライターとして独立。
2023年には墨田区でファブ施設「京島共同凸工所」の運営をスタート。文章と場づくりを行き来しながら、街での生活を満喫している。工房での日々を綴った自主制作本「京島の十月」が販売中。

最新記事

YouTube / PodCast

【PR】読んで役立つ注目記事

目次