・「PlatformIO」とは
・プログラムを書く場所
・library.jsonの書き方
を紹介していきます。
プログラムを書く場所やライブラリを保存する場所などはあんまりネットに乗っていなかったと思うので、少し目を通してもいいかもよ!
PlatformIOは、組み込み開発向けのオープンソース統合開発環境(IDE)です。
特に、Arduino、ESP8266、ESP32、STM32など、さまざまなマイコンボードや開発プラットフォームをサポートしています。
また、Visual Studio Code(VS Code)などのエディタで書くこともできます。
クロスプラットフォームサポート:
・Windows、macOS、Linuxなど、さまざまなオペレーティングシステム上で動作します。
多言語サポート:
・C/C++はもちろん、Pythonや他のプログラミング言語でも開発が可能です。
ボード管理:
・数百種類のマイコンボードをサポートしており、簡単にプロジェクトを開始することができます。新しいボードやフレームワークを簡単に追加できます。
ライブラリ管理:
・インターネット経由でライブラリを簡単に検索、インストール、更新ができる強力なライブラリ管理システムを提供します。
ビルドシステム:
・高速かつ柔軟なビルドシステムを持ち、依存関係の管理やコンパイル設定を自動化します。
単体テスト:
・ プロジェクトの単体テストを簡単に実行できる機能があり、信頼性の高いコードを作成するのに役立ちます。
デバッグ機能:
・高度なデバッグ機能を提供し、エラーの発見と修正を迅速に行うことができます。
学習曲線が急:
・PlatformIOは非常に多機能であるため、初心者には取っつきにくい場合があります。
特に、Arduino IDEのようなシンプルなツールから移行する場合、設定や使い方に慣れるまで時間がかかることがあります。
依存関係の管理:
・プロジェクトが大規模になると、ライブラリや依存関係の管理が複雑になることがあります。
自動的に依存関係を解決してくれることが多いものの、時には手動での調整が必要になることもあります。
セットアップが複雑:
・初めてPlatformIOをインストールする際、設定や環境構築がやや複雑に感じることがあります。
特に、特定のボードやフレームワークを使用する場合、追加の設定が必要なことがあり、その理解には時間がかかるかもしれません。
互換性の問題:
・一部の古いライブラリやプラットフォームでは、PlatformIOが公式にサポートしていないか、
互換性の問題が生じることがあります。この場合、手動で調整が必要になることがあります。
最初に書いたネットにあまり乗っていない内容はこれのことです。
PlatformIOを追加したものはいいものの、たくさんのファイルが生成され初めはどこに何を書けばよいかわからないと思います。
以下にファイル名とその「内容、用途」をまとめてみました。
内容: PlatformIOによって自動的に生成されるフォルダです。ビルドの際に生成された中間ファイル、オブジェクトファイル、バイナリ、依存関係が含まれます。
用途: ビルドやアップロードプロセスで使用されるファイルが保存されるため、通常は手動で編集する必要はありません。
内容: Visual Studio
Code用の設定ファイルが格納されます。settings.json、tasks.json、launch.jsonなどのファイルがあり、エディタやデバッグの設定が保存されています。
用途: Visual Studio Codeの環境をカスタマイズしたり、PlatformIOのビルドタスクやデバッグ設定を管理するために使用されます。
内容: プロジェクトで使用するヘッダーファイル(.hファイル)を配置します。これらのファイルは、他のソースファイルで共有される定義や宣言を含みます。
用途: コードの再利用性を高めるために、共通の定義や関数プロトタイプを格納します。
内容: プロジェクト専用のカスタムライブラリを配置します。サードパーティのライブラリや自作のライブラリをこのフォルダに配置することで、プロジェクト内で利用できます。
用途: 特定のプロジェクトで使用するカスタムライブラリを管理します。各ライブラリはサブフォルダとして配置し、その中にソースコードとヘッダーファイルを含めます。
内容: プロジェクトのメインコード(.cpp、.inoファイルなど)が格納されます。通常、main.cppやmain.inoファイルがここに置かれます。
用途: プロジェクトの主なソースコードをここに記述します。PlatformIOは、このフォルダ内のファイルをコンパイル対象とします。
内容: プロジェクトの単体テストコードを配置します。テストは、Unit Testing Frameworkを使用して実行されます。
用途: コードのテストケースを記述し、コードが期待通りに動作するかどうかを確認するために使用されます。
library.jsonは、自作ライブラリを他のプロジェクトやユーザーと共有する場合に役立つものです。
これを使うことで、ライブラリの管理がしやすくなり、他のプロジェクトで再利用しやすくなります。
(必須ではありません。)
自作ライブラリを作ったら「library.json」を書けと言われますが、
jsonファイルなんて書けないですよねー。
ということでテンプレートを作ったので下の表を埋めて自分の環境に合わせてください!
name: ライブラリの名前
version: ライブラリのバージョン
description: ライブラリの説明
authors: 作者の情報
license: ライセンス情報(例: MIT, GPL)
dependencies: 他のライブラリの依存関係
これ1時間で書いたwwww!!
どれぐらいで書けるか実験したくてw