Is now the right time for a raspberry pi model B?

I've seen some comments on some websites regarding the stability of the model B with 512MB memory. I wonder if someone has some experience with it and whether you consider it safe to purchase. I don't want to end up paying for a platform in development but want to has at least some stability and reliability. Thanks.

Given the R-pi has been out for a year or so, I imagine so. Frankly I haven't powered mine on for a long time, so I can't say how stable they are. You might want to read the R-pi forum to see what types of questions come up: http://www.raspberrypi.org/phpBB3/

liudr: I've seen some comments on some websites regarding the stability of the model B with 512MB memory. I wonder if someone has some experience with it and whether you consider it safe to purchase. I don't want to end up paying for a platform in development but want to has at least some stability and reliability. Thanks.

I have three of the 512MB and one original 256MB model B's. They are all on my network via usb wifi modules like http://www.adafruit.com/products/814, and I log in headless via ssh. I am running the latest Debian distribution, Raspbian "Wheezy" from here http://downloads.raspberrypi.org/images/raspbian/2013-02-09-wheezy-raspbian/2013-02-09-wheezy-raspbian.zip

My reason for adopting the platform was to get past the frustration associated with using the Arduino platform to do anything network related that was more ambitious than the simple examples that ship with Arduino. The Raspberry Pi is fundamentally different from Arduino in that it runs a mature operating system, Linux, with all the software support that implies. I build simple shields with an Atmega 328 chip + peripherals to take care of the real time data acquisition and transfer the data serially to the Pi to take care of computation and display.

Thanks guys. Out of impulsive shopping I pushed the button. Now it seems a decent choice. Thanks for the Debian link Papa G. I will need to learn linux somewhere so maybe I learn it with raspberry pi :)

liudr: Thanks guys. Out of impulsive shopping I pushed the button. Now it seems a decent choice. Thanks for the Debian link Papa G. I will need to learn linux somewhere so maybe I learn it with raspberry pi :)

You're welcome! Surely you haven't escaped Unix in your university environment. It's quite similar. You'll pick it up quickly.

You'll find working with Apache, a real web server, far more satisfying than with Arduino.

I am a kind of "hammering a refrigerator yourself" kind of guy. I don't mind doing all the ground work as long as it suits me :) On the other hand, I can certainly use established web servers. I am going to have to learn or relearn perl, am I? I hate its syntax, sux.

liudr: I am a kind of "hammering a refrigerator yourself" kind of guy. I don't mind doing all the ground work as long as it suits me :) On the other hand, I can certainly use established web servers. I am going to have to learn or relearn perl, am I? I hate its syntax, sux.

All the gcc tools are available for the Pi. You don't have to use Perl. I use and like Python in addition to C/C++.

