Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2015:http-sd

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2015:http-sd [2015/12/28 18:04]
Dmytro Kasianenko
2015:http-sd [2016/01/18 12:23] (aktuální)
Dmytro Kasianenko [Realizace. Server]
Řádek 5: Řádek 5:
  
 ======== Úvod ====== ======== Úvod ======
-Vývojové deska připojena přes Ethernet. Na web-stránce (10.42.0.2) je vytvořen seznam souborů a složek a je možnost ​stahnout ​nebo nahrat ​soubory na SD-kartu. Projekt se skladá ​severové ​a klientské časti. Server (na desce) ​troří webovu strankuposíla ​požadavky klientu pro stahováni nebo nahrvání ​souborů. Klient ​posíla ​nebo přijíma ​soubory.  ​+Vývojové deska připojena přes Ethernet. Na web-stránce (10.42.0.2) je vytvořen seznam souborů a složek a je možnost ​stáhnout ​nebo nahrát ​soubory na SD-kartu. Projekt se skládá ​serverové ​a klientské části. Server (na desce) ​tvoří webovou stránkuposílá ​požadavky klientu pro stahováni nebo nahrávání ​souborů. Klient ​posílá ​nebo přijímá ​soubory.  ​
 ---- ----
 ======== Software ====== ​ ======== Software ====== ​
