こんにちは。NABEです。
トレーニングトレーサーの組み立てが終わったので、次は開発環境の構築が始まります。
開発環境の構築とは、いったい何をする作業なのか?
マニュアルを見てみると、どうやらトレーニングトレーサーのマイコンボード※にPCを接続しながら、ソフトウェアを色々とインストールするみたいです。
※マイコンボードはマイクロコンピュータ(マイコン)と入出力回路などの周辺回路を1枚の基板(ボード)に乗せ、マイコンを利用できるようにしたもの
マイコンボードに対して何かをする作業であることは分かりました。
しかし、そもそも開発環境とは何なのか?
開発環境について軽く調べてみたところ、意味が複数あり、マイコンボードの種類とも関係がありそう、ということが分かりました。
ここでトレーニングトレーサーの製品情報を見てみましょう。
統合開発環境はArduino IDEを採用し、C言語ライクのプログラミングが可能なため最初のスキルアップに最適です。
マイコンボードは、世界的にも多く使われているSTマイクロエレクトロニクス社(以下、ST社)のSTM32を搭載したNucleoを採用しています。
と書いてあります。
Arduino?Nucleo?何語だ…。
マニュアルには手順が細かく書いてあるので、この辺りをよく知らなくても次へ進めます。
しかし、知っていた方がこの先面白そうです。
今回はトレーニングトレーサーに使われている開発環境やマイコンボードについて自分で調べながら解説してみようと思います。
少々長いので、開発環境が何か分かってるよ!という方は
2.トレーニングトレーサーの開発環境
から読むのがオススメです。
開発環境とは?
開発環境には様々な意味がある!
開発環境 【 development environment 】
開発環境とは、機器やソフトウェア、システムを開発するために必要な機材やソフトウェアなどの組み合わせ。また、それらを組み合わせて構成された、開発者の作業環境。(IT用語辞典 e-Words より引用)
広義には、コンピュータや通信回線、LANケーブル、ソフトウェアなど、開発のために用意するものをまとめて「開発環境」と呼びます。
開発環境とは、ソフトウエアの製作における利便性を高めるために用いられるプログラミング言語やコンパイラ、デバッガなどの総称である。
通常、開発環境に含まれる言語やコンパイラなどはパッケージとして販売されている。そのようなパッケージ製品を指して開発環境と呼ぶ場合もある。(Weblio辞書より引用)
一方で、ソフトウェア開発の際に用いられるプログラム言語やコンパイラ(人間に分かりやすく書かれたプログラムを機械語に翻訳するソフトウェア)やデバッガ(プログラムの欠陥を発見・修正する作業を助けるソフトウェア)など、ソフトウェアやそのパッケージ製品を指して「開発環境」と呼ぶ場合もあるようです。
マニュアルで指している「開発環境の構築」というのはこちらの意味になります。
トレーニングトレーサーを動かす(プログラミングする)ために必要なソフトウェアを揃えるということですね。
統合開発環境との違い
統合開発環境(Integrated Development Environment)
IDEとは、ソフトウェア開発に必要なソフトウェアを一つに組み合わせ、同じ操作画面から統一的な操作法で利用できるようにしたソフトウェアパッケージ。一般的にはコードエディタやコンパイラ、リンカ、デバッガ、テストツール、バージョン管理ソフトなどで構成される。
(IT用語辞典 e-Words より引用)
統合開発環境は、開発に必要なソフトウェアを使いやすくまとめたパッケージになります。
チームでの開発を支援するプロジェクト管理機能などが付いているものもあります。
特定のプログラミング言語や環境に合わせて作られているものも多く、有名なものだと、Windows向けに作られたマイクロソフト社の「Visual Studio」や、macOS/iOS向けに作られたアップル社の「Xcode」、Java言語向けに作られたジェットブレインズ社の「IntelliJ IDEA」などがあります。
また、様々な言語や環境に対応し、汎用的に利用されているものもあります。
例えばオープンソースソフトウェアの「Eclipse」はWindows、Mac OS X、Linuxに対応しています。
こちらはJavaの開発環境として有名ですが、プラグインを導入することでC++やPHP、Perl、C#、D言語、TeX、Python、JavaScriptなど数多くの言語で開発することが出来ます。
日本語での情報サイトが充実しているので初心者にも使いやすい環境と言われています。
トレーニングトレーサーの開発環境
統合開発環境Arduino IDE
トレーニングトレーサーに採用されている開発環境は統合開発環境の「Arduino IDE」です。
Arduinoの読み方は「アルデュイーノ」。
イタリア語でした。
Arduinoのロゴ(WORLDVECTORLOGOより引用)
ArduinoはArduinoボード(ハードウェア)とArduino IDE(ソフトウェア)から構成されるシステムの名前です。
2005年、イタリア人5人によって「もっとシンプルに、もっと安価に、技術者でない学生でもデジタルなものを作ることができるようにする」という目的のもとに生み出され、C言語ベースのシンプルな言語(Arduino言語)が使われていることと、オープンソース、つまり無料で公開されていることで世界中に広まりました。
世界中で使われている&オープンソースで情報サイトも充実しているため、トレーニングトレーサーを通じてプログラミングを学ぶ初心者にも扱いやすいということです。
マイコンボードはSTM32を搭載したNucleo
トレーニングトレーサーのマイコンボードにはSTマイクロエレクトロニクス社(以下 ST社)のSTM32というマイコンが搭載された、Necleoシリーズの「NUCLEO-F303K8」が使われています。
Necleoの読み方は「ニュークレオ」。(ヌクレオと読む方もいます)
こちらもイタリア語でした。芯やコアを意味しています。
NUCLEO-F303K8(ST社のHPより引用)
搭載されているマイコン「STM32」はロボット分野に限らず幅広く使われており、手に入れやすい価格で流通性も高く、Webサイトなどでの情報量も多いためプログラム開発環境の充実性に優れています。
NecleoシリーズはUSB A-USBminiケーブルで電源供給・接続できる点も手軽です。
また、ボードに共通コネクタを使うことで様々な種類のシールド(応用基板)やボードと接続できるため、機能の拡張も簡単に行えます。
トレーニングトレーサーではその情報量と拡張性で他分野にも応用できる知識を身に着けることができるため、Necleoシリーズのボードを採用しています。
なぜArduino IDEとNecleoを使うのか
開発環境やマイコン事情に詳しい方ならば、
「マイコンにSTM32を使うなら、同じST社が推奨している統合開発環境(IARやKeillなど)を使った方がいいんじゃないか?」
と思うかもしれません。
しかし、これらの統合開発環境では色々な初期設定が必要で、初心者には少し難しいそうです。
そこでトレーニングトレーサーには、初期設定も比較的簡単で、情報サイトも充実したArduino IDEが採用されています。
研修や教材向けの製品となるように色々と考えられています。すごい。
※その先のステップアップとして、mbedやSTM32CubeIDEの開発環境構築のマニュアルもついています(開発者コメント)。
まとめ
トレーニングトレーサーの研修における「開発環境の構築」とは、トレーニングトレーサーのマイコンにプログラムを書き込んで動かすために必要なソフトウェアをインストールして準備する、ということを指していました。
トレーニングトレーサーのマイコンボードにはSTM32を搭載したNecleoが採用され、
開発環境については、コードエディタやコンパイラ、デバッガなどのソフトウェアがパッケージングされた統合開発環境であるArduino IDEが採用されています。
それぞれが採用された理由には、初心者の学びやすさや、ネット上での情報量の多さ、ロボット分野以外にも応用できる知識が身に着けられる点などが挙げられ、研修向けに考えられた組み合わせだと分かりました。
開発環境とマイコンボードについて理解を深めることができたので
次回からは開発の構築を始めます!
Part.5へつづく