128 バイトのデータのようなデータのブロックを Xively サーバー MOTOROLA SREC に送信できるかどうかを知りたいです。たとえば、Arduino 接続デバイスにファームウェアのアップグレード/イメージのダウンロードを行うためにこれが必要ですか? 私が見る限り、データポイント/値のみを取得できますか?
1 に答える
データポイントの値は文字列にすることができます。ファームウェアの更新は、サイズが小さい場合、文字列エンコードされたバイナリをデータポイントとして保存するだけで、Xively API V2 を使用して実装できます。
おそらく、タイムスタンプを使用して、機能したバージョンまたは同様のバージョンをロールバックすることができます。また、おそらく datapoints エンドポイントを使用して、応答本文全体を取得でき、何も解析する必要がないようにすることもできます。
/v2/feeds/<feed_id>/datastreams/<datastream_id>/datapoints/<timestamp>.csv
非常に小さくする必要があるブートローダーでこれを実装する必要があると思います。おそらく、実際には HTTP ヘッダーのペアリングをスキップして、本体が正しく見えるかどうかだけを確認することができます (つまり、そこに入れたマジック バイトがある場合は、これは少し日和見的ですが、実験には問題ないかもしれません.おそらくこれにもXivelyデバイスプロビジョニングを追加する必要がありますが、すぐにすべてを実装しようとはしません.
ただし、信頼性の高いファームウェア アップデートを実装することは非常に困難であり、読むべき論文が数多く出回っています。デバイスの動作を可能な限り原始的にし、ロジックを避け、サーバーが指示したことに依存するようにすることを提案する人もいます。
ファームウェア文字列を実際に保存するには、cURL helperを使用できます。