【问题标题】:Load web content using STM32 WebServer使用 STM32 WebServer 加载网页内容
【发布时间】:2019-06-07 04:01:06
【问题描述】:

我正在使用STM32F405制作一个WebServer,以太网芯片是Wiznet的W5500。

Wiznet 提供了一个 HTTP WebServer 演示。但是,他们使用 sd 卡来加载网页内容。

我发现 Arduino WebServer 可以在不使用 SD 卡的情况下加载网页内容,它只需要在草图中添加一些 Arduino 代码。

所以问题是我的设备如何在没有 SD 卡的情况下加载网页内容。

顺便说一句,我正在使用 IAR。

【问题讨论】:

    标签: embedded webserver stm32 embeddedwebserver


    【解决方案1】:

    虽然您的问题在细节上有点低,但我猜您想在不访问文件系统的情况下从 C 代码内部提供页面。

    我建议你看看Bitty HTTP(无耻的插头)。我认为它接近你正在寻找的东西。它直接从 C 代码(无文件系统)提供页面,可以使用非标准套接字,并且不需要线程(不需要操作系统)。

    我查看了 W5500,它不适合使用 Berkeley 插座(尽管您也许可以添加它),因此您需要有一些可以在没有它们的情况下工作的东西。不幸的是,您需要将套接字写入 W5500 SPI 命令部分才能使其工作。

    您还可以查看其他嵌入式 Web 服务器。 libmicrohttpd(它自己是一个嵌入式 Web 服务器)有一个公平的其他嵌入式 Web 服务器列表。我认为您不会在那里找到任何适合您需求的东西,但值得一试。

    【讨论】:

    • 虽然 OPs 的问题相当模糊,但至少你把你的无耻插件作为一个伟大的项目,荣誉,我 +1 这个
    【解决方案2】:

    您的问题没有提供足够的信息,但据我了解,您正在尝试使用 POST 和 GET 请求从 HTTP 服务器获取数据。

    使用 SD 卡是有原因的,因为网络足够大,可以加载到控制器/处理器内存中。在 arduino 的情况下,您可能会看到一个示例,他们从本地服务器加载数据并且数据内容小到可以在 SRAM 中加载和存储内容。

    如果您要加载网页内容,其大小必须小于 SRAM 的大小,否则会产生内存溢出中断。最好的方法是使用 SD 卡和一些外部存储芯片。

    【讨论】:

      【解决方案3】:

      信息不足。如果您在谈论this demo,它使用ELM FatFS 库,该库可移植到任何媒体,只要有合适的块驱动程序。 STM32F4 闪存块结构并不能真正用作文件系统,除非它是只读的,然后您必须静态创建文件系统结构。

      为您的 STM32 添加 SD 卡支持很简单,而且可能更简单 - 该示例使用 SPI 接口,它比 SDIO 连接和编码要简单得多。该示例适用于 STM32F103 - 它与 STM32F405 之间可能存在细微差别,但我已经为两者编写了代码,并且相对容易移植。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-07
        • 1970-01-01
        • 2012-05-03
        • 2012-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多