Using the Raspi as an Ethernet shield

[Alexandre] wanted to set up a web-based temperature logger with his Arduino, but found the Arduino Ethernet shield a little finicky. Since his Raspberry pi was just delivered, he figured he could use the Raspi as an Ethernet shield with just a little bit of coding.

After [Alexandre] set up his Arduino to send a thermocouple through the USB, the only thing left to do was to add node.js to the Raspi’s Debian installation. Every five minutes, the Arduino wakes up, takes a temperature reading, and sends it over to the Raspberry pi. From there, it’s easy parse the Arduino’s JSON output and serve it up on the web.

In the end, [Alexandre] successfully set up his Raspberry pi as an Ethernet shield to serve a web page displaying the current temperature (don’t F5 that link, btw). One interesting thing we have to point out is the cost of setting up this online temperature logger: the Arduino Ethernet shield sells for $45 USD, while the Raspberry pi is available for $35. Yes, it’s actually less expensive to use a Raspberry pi as an Ethernet shield than the current Arduino offerings. There you have it, just in case you were still on the fence about this whole Raspi thing.

Comments

  1. FozzTexx says:

    You say the Raspberry Pi is available for $35, but where? I haven’t seen them *available* anywhere except for 2 or 4 times that on eBay.

    • SpydaMonky says:

      You cannot buy a Raspberry Pi at the moment, they are on a HUGE waiting list and only when you are on top of the list you will receive a special code to access the store and order one…

      • alxy says:

        This is why the Raspberry Pi is such a turn off. As if the proprietary Broadcom chip wasn’t bad enough, the Raspberry Pi “foundation” could not have done a worse job on execution. Why does anyone need a UK-based foundation to distribute these devices which are all made in china? With that model, nobody will get their boards for the hyped price (or even close) in a reasonable amount of time.

        The allwinner devices are a lot more sensible. Made in china, sold by chinese (by normal channels) and for reasonable prices (never $25 or $35, but those prices are a marketing gimic). Nobody cares if these devices are not marked to some nonexistent “hacker community”, schools, or 3rd world countries. BTW, what country plays the biggest role in African development? You guessed it, China. The Raspberry Pi foundation is based more on hubris than practical thinking.

    • mark says:

      Then get on a wait list now. Then you won’t be making the same complaint in a month or two when you want one for your next project.

    • raidscsi says:

      By the time they actually have any to sell, their will be bigger, badder, faster, more open source alternatives…

  2. chrisbarlow says:

    Isn’t this more “using Arduino as a temperature sensor interface for Raspi”? Can the Raspi not read sensors like this directly?

    • pinkertron says:

      If I were a Raspi, I would be able to read sensors. It looks like he could have not had female connectors to plug into the Raspi’s io’s. Or maybe he just didn’t think about it?

    • Mike says:
    • hunternet93 says:

      I think the project uses thermisitors, meaning an analog value must be read. The RasPi doesn’t have any analog inputs (at least not available to use), so the Arudino (or an A/D of some sort) is required.

      • Bacchus says:

        There’s a “shield” on the stocks for the RPi with ADC/DAC called the “Gertboard”.

        The good thing or snag about the RPi is it’s so cheap and easy to do stuff with that you end up using it for tasks that could be said to be beneath it. I’m using mine as a print server at the moment due to a small accident involving a child, my old print server, and a can of fizzy drink. It took about 15 minutes to rig and works perfectly. The RPi is actually cheaper than the replacement USB->ethernet server, though this may just be the thieving nature of my fellow Brits.

        Don’t hold your breath for an RPi though – The software is a bit rough at the moment and doesn’t make best use of the GPU yet, amongst many other rough edges. It’s getting better pretty fast though.

      • John says:

        A ADC costs almost nothing and could be connected to the raspberry’s gpio pins.

    • shang says:

      ADC chips are cheap and easy to use. I know Linear has some pretty cheap and capable ones out there that use SPI, while Maxim sells some that are a bit more expensive that use I2C. Both will give you better resolution than the onboard ADC on the Arduino. You can even daisy chain them for more channels.

  3. Baron says:

    Most likely he uses the analogue in on the Arduino, ras pi only has digital inputs.

    Does scream out for a real IO sheild for the RasPi, should dominate the Arduino then.

  4. andrew says:

    The official Arduino Ethernet shield is incredibly overpriced. The RasPi is just evidence of that.

  5. rasz says:

    or you could use $24 WR703N (google shopping price, free shipping) + ATTINY (google “DS1820 to USB connector”) instead of UNOBTANIUM raspi

  6. NewCommentor1283 says:

    reeeally? cheaper? looks like eventually the arduino(IDE) will soon be centered(reworked but hopefully backwards compat) around the raspi.
    i think its safe to say at that point raspi will add dedicated analouge in and dedicated PWM out chips, or again, a shield.

    who knows, maybe arduino(IDE) will soon grow to include all (modern) uC’s like a modern version of SDCC
    (if im right, SDCC did all the popular uC’s of it’s day, just no built in uploader…)

    • Paul says:

      You speak as if software development magically happens merely because cheap hardware exists.

      Even if someone does support the Pi in the Arduino IDE (a pretty big “if”), that project would exist only as a fork or 3rd party add-on. The Arduino developers never publish the official IDE with support for any 3rd party boards, but they (try to) make an architecture which makes 3rd party boards possible.

    • Chris C. says:

      Not a chance.

      To take advantage of all the features on a really complex ARM chip like on the Pi, you really need Linux, drivers, and of course the closed-source binary code from Broadcom.

      You could still emulate an Arduino in Linux, or provide some Arduino-like environment. And it would run faster than a real Arduino. But not with absolute real-time response, and that is a fundamental difference that will break some code and hardware interfacing techniques.

      Also, consider that you can get a bare AVR chip in DIP package, slap it on a breadboard, and load the Arduino firmware. Then add a Microchip Ethernet IC, also in DIP. A few support components and you have Arduino with Ethernet on a breadboard for under $10. The Arduino and Pi still have their own niches.

      No need to complicate the Pi with extra features like analog and PWM, which may or may not be used, and will increase the size and base price. That can easily be added by the user, even without a shield; wire jumpers work just fine. There is an Arduino shield adapter in the works though. And the Arduino and Pi can work together to combine their abilities, as demonstrated in this article.

      Arduino has been ported to some Microchip and simple ARM uC’s. Which is good. But personally, I hope Arduino doesn’t evolve to providing a Linux target environment. I’m fundamentally opposed to renaming existing things for marketing purposes. It’s bad enough Arduino already has a significant number of people calling C programming “wiring”. If Linux folks start calling it that too, I’ll certainly go postal.

    • Ac says:

      I seriously doubt the Arduino team would change architecture, and I doubt RaspPi team will fork Arduino IDE.

      But I dont doubt someone else will get Arduino bootlader emulated on Pi… Which as already noted won’t run identically.

  7. Nuno.S.Almeida says:

    You can get ENC28J60 ethernet lan modules from ebay for $4 each if you buy 10 pcs.

  8. NeXTWay says:

    Using an entire Arduino is already a waste by itself (I use it to program my chips, then I make stand-alone board) but this is terrible; at least components-wise: the webpage is really nice and the project’s quite cool.
    Please, consider replacing your Arduino with a digital temperature sensor or I2C ADC + your current sensor.

    • Pat says:

      Who cares about how many components you use? The only two things that matter are the cost and power. Here, the raspi is cheaper, but it’s also *ludicrously* higher in power. The Ethernet shield is less than 1W, and the raspi is more like 3-3.5W.

      Not to mention that the raspi likely has a much, much longer time to initialize after power-on, so conserving power by periodically shutting down isn’t all that helpful.

      • Zac says:

        Oh no, it uses a *whopping* 3.5 watts. Better turn off all my appliances at the wall, wouldn’t want to be accused of wasting power!

      • veoserv says:

        Ludicrous is a bit of a strong word, don’t you think?

      • Pat says:

        3.5W is not a trivial amount of power. It is trivial if you’ve got wall power, and you only have one of them. It’s not trivial if you don’t, or have a bunch – and the RasPi doesn’t do POE, so unless you feel like running 5V to your device, 3.5W just to get Ethernet is a big power suck.

        And no, ‘ludicrous’ isn’t crazy. Heck, the Arduino’s ethernet shield – at ~1W – is fairly crazy for Ethernet connectivity on its own. 3.5W just to add Ethernet is insane.

  9. Alex Rossie says:

    Buy the Raspi from farnell in the UK and I assume any element14 store elsewhere.

    Since the Raspi has GPIO exposed you’d hope it’d be possible to just code for it now.

  10. Jarel says:

    Oh my. Can’t we ever have a discussion about the Raspberry Pi without fighting about it’s meaning?

    Let’s at least be organized about it!

    Issue 1: That Raspberry Pi sure is cheap, but I can’t gosh darn find it anywhere!

    Answer: It’s assumed that they’re going to make more considering that there’s a virtual “line around the block” for them. Be patient and stop whining. The “blogosphere” was a huge echo chamber for this product about a year before it was launched. You had your chance and you should learn to have realistic expectations. They likely won’t be cranking these out steadily until another year or so (if that).

    Issue 2: I think the Raspberry Pi will be a great tool for getting young people involved with computer science, applied mathematics, etc.!

    Answer: Let’s be real for a moment. The majority of the buyers (model B only, right now) seem to be from first-world countries. Here computers are very accessible already, so this is pretty much just a hobbyist’s toy for the time being. It won’t spark a revolution over here, but it should be making people question what it really means to “engineer” software in a world where there are fewer and fewer consequences for what I like to call “bad grammar” in programming caused by ignorance (brought to you by cheap computers); e.g. “Why bother learning C and assembly for AVR or PIC, when I can blink an LED in a scripted language on a Raspberry Pi?”

    Issue 3: The Pi will never get the Linux support it deserves without full documentation.

    Answer: This is simply not true. The BCM2835 datasheet has been out for almost 5 months now and while it’s abbreviated, it enough to build your own Linux kernel, write custom drivers for the peripherals onboard, and more. It’s very educational stuff. It’s not the whole enchilada, but then again, the core of the Raspberry Pi community wasn’t disillusioned by this product in the way the “blogosphere” was.

    Feel free to append my list (or correct it!) with common misunderstandings or plain stupid stuff you’ve heard about this thing. I figure I might at well say things out of my ass while everyone else is too.

  11. Reggie says:

    Not sure what addon the pi would need to rival an arduino, perhaps, a breakout board with an arduino on it….

    There is an add-on board coming, called gertboard, it uses an atmega328 chip, shock, horror, they really are adding an arduino to a pi, who would’ve ever imagined that ;) you could just add an spi io analog expander to the pi but really, why reinvent the wheel if you don’t need to?

    Lastly, I think there has already been some work on wiring pi, don’t think it’s in the IDE yet but it certainly has the look of arduino coding to it, as well as you being able to code in C for it, you can also bash script it too.

  12. emantos says:

    If I have to do the same project, I’d think of it in reverse. Instead of thinking of Raspberry Pi as arduino’s ethernet shield, I’d think of Arduino as the raspberry pi’s sensor measurement platform. Let the Pi do the logic (like waiting for 5 seconds and then querying the arduino for sensor data), not the other way around. In other words, make the arduino logic dumb, and putting the logic of your application in the Pi. Advantage? The Pi is easier to code in, you can do a lot more, and you relegate to arduino what it does best — be the low-level guy.

  13. NewCommentor1283 says:

    im glad my faulty opingion was met with real information. thank you. i stand corrected.

    … but its still a great price on an SBC you can program without cracking(reverse engineering) anything first :)

    • emantos says:

      This reminds me of an old usenet wisdom: If you want to gain more knowledge on a particular topic, just post a strongly worded, but wrong opinion, then start looking for replies that starts with the word “actually”. LOL.

  14. Angel5a says:

    It is useless. Use limited device with real cost about $60. Plewase don’t forget about shipping and taxes.
    TP-link WR703N cost $22 and have WiFi (PandaWill, eBay, AlyExpress, etc) with shipping.
    ENC28J60 modules cost $10 (eBay) with shipping.

  15. problemchild68 says:

    At this point isn’t this just a Raspberry Pi with an Arduino attached?

    We already did that ages ago.

    and I’m sure I’m not the only one.

    With regards to the Arduino IDE we had that all going working and pushing code to an Arduino from the ‘Pi and was demonstrating it to the masses at the Derby Mini-maker fare.

    Let’s start making stuff with the HW rather than saying it will be good when they all sort it !!

  16. jsiklosi says:

    Yup I agree with Angel5a TP-Link WR703N with OpenWrt installed is cheapest solution you get wifi and ethernet for 23usd http://www.dealextreme.com/p/tp-link-703n-ultra-mini-portable-3g-802-11b-g-n-150mbps-wifi-wireless-router-light-blue-white-102903?r=89918554 … and you can also install lighttpd and php and have a lot of fun :)

  17. Brad Krug says:

    interesting to read these old “Raspi suks! will never be popular! comments. 12 months later, my employer has bought over 750 of them and we have plans to quadruple that in the next quarter, all running Raspian. I initially ordered one personally, curious to see what the fuss was all about. I’m now on my tenth, all going strong doing jobs around the home. Haven’t used any arduino kit since then and I was *hardcore* ATmega. RasPisare now made in UK, with double initial ram for the same price :/ it seems I was a fool to doubt and criticise them

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,322 other followers