みなさんこんにちは、ソラコムの松下(ニックネーム:Max)です。
このブログでは、ソフトウェアエンジニアの方に向けた「IoTのハードウェア開発するなら揃えておきたい入門向けツール」を4つご紹介します。
ツールの存在が、開発やデバッグの効率を向上
IoTは「遠くに離れたモノや、現場で起こっているコトをデジタル化する技術」で、すでに様々な業界や現場で使われています。昨今では、買ってきたその日に使えるIoTボタンやセンサー一体型デバイス、AIカメラといったIoT製品を利用することで、アイデアをすぐ形にすることができるようになりました。
一方で、より高度な事を行いたい、または、今ある機器やセンサーとつなげたい場合はハードウェアの開発を行うことになります。ソフトウェア開発はIDE(統合開発環境)やログサービスを使うことで、変数といった内部構造や状態を確認できるため、開発やバグを取り除くデバッグが容易です。ハードウェアは分解しても目で見えるのは電気回路だけであり、内部の状態を知ることが困難なため、ソフトウェア開発と比較するとデバッグがしづらいという課題があります。
ここで紹介してるツールを使うことで、ハードウェアの内部構造や状態を見ることができるようになるため、開発やデバッグの効率が向上します。
紹介するのは以下の4つです。
入門向けとはいえ機能は必要十分で、私も現役でバリバリ使っています。みなさんのツール選びの参考になれば幸いです。
ツール1: 「組み立てと分解を迅速に」小型電動ドライバー
ハードウェア開発は分解と組立を良く行います。特にねじ回しが効率よくできると作業速度が格段に向上します。
電動ドライバーと聞くとホームセンターで売っているような製品をイメージするかもしれませんが、ここで紹介するのは小型ハードウェア向けの小型電動ドライバーです。普段の生活でも役立ちます。
価格感は3000円~5000円程度のもので十分です。私が使用しているのは XIAOMI Wowstick 1F+ (Amazon.co.jp) ですが、ほかにも種類があります。私の選定基準をリストしておきますので、お求めになる際の参考にしてください。
- 先端が交換可能で、色々なネジに対応できること
- +-の大小だけでなく、六角や星形対応もあるとより良い
- 先端のネジを含めて持ち運び可能なこと
- ケースがあるとより良い
- バッテリー駆動で、microUSBやUSB Type-Cで給電可能なこと
ツール2: 「電波や通信調査を手軽に」SIMフリー Android スマートフォン
SIMフリーの Android スマートフォンは、電波状況の確認やクラウドサービスのAPI呼び出しチェックに利用できます。
IoTはWi-Fiや3G/LTEといったセルラー通信を利用してクラウドと通信します。その際、重要となるのが電波強度であり、その調査に活用できます。
iPhone(iOS)に比較してSIMフリー端末が安価に入手できるという事でAndroidスマートフォンを挙げているだけですので、お手元に余っているスマートフォンで十分です。新たに購入する場合も10,000円~20,000円の価格を基準に用意できれば良いでしょう。
SORACOMはIoT向けデータ通信サービスSORACOM Air for セルラーを提供しており、NTTドコモ回線のplan-DやKDDI回線のplan-Kの他に、日本を含めた世界140を超える国と地域でお使いいただけるplan01sが利用可能で、これらの通信はSIMフリースマートフォンでお使いいただくことができます。
また、SMSの送受信テストもスマートフォン内のSMSメッセージアプリで行うことができます。
セルラー通信の電波状況はスマートフォンのアンテナピクト(絵)やNetMonitor Cell Signal Logginを、Wi-Fi の電波強度や混雑具合の調査には I-O DATA DEVICE の Wi-Fiミレル を使用しています。
クラウドのAPI確認に利用可能なスマートフォンアプリ
スマートフォンはクラウドサービスのAPI呼び出しチェックにも利用できます。
APIとはApplication Programming Interface (アプリケーション プログラミング インターフェース)の略で、アプリケーションからクラウドの機能を呼び出すことができる機能です。
例えば「世界時計API」は、指定地域の現在時刻を返してくれます(例: 世界標準時の時刻)。このAPIを利用すれば、自分の作るアプリケーションで世界時計機能を作ることなく、呼び出すことで実現できます。機能を借りてくるようなイメージです。
APIはプログラム内から呼び出すのが一般的ですが、スマートフォンのアプリケーションにはAPI呼び出しに特化したものもあります。私は HTTPer というAndroidアプリを使用しています。
SORACOMには、APIに対して転送を行うサービス「SORACOM Beam」があり、API呼び出しアプリを通じてSORACOMサービスの確認も行うことが可能です。また、SORACOM自体もAPIを提供しており、例えば、SORACOM IoT SIMの回線情報を得ることができる「SORACOM Air メタデータサービス」の確認にも利用できます。
以下は、HTTPerを使ってSORACOM Air メタデータサービスによるデータ参照を行っている様子です。
これまで紹介した使い方も含めて、スマートフォンの活用方法をまとめると以下の通りです。
- 電波状況の確認 (セルラー / Wi-Fi / BLE 等)
- SORACOM IoT SIM の動作確認
- SMS の送受信テスト
- クラウドサービスのAPI/設定チェック
- HTTP REST アプリで SORACOM Beam 等
ツール3: 「電気の今を見る」テスター (マルチメーター)
テスターは電圧や電流の計測器です。
最近は多機能化していることからマルチメーターとも呼ばれますが、基本的には同じものです。
電圧が今何V流れているのかといった「電気の今」を見ることができます。IoTで良く利用されるマイコンやセンサーは5Vもしくは3.3Vで動作します。そこで、適切な電圧が供給されているかの調査に使えます。また、電気回路の通電や絶縁状況を確認できるため、マイコンとセンサーを接続する回路作りには欠かせません。
例えばIoT体験キット ~ 磁気センサーには、磁石の力で回路がON/OFFする磁気センサーが添付されていますが、このセンサーのON/OFFをテスターの通電確認機能で調べることができ、接続するケーブルの特定を確実に行うことができます。
テスターも高級品になると数万円しますが、IoTのハードウェア開発であれば1000円~2000円程度のもので必要十分な機能を持っています。私が使用しているのは 830LN という約1000円のものです。(2021/6/17: 830LNの商品ページが無くなっていたため、リンクを外しています。「テスター」で検索いただければ代替品は見つかるでしょう)
私の選定基準をリストしておきます。お求めになる際の参考にしてください。
- 小型で持ち運び可能
- 乾電池もしくはバッテリーで動くこと
- テストリード(回路に当てる部分)が棒状とクリップ形状(フックできる形)が揃っていること
ツール4: 「電気の波形を見る」オシロスコープ
オシロスコープもテスター同様に測定器です。
テスターが「電気の今」を見るものであれば、オシロスコープは電気の時系列、即ち「波形」を見るものになります。
マイコンとセンサー間は、電圧の強弱を0と1に変換することで「データ」としています。電圧の強弱がゆっくりとした周期であればテスターを使って目視で確認できますが、実際は1秒間で数千・数万という周期で変動するため目視は困難です。
オシロスコープは、高速な周期で変動する電圧の変化を時系列で記録し、グラフ化してくれます。用途としては、マイコンとセンサー間の電圧の高低の調査、そして、周期の調査です。
センサーからのデータが意図と異なった場合に、オシロスコープで電圧の高低や欠損状況を調べることができます。また、周期については主にPWMの信号調査に使います。PWMとは短い周期でON/OFFを繰り返すことで作る信号で、例えばモーターの回転数や、LEDの明るさの制御に利用されます。
オシロスコープもテスター同様に非常に価格の幅が広い製品です。私が使用しているのは SeeedStudio DSO Nano V3という約10,000円のオシロスコープです。
私の選定基準をリストしておきます。お求めになる際の参考にしてください。
- 小型で持ち運び可能
- バッテリーで動くこと、USBで給電可能なこと
テスター / オシロスコープ / ロジックアナライザの違いと活用ポイント
ここまででテスターとオシロスコープを解説してきました。これらに似た製品で「ロジックアナライザ」(ロジアナ)というものも存在します。
オシロスコープは波形を見ることができますが、「波形の意味」自体は分かりません。これを読み解くのがロジックアナライザです。
オシロスコープと同様に波形を読み取った後に、その波形にプロトコルを適用することで波形を解析してデータ化できます。解析可能なプロトコルは様々存在していますが、UARTやI2Cといったものが一般的です。高価なものになるとUSBや自動車で使われるCAN等といったものにも対応できます。
ここまでの製品を取りまとめると以下のように分類できます。
ロジックアナライザはテスターやオシロスコープの機能を包括していることも多いのですが、その代わりに金額も高くなる傾向にあります。安価なロジックアナライザもありますが、解析処理や結果表示にパソコンを使うことで低価格化を実現しているため、若干手軽さが減少します。
実際はオシロスコープで十分な事が多いため、入門向けからは外しましたが便利な道具であることは間違いありません。プロトコル解析が必要になった場合にはご利用ください。
私の使用しているロジックアナライザを紹介しておきます。サインスマート LA104で約13,000円です。
おわりに
今回はIoTのハードウェア開発の入門向けツールを紹介しました。
ツールは安価なもので十分です。まず、使ってみることで便利さの体験や、自身が必要としている機能のイメージ作りにつなげましょう。
ちなみに私の基準は「持ち運び可能」です。IoTの「モノ」は現場に置かれて動き出すことで、初めて役に立ちます。言い換えれば、トラブルは常に現場で発生するわけです。その現場で調査ができれば、それだけ復旧までの時間も短くできます。実際、展示会でトラブルがあった際に回路の故障個所を現場で特定できたことで、応急処置ができました。
皆さんがこれからIoTの開発を進めていったときに、より良いツールを選んでいただければと思いますし、その時は情報交換できれば嬉しく思います!
― ソラコム “Max” 松下 / Twitterやっています、フォローはお気軽に!