Arduino プロジェクトをブートストラップするためのユーティリティ クラス。
数分で、ストレージ (JSON 形式) の読み取りと書き込み、MQTT キューへのメッセージの読み取りと送信、パスワードをハードコーディングせずに WiFi に接続できるようになります...
Arduino Bootstrapper
コードの重複のない優れたプロジェクトを作成するための出発点となることを目指しています。
Espressif ESP8266/ESP32
がデフォルトのプラットフォームですが、他のプラットフォームやボードのサポートを簡単に追加できます。
Arduino IDE および PlatformIO 用に書かれています。
Arduino Bootstrapperが気に入ったら、スターを付けるか、フォークして貢献してください。
Github で問題をオープンしてください。あなたの質問は他のユーザーにとって役立つ可能性があります。
このユーティリティを使用してソフトウェアをブートストラップするには 2 つの方法があります。
スマートサーモスタット、ソーラーステーション、ツチボタルルシフェリン、スマートウォッチワインダー
ブートストラップのクローンを作成する
git clone [email protected]:sblantipodi/arduino_bootstrapper.git
説明に従ってこれらのファイルを編集するだけです。所要時間は数分です。
.
├── ...
├── examples # Project src folder
│ ├── ChangeName.cpp # Main file with loop() and setup() function, rename and copy it into your src folder
│ ├── ChangeName.h # Main header file, rename and copy it into your include folder
│ └── ...
├── src # Folder for core files, edit those files and contribute!
│ ├── BootstrapManager.h # Core header file with utility classes for bootstrapping
│ ├── QueueManager.h # Core header file with utility classes for Queue and MQTT management
│ ├── WifiManager.h # Core header file with utility classes for Wifi and OTA upload management
│ ├── Helpers.h # Core header file with helper classes
│ └── ...
├── platformio.ini # Configure all the required info (ex: Wifi device name, DNS gateway, ecc.)
├── secrets.ini.template # Configure password and rename the file in secrets.ini
└── ...
注記:
*pointerによってメインのブートストラップ関数に渡される関数を実装する必要があります。
class BootstrapManager {
...
public:
void bootstrapSetup (
void (*manageDisconnectionFunction)(),
void (*manageHardwareButton)(),
void (*callback)( char *, byte*, unsigned int )
);
void bootstrapLoop (
void (*manageDisconnectionFunction)(),
void (*manageQueueSubscription)(),
void (*manageHardwareButton)()
);
...
};
manageDisconnections()
#オプションで、マイクロコントローラーがネットワークから切断された場合に必要なロジックを入力しますmanageHardwareButton()
# ネットワーク切断時のハードウェア ボタン管理のための特別な命令をオプションで入力しますmanageQueueSubscription()
# 目的の mqtt トピックをサブスクライブしますcallback()
# キューからメッセージが到着したときに呼び出されるコールバック関数Arduino Bootstrapper
既存のプロジェクトにインポートするには、次の 2 つの方法があります。
// For PlatformIO
Add `lib_deps` to your `platformio.ini`
lib_deps = ArduinoBootstrapper
// For ArduinoIDE
Simply import the Bootstrapper library from the library manager
git submodule add https://github.com/sblantipodi/arduino_bootstrapper.git arduino_bootstrapper
どちらのインポート方法でも、 platformio.ini
に追加のディレクトリを追加する必要があります。
lib_extra_dirs = arduino_bootstrapper
~/arduino_bootstrapper/secrets.ini.template
をsecrets.ini.template
にコピーして構成します
BootrapManager.h をメイン ヘッダー ファイルに含めてください。
# include " BootstrapManager.h "
そして、BootstrapManager クラスを初期化します。
BootstrapManager bootstrapManager;
setup()
関数に Wifi、MQTT、OTA ブートストラップを追加します。
bootstrapManager.bootstrapSetup(manageDisconnections, manageHardwareButton, callback);
あなたのloop()
関数にブートストラップマネージャー関数を追加します
bootstrapManager.bootstrapLoop(manageDisconnections, manageQueueSubscription, manageHardwareButton);
最初の git clone 部分を使用せずに、「 Bootstrap a project from scratch
手順に従ってください。
このプロジェクトはシンボリックリンクを使用します。Windows はデフォルトではシンボリックリンクを有効にしません。有効にするには、管理コンソールから次の cmd を実行します。
export MSYS=winsymlinks:nativestrict
このプロジェクトは、GitHub Actions 経由で CI をサポートします。 .github/workflows
フォルダーには 2 つのワークフローがあります
この構文を使用する場合:
git tag -a v1.0.0 -m "your commit msg";
git push origin --tags;
コミット メッセージ内のテキストがリリースの説明になります。
Arduino Bootstrapper はsecrets.ini
を検索します。設定しない場合は、アクセス ポイントが起動します。
携帯電話で AP に接続し、http://192.168.4.1 にアクセスして GUI にアクセスできます。
これにより、ハードコーディングせずにすべてのパスワードを入力できるようになります。
このプログラムは MIT ライセンスに基づいてライセンスされています
ありがとう | のために |
---|---|
CLion IDE ライセンスの場合。 |