FTPライブラリの使用手順は次のとおりです。
  1. SysSetWLANPower関数で無線LANを有効にし、SysWLANInit関数で無線LANを初期化します。
    サンプル
        SysSetWLANPower(SYS_WLAN_POWER_AUTO);
        SysWLANInit(NULL);
    

  2. SysGetWLANConnectStatus関数を呼び出して無線LANが接続されるまで待機します。その間Idle関数を呼び続ける必要があります。
    サンプル
        unsigned int waitStartTick;
    
        ...
    
        waitStartTick = GetTickCount();
        do{
            SysGetWLANConnectStatus(&status);
            if (status == SYS_WLAN_STATUS_CONNECTED)
                break;
            Idle();
        }while (GetTickCount() - waitStartTick < WLAN_CONNECTION_TIMEOUT);
        if (status != SYS_WLAN_STATUS_CONNECTED){
            // WLAN timeout error
            ...
    
        }
    

  3. FTP_Connect関数でFTPサーバに接続します。
    サンプル
        int ret;
    
        ...
    
        ret = FTP_Connect((char *)ftpHost, 21, FTP_PASV, ResponseCb);
        if (ret != M2M_SUCCESS){
            // Error
            ...
        }
    

  4. FTP_Command関数でユーザ名とパスワードを送信してログインします。
    サンプル
        ret = FTP_Command(FTP_CMD_USERNAME, (char *)ftpUsername, NULL);
        if (ret != M2M_SUCCESS){
            // Error
            ...
        }
        ret = FTP_Command(FTP_CMD_PASSWORD, (char *)ftpPassword, NULL);
        if (ret != M2M_SUCCESS){
            // Error
            ...
        }
    

  5. FTP_Command関数でパスとファイルタイプを指定します。
    サンプル
        ret = FTP_Command(FTP_CMD_CHPATH, (char *)ftpPath, NULL);
        if (ret != M2M_SUCCESS){
            // Error
            ...
        }
        ret = FTP_Command(FTP_CMD_TYPESET, "A", NULL);
        if (ret != M2M_SUCCESS){
            // Error
            ...
        }
    

  6. FTP_CreateRemoteFilename関数で送信ファイル名を生成します。(任意)
    FTP_Command関数でファイルを送信します。
    サンプル
        /* Create file names */
        memset(remoteName, 0, sizeof(remoteName));    // remoteName: Target file name
        memset(tempName, 0, sizeof(tempName));        // tempName:   Temporary file name
        ret = FTP_CreateRemoteFilename(FTP_NAME_TIME_NOID, uploadFile, remoteName, tempName);
        if (ret != M2M_SUCCESS){
            // Error
            ...
        }
        ...
        /* Upload a file with the temporary file name */
        ret = FTP_Command(FTP_CMD_PUT, (char *)uploadFile, tempName);
        if (ret != M2M_SUCCESS){
            // Error
            ...
        }
        ...
        /* Rename the file to the target file name */
        ret = FTP_Command(FTP_CMD_RENAME, tempName, remoteName);
        if (ret != M2M_SUCCESS){
            // Error
            ...
        }
    

  7. FTP_Command関数でファイルを受信します。
    サンプル
        ret = FTP_Command(FTP_CMD_GET, (char *)downloadFile, remoteName);
        if (ret != M2M_SUCCESS){
            // Error
            ...
        }
    
    

  8. FTP_Command関数でFTPサーバーからログアウトします。
    FTP_Finish関数でFTPクライアントを終了します。
    サンプル
        FTP_Command(FTP_CMD_QUIT, NULL, NULL);
        FTP_Finish();
    
    

  9. SysSetWLANPower関数で無線LANを無効にします。
    サンプル
        SysSetWLANPower(SYS_WLAN_POWER_OFF);
    

関連事項

最終更新日:2022/04/08