4

I'm building a project where I have multiple Arduinos, each having a temperature sensor and a [input wireless transmission method here].

This data would be received by a controller, a Raspberry pi, which would act as the server: call to Arduino, collect the data, and store it. This data would be accessible to a Mobile App, but this is out of the scope of the question.

Requirements:

  • Arduinos must read simple raw data (in this case, the temperature reading from the sensor) and make it accessible to the Raspberry pi, which would make calls to each Arduino board (from 1 sec to 1 min time frame).

  • Arduino side must have a low energy consumption, as it would be powered by a small battery;

  • Data transmission on Arduino end must be as cheap as possible and work in low temperatures (around -5 degrees Celsius). They would be stored be inside a freezer, so temperature and a thick-ish metal layer are obstacles to overcome.

  • The actual distance would only be a few meters.

Question: is Bluetooth a viable transmission method? Is it possible to pair multiple Arduinos to one Raspberry pi at a single time? If Bluetooth isn't any good, what is? Correct me if I'm wrong, but Wifi is a high energy consumption solution.

OBS: if needed, the Raspberry Pi board could be swapped for an Arduino one.

4
  • 1
    You should include the distances involved.
    – goldilocks
    Sep 28, 2016 at 1:08
  • Distances between Arduino and Raspberry are not that relevant in this case. I could work with small distances (a few steps). The Raspberry will connect with an Android Device, and that distance IS the big deal.
    – lucas.mdo
    Sep 28, 2016 at 1:14
  • 2
    They're relevant in the sense that someone else reading the question has no idea what they are -- unless you actually include that information, you are putting the onus on the people you are asking for help to do extra work ("If the distance is only a few feet, then .... but if it is over 25m then .... and beyond 100m ....").
    – goldilocks
    Sep 28, 2016 at 1:27
  • Your major obstacle is going to be the sensors and the arduinos (and what communication they will use to the central node) - and that is probably better asked at our sibling site arduino.stackexchange.com The Raspberry Pi can work with any of the common communications technologies (RF 433Mhz, Bluetooth/BLE, Wifi, cabled ethernet etc) Sep 28, 2016 at 8:43

2 Answers 2

2

I'd recommend evaluating the ESP8266 for your application.

ESP8266

It is a powerful wifi solution that costs ~5$ on amazon and much cheaper on aliexpress for bulk purchases.

There are many boards based off the ESP8266 chip that provide expose more complex or simple interfaces.

The ESP01 board one of the cheaper and simplest boards that can be easily interfaced with a arduino via USART. With a raspberry pi 3 (with built in wifi) on the other end the possiblities are many.

Here is my poor attempt at ascii art for your viewing pleasure

[RPI] )))) wireless link   (((( [ESP8266] -- USART -- [Arduino] == I2C/SPI == [Sensor]

The Arduino can be interfaced with this module via AT commands.

Here are some more relevant links I think might be useful

https://github.com/esp8266/esp8266-wiki/wiki

https://create.arduino.cc/projecthub/ROBINTHOMAS/programming-esp8266-esp-01-with-arduino-011389

https://tzapu.com/minimalist-battery-powered-esp8266-wifi-temperature-logger/

https://github.com/esp8266/Arduino

If you choose one of the other modules that exposes the other interfaces, the Arduino IDE can be used to directly program the ESP firmware eliminating the need for a separate Arduino board.

As for your specific requirements,

Arduinos must read simple raw data (in this case, the temperature reading from the sensor) and make it accessible to the Raspberry pi, which would make calls to each Arduino board (from 1 sec to 1 min time frame).

The module can be setup as a wireless->serial bridge and further communication will be as simple as reading / writing to the serial port.

Arduino side must have a low energy consumption, as it would be powered by a small battery;

With the right power management logic in the ardunio, it should be possible. see this page for the specs of the board/chip as well as this

Data transmission on Arduino end must be as cheap as possible and work in low temperatures (around -5 degrees Celsius).

I should think wifi counts as cheap ?

They would be stored be inside a freezer, so temperature and a thick-ish metal layer are obstacles to overcome.

It is claimed that the chip operates from -40C to 125C. I have not tested the claim though.

As for the range on the device, I have successfully tested the ESP01 over short distances (~150ft) but do checkout this video.

With all the above said, I do share the all the concerns expressed by the others.

To conclude, the proof of of a pudding is in its eating.

HTH

Edit

Here's one more option

1
  • thanks for your response. I've already looked at some of the options you proposed. As you stated, I believe I'll only have a confirmation of its success is by giving a few tries. I'll choose yours as the answer as it provides more links and pointed the same concerns as others.
    – lucas.mdo
    Sep 28, 2016 at 12:23
3

You've chosen a difficult route. If there's anything whatsoever you can do to get some cables into the freezer you should do so.

You can now do things with Bluetooth Low Energy (BLE) on a Pi without too much difficulty. Adafruit have a good writeup on making a Bluetooth beacon here. While I can't say with absolute certainty, I think that you're very likely to have a hard time getting that signal (or really just about any wireless comms signal) out of a freezer (i.e. a large metal box incorporating a compressor and pump system running from mains voltage) using an Arduino. It's a ready-made faraday cage full of electrical racket. If you do manage to get a signal out of the fridge, it may have deteriorated to the point where your practical range is extremely low.

Freezers, in addition to being miserable places for wireless communication devices, are reasonably hostile to electronics generally. Your batteries are likely to have diminished capacity and lifespan, the whole thing's moist, there may be 'particulate matter' (e.g. turkey twizzler breadcrumbs)... it's less than ideal.

What would alleviate the issue entirely would be putting your sensors in the freezers, while keeping your Arduinos (or similar microcontrollers) outside of them. That allows you to plug them into sockets (or leech off the fridge power), puts them in open-air for better wireless transmission (or cabled hookup), and allows you to maintain them without disturbing your freezer.

3
  • Makes me wonder how Samsung engineers made it work Sep 28, 2016 at 1:56
  • 1
    @ShreyasMurali sensor probes on the inside, antennae on the outside. Sep 28, 2016 at 5:13
  • @goobering Thanks for your feedback. I'll evaluate the possibility of getting the nodes outside of the freezer, leaving only the sensors inside.
    – lucas.mdo
    Sep 28, 2016 at 12:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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