## 演示功能概述 ### 1.1 HTTPSVR 文件管理系统概述 HTTPSVR 文件管理系统是一种基于Air8000模组的轻量级文件服务器解决方案,通过AP创建WiFi热点并提供HTTP服务,使用户可以通过浏览器方便地浏览、管理和下载设备内部存储及SD卡中的文件。 ### 1.2 系统工作原理 设备启动后,按下boot按键,自动创建AP热点,并初始化SD卡挂载。同时启动HTTP服务器,提供文件列表浏览、文件下载等功能。用户只需连接到设备的WiFi热点,通过浏览器访问指定IP地址,即可查看和管理设备中的文件。 ### 1.3 核心功能特性 - **任务控制**:通过默认配置和boot按键控制是否启停文件管理任务 - **热点创建**:设备自动创建名为`LuatOS_FileHub`的WiFi热点,供用户连接 - **SD卡管理**:自动挂载SD卡,支持浏览和下载SD卡中的文件 - **文件浏览**:通过浏览器查看设备内部存储和SD卡中的文件列表 - **文件操作**:支持文件浏览、下载和删除功能 - **用户认证**:提供简单的用户名密码认证机制,保护文件安全 本示例基于合宙 Air8000 模组,演示 **AP + 文件服务器** 的完整实现流程。用户连接到设备WiFi热点后,通过浏览器即可访问文件管理系统,实现文件的浏览和下载功能。 #### 1、系统控制方式 - **自动启动模式**:在task_control.lua中设置`AUTO_START=true`,系统开机后会自动创建AP热点、初始化SD卡并启动HTTP文件服务器 - **手动控制模式**:默认设置`AUTO_START=false`,通过短按boot按键(GPIO0)来控制系统的启动和停止 #### 2、初始化AP热点 使用 wlan.createAP() 创建WiFi AP热点,默认配置为名称"LuatOS_FileHub",密码"12345678"。 #### 3、SD卡初始化与挂载 - 配置SPI接口,初始化SD卡 - 将SD卡挂载到文件系统,挂载点为`/sd` - 检测SD卡可用空间,列出根目录文件 #### 4、启动HTTP服务器 - 配置服务器端口为80 - 实现文件列表、文件下载和删除等API - 支持直接文件URL访问和通过explorer.html界面操作 #### 5、文件访问路径映射 - 访问普通文件(如 `http://192.168.4.1/explorer.html/456.txt`)映射到内部存储 `/luadb/456.txt` - 访问SD卡文件(如 `http://192.168.4.1/explorer.html/sd/readme.md`)映射到SD卡路径 `/sd/readme.md` #### 6、安全认证机制 - 默认用户名:admin - 默认密码:123456 - 支持通过Cookie保持会话 - 支持通过URL参数进行一次性认证 #### 7、运行效果 - **WiFi创建成功**:手机/电脑可搜索到`LuatOS_FileHub`热点 - **服务器启动成功**:连接热点后访问`http://192.168.4.1/explorer.html`可进入文件管理界面 - **文件浏览**:可查看设备内部存储和SD卡中的文件列表 - **文件下载**:点击文件或通过直接URL可下载文件到本地 #### 8、快速上手 - **自动启动模式**:当 task_control.lua 中设置`AUTO_START=true`时,设备上电后会自动创建AP热点、初始化SD卡并启动HTTP文件服务器,无需手动操作 - **手动控制模式**:默认设置`AUTO_START=false`,设备上电后仅初始化按键功能,等待用户操作 **手动控制模式操作步骤:** 1. 烧录固件后上电,设备初始化按键功能,等待按键初始化完毕日志中会输出"系统已就绪,等待boot按键触发"的打印 2. 按下boot按键,设备自动创建WiFi热点并启动文件服务器 3. 使用手机或电脑连接到`LuatOS_FileHub`热点(密码:12345678) 4. 打开浏览器,输入`http://192.168.4.1/explorer.html`访问文件管理系统 5. 使用用户名`admin`和密码`123456`登录 6. 浏览文件列表,点击文件可直接下载 7. 再次按下boot按键可停止文件服务器服务 **自动启动模式操作步骤:** 1. 修改task_control.lua文件,将`AUTO_START`值设置为`true` 2. 烧录固件后上电,设备会自动初始化并启动所有服务 3. 使用手机或电脑连接到`LuatOS_FileHub`热点(密码:12345678) 4. 打开浏览器,输入`http://192.168.4.1/explorer.html`访问文件管理系统 5. 使用用户名`admin`和密码`123456`登录 6. 浏览文件列表,点击文件可直接下载 ## 演示硬件环境 1、Air8000开发板一块 2、配套天线一套 3、TYPE-C USB数据线一根 4、micro SD卡一张(可选,用于扩展存储) ## 演示软件环境 1、Luatools下载调试工具 2、[Air8000最新版本固件](https://docs.openluat.com/air8000/luatos/firmware/)(需确保固件版本≥V2015) ## 演示核心步骤 1、搭建好硬件环境,如果需要测试SD卡功能,需要选择开发板来测试。 2、确保explorer.html文件已烧录到设备中,这是文件管理系统界面的必要文件。 3、通过Luatools将本工程代码与固件烧录到Air8000开发板中 4、烧录完成后,给设备上电,观察串口日志确认系统正常启动 **两种启动模式效果说明:** - **手动控制模式**(默认AUTO_START=false):上电后系统仅初始化按键功能,日志显示"系统已就绪,等待boot按键触发",需要手动按下boot按键才会启动文件管理系统服务。 - **自动启动模式**(需修改AUTO_START=true):上电后系统会自动创建AP热点、初始化SD卡并启动HTTP服务器,无需手动按boot按键即可使用文件管理系统功能。 手动控制模式下的启动日志示例: ```lua [000000000.497] I/user.main 系统已就绪,等待boot按键触发 ``` 5、按下boot按键(GPIO0),启动文件管理系统。 ```lua 系统启动,创建AP: [000000000.434] I/user.main WIFI_AP_READ_FILE 001.000.000 [000000000.441] I/user.WIFI 创建AP热点: LuatOS_FileHub [000000000.496] I/user.执行AP创建操作 true 正常吗? AP创建成功,开始挂载SD卡: [000000000.511] I/user.SDCARD 开始初始化SD卡 [000000000.511] SPI_HWInit 552:spi1 speed 400000,400000,32 [000000000.512] I/user.sdcard_init open spi 0 [000000000.512] D/fatfs init sdcard at spi=1 cs=20 [000000000.678] D/SPI_TF 卡容量 15558144KB [000000000.678] D/SPI_TF sdcard init OK OCR:0xc0ff8000! [000000000.684] I/user.SDCARD 挂载SD卡结果: true [000000000.685] I/user.fatfs 可用空间 {"free_sectors":31098752,"total_kb":15549952,"free_kb":15549376,"total_sectors":31099904} [000000000.685] I/user.SDCARD SD卡初始化完成 SD卡挂载完毕,开始启动系统: [000000002.632] I/httpsrv http listen at 192.168.4.1:80 [000000002.632] I/user.HTTP 文件服务器已启动 [000000002.632] I/user.HTTP 请连接WiFi: LuatOS_FileHub,密码: 12345678 [000000002.633] I/user.HTTP 然后访问: http://192.168.4.1:80 ``` 6、在手机或电脑的WiFi设置中,搜索并连接名为`LuatOS_FileHub`的热点,密码为`12345678` 7、连接成功后,打开浏览器,在地址栏输入`http://192.168.4.1/explorer.html`,进入文件管理系统登录页面 8、输入默认用户名`admin`和密码`123456`,点击登录 9、登录成功后,即可查看设备内部存储和SD卡中的文件列表 10、点击文件列表中文件名后的 **`下载`** 或 **`删除`** 按钮,进行相应操作 11、也可以在地址栏直接输入文件URL(如`http://192.168.4.1/456.txt`)下载文件到本地 12、如需要访问SD卡中的文件,点击网页左上角的 `TF/SD目录` ,即可切换到SD卡目录中 13、在手动控制模式下,再次按下boot按键,可停止文件管理系统服务,日志会输出停止状态信息 ## 系统参数说明 ### AP参数 - SSID:LuatOS_FileHub - 密码:12345678 - 信道:6 - 最大连接数:4 - IP地址:192.168.4.1 ### 认证参数 - 默认用户名:admin - 默认密码:123456 - 会话超时:3600秒(1小时) ### HTTP服务器参数 - 端口:80 - 支持范围:文件浏览、文件下载 - 访问地址: ## 注意事项 1、本示例默认使用内部存储路径`/luadb/`和SD卡路径`/sd/`,请确保文件确实存在于对应路径 2、使用SD卡时,请确保卡片格式为FAT32格式,实测最大容量支持1T 3、确认LuatOS/script/libs扩展库目录下**explorer.html**文件烧录到设备中,否则**无法启动**SERVER服务器; 4、SD卡目录下文件夹名称不能为中文,否则会识别失败,无法下载文件夹中文件 5、如需修改WiFi名称、密码或认证信息,请修改`exremotefile.open()`配置文件中的相关参数 6、如遇到无法连接WiFi热点或访问文件系统的情况,请检查设备电源和固件是否正常