質問: Spresense本体ボード+ LTE拡張ボードの構成で、SpresenseのFTPクライアントから、ネットワークサーバー上のFTPサーバへアクセス(ファイル書き込み、ファイル読み出し)を実現したいと考えています。 「Networkチュートリアル」には、「FTPサンプルアプリケーション」の実例が掲載されていますが、WiFi環境(IDY Wi-Fi Add-on Board iS110B搭載)が前提となっています。 そこで、このFTPサンプルアプリケーションをWiFi通信からLTE-M通信へ変更する方法を教えていただけないでしょうか。 LTE-M関連の設定は自己解決するとして、WiFiもLTEにはTCP/IP通信レベルで互換があると思うので、何かの設定などで実現できると助かるのですが。 「LTE-M経由でIoTデータをファイルサーバーへ定期的にUPしたい」、というのが最終目標です。
回答: 2つ目にいただいた回答の通り、lte_http_getをベースに、次の2つのコンフィグを有効にして、 "Application Coonfiguration" -> "Network Utilities" -> "FTP client" "Application Coonfiguration" -> "Examples"-> ”FTP client example" あと、追加でLTE daemonも有効にすることで、LTE-M経由でインターネット上のFTPサーバーへの通信(put/getとも)ができました! ただ、1つ課題が残っています。 ftpc "**.**.**.**" とIPアドレス直打ち(FTPサーバーのグローバルIPアドレス)では成功するのですが、ドメイン名(例:aaa.bbb.com)にて接続しようとするとエラーになって接続できませんでした。 nsh>ftpc nsh>ftpc aaa.bbb.com のどちらで実行してもエラーになります。 サンプル"lte_http_get"は、"http://www.example.com"のようにドメイン名指定で問題なく動作できているため、DNSサーバー設定(下記)はこのままでも良さそうに思えます。 +NETDB_DNSCLIENT=y +NETDB_DNSCLIENT_MAXRESPONSE=176 +NETDB_DNSCLIENT_NAMESIZE=255 +NETDB_DNSSERVER_IPv4ADDR=0x8080808 そこで、コンフィグレーションにてLTEデバッグを有効にしてエラー出力すると下記のように出力されました。 nsh> ftpc [ERR] getsockname_request:134 API command response is err :128. [ERR] 2343 altcom_getsockname() failed = -128 Failed to connect to the server: 9 FTPサーバー()へは、PCからアクセスできています(SSLなしです)。 何か設定が間違っているのでしょうか。それとも、SpresenseのFTP client sampleは、IPアドレス指定しか動作しないという制約があるのでしょうか。 (WiFi Add-on Boardを所有していないため、WiFi経由でFTP client + ドメイン指定にて動作確認はできていません。インターネット上のFTPサーバーのIPアドレスが変更されることがあるため、ドメイン名にてアクセスを実現したいです。