I remember first second year grad school I took a networking course and did an FTP server on Unix with C/C++ compiling code with gcc. So I would be able to call branch() again?! :astonished: After that the course turned out to be not that much fun when the professor bent backwards to help those weaklings (senior undergrads that apparently don't know jack about programming) to pass the course by throwing away project 2 and turning final exam into all bs no programming. Only course outside my main area I didn't get an A from. And the only real thing I remembered was the programming part.

MichaelMeissner:
Given the R-pi has been out for a year or so, I imagine so. Frankly I haven’t powered mine on for a long time, so I can’t say how stable they are. You might want to read the R-pi forum to see what types of questions come up: http://www.raspberrypi.org/phpBB3/

Thanks. Registered. Now I’m known as liudr on raspberry pi forum :slight_smile:

liudr:

MichaelMeissner: Given the R-pi has been out for a year or so, I imagine so. Frankly I haven't powered mine on for a long time, so I can't say how stable they are. You might want to read the R-pi forum to see what types of questions come up: http://www.raspberrypi.org/phpBB3/

Thanks. Registered. Now I'm known as liudr on raspberry pi forum :)

Good. I'm Papa G there as well.

There's an interesting article about using ATTiny 44/84 with the Raspberry Pi in this month's MagPi, http://www.themagpi.com/en/issue/13 as well as a review of "Raspberry Pi for Dummies"(Grumpy_Mike collaboration).

Thanks Papa G. I couldn't find if there is C programming and how to set up make file etc. on that book.

liudr: Thanks Papa G. I couldn't find if there is C programming and how to set up make file etc. on that book.

While a lot of people in R-pi land seem to gravitate towards python (which I have never embraced because of syntactic issues). Other interpreters like perl/tcl/tk/etc. are there if you want them. I believe Java is available also. You can use C/C++/Fortran to write programs as well. If your program is time critical, you should be writing in a compiled lanugages and not an interpreted language anyway. Any book on Linux should have the details if needed, it doesn't have to be R-pi only.

Note, if your only experience with c/c++ is through the Arduino IDE, under Linux, you don't have the Arduino IDE doing things behind your back, like adding declarations for all of your functions. You will need to have proper declarations before the first use.

liudr: Thanks Papa G. I couldn't find if there is C programming and how to set up make file etc. on that book.

Maybe the co-author can comment on that. I haven't bought it because I'm past its intended audience. May pick it up just to support Grumpy_Mike though.

You're better off with a text covering gcc C/C++ for that though, in my opinion. If you have done any Atmel programming from the command line, you already know a lot of what you need.

MichaelMeissner: If your program is time critical, you should be writing in a compiled lanugages and not an interpreted language anyway. Any book on Linux should have the details if needed, it doesn't have to be R-pi only.

As always, time critical is relative. Interpreted Python can run faster on an RPi than compiled on an Arduino. For example, the Rpi has floating point hardware and uses it.

I think the biggest advantage of the RPi over Arduino is any application that uses a network or the Internet. I am a huge fan of both platforms when they are used together to exploit their strengths.

I am trying to take advantage of both: pi as a full internet ready small scale computer and arduino as a real time system with infinite sensors/hardware and library support. Here is what I am exploring:

http://forum.arduino.cc/index.php?topic=169910.0

I might test the water over the summer break with just serial port and move on to ethernet hardware. My point is to not reinvent all libraries that are already working on Arduino but rather develop remote procedure call to call these libraries remotely.

You have uart, i2c, and spi to exhaust before you you will need to try ethernet. That should keep you busy for a while. :)

Ethernet promises longer distance calls so you can easily expand to a real distributed system :)

liudr:
Ethernet promises longer distance calls so you can easily expand to a real distributed system :slight_smile:

So if I understand what you are suggesting, you want to be able to call remote Arduino procedures from a pc/RPi using some sort of routable protocol and using a syntax that is essentially the same as if you had called it from the Arduino itself. For example, in your pc/RPi program you would declare the Arduino procedures as external and it would just work. That sounds like a pretty ambitious project but as someone mentioned, the protocol may already exist.

If I were doing it, I would still tightly couple an RPi to an Atmega at each remote location and use the Pi for the Ethernet interface. I have permanently given up on Arduino with respect to Ethernet/wifi.

Yes, that IS what I wanted to do. I read online that there are code gens for constructing server and client stub codes that sends and receives serialized or stringified parameters and return values so all you need to do is to supply the server's class def. That of course is for full-size computers. I might want to do something a lot smaller scale so an UNO with 2K ram can handle. I think if I succeed, I will be able to create intelligent nodes that can respond to requests and perform physical computing, parallel to internet servers that mostly just move their hard drive headers for any type of requests ;) My goal is to avoid rewriting existing libraries on Arduino but rather provide a remote way to invoke them. Lots of time critical things CANNOT be done this way, say if you want to drive a sonic ranger by remotely triggering its pulse and timing the delay for ranges, you can't put up with the variable delays of internet. But if you make classes such as sonic rangers, you can tell Arduino to range and that range process is atomic, or done in one batch, so the time-critical pulse timing from the ranger is done right.

As far as I know the arduino ethernet shield seems pretty stable. I have no experience with it so I hope it will be able to stay on for weeks or months at a time and accept connections from various places.

So if you use arduino + pi combo, then do you have to rewrite arduino library or create your own protocol to tell arduino what to do?