Shop OBEX P1 Docs P2 Docs Learn Events
embedded 802.11 — Parallax Forums

embedded 802.11

LoridanLoridan Posts: 12
edited 2007-06-29 19:19 in Propeller 1
All,

I have ordered a dev kit for the propeller because it is such an amazing chip at an amazing cost, and I have a rather lofty goal for it and dont really know where to get started. I would like to code a simple server on my computer that will transmit xml back and forth to the propeller chip wirelessly.

So here is what I know so far. I have an understanding of microcontrollers because I used to program the venerable 16f84 when I was in high school and college. I also have experience programming servers at a high level using sockets because I am a software developer, what I am missing is the enormous chunk of knowledge in between [noparse]:)[/noparse].

I guess I just need someone to give me an approach here, where do I begin? For instance, has someone already written a tcp/ip stack that will work on this chip? Is there any information on interfacing this chip with a pcmcia NIC? So far the best resource that I have come up with is a book called 'Implementing 802.11 with Microcontrollers' which is based on pic chips.

What is the best approach to getting xml wirelessly transmitted to this chip, or is this simply too much to ask of this chip?

Thanks in Advance,
Dorian

Comments

  • Harrison.Harrison. Posts: 484
    edited 2007-06-28 01:55
    The easiest route would be to get something like the WiPort or XPort which is a wireless/ethernet to serial converter that supports a special command set that allows you to perform tcp connections. Once the connection is engaged, you just write to the tcp socket via serial routines on your micro (in this case, a Propeller).

    There hasn't been many attempts at writing a tcp stack for the Propeller. I have written a very poor implementation of a enc28j60 ethernet chip driver + tcp 'stack' that supported udp send/receive, ping, arp reply/request, and a one packet http server (that also supported base64 decode for http authentication). The largest issue I encountered is that spin is a bit slow, which means there was a delay on how fast I could pump out packets and handle them. A 32byte ping required about 40ms round trip over 25 feet of cat5 cable and one switch. I am sure it's my poor coding since spin can't be that bad, but I simply don't have time to try to get it to work any better since I only needed to host a webpage with 8 buttons to control 8 devices.

    I can give you a copy of my source via PM if you would like it. I don't post it on the forums because I don't want it to be used in commercial purposes without being asked (hey, it took me 4 weeks to get working well). What I would really like is to start a Google Code project and have people help correctly implement the tcp stack.

    Harrison

    Post Edited (Harrison.) : 6/28/2007 2:02:47 AM GMT
  • sharpiesharpie Posts: 150
    edited 2007-06-28 04:56
    Speaking of the WiPort.... Does anyone have a good suggestion for adapting down the 2mm connector on the device to fit something like the demoboard, etc??
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-06-28 18:13
    I have been looking into the possibility of porting uIP v1.0 to the Propeller, but I haven't started this yet.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.

    Post Edited (Paul Baker (Parallax)) : 6/28/2007 6:18:40 PM GMT
  • LoridanLoridan Posts: 12
    edited 2007-06-28 22:21
    Let me say that I really appreciate everyones responses, especially the applications engineer himself; my hat goes off to you sir. I will let you all know if I come up with an application that is worth contributing. For the moment my package has arrived and I am busy chewing through the manual.
  • mirrormirror Posts: 322
    edited 2007-06-28 22:26
    I didn't even realise Harrison had done an ENC28J60 interface when I started mine. In any case mine currently does ARP, Ping (less then 3ms through 2 cables and 1 switch), and a half of UDP (It's not yet completed or debugged). I'm planning to release the code to the Object Exchange once I'm done, but that might be another month or two. It's to the point of validating my hardware design, but still needs some cleanup. The biggest reason for not using one of those serial interface devices is the transfer speed that's available if you do it yourself. Early indication is that I'll get about a 3.5Mbps (sustained) transfer rate between the Propeller and the Ethernet chip. The serial port devices seem to max out at about 900kbps.

    TCP/IP presents other challanges, but uIP is probably a reasonable starting point. However, I don't require TCP/IP for my application.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    It's not all that hard to count the number of grains of sand on the beach. The hardest part is making a start - after that it just takes time.·· Mirror - 15 May 2007
  • Harrison.Harrison. Posts: 484
    edited 2007-06-28 23:19
    Dang. I must have really screwed up since I only get about 44ms round trip ping on mine. Maybe its because I build the packet in the propeller onboard ram before sending it byte by byte to the enc28j60 chip.
  • JamesxJamesx Posts: 132
    edited 2007-06-29 19:19
    Sharpie

    You had asked about 2mm connector parts for the WiPort. I found some on Digikey for this same purpose. In the Digikey catalog, they're under "Vector Specialty prototyping
    boards," built by Vector Electronics & Technology, Inc.. There are four 2mm boards available: V1253-ND, V1254-ND, V1255-ND, and V1256-ND. The V1253-ND is strictly 2mm spacing, and the other three are combination inch-mm.

    Jim C
Sign In or Register to comment.