main.lua 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. -- LuaTools需要PROJECT和VERSION这两个信息
  2. PROJECT = "ftpdemo"
  3. VERSION = "1.0.0"
  4. --[[
  5. 本demo需要ftp库, 大部分能联网的设备都具有这个库
  6. ftp也是内置库, 无需require
  7. ]]
  8. sys.taskInit(function()
  9. -----------------------------
  10. -- 统一联网函数, 可自行删减
  11. ----------------------------
  12. if wlan and wlan.connect then
  13. -- wifi 联网, 支持Air8101
  14. local ssid = "luatos1234"
  15. local password = "12341234"
  16. log.info("wifi", ssid, password)
  17. wlan.init()
  18. wlan.setMode(wlan.STATION)
  19. wlan.connect(ssid, password, 1)
  20. local result, data = sys.waitUntil("IP_READY", 30000)
  21. log.info("wlan", "IP_READY", result, data)
  22. device_id = wlan.getMac()
  23. -- TODO 获取mac地址作为device_id
  24. end
  25. -- -- 打印一下支持的加密套件, 通常来说, 固件已包含常见的99%的加密套件
  26. -- if crypto.cipher_suites then
  27. -- log.info("cipher", "suites", json.encode(crypto.cipher_suites()))
  28. -- end
  29. while true do
  30. sys.wait(1000)
  31. log.info("ftp 启动")
  32. log.info("ftp Air8101 Start ...")
  33. --print(ftp.debug(on))
  34. print(ftp.login(nil,"121.43.224.154",21,"ftp_user","3QujbiMG").wait())
  35. --空操作,防止连接断掉
  36. print(ftp.command("NOOP").wait())
  37. --报告远程系统的操作系统类型
  38. print(ftp.command("SYST").wait())
  39. --设置 FTP 数据传输类型
  40. print(ftp.command("TYPE I").wait())
  41. -- 显示当前工作目录名
  42. print(ftp.command("PWD").wait())
  43. --创建目录
  44. print(ftp.command("MKD QWER").wait())
  45. --改变当前工作目录
  46. print(ftp.command("CWD /QWER").wait())
  47. -- 返回上一层目录
  48. print(ftp.command("CDUP").wait())
  49. -- 删除目录
  50. print(ftp.command("RMD QWER").wait())
  51. -- 获取当前工作目录下的文件名列表
  52. print(ftp.command("LIST").wait())
  53. -- 向文件写一段测试数据,打印日志检查是否一致
  54. -- io.writeFile("/12222.txt", "23noianfdiasfhnpqw39fhawe;fuibnnpw3fheaios;fna;osfhisao;fadsfl")
  55. -- print(ftp.push("/12222.txt","/12222.txt").wait())
  56. --FTP 文件下载 本地文件名1222.txt, 服务器端文件名1222.txt
  57. print(ftp.pull("/122224.txt","/122224.txt").wait())
  58. --读取文件 并打印输入文件内容数据
  59. local f = io.open("/122224.txt", "r")
  60. if f then
  61. local data = f:read("*a")
  62. f:close()
  63. log.info("fs", "writed data", data)
  64. else
  65. log.info("fs", "open file for read failed")
  66. end
  67. --删除FTP服务器端文件
  68. print(ftp.command("DELE /12222.txt").wait())
  69. --FTP上传文件 本地文件名122224.txt, 服务器端文件名12222.txt
  70. print(ftp.push("/122224.txt","/12222.txt").wait())
  71. --关闭FTP连接
  72. print(ftp.close().wait())
  73. log.info("meminfo", rtos.meminfo("sys"))
  74. sys.wait(15000)
  75. end
  76. end)
  77. -- 用户代码已结束---------------------------------------------
  78. -- 结尾总是这一句
  79. sys.run()
  80. -- sys.run()之后后面不要加任何语句!!!!!