質問と回答

リーフの仕様・使い方・組み合わせについて、質問と回答を検索できます。

質問する
テーマ複数選択できます
通信・接続方式複数選択できます

17件の質問

太陽誘電のLTE-Mリーフは何ボルトで動きますか?

電源・電圧 LTE-M AC09AV06AV01

AC09 Cat-M1 TYは、Leafony Busの3.3V端子から給電して使います。

モジュール単体の仕様とは分けて見ると、電源を選びやすくなります。

対象電源の仕様
AC09リーフLeafony Busの3.3V端子(1番ピン)から給電
太陽誘電WSCLxADAH2Zシリーズのモジュール単体メーカー公表の動作電圧範囲は2.3~4.2V

2.3~4.2Vはモジュール単体の値で、Leafony Busへ入力できる電圧の範囲とは異なります。AC09には、RF部や信号回路向けの電源回路と、UARTのレベル変換回路も搭載されています。

電池で使うならAV06がおすすめです

AC09を電池で使う場合は、AV06 1.8V〜5.5V 電源リーフと、乾電池などの外部電池を組み合わせる構成がおすすめです。 AV06は1.8〜5.5Vの入力を3.3Vに変換して各リーフへ給電します。この1.8〜5.5Vは、AV06へ接続する電池側の電圧範囲です。

Basic Kit 2に含まれるAV01+CR2032コイン電池は、LTE-M通信の電源には適していません。 同じ3.3Vを出せても、送信時に必要な電流を供給できるかは別の条件になります。Basic Kit 2へAC09を追加する場合は、電源構成も見直してください。

AC09の掲載サンプルでもAV06を使っています。AV06の仕様では最大出力電流は1Aですが、実際に供給できる電流は電池や入力電圧にもよります。使用する電池の仕様と、接続するリーフ全体の消費電流を合わせて確認すると安心です。AC09のピーク電流の実測値は、確認後に案内予定です。

参照資料

外部のセンサーを接続できますか?

接続・組み合わせ I2CGrove AX02BAX06AI05

はい、接続できます。センサーの通信方式や電圧に合わせて、次のような接続方法を選べます。

接続方法向いている用途
AX02B 29-pinLeafony Busの29本の信号を2.54mmピッチのパッドへ取り出して配線する
AX06 Grove&5VGroveコネクタで、I2C・UART・アナログ・デジタル信号を接続する
AI05 Env SensorsのJ1外部の3.3V I2CセンサーをGND・3.3V・SDA・SCLへ接続する

組み合わせを選ぶときは、次の4点が手がかりになります。

  • 電源電圧と消費電流: センサーに合った電源を用意できるか。
  • 信号電圧: MCUとセンサーの信号レベルが合うか。5Vの電源を使うセンサーでも、信号電圧は別に確認します。AX02Bには電圧変換の機能がないため、条件に応じてレベル変換回路を組み合わせます。
  • ピンとI2Cアドレス: 他のリーフと競合しないか。たとえば、AI05の加速度センサーとAX06のI/Oエキスパンダはどちらも0x18を使います。
  • プログラム: 使用するMCU・開発環境に対応したドライバやライブラリがあるか。

Groveの場合も、コネクタの形に加えて電圧や信号の対応を見ておくと選びやすくなります。リーフの組み合わせ・電源の選び方に詳しい説明があります。

最初に試す順序

  1. センサーの仕様書で通信方式・電源・信号電圧を確認し、上の表から接続方法を選びます。I2Cの場合は、アドレスマップで既存のリーフとの重複も照合します。
  2. すべての電源を外してから接続します。まずはMCU・電源・必要な接続リーフと、外部センサー1台の構成で試します。
  3. 使用するMCUに対応したセンサーの最小読み取りサンプルを動かし、シリアル出力などで値を確認します。
  4. 値を読めたら、ほかのリーフや処理を一つずつ追加します。I2Cセンサーが追加後に読めなくなった場合は、I2Cアドレスの重複と接続の確認を参照してください。

どんなセンサーがありますか?

センサー選び AI01AI02AI03AI05

温度・湿度・照度・加速度・気圧など、測りたいものに合わせてセンサーリーフを選べます。

