91780
Iotデバイス開発の初心者です。初歩的なご質問をお許しください。

SPRESENSEを用いて、音声を録音して録音したデータをSD内に保存することには成功したのですが  
AWSサーバ上にそのデータをアップロードできないかと考えています。

SPRESENSE公式のチュートリアルを見ると、MQTTでのメッセージをPublishすることは可能だということは  
分かっております。  
参考:<https://developer.sony.com/develop/spresense/docs/arduino_tutorials_ja.html#_aws%E3%82%B5%E3%83%BC%E3%83%90%E3%81%ABgnss%E4%BD%8D%E7%BD%AE%E6%83%85%E5%A0%B1%E3%82%92publish%E3%81%99%E3%82%8B>

動作環境:  
・SPRESENSE IDE版  
・SPRESENSE メインボード  
・SPRESENSE LTE拡張ボード  
・SIMカード  
・microSDカード

しかしながら、調べてみるとMQTTはファイルの送信には向かないようでなにか良い方法はあるかと行き詰っております。  
ご助言を頂きたいです。プロフェッショナルの方どうかお助け下さい。  
よろしくお願い致します。
CC BY-SA 4.0
2022-10-18T02:35:05.483
91658
2022-10-24T02:18:20.007
49229
question
spresense arduino
SPRESENSEを用いて録音した音声を、AWSサーバにアップロードしたい
MQTTは、ファイルを送ることもできますが、軽めのメッセージをやり取りすることを前提とした通信プロトコルだと思います。  
比較的大きいサイズのデータを送るような場合、別途HTTPなど別のプロトコルで転送する、という手法が一般的なようです。

ちょっと記事の趣旨が違っていますが、以下の記事など参考になるかと思います。

<https://aws.amazon.com/jp/blogs/news/securely-ingesting-large-sized-payloads-
from-iot-devices-to-the-aws-cloud/>
CC BY-SA 4.0
2022-10-24T01:46:37.930
91780
2022-10-24T01:46:37.930
44240
91658
answer
私も同様のことを試したくてこの１ヶ月ほど同基板を検証していますが、  
そもそも、

tools/config.py examples/audio_pcm_capture examples/lte_awsiot

というビルドの結果が、"Out of memory"というエラーを生じてしまっているが故に、  
オーディオとAWSIoTの同時使用は今のところ諦めています。

で、代替案としては、以下を全て満たすことでAWSへのファイル送信を実現しました。  
(1) Spresenseを"gs2200m"にてWi-Fi通信可能にする  
(2) Spresenseを"ftpc"にてFTPクライアント機能実装する  
(3) Spresenseを"mqtt_pub"にてMQTTパブリッシャー機能実装する  
(4) Wi-Fiでアクセス可能なFTPサーバーとMQTTブローカーを設置する  
(5) AWS-IoTを実装した別コンピュータから(4)の情報を取得してAWSへ送信する

私の手元では、(4)(5)をRaspberry Pi Zeroにて実装することでやりたいことをなんとか実現できました。

ご参考になれば幸いです。
CC BY-SA 4.0
2022-10-24T01:50:25.423
91781
2022-10-24T02:18:20.007
2022-10-24T02:18:20.007
54630
54630
91658
answer