Ethernet server using STM32F4-Discovery and SD card
It’s been a while since my last library on the web. I’m making ethernet library with TCP client and TCP server support using external PHYs (currently testing with DP83848, but it will support any PHY you want).
I have some troubles yet with code, so library is not prepared for download. It will be as soon as I made it clear and stable.
Library is available here.
Library key features:
- Currently support only for RMII interface with PHY and STM32F4 ETH interface
- Built on LwIP TCP/IP stack
- Support for TCP client and TCP server
- 4 TCP client connections at a time
- Built-in support for opening files from SD card or any other source
- Support to disable server access to IP address
- DNS support for receive IP from domain
- DHCP support for receive IP in your network
- Support for custom device name on router
- Support for callbacks with full control on your work
- Callbacks for client (when connected, disconnected, data available, create headers)
- Callbacks for server (new client connected to server, disconnected)
- Callbacks for DNS (DNS has started, DNS has found IP)
- Callbacks for DHCP (DHCP has IP for us, DHCP error)
- Callbacks for link status (Link down, link up)
- Support for dynamic MAC address
- Support for STATIC/DYNAMIC IP address
- Support for monitoring how many bytes we sent/received over client/server mode
- Enable/Disable server mode
- User selectable PORT for server
- Support for SSI tags and CGI handlers
- SSI: You can display variables from MCU (RTC clock for example, LEDs status, etc)
- CGI: You can control MCU from web (control leds)
- Support for POST request
- Support for TCP communication between 2 STM devices without router using crossover cable
- and more…
Currently, I have a working example on my home network, and it is also available on link below. Source code, which you see on site is located on SD card and is not loaded in flash memory of STM.
Preview does not work anymore, because library is available for download.
Waiting for you..