リーフ標準で扱えるもの
AI01 4-Sensors温度・湿度・照度・加速度
AI05 Env Sensors温度・湿度・気圧(BME280)、加速度(LIS2DW12)

AI05には、SHT40・SGP40・BME680を追加実装するための場所もあります。これらは標準では未実装なので、ガスや空気質の測定を考えている場合は、追加実装を含めた構成で検討します。

販売終了のリーフ

AI02・AI03は販売終了品です。 以下は、すでにお持ちの方向けの参考情報です。

リーフ標準で扱えるもの
AI02 SP&PIR(販売終了)赤外線センサーによる人の接近検知。スピーカーも搭載
AI03 MIC&VR&LED(販売終了)マイクによる音の入力。ボリュームとLEDも搭載

人の接近検知では設置場所や検知範囲、音の測定ではマイクの感度や処理方法も関係します。マイクのサンプルは音の変化を試す入り口として使えます。校正済みの騒音計として使いたい場合は、精度や校正の検討も必要です。

新しく人の接近検知や音の入力を使いたい場合や、ほかの測定対象には、外部センサーの接続という方法もあります。測りたいもの・範囲・頻度・必要な精度が分かれば、候補を絞りやすくなります。

Leafonyはどこで買えますか?

購入

Leafony Shopで、キットやリーフを購入できます。

はじめて使う方は、製品一覧でキットの内容を見てから、ショップの商品ページへ進むと選びやすくなります。

価格・在庫・納期の最新情報は、各商品ページでご案内しています。資料が残っている製品の中には、生産終了や販売準備中のものもあります。

通常の購入は、商品ページで商品と数量を選び、カートから購入手続きへ進めます。組み合わせを選ぶ際は、リーフの組み合わせ・電源の選び方とサンプル一覧で対象構成を確認できます。

個別の見積書が必要な場合は、Leafony Shopの窓口をご利用ください。

無線リーフの技適は取得されていますか?

技適・無線認証 LTE-MLoRa AC07AC08AC09

はい。認証済みの無線モジュールと、認証の対象となるアンテナを指定条件で使う場合、お客様側で同じ無線設備について追加の技適認証を取得する必要はありません。

モジュールとアンテナの組み合わせについて

技適では、モジュールとアンテナの組み合わせや、出力・周波数などの使用条件が認証の対象になります。

Leafonyで使用するSTAF製の基板アンテナは、対応するモジュールとの認証対象の組み合わせとして採用しています。たとえばAC08 LTE-M Maryは、村田製作所のType 1SCとSTAF 1019-085Aの認証済みの組み合わせを搭載しています。AC07 LoRa Maryでも、Type ABZと同アンテナの組み合わせをご案内しています。

AC09 Cat-M1 TYは、太陽誘電のモジュールとSTAF 1019-085Aを搭載しています。太陽誘電も、電波法の認証対象アンテナを使用する場合は追加認証が不要と説明しています。個別の構成は、モジュールの型番・認証番号と、対応するアンテナ資料で確認できます。

技適表示はどこにありますか?

リーフ上の無線モジュール本体にあります。金属シールドなどの表面に、技適マークと認証番号が表示されているものがあります。「チップ側」という場合も、ここでは無線モジュール本体を指しています。表示の位置や方法は製品によって異なり、メーカー資料も参考になります。

AC09の外観。太陽誘電モジュールの金属シールド上に型番や認証に関する表示があります。

組み立てた状態で表示が隠れている場合は、すべての電源を外してから確認します。文字が小さいときは、スマートフォンなどでモジュール表面を撮影して拡大し、各リーフの技術資料にある写真・搭載モジュール名と照合してください。基板に印刷されたリーフの型番と、モジュール上の型番・認証番号は区別して読み取ります。

アンテナを変更したいときは

外部アンテナへの交換や無線回路の変更を考えている場合は、変更後の構成が認証の範囲に入るか、メーカーの認証資料で確認します。接続できるコネクタかどうかに加え、アンテナの型番と使用条件を見るのがポイントです。

この説明は日本国内の電波法についてのものです。海外での利用に必要な認証や、携帯電話回線の契約・対応条件は、それぞれ確認できます。

参照資料

