TCP/IP stack
TCP/IP stack
Vad har man för nytta av en "TCP/IP stack" i en PIC ?
Kan man koppla en pic till ett nätverk o få den att visa upp en html-sida för "besökare" ?
Kan man koppla en pic till ett nätverk o få den att visa upp en html-sida för "besökare" ?
Tja, beror lite på vad du vill göra och hur du vill koppla den till nätverket.
Ett exempel som använder ett gammalt ISA-nätverkskort:
http://members.vol.at/home.floery/elect ... erver.html
Googla på "PIC web server" så hittar du fler...
Ett exempel som använder ett gammalt ISA-nätverkskort:
http://members.vol.at/home.floery/elect ... erver.html
Googla på "PIC web server" så hittar du fler...
Jodå, visst fungerar det! Om du hade tittat en extra gång i projektforumet innan du författade denna tråd så hade du sett Nu funkar det! (Delvis) FTP och TCP/IP stack på en PIC.
Det går bra att "hosta" websidor med en PIC eller för den delen en AVR, men man måste hålla sig till endast text och eventuellt bilder i väldigt litet format om man inte tycker det är en intressant utmaning att hänga på väldigt mycket extra minne till µC.
Det går bra att "hosta" websidor med en PIC eller för den delen en AVR, men man måste hålla sig till endast text och eventuellt bilder i väldigt litet format om man inte tycker det är en intressant utmaning att hänga på väldigt mycket extra minne till µC.
- JimmyAndersson
- Inlägg: 26651
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
Det går alldeles utmärkt att stoppa i en stack mm i en PIC. För tillfället har jag TCP/IP stack, UDP, ARP, ICMP, FTP och HTTP, Kommer som nästa steg att stoppa i SMTP också samt applikationsprogramvaran.
Hur stora sidor man kan ha beror på mängden minne man använder, för tillfället använder jag 2x512Kbit, dvs 128KByte minne för html.
Använder mig av en 18F8622 (48Kord) ROM.
Har förbrukat ungefär 20Kord av detta.
Om man tittar på PICDEM.Net, så får de plats med det mesta i en 18F452a, men inget mer och med häftig optimisering.
Ethernet, ja det är den gamla RTL8019 ISA kontrollern som jag använder, behöver inte mer än 10Mbit, då PIC'en inte klarar av mer.
Det går troligen inte använda nån modernare typ PCI kontroller, då ISA-Bussen ursprungligen var en 8-bitars buss och PCI är 16 bitar och det fungerar inte så bra med 8-bitars processorer.
I övrigt, det finns ett antal olika TCP/IP-stackar där ute, en del bra och en del mindre bra.
Själv satte jag mig ner och studerade de mest kända stackarna, Bla. Dunkels, uChips, Lean and Mean och några andra.
Tog det bästa principerna ur dem och skruvade ihop min egen.
Det har tagit sin lilla tid, mycket beroende på att komma runt div kiselfel hos PICarna, även fått "gamla" PICar levererade med gamla kiselfel som inte borde finnas längre (skapar mycket strul, tro mig, när det helt plötsligt beter sig helt annorlunda när man byter uP).
Samtidigt har diverse egenheter i min IDE kommit fram, då koden av uppenbara skäl är lite mer avancerad än en blinkande lampa.
Men sköj är det.
Innan jag påbörjade denna uppgift var mina senaste försök i skolan för en 20-25 år sedan då vi programmerade 6800 med hex och asm via ett hex-tangentbord, samt en ALPHA-LSI via strömbrytare och LEDar på fronten.
Har iofs gjort en del VB(A) applikationer också, men att börja med C var något helt nytt för mig, men det är uppenbart att man lär sig.
Hur stora sidor man kan ha beror på mängden minne man använder, för tillfället använder jag 2x512Kbit, dvs 128KByte minne för html.
Använder mig av en 18F8622 (48Kord) ROM.
Har förbrukat ungefär 20Kord av detta.
Om man tittar på PICDEM.Net, så får de plats med det mesta i en 18F452a, men inget mer och med häftig optimisering.
Ethernet, ja det är den gamla RTL8019 ISA kontrollern som jag använder, behöver inte mer än 10Mbit, då PIC'en inte klarar av mer.
Det går troligen inte använda nån modernare typ PCI kontroller, då ISA-Bussen ursprungligen var en 8-bitars buss och PCI är 16 bitar och det fungerar inte så bra med 8-bitars processorer.
I övrigt, det finns ett antal olika TCP/IP-stackar där ute, en del bra och en del mindre bra.
Själv satte jag mig ner och studerade de mest kända stackarna, Bla. Dunkels, uChips, Lean and Mean och några andra.
Tog det bästa principerna ur dem och skruvade ihop min egen.
Det har tagit sin lilla tid, mycket beroende på att komma runt div kiselfel hos PICarna, även fått "gamla" PICar levererade med gamla kiselfel som inte borde finnas längre (skapar mycket strul, tro mig, när det helt plötsligt beter sig helt annorlunda när man byter uP).
Samtidigt har diverse egenheter i min IDE kommit fram, då koden av uppenbara skäl är lite mer avancerad än en blinkande lampa.
Men sköj är det.
Innan jag påbörjade denna uppgift var mina senaste försök i skolan för en 20-25 år sedan då vi programmerade 6800 med hex och asm via ett hex-tangentbord, samt en ALPHA-LSI via strömbrytare och LEDar på fronten.
Har iofs gjort en del VB(A) applikationer också, men att börja med C var något helt nytt för mig, men det är uppenbart att man lär sig.
> men man måste hålla sig till endast text och eventuellt bilder i väldigt litet format...
Om bilderna inte genereras dynamiskt, så kan man låta html koden
tillsammans med det data som genereras dynamiskt (temp eller vad det nu är)
komma från PIC'en. Bilderna kan ligga någon annanstans och länkas in med
IMG-taggar som vanligt. Det blir även enkelt att dela bilder mellan
flera olika "PIC-noder". För användaren som tittar på web-sidan spelar
det naturligtsvis ingen roll *var* bilderna kommer från...
Om bilderna inte genereras dynamiskt, så kan man låta html koden
tillsammans med det data som genereras dynamiskt (temp eller vad det nu är)
komma från PIC'en. Bilderna kan ligga någon annanstans och länkas in med
IMG-taggar som vanligt. Det blir även enkelt att dela bilder mellan
flera olika "PIC-noder". För användaren som tittar på web-sidan spelar
det naturligtsvis ingen roll *var* bilderna kommer från...
Nu är det ju iofs inga problem att skriva en ide-driver och använda en vanlig hårddisk och lagra html-sidorna på, om man vill.> men man måste hålla sig till endast text och eventuellt bilder i väldigt litet format...
Om bilderna inte genereras dynamiskt, så kan man låta html koden
tillsammans med det data som genereras dynamiskt (temp eller vad det nu är)
komma från PIC'en. Bilderna kan ligga någon annanstans och länkas in med
IMG-taggar som vanligt. Det blir även enkelt att dela bilder mellan
flera olika "PIC-noder". För användaren som tittar på web-sidan spelar
det naturligtsvis ingen roll *var* bilderna kommer från...
Men å andra sidan, man använder nog inte en PIC-baserad http-server för att publicera sina högupplösande bilder, så minnes behovet är egenteligen inga större problem, däremot kan man utan problem bygga ihop en kamera och en PIC-server och på så sätt streama live-video om man vill.
Det största "problemet" med att använda en PIC är bristen på RAM, men ett antal vis personer löste problemet genom att använda förkompilerad html så man kan enkelt beräkna checksummor, paketstorlekar osv utan att ha direkt tillgång till html-sidan.
sodjan: 
Man skulle ju kunna göra tvärt om, att man har en webbsida som hämtar datan ifrån mikroprocessorn.
Vad tror ni om den här?
Jelu Web-Shop - ENC28J60 Ethernet Module

Man skulle ju kunna göra tvärt om, att man har en webbsida som hämtar datan ifrån mikroprocessorn.
Vad tror ni om den här?
Jelu Web-Shop - ENC28J60 Ethernet Module

-
thepirateboy
- EF Sponsor
- Inlägg: 2109
- Blev medlem: 27 augusti 2005, 20:57:58
- Ort: Borlänge
Nu fick jag lite inspiration till mitt projekt. Nu verkar det som demoprojektet funkar iaf, alltid något 
http://213.113.40.88
http://213.113.40.88
