使用 Web 浏览器读取系统时间、显示数据并从 USB 大容量存储写入配置数据 class
Using a web browser read system time, display data and write configuration data from a USB Mass storage class
我有一个嵌入式系统,其中 运行 有固件和大小为 79kB 的 USB 大容量存储器。因此,当您将设备插入任何计算机 (MAC/Windows) 时,它会弹出为 79kB 闪存驱动器。固件创建具有交易记录的文件。 objective 是将这些交易(表格和简单图形)显示给用户。我已经缩小到网络浏览器。因此用户(使用 MAC/Windows PC)可以插入 USB 设备大容量存储器并打开大容量存储器驱动器中的 HTML 文件,并以表格和简单条形图的形式查看所有交易。棘手的部分来了:设备(固件)需要更新它的时钟,这次输入必须来自 MAC/Windows PC。如何实现?
这是最低要求。此外,用户希望通过 Web 浏览器编写一些配置参数,例如通过 HTML 页面中的文本框和提交按钮。
注意:这里的设备有 USB 大容量存储类型,并且选择了 Web 浏览器方法,因此用户没有先决条件。
如果可以使用其他方法来完成此操作,请提出替代方案,例如class 的 USB 或 MAC/Windows desktop/laptop 上本地可用的其他应用程序。例如应用程序在 Mac 和 Windows 上都应 运行 即代码应该相同但可以构建到单独的包中,一个用于 Mac 另一个 (.exe) Windows。请为此建议一个具有相同来源但可以为 mac 和 windows 构建的平台。谢谢!
据我所知,Web 浏览器无法写入文件。如果这样的事情是可能的,那将是一个巨大的安全问题。
您必须编写一个本地软件来完成您命名的所有任务。这几乎可以用任何编程语言来完成,如果你正在开发嵌入式系统,我认为你必须有一些编程经验。
我正在考虑做类似的事情并且有一个想法,尽管您可能比我更适合运行。让定义包含一个名为 "SET_DATE" 的目录,其中包含文件 "YEAR15" 到 "YEAR99"、"MON01" 到 "MON12"、"DATE01" 到 "DATE31"、 "H00" 到 "H23"、"M00" 到 "M59"、"S00" 到 "S59" 和 "SET";每个这样的文件都应该从不同的扇区开始,尽管 none 有问题的扇区需要包含任何数据(它们不需要物理存储在任何地方)。要将日期设置为 2020 年 7 月 4 日 12:34:56pm,请按顺序阅读以下文件:
SET_DATE/YEAR20
SET_DATE/MONTH07
SET_DATE/DATE04
SET_DATE/H12
SET_DATE/M34
SET_DATE/S56
SET_DATE/SET
最后一次访问应该会导致设备设置其时钟。如果用户可能想多次设置时钟,可以通过在 SET_DATE 下设置一堆基本相同的目录来解决(因此第一次设置日期将使用 SET_DATE/00/YEAR20,第二次 SET_DATE/01/YEAR20,等等)and/or 有驱动器 unmount/remount 本身,如果需要清除任何缓存。
我认为让目录提取触发操作是不明智的,因为 Windows 或防病毒工具可能会决定在安装驱动器时预先缓存驱动器中的所有目录。但是,我不希望 Windows 或浏览器急切地加载文件,所以我认为可以读取访问触发操作。
我有一个嵌入式系统,其中 运行 有固件和大小为 79kB 的 USB 大容量存储器。因此,当您将设备插入任何计算机 (MAC/Windows) 时,它会弹出为 79kB 闪存驱动器。固件创建具有交易记录的文件。 objective 是将这些交易(表格和简单图形)显示给用户。我已经缩小到网络浏览器。因此用户(使用 MAC/Windows PC)可以插入 USB 设备大容量存储器并打开大容量存储器驱动器中的 HTML 文件,并以表格和简单条形图的形式查看所有交易。棘手的部分来了:设备(固件)需要更新它的时钟,这次输入必须来自 MAC/Windows PC。如何实现?
这是最低要求。此外,用户希望通过 Web 浏览器编写一些配置参数,例如通过 HTML 页面中的文本框和提交按钮。 注意:这里的设备有 USB 大容量存储类型,并且选择了 Web 浏览器方法,因此用户没有先决条件。
如果可以使用其他方法来完成此操作,请提出替代方案,例如class 的 USB 或 MAC/Windows desktop/laptop 上本地可用的其他应用程序。例如应用程序在 Mac 和 Windows 上都应 运行 即代码应该相同但可以构建到单独的包中,一个用于 Mac 另一个 (.exe) Windows。请为此建议一个具有相同来源但可以为 mac 和 windows 构建的平台。谢谢!
据我所知,Web 浏览器无法写入文件。如果这样的事情是可能的,那将是一个巨大的安全问题。
您必须编写一个本地软件来完成您命名的所有任务。这几乎可以用任何编程语言来完成,如果你正在开发嵌入式系统,我认为你必须有一些编程经验。
我正在考虑做类似的事情并且有一个想法,尽管您可能比我更适合运行。让定义包含一个名为 "SET_DATE" 的目录,其中包含文件 "YEAR15" 到 "YEAR99"、"MON01" 到 "MON12"、"DATE01" 到 "DATE31"、 "H00" 到 "H23"、"M00" 到 "M59"、"S00" 到 "S59" 和 "SET";每个这样的文件都应该从不同的扇区开始,尽管 none 有问题的扇区需要包含任何数据(它们不需要物理存储在任何地方)。要将日期设置为 2020 年 7 月 4 日 12:34:56pm,请按顺序阅读以下文件:
SET_DATE/YEAR20
SET_DATE/MONTH07
SET_DATE/DATE04
SET_DATE/H12
SET_DATE/M34
SET_DATE/S56
SET_DATE/SET
最后一次访问应该会导致设备设置其时钟。如果用户可能想多次设置时钟,可以通过在 SET_DATE 下设置一堆基本相同的目录来解决(因此第一次设置日期将使用 SET_DATE/00/YEAR20,第二次 SET_DATE/01/YEAR20,等等)and/or 有驱动器 unmount/remount 本身,如果需要清除任何缓存。
我认为让目录提取触发操作是不明智的,因为 Windows 或防病毒工具可能会决定在安装驱动器时预先缓存驱动器中的所有目录。但是,我不希望 Windows 或浏览器急切地加载文件,所以我认为可以读取访问触发操作。