ArduinoではじめるwolfSSL

wolfSSLの使用開始が、かつてないほど簡単になりました!
ArduinoライブラリサイトCommunicationセクションにあるwolfSSLライブラリを更新しました。

Arduino IDEをダウンロードしてインストールすることで、IDE内から簡単にお使いいただけます。
なお、v5.6.6以前のwolfSSLリリースは公式のものではないため削除しました。

wolfSSLのインストール

[ツール]  から [ライブラリを管理…] を開き、

検索欄に「wolfssl」と入力して [インストール] をクリックします。

より詳しい情報が必要でしたら、IDEの公式ガイドをご覧ください。
バージョンに応じて複数のドキュメントが用意されています。
v1:https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries/
v2:https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-installing-a-library/

サンプルプログラムの実行

インストールが完了したら、左上の [ボードを選択] より接続しているボードを選択します。
Windows環境では、デバイスを接続しているCOMポートをお選びください。

IDEが自動でボード情報を認識できない場合、次のようなウィンドウが表示されます。
必要に応じて検索機能をお使いいただくと便利です。

ボードを認識すると、必要なプログラムのインストールを求めるダイアログが表示されます。
[はい] をクリックしてインストールします。

wolfSSLでは現在、以下に示す2つのサンプルプログラムをご提供しています。

これらは後に示すようにIDEの中から取得いただけますが、GitHubのIDE/Arduinoディレクトリにも掲載しています。必要に応じて最新の情報をご確認ください。

ライブラリマネージャーの画面からwolfsslライブラリにカーソルを合わせ、右に位置する [] をクリックして [スケッチ例] → [wolfssl_*] をご利用いただけます。 

クライアントとサーバアプリケーションの動作には、ネットワーク接続が必須です。
Wi-Fi接続情報を記載したファイルパスをプログラムに記載するか、
(セキュリティの観点から、Git管理外の領域に保存することが推奨されます)

プログラムにハードコードすることもできます。

クライアントアプリケーションでは、サーバのIPアドレスも忘れずに変更してください。

あとは他のArduinoプログラムと同様にコンパイル・書き込みを経て実行いただけます。

他のプラットフォームで動作するwolfSSLとの通信

Arduinoクライアント/サーバアプリケーションは、examples/clientディレクトリやexamples/serverディレクトリで提供しているwolfSSL実行可能ファイルとの通信にお使いいただけます。

これらはwolfSSLリポジトリをダウンロード後、リポジトリ内のルートディレクトリでmakeを実行することで自動的にビルドします。

./configure --enable-all
make clean
make && make test
./examples/client/client -h 192.168.1.39 -p 11111

user_settings.h の利用

wolfSSLの設定を変更したい場合は、以下のファイルをご利用ください。
Windows:
C:\Users\%USERNAME%\Documents\Arduino\libraries\wolfssl\src\user_settings.h
Linux/Mac:
~/Documents/Arduino/libraries/wolfssl/src/user_settings.h

このuser_settings.hを直接お客様のプログラムからインクルードしないことをおすすめします。ライブラリの読み込み時、必要に応じてsettings.hにより自動的にuser_settings.hを参照しています。

設定の詳細については、ドキュメントをご覧ください。
Arduinoなどの組み込みデバイスでは、すべての設定はuser_settings.hの#defineにてご確認いただけます。

wolfSSLの手動インストール

お手元にwolfSSLリポジトリをお持ちの場合、こちらで配布しているスクリプトを使用して最新のwolfSSLをArduinoへ手動でインストールすることも可能です。

./wolfssl-arduino.sh INSTALL

これはBashでの実行を想定したシェルスクリプトです。Windows環境をお使いの方は、WSLの利用をご検討ください。
より詳しい手順はREADMEファイルでご案内しています。

プログラムの動作に問題が発生した場合は、ビルドキャッシュの削除で改善する可能性があります。
以下のディレクトリをご確認ください。
C:\Users\%USERNAME%\AppData\Local\Temp\arduino\sketches

ご質問がございましたら、ぜひ info@wolfssl.jp までお問い合わせください。

原文:https://www.wolfssl.com/getting-started-with-wolfssl-on-arduino/