Toto je starší verze dokumentu!
Navrhněte zařízení využivajíci vlastní ethernet modul (STM32F4 + LAN8720A), sloužíci k zasílaní tzv. Magic paketu. Cílová adresa pro Magic packet bude nastavitelná pomocí HTTP rozhraní.
Cílem tohoto projektu je navrhnou vlastní ethernet modul pro STM32F4DISCOVERY desku. Tento ethernet modul musí být kompatibilní s oficiálním STM32F4-BB deskou. STM32F4 procesor bude prosloucht pro přeušení od tlačitka USER a po přijetí události odešle nastavený počet Magic paketů na broadcast dané počitačové síté ( nebo globální bradcast).
Pro konfiguraci bude FW obsahovat primitivní HTTP server s jedinou stránkou. Parametry budou předány metodou GET.
- Vývojový kit STM32F4DISCOVERY
Vlastní LAN 8720A ethernet shield:
Ethernet shield je zhotoven v domácích podnínkách na FR4 desku. QFN24 je zapájeno následujícím způsobem:
(TBD foto)
Základ projektu je vygenerován v prostředí STCubeMX. Zde jsou vybrány komponenty FreeRTOS a LwIP stack. Následně je základ projektu skompilován a doplěn o blikání diodou pro ověření kompilačniho a programovacího flow.
Utility:
Pro zprovoznění semihostingu je třeba mít OpenOCD verze alespň 0.10.0-dev-00419-gbcaf775.
Zařízení bude poslouchat na portu 80 a reagovat na následující dotazy:
GET / HTTP/1.1 (Ignore all nonempty lines)
GET /save?target=(MAC) HTTP/1.1 (Ignore all nonempty lines)
Příklad odpovědí:
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Content-Encoding: UTF-8 Content-Length: (length) (content...)
HTTP/1.1 404 Not found Content-Type: text/html; charset=UTF-8 Content-Encoding: UTF-8 Content-Length: (length) (content...)
HTTP/1.1 500 Internal server error Content-Type: text/html; charset=UTF-8 Content-Encoding: UTF-8 Content-Length: (length) (content...)
Pro parsing requestů bude použita knihovna SLRE (Regex parser) (https://github.com/cesanta/slre).
Magic packet typicky posílaný jako UDP na port 0,7 nebo 9. Struktura není pevně daná, paket musí obsahovat následující data (kdekoli v těle):
FF FF FF FF FF FF (target MAC)*16
Pro potřeby ladění je vhodné zapnout debug výpisy z LwIP stacku. Pro jejich povolení je třeba:
Pro první testování je vhodné zařízení připojeit přímo k počítači bez switche v cestě. Switche typu store-forward zahodí poškozené pakety.