STM32のCoreとRTCライブラリは、どう組み合わせますか?

プログラム・動作 BLE AP03

STM32RTCと、ボード設定に含まれるSTM32 Arduino Coreの対応する版を選びます。 現在のDocsにも古いサンプルのライブラリ指定についての説明があります。

旧サンプルでPlease update the coreなどの互換性エラーが出た場合は、次の設定を見比べてみてください。ライブラリが必要とするCoreの条件を満たしているかが手がかりになります。

  • Arduino IDE: ボードマネージャで選んだパッケージと版、ライブラリマネージャのSTM32RTCの版を確認します。AP03のLeafony用パッケージと、汎用STM32パッケージは区別して見てください。
  • PlatformIO: ビルドログのframework-arduinoststm32と、platformio.iniのlib_depsを確認します。

現在のSTM32RTCの対応条件では、ライブラリ1.xはCore 1.3.0以上・3.x未満、ライブラリ2.xはCore 3.x以降が対象です。同じ1.xでも過去の版では条件が異なる場合があるため、使う版のREADME・ヘッダも確認すると確実です。STM32LowPowerを併用する場合は、こちらの対応条件もそろえます。

AP03の具体的な設定例はライブラリとボード定義とPlatformIOの設定にあります。変更前の設定を残し、まず小さなサンプルでビルドを確認してから元のプログラムへ戻ると切り分けやすくなります。

参考にした過去の質問: tiri-leafony-usersさんの「leafony の STM32 Simple BLE Beacon について」(2023年10月11日)。投稿当時の問題の解決状況は未確認です。ここでは現在も確認に使える版の選び方をまとめており、当時のエラーが現在も続いているという意味ではありません。

WindowsのC#アプリからLeafonyのBLEデータを受信できますか?

プログラム・動作 BLE AP01AP03

はい、GATT通信を行うBLEサンプルを使う構成なら、WindowsのBLE APIで受信するアプリを作る方法があります。 Leafony側のプログラムと、パソコン側の受信処理を合わせることがポイントです。

まずAVR向けWeb BluetoothサンプルまたはSTM32向けサンプルと、その受信側コードを確認します。

  1. 使用するリーフと、書き込まれているプログラムを確認します。
  2. サービス・キャラクタリスティックのUUIDと、Read/Write/Notifyの使い方を確認します。
  3. Windows側でサービスを取得し、対応するNotifyの受信などを実装します。
  4. 受信したバイト列を、サンプルと同じ形式で解釈します。

MicrosoftのGATTクライアント解説に、C#でサービスを探す方法や通知の購読例があります。デバイス名だけではデータの意味までは分からないため、BLEのデータ形式も確認すると進めやすくなります。

使用するWindows SDK、アプリ方式、アダプター・ドライバーの対応も確認してください。Beacon専用サンプルは接続型GATTと動きが異なります。

参考にした過去の質問: ikeさんの「leafonyの開発環境について教えてください」(2024年4月15日)。投稿にあったWindows 10・Visual Studio 2017・特定のBLEドングルの組み合わせでの動作や、当時の相談の解決状況は未確認です。この回答はその旧環境を推奨するものではなく、現在の公式資料から受信アプリを作る方法を案内しています。

BLEで送られるデータの形式やUUIDは、どこで確認できますか?

接続・組み合わせ BLE AP01AP03AI01

使っているサンプルの送信コードと受信コードを、セットで確認できます。 Leafony全体で一つのデータ形式が決まっているわけではなく、書き込んだプログラムによって変わります。

AVRのWeb Bluetoothサンプルでは、4-Sensors_BLE.inoが温度・湿度・照度・傾き・電池電圧・サイコロの値をカンマ区切りのテキストで送ります。受信側のleafony.jsにあるhandleData()は、UTF-8として解釈し、改行を除いてカンマで分割します。

  • UUID・通知の設定: 受信アプリのソースコードで、サービスとキャラクタリスティックの設定を確認します。
  • 項目と順番: 使用中のMCUスケッチの送信データ生成部分と、受信側の解析部分を照合します。
  • Beaconの場合: GATTの通知ではなく、Advertising dataを読むサンプルもあります。STM32 Simple BLE Beaconを参照してください。