-Pro realizace projektu je použit compiler [[https://​developer.mbed.org/​|mbed]] a knihovny pro práce z sockety a SD-karty pro severovu ​čast a g++ pro klientskou čast.  +Pro realizace projektu je použit compiler [[https://​developer.mbed.org/​|mbed]] a knihovny pro práce z sockety a SD-karty pro serverovou ​část a g++ pro klientskou část.
----- +
-======== Zadání ====== +
-Realizujte zápis a čtení souborů z SD-karty přes Ethernet s použitím vývojové desky FRDM-K64F. Využijte protokol HTTP a jeho požadavky GET a PUT. Pro přístup k souborům na kartě vytvořte jednoduchou webovou stránku (listing). +
- +
----- +
- +
-======== Úvod ====== +
-Vývojové deska připojena přes Ethernet. Na web-stránce (10.42.0.2) je vytvořen seznam souborů a složek a je možnost stahnout nebo nahrat soubory na SD-kartu. Projekt se skladá z severové a klientské časti. Server (na desce) troří webovu stranku, posíla požadavky klientu pro stahováni nebo nahrvání souborů. Klient posíla nebo přijíma soubory. ​  +
----- +
-======== Software ======  +
-Pro realizace projektu je použit compiler [[https://​developer.mbed.org/​|mbed]] a knihovny pro práce z sockety a SD-karty pro severovu čast a g++ pro klientskou čast+
 ---- ----
 ======== Realizace. Server ====== ​ ======== Realizace. Server ====== ​
-Úplný kód [[http://​pastie.org/​10657347|zde]].+Úplný kód [[http://​pastie.org/​10693300|zde]].
 ===== Webová stránka ===== ===== Webová stránka =====
 Je puštěn jednoduchý web-server, který odpovídá na požadavky prohlížeče HTML-stránkou,​ která se generuje na základě obsahu SD-karty. Je puštěn jednoduchý web-server, který odpovídá na požadavky prohlížeče HTML-stránkou,​ která se generuje na základě obsahu SD-karty.
Řádek 63: Řádek 52:
 } }
 </​code>​ </​code>​
 +----
 ===== Dowloading ===== ===== Dowloading =====
 Kliknutím na odkaz prohlížeč generuje GET-požadavek ​ Kliknutím na odkaz prohlížeč generuje GET-požadavek ​
Řádek 71: Řádek 61:
 {{ :2015:2.png |otázka}} {{ :2015:2.png |otázka}}
 posílá požadavek ''​PUT <Jméno souboru>''​ a posílá soubor klientovi (funkce ''​dowloading''​). posílá požadavek ''​PUT <Jméno souboru>''​ a posílá soubor klientovi (funkce ''​dowloading''​).
 +----
 ===== Uploading =====  ===== Uploading ===== 
-Pomoci formy je možně ​nahrat ​soubor:+Pomoci formy je možně ​nahrát ​soubor:
 {{ :​2015:​3.png?​nolink |form}} {{ :​2015:​3.png?​nolink |form}}
 Po výběru souboru prohlížeč pošle serveru GET-požadavek:​ Po výběru souboru prohlížeč pošle serveru GET-požadavek:​
Řádek 78: Řádek 69:
 Server z toho dostane jméno souboru (funkce ''​get_file_name''​ a ''​del_file''​) a pomoci funkce ''​uploading''​ pošle klientu požadavek ''​GET <Jméno souboru>''​ a bude čekat soubor. Server z toho dostane jméno souboru (funkce ''​get_file_name''​ a ''​del_file''​) a pomoci funkce ''​uploading''​ pošle klientu požadavek ''​GET <Jméno souboru>''​ a bude čekat soubor.
 Klient taky dostane jméno a pošle soubor serveru. Klient taky dostane jméno a pošle soubor serveru.
 +----
 ==== Jíné funkce ==== ==== Jíné funkce ====
   * ''​cleaning''​ - čištění proměnných   * ''​cleaning''​ - čištění proměnných
   * ''​add_to_html''​ - přidání řádků do HTML-stránky   * ''​add_to_html''​ - přidání řádků do HTML-stránky
   * ''​going_up''​ - jít nahoru ve systému souborů   * ''​going_up''​ - jít nahoru ve systému souborů
-  * ''​url_decode''​ - dekodování ​URL-adres+  * ''​url_decode''​ - dekódování ​URL-adres 
 + 
 +----
 ======== Realizace. Klient ====== ​ ======== Realizace. Klient ====== ​
 Úplný kód [[http://​pastie.org/​10657458|zde]]. Úplný kód [[http://​pastie.org/​10657458|zde]].
  
-Na základě požadavků ze serveru klient hledá, ​posilá ​nebo dostavá ​soubory.+Na základě požadavků ze serveru klient hledá, ​posílá ​nebo dostává ​soubory.
   * Při požadavku ''​FND <Jméno souboru>''​ klient hledá soubor ve složce a posílá '​1'​ když soubor soubor je nalezen nebo '​0'​ když není.   * Při požadavku ''​FND <Jméno souboru>''​ klient hledá soubor ve složce a posílá '​1'​ když soubor soubor je nalezen nebo '​0'​ když není.
   * Při požadavku ''​PUT <Jméno souboru>''​ otevírá soubor a zapisuje přijaté data do něho. ​   * Při požadavku ''​PUT <Jméno souboru>''​ otevírá soubor a zapisuje přijaté data do něho. ​
-  * Při požadavku ''​GET <Jméno souboru>''​ posílá soubor ​klientoví.+  * Při požadavku ''​GET <Jméno souboru>''​ posílá soubor ​klientu. 
 **Obecné řešení odesílání souborů:** **Obecné řešení odesílání souborů:**
 <code cpp> <code cpp>
Řádek 108: Řádek 103:
 } }
 </​code>​ </​code>​
 +====== Video demostrace ======
 +  - Přechod mezi složky
 +  - Uploading urldecode.out do složky /sd/mydir
 +  - Uploading 2.png
 +  - Downloading tpy.cpp
 +  - Downloading urldecode.out
 +{{youtube>​D0202I0p_mY?​medium}}
 +====== Závěr ======
 +Cíle projektu byly dosaženy: lze stahovat a nahrávat soubory přes webové rozhraní. Ale je možnosti rozšířit ho funkčnost, například sledovat stav sítě a opakovat předávání souboru za jeho přerušení,​ nebo používat bezdrátový spoj atd.
2015/http-sd.1451322241.txt.gz · Poslední úprava: 2015/12/28 18:04 autor: Dmytro Kasianenko