arduino wireless communications

I've seen several things about arduino and wireless communications, but I'm not sure what direction I need to go. I'd like some input...

I have a couple of wireless projects that I want to do. ( My setup will consist of a linux/pc for any control / recording things and
an arduino device mounted outside for the other things )

  1. talk to a arduino mega 2560 board that is using 48 output pins. Using the 48 output pins is imperative. I can't lose some of them
    in order to do wireless communications. I need to be able to send short packets of information - 1 to 8 bytes to the arduino and have
    it receive the 1 to 8 bytes and process them. I don't need any data back from the arduino. I can live with the arduino only getting
    10% of the data packets that I send... it would be nice to get a higher rate.. but I could live with a low success rate on the received
    packets as long as they were not corrupt. Basically... the program on the arduino will be doing the same things over and over again
    and I'd like to be able to send it 'suggestions' on what to do next... if it does not get all of the 'suggestions' I can live with that.

  2. talk to an arduino uno and receive data from the I/O pins. Mostly it will be getting data from sensors and sending the status to
    my pc. I don't need 'real time' data... so I could take 5 to 10 minutes of data and send the data to the pc every 5 to 10 minutes. I
    would like to get this data correctly. I'd like to be able to 'ack' the data so that the arduino knows I got the data and I can reset the
    data on the arduino and start a new data sample.

I was thinking about an ethernet shield connected to a wi-fi router for #1... but that seems like that might be overkill.

#2 seems like the ethernet shield and wi-fi router might do the trick... but it seems kludgy... and having a wi-fi router
outside in the rain seems like that might not be the best way to go.

What are the best ways to achieve my goals....

Thanks - jack

I like XBees for this sort of thing. Reliable, fast, easy to acquire, configure, and use, and shields are readily available, too (get the one in the standard shield shape, not the L shaped one). Series 1 models are for point to point. The series 2 are not better for point to point.

I quite like XBees for multi-node solutions, however if you already have a wifi network then it's cheaper and easier to go with a roving networks wifly RN-XV module and a seeedstudio XBee shield. You only need the one module instead of the two XBee modules you'd need to create a zigbee radio link.

Other XBee shields will work also with the wifly module. You can use the gpio pins on the module to make up for the pins it will use on the Arduino.

The Wifly module has an XBee compatible pin-out which is why you need an XBee shield, and you can communicate with it via a serial interface.

There is also a cheaper way with small transmitter /receiver pairs