自分で送信項目を増やした場合は、受信側の項目数・順番・単位も合わせて変更すると利用しやすくなります。

BLE Beaconは見つかるのに、接続できないのはなぜですか?

接続・組み合わせ BLE AP03

使っているのがSTM32 Simple BLE Beaconなら、接続しない動作がサンプルの設定です。 機器が見つかることと、接続できることは別になります。

このサンプルでは、LE_GAP_SCANNABLE_NON_CONNECTABLEを指定しています。受信側はスキャンでAdvertising dataを読み取り、掲載コードではデバイス名Leaf_Aと文字列HELLO BEACONを送っています。

接続後にセンサー値を受信したり、Leafonyへ指示を送ったりしたい場合は、STM32のWeb Bluetoothサンプルなど、接続型のサンプルから始めると目的に近づけやすくなります。

ほかのBeaconサンプルや独自プログラムの場合は、接続可否・送信形式が異なることがあります。まず書き込まれているプログラム名を確認してみてください。

Arduino IDEとPlatformIO、どちらから始めればいいですか?

プログラム・動作 AP01AP02AP03

最初に動かしたいサンプルが案内している環境を選ぶと始めやすくなります。Leafony Docsでは、AP01・AP02・AP03向けにArduino IDEとPlatformIOの手順を掲載しています。

やりたいこと選び方の目安
.inoのスケッチを開いて、小さなサンプルを試したいArduino IDEの手順から始める
VS Codeで編集し、設定ファイルとプログラムをまとめて管理したいPlatformIOの手順から始める
配布済みプロジェクトを再現したいそのプロジェクトの指定ツール・設定を使う

環境設定の入口は開発環境、必要なボード設定はライブラリとボード定義で確認できます。使うセンサーや通信リーフのライブラリも、サンプルに合わせて追加します。

AP03とAP03Bは別の型番です。 AP03Bなど別のMCUへ進む場合は、その型番向けに提供されている手順を確認してください。ツールが同じでも、ボード設定やピン指定をそのまま流用できるとは限りません。

STM32で「書き込み完了」と出たのに、プログラムが動きません

プログラム・動作 UART AP03

AP03では、書き込み時と実行時でスイッチの位置を切り替え、切り替え後にリセットします。 次の順序を確認してみてください。

  1. シリアルモニターなど、同じポートを使うアプリを閉じます。
  2. AP03をProgram側にし、リセットしてから書き込みます。
  3. 書き込みツールのログで、接続・書き込み・検証の成功を確認します。
  4. 完了後にRun側へ戻し、もう一度リセットして起動します。

Arduino IDEでは完了表示が出ても、ログ下部にTimeout error occured while waiting for acknowledgementが残る場合があります。PlatformIOでもSUCCESSだけで判断せず、STM32CubeProgrammerの検証結果を確認すると切り分けやすくなります。

スイッチの場所とログの例は、Arduino IDEの手順またはPlatformIOの手順を参照してください。シリアル出力だけが見えない場合は、モニターのポートと速度がプログラムのSerial.begin()に合っているかも確認します。

この手順はAP03向けです。ほかのMCUでは、その型番の書き込み手順をご覧ください。

「No such file or directory」と出て、サンプルをビルドできません

プログラム・動作 AP01AP02AP03AI04

エラーに表示されたファイル名と、使用するサンプルのライブラリ指定を見比べてみてください。必要なライブラリが未導入か、別の実装を選んでいる場合があります。

  • Arduino IDE: ライブラリマネージャで名前・作者を確認します。ZIP配布のものは、スケッチ → ライブラリをインクルード → ZIP形式のライブラリをインストールから追加できます。
  • PlatformIO: 実行中の[env:...]のlib_depsを確認します。別の環境に書いた指定は、そのビルドに適用されません。

たとえばAI04のサンプルが使うST7032.hは、tomozh氏のarduino_ST7032です。LCD_ST7032やST7032_asukiaaaは別のライブラリなので、名前の近さだけで選ばず配布元を照合すると安心です。

ライブラリとボード定義に主な配布元と導入手順を掲載しています。導入後もビルドできないときは、ログで最初に出たエラーを見て、次のように切り分けます。

