困ったとき・質問する

リーフの見分け方から、電源・書き込み・接続のトラブルまで。型番やエラー、やりたいことから回答を探せます。

質問する
テーマ複数選択できます

27件の質問

手元のリーフはどうやって見分けるの?

リーフの見分け方

基板に印刷されている型番(品番)で見分けられます。まずは裏面を見てみてください。 多くのリーフでは、裏面に AZ01C や AI04A のような英数字が印刷されています。リーフによって印刷位置が異なるので、見つからなければ表面も確認します。

  1. 基板の上の文字を探します。 黒い部品の表面にも文字がありますが、そちらは部品自体の型番です。リーフの型番は基板に直接印刷されています。
  2. 末尾の文字まで読み取ります。 たとえば AZ01C なら、最後の C まで控えます。
  3. リーフ一覧から該当する資料を開きます。 型番に加えて、表裏の写真やUSB端子・画面などの形も、手元のリーフと見比べてください。
AZ01Cの裏面。基板の中央付近にLeafony AZ01Cと白い文字で印刷されています。
例:USB-Cリーフの裏面。「AZ01C」が型番です。写真を押すと拡大できます。
基板の印刷例リーフの役割確認する資料
AZ01CパソコンとUSB-CでつなぐAZ01C USB-C
AI04A文字や数値を画面に表示するAI04 LCD
AP01Aプログラムを動かすAP01 AVR MCU

重ねたリーフを取り外して確認する場合は、先にUSBケーブルを抜き、電池などの電源も外してください。

型番の最後のアルファベットも必要?

リーフの見分け方

はい。手順を選ぶときは、印刷されている型番を末尾まで確認してください。

資料の見出しでは AP01 や AI04 と短く書かれていても、実物には AP01A・AP01B・AI04A などと印刷されていることがあります。末尾が違うと、基板の仕様や操作手順が異なる場合があります。たとえば、AZ01 USBとAZ01C USB-CではUSB端子やAP01への書き込み時のリセット方法が異なります。

資料を開いたら、説明が手元の型番を対象にしているかも確認してください。

型番が見つからない・読めないときは?

リーフの見分け方

スマートフォンで基板の表と裏を撮影し、拡大してみてください。重ねたままで印刷が隠れているときは、購入したキットの製品ページにある構成リーフと、リーフ一覧の写真を見比べる方法もあります。

候補を絞るときは、読める文字・端子の種類・スイッチや部品の位置を、技術資料の表裏の写真と照合します。たとえばUSB-C端子ならAZ01C、文字を表示する画面ならAI04、CR2032用の電池ホルダならAV01が候補になります。外観の一部分だけで決めず、基板全体と末尾の文字も見比べてください。写真を撮るために取り外す場合も、先にすべての電源を外します。

電源が入らない

電源・組み立て

Leafonyの電源が入らない場合は、以下の項目をチェックしてください。

  • 電池の残量が十分にあるか。
  • ボタン電池の入れる向きは正しいか。
  • 電源スイッチがONになっているか。
  • コネクタが汚れていないか。汚れていたら、無水エタノールを含ませた紙製ウエスで軽く拭いてください。それでも改善しない場合は、コネクタを交換してください。詳しくは、こちら。
  • ネジの締めは問題ないか。緩みがあるならば、ネジを交互に締めてください。

シリアルポートが見つからない

接続・書き込み

Leafonyのシリアルポートが見つからない場合は、以下の項目をチェックしてください。

書き込みに失敗する

接続・書き込み

IDEのエラー全文を確認し、使っているマイコンとUSBリーフに合う手順を開いてください。

  • AP01 / AP01B(AVR MCU)+AZ01C(USB-C):AZ01Cの書き込み手順で、ボード・ポート設定と手動リセットの操作を確認します。
  • ほかの構成:開発環境設定から、AP01(AVR)、AP02(ESP32)、AP03(STM32)と使用する開発ツールに合う手順を選びます。

LCDに文字が表示されない

画面・無線接続

AI04を使う場合は、LCDへの給電 → 初期化 → コントラストの順に確認します。

  1. サンプル一覧から、使用するMCUに対応するLCDサンプルを選びます。掲載サンプルのライブラリはtomozh氏のarduino_ST7032です。
  2. I2C I/O ExpanderでLCDへの給電を有効にします。lcd.begin()だけでは、リーフ側の電源スイッチは操作されません。
  3. サンプルの順序でLCDを初期化し、コントラストを設定して文字を表示します。

具体的な処理とアドレスはAI04の給電と初期化にあります。ST7032.hが見つからない場合は、ライブラリエラーの確認手順を参照してください。

BLEで接続できない・機器が見つからない

画面・無線接続

