1

I'm currently weighing my options to build a semi-industrial outdoor device, which is aimed to do some signal processing from 4 inductive loops which have been laid in the ground to detect vehicle motion on them. The device (or a module within it) should also be capable of transmitting gathered data to a command and control and monitoring server over GPRS/EDGE/3G network. Volume of data is quite low, but always-on connectivity is crucial. I have good experience with GPRS modules from earlier projects.

I'm quite familiar with Linux, networking and C, C++ and Python software development, but new in RPi world. I have a colleague to take care of the electronics part.

Power is not an issue in this project, although it would be good to know that the device can run from battery-backed solar cells if time comes.

My question is how suited is RPi for this task, and what is the optimal road I should head into to get there the fastest.

I'm particularly interested in necessary peripherals, hardware design, reusable components, similar projects and helpful tips and resources.

closed as primarily opinion-based by Piotr Kula, lenik, syb0rg, SteveIrwin, finnw Dec 18 '13 at 15:40

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • If I may. I would suggest trying to get the Pi working with some 3G modem. See if its stable and how easy it is to connect to the network. Install MySQL or whatever other DB and try to send data with a simple software to your command centre for testing. If you run into any problems- That would be a specific problem and the answers would be more concise! – Piotr Kula Sep 3 '13 at 10:17
  • 1
    thanks for great info. I'm currently only considering Pi and it's functionality/reliability, and the thing most interesting to me is that are there any similar projects which are accomplished successfully. I've done the data transfer before, and now I'm particularly lost about the hardware interfacing part. The signal processing would need quite a lot number processing and as you said best to run on Pi, but I ADC should be done on a separate piece of hardware. – zaadeh Sep 3 '13 at 10:33
  • Yes - The Pi is very capable at crunching numbers. But its not reliable at using GPIO. Using an external I2C IO expander with ADC is another option instead of Arduino. – Piotr Kula Sep 3 '13 at 10:50
  • That's the kind of answer I'm looking for ;) I accept it if you post it. also would you elaborate more on arduino option? – zaadeh Sep 3 '13 at 10:58
1

You are asking a very broad question. The Pi, as @lenik describes it is just a thing made to experiment with. It is great but also rubbish. In order for it to be reliable you might have to use some extra things with it.

If you thinking off running this on off a battery or solar power. Just forget it. The Pi is not optimized for power efficiency like that!

  • A proper regulated power supply for long lasting performance
  • A real time Atmega microcontroller for the Pi with various I/O and clock.
  • 3G mode uses allot of power and takes very long to initialise. Only use 3G if you really need to send hundreds of megabytes a day.
  • GPRS/Edge mode can send data at a rate of 115kbits (GRPS) (~14kilobytes per second) EDGE Varies but is faster than GPRS. Uses very little power and is ready as soon as there is signal. You can easily upload tens of megabytes of data a day in a good signal area.

The Raspberry Pi is good for crunching numbers. Install your MySQL database on there, write your C/C++ code to talk to the Atmega via serial port. Do not rely on the Pi's GPIO- they are flakey and experimental.

Atmega uses C code with which you are already familiar and there are tons of examples online. It is easy to programme, even directly from the Pi and is extremely reliable. Do not crunch numbers on the Atmega. Keep it simple on the Atmega, just collect data and dump it via UART to the Pi.

If the data is arbitrary counters of traffic then you can easily send data over GPRS in JSON format to your command server. But you might have something else in mind. Using GPRS works best with single files, like ZIP's of 1~4mb. Sending many small files is not good.

Make sure to use Revision 2 Pi's. There are allot of fixes on there that helps stabilise the Pi.

  • this AlaMode sounds amazing. – zaadeh Sep 3 '13 at 11:40
  • Yes I have been using the Alamode and is really a good addon to the Pi. The Pi and Arduino is really a good match. They should have made space on the Pi for people to solder their own Atmega in to allow for real time processing and real I/O pins. No trying to expose psuedo GPIO. Match made in electronics heaven! :) – Piotr Kula Sep 3 '13 at 12:19
  • @ppumkin, have you seen the udoo? udoo.org – John La Rooy Sep 3 '13 at 12:38
  • No. searching... Wow, Yea that is really good. And it uses an ARM atmel. That is really a powerful board. With Wifi Embedded. Its everything the Pi isn't :) Nice find @gnibbler ! Blyme. Even SATA support.. get in there! But not a cheap way to prototype... – Piotr Kula Sep 3 '13 at 12:41
1

RaspberryPi is cheap power hungry relatively unreliable Linux-based HDTV player that's supposedly should help children to learn about programming and computing. It has no ADC and very limited number of peripheral pins. It might be used in hobby projects to learn soldering and basics of interfacing different hardware, but I strongly advise against using it in any long term (>2days of expected uptime) development.

  • I did not downvote you lenik. Possibly adding how to use the watchdog to reset the Pi in the event of a freeze might encourage upvotes. – Piotr Kula Sep 3 '13 at 10:51
  • @ppumkin oh, don't worry, downvote as much as you like, this question is destined to be deleted in a week or two as offtopic. regarding the watchdog, it's quite pointless. monitoring 8 analogue channels is much easier and cheaper done with any simple microcontroller, I don't see any point using Raspberry Pi for this mundane task. – lenik Sep 3 '13 at 11:14
  • That's probably what I'll end up doing. micro for ADC and RPi for processing, storage and transmission. FYI I did not downvote you too. and how is this question offtopic? – zaadeh Sep 3 '13 at 11:28
  • It is off topic because its not a precise question. Please read the FAQ. It is open to discussion and hardly involves anything about the Pi itself. Ehh.. All that for it to get deleted sucks.. but those are the rules I suppose. – Piotr Kula Sep 3 '13 at 12:22

Not the answer you're looking for? Browse other questions tagged or ask your own question.