表示・状況次に確認すること
同じヘッダのNo such file or directoryが残る必要なライブラリ本体を導入できているか、名前・作者・ヘッダ名を照合します。Arduino IDEで手動配置した場合は、公式手順に沿ってスケッチブック内のlibrariesへ配置し、IDEを再起動します。
別のヘッダが見つからないそのライブラリが必要とする依存ライブラリを、サンプルや配布元のREADMEで確認して追加します。
PlatformIOの別の環境をビルドしている実行中の環境名と、lib_depsを書いた[env:...]が一致するようにします。
ヘッダは見つかるが、Coreとの互換性エラーになるヘッダ不足とは別の原因です。STM32の場合はCoreとRTCライブラリの組み合わせを確認します。

LTE-Mを使うにはSIMや通信契約が必要ですか?

接続・組み合わせ LTE-M AC09

はい、AC09で携帯電話網を使うには、対応するnanoSIMと利用可能な通信契約・設定を用意します。SIMが付属する製品でも、利用状態や設定は確認しておくとスムーズです。

AC09→Google スプレッドシートのサンプルでは、1NCEとSORACOM(plan-D)のSIM設定を案内しています。利用するSIMに合わせて、APNなどの設定を確認してください。

選ぶ際は次の点が手がかりになります。

  • Cat-M1の利用条件と、使う地域の対応状況
  • SIMのサイズ・有効化や利用状態・契約条件
  • サンプルのAPN設定と、使うMCU・通信リーフの構成

掲載サンプルはAP03+AI01+AC09向けです。AP03B+AI05のCat-M1 Kitでの動作確認や、すべてのSIMの対応を保証するものではありません。 Cat-M1 Kitの開発準備とAC09の仕様で対象構成を確認してください。

LTE-Mで測った値を、Google スプレッドシートへ送れますか?

プログラム・動作 LTE-M AC09AP03AP03BAI01AI05

Google スプレッドシートへ送るための参考サンプルを公開しています。 AC09の温湿度送信サンプルでは、AI01で測った値をAC09からHTTPSでGoogle Apps Scriptへ送り、シートに追記する構成を紹介しています。

対象はAP03+AI01+AC09です。SIM・電源・USBインターフェースなどのハードウェアに加え、Googleアカウント、受信側のApps Script、送信先URLとトークンの設定を用意します。

サンプルは通常時に10分ごとに新しい測定値を読み取り、送信を始める設計ですが、通信状態によってシートに届く間隔は変わります。AC09と使用するSIMでの起動時の時刻自動取得は実機確認前で、省電力化やバッテリー持続時間の評価も未実施です。 利用する構成での確認から進めてください。

Cat-M1 KitのAP03B+AI05へ、そのまま書き込むことはできません。 AI05は搭載センサーが異なり、AP03Bのボード設定・ピン接続も確認が必要です。キットの開発準備に差分と準備中の手順をまとめています。

リーフを追加したら、I2Cセンサーが読めなくなりました

接続・組み合わせ I2CGrove AI05AX06AC08AC09

同じI2Cバス上のアドレスが重なっていないかを確認してみてください。単体では動いていても、追加したリーフと同じアドレスを使うと、それぞれを区別して通信できなくなる場合があります。

組み合わせ重複するアドレス
AI05の加速度センサーLIS2DW12と、AX06のI/Oエキスパンダ0x18
AC08とAC09の制御用I/Oエキスパンダ0x21

アドレスは7ビット表記です。ほかの組み合わせもI2Cアドレスマップで照合できます。変更できるかどうかは部品と基板の実装によって異なるため、プログラムのアドレスだけを書き換える前に、各リーフの仕様を確認すると安心です。

重複がなければ、電源・信号電圧・ピンの競合・プルアップ抵抗も手がかりになります。たとえばAI05のR18・R19は未実装で、AP03との組み合わせではAP03側のプルアップを使います。

追加前の構成から切り分ける

