Úvod
O TCPIP stacku fy Microchip jste se mohli dočíst v minulém díle. Jak už jsem uvedl, je zcela zdarma a jednoduchý webserver pro statické stránky je možné vytvořit během pěti minut. Právě něco takového si vytvoříme i my. Pro další práci předpokládám funkční a nainstalované následující komponenty:
- Vývojová DPS Explorer 16 – 100 pin s procesorem dsPIC33…
- MPLAB ICD 2
- Originální PICtal pro Ethernet
- MPLAB IDE a kompilátor MPLAB C30 Student Edition
- TCPIP stack
Pokud máte po ruce switch nebo router, a nebo i síťovou kartu s automatickou detekcí směru, můžete použít přiložený síťový kabel 1:1. V opačném případě, tedy pokud budete propojovat vývojovou desku přímo s PC běžnou síťovou kartou, použijte kabel křížený.
Předpokládám, že instalace a zprovoznění MPLAB IDE a kompilátoru C30 nebude činit nikomu problémy. Pouze upozorním, že před první kompilací je nutné nastavit v IDE přístupové cesty k souborům kompilátoru. Vývojovou desku Explorer 16 není nutné nijak zvlášť nastavovat. Pouze zasuňte Ethernetovou kartu do expanzního konektoru tak aby otvor pro kabel směřoval k LCD a karta byla zasunuta co nejblíže k „děrované oblasti“. (viz foto)
Popis instalace MPLAB ICD 2 a postup jak jej využít pro nahrávání je uveden v popisu produktu: http://hw.cz/produkty/art2626-mplab-icd-2.html.
Pokud by bylo něco z předchozího postupu nejasné, prosím vyjádřete se v diskusi pod článkem. Proto tam je.
První kroky se stackem
Při instalaci stacku se Vám na zvolené místo na disku rozbalil adresář s příklady. U mě je to například:
c:\Microchip Solutions\
My si do nějakého jiného adresáře zkopírujeme připravený příklad:
c:\Microchip Solutions\TCPIP Demo App
Tento příklad obsahuje jednoduchý webserver. Nastavení je možné provést manuálně v hlavičkových souborech, a nebo pomocí průvodce, který byl nainstalován spolu se stackem. My si nejprve ukážeme jak nastavit stack pomocí průvodcem a následně i to, který místa v hlavičkových souborech průvodce změnil.
Pro úplnost ještě dodávám, že je nutné zkopírovat také adresář Microchip obsahující některé knihovní soubory.
Obrázek 1: Spuštění průvodce nastavení TCPIP stacku
Obrázek 2: Výběr pracovního adresáře
Obrázek 3: Nastavení protokolů
Obrázek 4: Nastavení modulů
Obrázek 5: Povolení služeb
Obrázek 6: Nastavení síťových parametrů
Obrázek 7: Nastavení typu HTTP protokolu
Obrázek 8: Nastavení webového rozhraní
Obrázek 9: Nastavení souborového systému
Obrázek 10: Nastavení uložiště
Obrázek 11: Nastavení TCP - není pro nás důležité - nebudeme využívat
Obrázek 12: Nastavení UDP
Obrázek 13: Ukončení průvodce
V této chvíli ještě není ale projekt úplně nastaven. Zbývá určit, na jakém HW bude náš webserver provozován. Otevřete soubor projektu v MPLAB IDE:
TCPIP Demo App-C30.mcp
Editujte soubor HardwareProfile.h a odkomentujte definici: #define EXPLORER_16.Tím je určeno, že náš projekt bude využívat vývojovou desku Explorer 16.
V této chvíli stačí již projekt zkompilovat a nahrát. Po odpojení MPLAB ICD od vývojové desky můžeme zkusit, zda se lze z naším webserverem „domluvit“.
Obrázek 14: Vývojová deska nám odpovídá
Nastavení IP adresy, masky, výchozí brány a překladu adres lze nalézt v hlavičkové souboru TCPIPConfig.h:
#define MY_DEFAULT_HOST_NAME "MCHPBOARD" #define MY_DEFAULT_MAC_BYTE1 (0x00) #define MY_DEFAULT_MAC_BYTE2 (0x04) #define MY_DEFAULT_MAC_BYTE3 (0xA3) #define MY_DEFAULT_MAC_BYTE4 (0x00) #define MY_DEFAULT_MAC_BYTE5 (0x00) #define MY_DEFAULT_MAC_BYTE6 (0x00) #define MY_DEFAULT_IP_ADDR_BYTE1 (10ul) #define MY_DEFAULT_IP_ADDR_BYTE2 (100ul) #define MY_DEFAULT_IP_ADDR_BYTE3 (5ul) #define MY_DEFAULT_IP_ADDR_BYTE4 (2ul) #define MY_DEFAULT_MASK_BYTE1 (255ul) #define MY_DEFAULT_MASK_BYTE2 (0ul) #define MY_DEFAULT_MASK_BYTE3 (0ul) #define MY_DEFAULT_MASK_BYTE4 (0ul) #define MY_DEFAULT_GATE_BYTE1 (10ul) #define MY_DEFAULT_GATE_BYTE2 (100ul) #define MY_DEFAULT_GATE_BYTE3 (5ul) #define MY_DEFAULT_GATE_BYTE4 (1ul) #define MY_DEFAULT_PRIMARY_DNS_BYTE1 (10ul) #define MY_DEFAULT_PRIMARY_DNS_BYTE2 (100ul) #define MY_DEFAULT_PRIMARY_DNS_BYTE3 (5ul) #define MY_DEFAULT_PRIMARY_DNS_BYTE4 (1ul) #define MY_DEFAULT_SECONDARY_DNS_BYTE1 (0ul) #define MY_DEFAULT_SECONDARY_DNS_BYTE2 (0ul) #define MY_DEFAULT_SECONDARY_DNS_BYTE3 (0ul) #define MY_DEFAULT_SECONDARY_DNS_BYTE4 (0ul)
Nyní si zkusíme nahrát webové stránky. K tomu slouží utilita Microchip MPFT Generator. Stačí vybrat adresář s připravenými webovými stránkami a jedním kliknutím nechat vygenerovat obraz webu a nahrát jej do vybraného uložiště:
Obrázek 15: Generate and Upload ...
A výsledek:
Obrázek 16: Web na mikrokontroéru PIC
Odkazy & Download
- Katalogový list ENC28J60: http://ww1.microchip.com/downloads/en/DeviceDoc/39662c.pdf
- MCS TCP-IP Stack: http://ww1.microchip.com/downloads/en/DeviceDoc/Microchip%20TCPIP%20Stack%20v4.55%20Installer.zip
- Explorer 16 – 100 pinový: http://obchod.hw.cz/DetailPage.asp?CD=903111
- MPLAB ICD 2: http://obchod.hw.cz/DetailPage.asp?CD=903200
- PICtail Plus Ethernet: http://obchod.hw.cz/DetailPage.asp?CD=903175
- SPINET - modul rozhraní Ethernet-SPI : http://obchod.hw.cz/DetailPage.asp?CD=903592