IoT向けのARM mbed OS (beta) でLチカしてみました

Toshio Kuga/ 5月 1, 2016/ 組み込み/ 0 comments

スクリーンショット 2016-04-29 11.08.44どうも、くがとしおです!

今日は、ARMのIoT向けのOS mbedOS(beta版)を使ってみたいと思います。
mbed OSはベータ版であり、変更される可能性がありますので、ご注意ください。

スポンサードリンク

その前に・・・

知っておきたい知識を紹介しておきます。

IoT

IoT(Internet of Things)は直訳すると、モノのインターネット。
全てのデバイスがインターネットに接続され、遠隔計測、遠隔制御
モノとモノとが自動で制御される世界のことを言います。

 

スクリーンショット 2016-04-29 11.34.37

 

mbed OS

mbed OSは、ARMのCortex-M向けに最適化されたIoT用のOSです。
mbed IoT Device Platformの一部であり、クラウド側はmbed Device Serverも
無料で提供されます。

 

スクリーンショット 2016-04-29 19.00.30

 

使用するもの

今回の実験では、STMicroのNucleo-F401REを使用しました。
mbed OSに対応しているボードはこちらをご覧ください。
https://www.mbed.com/en/development/hardware/boards/

 

準備

基本的には、こちらのページの手順を進めただけです。

 

yottaのインストール

yottaは、アプリケーションのコードとmbed OSのベースコードとライブラリを結合させるためにインストールする必要があります。

パッケージ管理、ビルド、アプリケーション配布が簡略化出来るメリットがあります。

こちらよりダウンロードしてください。
Macの場合、Applicationディレクトリにドラッグ&ドロップ後にyotta.appを開くとコンソール画面が表示されます。

 

スクリーンショット 2016-04-30 22.29.18

 

mbed OSアプリケーションの作成

Lチカのサンプルプロジェクトを作成してみます。

yotta.appを実行してコンソールから下記コマンドを実行してください。

 

情報を設定すると、ディレクトリが作成されます。
スクリーンショット 2016-04-30 22.43.42

 

作成されるディレクトリおよびファイルの概要は以下の通りです。

source ソースコードが格納されるディレクトリ
blinky ヘッダが格納されるディレクトリ
test テストコードが格納されるディレクトリ
module.json アプリケーションの設定情報が格納されるファイル

 

ターゲットボードの選択

yottaは同じコードで複数のターゲット向けにビルドすることができます。
何向けにビルドするのか設定する必要があります。

yotta searchでターゲット一覧が取得できます。

 

yotta.appでインストールすると、バージョンが古くて以下のようなエラーが発生する場合が有ります。

 

その場合は、対策としてyottaをバージョンアップする必要があります。
yottaはpythonのパッケージ管理pipを利用しているため、pipもアップデートします。

 

yotta searchが成功後、ターゲットを選択します。
今回は、Nucleo-F401REを選択します。

 

mbed サイトにログインできないとエラーとなるため、コンソールに表示されたアドレスにブラウザからログインします。

 

スクリーンショット 2016-04-30 23.41.01

 

再度、ターゲットを選択します。
yotta_targetsディレクトリが作成され、必要なデータが格納されます。

 

依存ファイルのインストール

依存ファイルをインストールします。

 

module.jsonが更新され、yotta_modulesに関連ファイルがインストールされます。

 

アプリケーションコードの作成

sourceディレクトリにapp.cppというファイルを作成します。

 

ビルド

ビルドを行います。Warningが幾つか出てきますが、問題ありません。
buildディレクトリにバイナリファイルが生成されます。

 

ボードへの書き込み

USBケーブルでPCとmbedボードを接続します。ストレージとして認識されます。
~/Programing/mbed/blinky/build/st-nucleo-f401re-gcc/source/blinky.binを
ドラッグ&ドロップでコピーします。

ボード真ん中の緑色LED(LD2)がLチカします。
image

 

「くがとしお」的 まとめ

mbed OSを使用したLチカが簡単にできましたね。
今後は、デバッグとか色々試してみたいと思います。

mbed OSを使えば、セキュリティや通信を開発する工数が削減できるみたいなので、
開発者にとってもメリットになるはずです。

IoTは、低消費電力の要求が高くなるため、低消費電力のARMコアの採用は
今後、増えていくのではないでしょうか。

では!(^^)/

 

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">
*
*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)