使っているキットと書き込み済みのプログラムに合うガイドで、対応する端末・ブラウザと接続方法を確認してください。

  • Basic Kit、またはBasic Kit 2のAVR MCUを使う出荷時デモ:Basic Kitスタートガイドで、Android・パソコン・iPhone / iPadなど、使用する端末の手順を確認します。
  • Basic Kit 2のSTM32 MCUを使う出荷時デモ:Basic Kit 2スタートガイドで、ビーコンの受信と接続、それぞれの使い方とブラウザの注意点を確認します。
  • サンプルや自作のプログラムを書き込んだ場合:サンプル一覧から使用した記事を開き、接続先の名前や受信側アプリなど、そのプログラムの手順を確認します。上の出荷時デモとは動作が異なる場合があります。

見つかった後の症状も、次のように切り分けられます。

  • 見つかるのに接続できない: STM32 Simple BLE Beaconは接続しない設定です。Beaconと接続型サンプルの違いを確認します。
  • 接続できるが値を読めない: 送信プログラムと受信アプリで、UUID・通知の設定・データ形式を照合します。BLEのデータ形式と受信処理に確認箇所をまとめています。

ESP32のWi-Fiにつながらない・デモ画面が開かない

画面・無線接続

ESP32 Wi-Fi Kit / Kit 2に入っているタッチセンサのデモは、次の順番で切り分けます。最初にできなくなった段階から確認してください。

段階確認すること
Leafony_ESP32-APが見つからない電源、電池の向き・残量、MCUにデモが入っているかを確認します。別のスケッチでは同じWi-Fiが出るとは限りません。
見つかるが接続できないスタートガイドのとおり、Leafony_ESP32-APを選び、パスワードpasswordを入力します。スケッチで変更した場合は変更後の値を使います。
接続したが画面が開かない端末の接続先がLeafonyのWi-Fiのままか確認します。アドレスバーへhttp://192.168.4.1をhttp://から入力してください。本デモはローカルの画面を表示するため、インターネット接続は不要です。「インターネットなし」でも接続を維持するか聞かれたら、Leafonyへの接続を維持します。
画面は開くが値が変わらないガイドの図で26ピンを確認して触れます。自動更新を止めている場合は1 secondを選ぶか画面を再読み込みします。別のピンを触る前にピン配置を確認してください。

プログラムを書き換えた場合は、そのプログラムで指定したSSID・アドレスを使います。出荷時デモの手順で確認したい場合は、デモを書き戻す方法で、MCUに合うプログラムへ戻せます。

別のプログラムを書き込んだ後、購入時のデモに戻したい

接続・書き込み

リセットや電源の入れ直しでは、現在のプログラムが再起動します。購入時のスケッチには戻りません。手元のMCUに合ったデモのソースを選び、もう一度書き込みます。

MCU・キット書き戻すデモ確認する動作
Basic Kit / Basic Kit 2のAP01 AVRWeb Bluetoothを使ったIoTアプリ入門から4-Sensors_BLEのソースを取得Basic KitガイドでLeafony_AC02に接続し、測定値を見る
Basic Kit 2のAP03 STM32STM32 Logger BeaconBasic Kit 2ガイドで接続・記録・読み出しを試す
ESP32 Wi-Fi Kit / Kit 2のAP02 ESP32Wi-Fi タッチセンサESP32ガイドでLeafony_ESP32-APに接続し、タッチの値を見る

書き込み前にサンプルの必要リーフ・ライブラリを確認し、MCU別の開発環境手順に従ってください。残したい自作コードは先に保存します。デモの再書き込みだけで設定や保存済み測定データまで初期化されるとは限らないため、それらの操作は各デモの説明に従ってください。

AC09のセルラー通信には、何ボルトの電源が必要ですか?

電源・組み立て Cat-M1 AC09AV06AV01

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

AC09のセルラー通信は、携帯電話のLTE網を使うIoT向けのCat-M1方式です。

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

対象電源の仕様
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コイン電池は、AC09のセルラー通信の電源には適していません。 同じ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の窓口をご利用ください。

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

技適・無線認証 Cat-M1LoRa 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ライブラリの組み合わせを確認します。

AC09のセルラー通信には、SIMや通信契約が必要ですか?

接続・書き込み Cat-M1 AC09

はい、AC09のセルラー通信には、対応するnanoSIMと利用可能な通信契約・設定を用意します。AC09は携帯電話のLTE網を使うIoT向けのCat-M1方式で通信します。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の仕様で対象構成を確認してください。

AC09のセルラー通信で、測定値をGoogle スプレッドシートへ送れますか?

プログラム・動作 Cat-M1 AC09AP03AP03BAI01AI05

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

AC09は、携帯電話のLTE網を使うIoT向けのセルラー通信(Cat-M1)で測定値を送ります。

対象は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から探せます