制限のある8ビットマイクロコントローラーボードであるArduinoの以前のバージョンでは、HTTPS(単なるHTTPではない)の実装はほとんど不可能でした。しかし、Arduino Dueの新しいバージョンは、32ビットのARMコア-仕様を参照 こちら を提供します。
いくつかのネットワークライブラリ(libcurl、openssl、yaSSL)を確認しようとしましたが、Arduino Dueで動作するように移植されたものは見つかりませんでした。
OpenSSLはおそらくこのプロセッサーで実行するには重すぎるですが、組み込みライブラリーとしての yaSSL は実行可能であるはずです。
Arduino DueでHTTPSリクエストをトリガーするために使用できるライブラリの情報はありますか?
残念ながら、これはコメントするには長すぎます。
►すぐに使えるソリューションはありません
私が収集したものから、HTTPSを出力するAtmel SAM3X8E ARM Cortex-M3 CPで実行されているWebサーバーには簡単な解決策はありませんがあります。 Texas Intstruments より良いオプションを提供します 現在Stellaris Microcontroller ARM Cortex-M3 CP。
►代替
暗号化機能をレンダリングするために使用できるいくつかのオプションがあります。これに基づいて、中間デバイスと通信する 単純な安全な通信プロトコル をレイアウトおよび実装できます。これにより、迅速なアプリケーション開発とSSLが容易になります。
この中間デバイス、たとえば、既製の70 $ Androidスマートフォンは、プロジェクトをモバイルに接続して接続し、指定されたポートでサービスを実行します。次に、そのポートがAmazon SQS。すでに available 。これは醜いまたはタフに聞こえるかもしれませんが、ArduinoでTLS 3を完全にサポートするWebサーバーのプログラムの基礎を作るよりもはるかに簡単です。簡単にできますが、自分のプロジェクトに対する実用的な解決策が必要なだけではありません。
►暗号化ライブラリ
►ディスカッション
以下は、始めるためのディスカッションのリストです。
これらのライブラリの多くはまだ適応する必要がありますが、 community の専門家がかなり迅速に対応できます。
幸運を!最終プロジェクトをgithubにアップロードする自由がある場合は、感謝とフォロワーを得ただけです。
Arduinoでのhttpsサポートの大きな問題は、プロセッサが過負荷になり、プロジェクトが実行不能になる可能性があることです。
PolarSSL のような組み込みプラットフォームをターゲットとしたソリューションでさえ、メモリを大量に消費し、処理能力を使いすぎます。最も合理化された実装であっても、SSLサポートは広く採用されるように一般化する必要があり、必要でないと思われるコンポーネントが含まれます。また、信頼する認証局と、証明書の失効などについてどのように通信するかという問題もあります。
代わりに、あなたのニーズに合わせて表面的に壊れていないソリューションを探します。 CurveProtect のようなもの CurveCP の実装です。
もちろん、あなたの決定は主にあなたが何をしたいか、そしてあなたが問題を理解するのに費やしたいどのくらいの時間に基づいているでしょう。 PolarSSLのフットプリントは30K程度(通常は100Kに近い)です。
IMHO Arduino(DUEを含む)は、Webベースの重い通信や暗号化された通信には不適切なツールです。同じサイズと価格帯でより適切なハードウェアを探すことを強くお勧めします。 httpsに入るとすぐに、実際のオペレーティングシステムが提供する他の多くの機能も必要になるほど近くなります。言い換えれば、私はラスピのようなものに行くことをお勧めします。サイズと賞金は似ていますが、より強力で、特にLinuxを実行できます。 -> HTTPSがシンプルになります。