すべての電源を外してから、次の順で構成を変更・確認します。

  1. 追加したリーフを外し、元のプログラムで試します。 元の構成でも読めない場合は、追加リーフだけが原因とは限らないため、電源・接点・配線・プログラムを確認します。
  2. リーフを1枚ずつ追加します。 読めなくなった組み合わせで、使用端子とI2Cアドレスを照合します。
  3. アドレスが重複していたら、まず片方だけを使います。 両方が必要な場合は、各デバイス・基板でアドレスを変更できるかを確認します。ソフトウェアの指定だけを変更しても、実際のデバイスのアドレスは変わりません。

接続条件の確認表はリーフの組み合わせにあります。

STM32はどんなプログラミング言語で動かせますか?

プログラム・動作 AP03

C言語やC++でプログラムを作れます。 LeafonyのAP03 STM32 MCUでは、Arduino IDEまたはSTM32CubeIDEを使った開発を想定しています。

Arduinoで書くプログラムを「スケッチ」と呼びます。.inoファイルのスケッチは、C++をベースにしたプログラムとしてコンパイルされます。C言語で学ぶ変数・条件分岐・繰り返し・関数などの知識を活かせます。

  • setup():起動時に一度実行する、センサーや通信の初期設定などを書きます。
  • loop():その後に繰り返す、センサーの読み取りやデータ送信などを書きます。

初めての場合は、開発環境とライブラリ・ボード定義を設定し、サンプル一覧からSTM32向けのものを選んで、値や処理を少しずつ変えてみると進めやすくなります。

ST社のSTM32CubeIDEでは、C/C++での開発とデバッガを使った確認ができます。AP03の接続構成はデバッガの接続方法に掲載しています。ArduinoのスケッチをCubeIDEでそのまま開けるわけではないため、LeafonyのArduinoサンプルを試す場合は、そのサンプルが案内している環境から始めると進めやすくなります。

参考:Arduino公式:スケッチのビルド処理

Pythonでも使えますか?

プログラム・動作 BLEUART AP01AP02AP03

リーフ本体のプログラムは、Arduino IDE、またはSTM32リーフではSTM32CubeIDEを使うC/C++での開発を想定しています。

Arduinoサンプルから始める場合は開発環境を、AP03でSTM32CubeIDEとデバッガを使う場合はデバッガの接続方法を参照してください。ArduinoのスケッチとCubeIDEのプロジェクトは設定やライブラリの組み込み方が異なるため、そのまま移せるとは限りません。

PythonはPC側で、Leafonyのデータを受信・保存・グラフ化・分析する用途に利用できます。 Leafony側のC/C++プログラムが送るデータに合わせて、PC側にPythonの受信プログラムを用意します。

接続方法Python側の選択肢と確認すること
USB経由のシリアル通信pySerialで受信できます。シリアル出力するプログラムを書き込み、ポート名・通信速度・改行などのデータ形式を合わせます。必要なUSB接続用リーフはMCUによって異なります。
BLEでの無線通信BleakでGATTの読み取りや通知の受信ができます。PCのBluetooth環境、使用中のサンプルの接続方式・UUID・データ形式を確認します。

USBで始めるなら、STM32の温湿度センサーサンプルがシリアル出力の例になります。このサンプルの通信速度は115200 bpsです。まずArduino IDEのシリアルモニタで値が出ることを確認し、モニタを閉じてからPython側で同じポートを開くと進めやすくなります。

BLEの場合は、データ形式とUUIDの確認方法を参考に、サンプルに合わせて受信コードを作成します。接続しないBeaconのデータは、GATT接続ではなくAdvertising dataをスキャンして読み取ります。

リーフ本体にPythonを書き込みたい場合は、MicroPythonなどの別の実行環境が必要です。 ESP32向けMicroPythonはありますが、対応チップであることだけでLeafonyの各リーフやセンサーがそのまま使えるとは限りません。使用ボードに合うファームウェア・ピン設定・センサー用ドライバーを確認します。現時点のLeafony Docsには、AP02・AP03での動作確認済みMicroPython導入手順は掲載していません。

センサーデータの分析が目的なら、まずはLeafony側を既存のArduinoサンプル、PC側をPythonにする構成から始められます。STM32で使う言語についても参照してください。

リーフを追加するときは、組み合わせガイドでMCU・電源・端子・I²Cアドレスを順に確認できます。

技術資料・サンプル・Q&Aから探せます