Pi Zero Ruuvi Gateway implementations

I have to agree with you Richard. I purchased RUUVI tags about a year ago and apart from Android app, I cannot do anything else with them.

I thought RUUVI were planning to release iOS version of weather station app and provide a good gateway solution (not raspberry Pi gateway which is unsuitable for commercial apps).

RUUVI should be taking it to the next level with custom gateway and their own cloud server platform. Something like Kontakti are doing.

Sean.

Hi, I’d be interested to know why you think the Pi is unsuitable for commercial apps?

Actually, we’re heading to that direction :sunglasses: Ref RuuviTracker. It can act as an LTE gateway among many other things.

https://twitter.com/ruuvicom/status/1067984565765996544

I think Raspberry Pi looks cumbersome for commercial installs and adding LTE modem is awkward. You need a gateway to look professional like Rigado. Perhaps you can make Raspberry Pi look good with new encloure etc but I have not seen anything here.

Hi Lauri,
Thats good news with new gateway. I just feel that this will take a long time to develop especially if you are using new Nordic nRF91 module. And to make your own unique cloud backend would also be great but again it will take time.

I am talking about what is available right now to keep people interested and get some apps going. The RUUVI tags are great with open source etc but I cannot use them right now for any commercial jobs as they lack a gateway and backend.

Thanks for the comments @JON_BOY.

It’s true that cost effective complete professional-looking BLE-LTE gateways (especially open-source) are hardly available. RuuviTracker will fix this.

But as we need low-cost solutions today, what about if we would make RPi Zero W as the official RuuviTag BLE-WiFi gateway option? We’ve been thinking about this a while now and have tried to find alternative, “more professional” options. But they all seem to have their cons. Too expensive, only for big businesses, low build quality, shabby closed firmware, no CE/FCC/BTSIG certifications and the list goes on.

So we could make Zero W + official Pi Foundation casing available on Ruuvi Shop.

Maybe even shipped with a pre-flashed SD card which would have Bluewalker (?) + RuuviCollector + InfluxDB + Grafana preinstalled. Or at least we would maintain clear step to step instructions how to set it up.

https://www.raspberrypi.org/products/raspberry-pi-zero-w/

https://www.raspberrypi.org/products/raspberry-pi-zero-case/

What do you think?

1 Like

Hi, I really like the idea of using the Pi Zero W and I have been experimenting with that concept myself. However, as I said in the first post, I would prefer to use a configuration that decouples the sensor data collection from the Cloud data storage. This would allow for GSM connections (Hologram) that do not persists and consume expensive cellular air-time. To this end I’ve been using Node-Red with node-red-contrib-ruuvitag (https://github.com/ojousima/node-red) to collect the sensor data and then send it on to a Web Service directly via WiFi or periodically via Hologram. I also think the setup should be simple so I’ve added RaspiWiFi (https://github.com/jasbur/RaspiWiFi) to allow the Pi to act as an WiFi AP for its initial setup (more work needed here though!). Richard

Yeah certainly could be used as a BLE to wifi gateway and looks fine. It is cheap and quick to get something started before the full gateway.

I’m really intrested to get RuuviTracker when the time is ready, but would definitely buy this RPi Zero W from you now if available. In fact I already today ordered ingnics gateway, but have to cancel that order cause even when the price was reasonable (42USD), the shipping to my address wasn’t (70USD). So back to startpoint…

Just few questions about this RPi Zero W option:

  1. Could there be two option, one with grafena, another as gateway to thigsboard.io?
  2. When you say gateway, I assume it will send the data to the cloud service, no need to act as server, open port (not always possible, depends…) for data to be read from server?
  3. Would it help with SD card usage time, if some partitions would be read only (unless needed to upgrade whole system with updatescript*) and bit smaller partition for sensor data with write permission? At the end the data would be at the cloud anyway.
    *scurip would unmount readonly partitions & remount those with write permissions for update process, after that again unmount those partitions and mount as read only…

Offtopic: I hope you will make raincauge and wind meter also + IR distance meter (for snow measurements). Probably not suitable for RuuviTracker, but as separate Beacons.

1 Like

Good ideas. I agree. I really like the ruuvicollector - influx - grafana combination running in raspi3. However I need a connection to any common cloud service in order to handle the data further.
I am a dummy in programming, that’s why I like node red approach of block building. I have done some experiments in IBM cloud collecting data from LoraWAN devices through Digita’s network and Thingpark service, as well as from RuuviStation by simple HTTP POST commands. It seems to work OK.
What about splitting existing RuuviCollecor-influx-grafana into separate parts and doing a new HTTP POST interface (similar than in RuuviStation) in between RuuviCollector and Influx?
If possible, would be fine to get it running in Raspi zero W. Unfortunately I can not much contribute this work, because my lacks in programming skills and lack of Linux skills, but I am ready to make e.g. instructions how to set up the system, if I get some advice.
Just one comment about using Raspi: The BLE + WiFi antenna is very poor and gives very small coverage. Needs to install an external antenna. Then the coverage is about the same than by mobile phone, but this may violate EMC regulations.

What about splitting existing RuuviCollecor-influx-grafana into separate parts and doing a new HTTP POST interface (similar than in RuuviStation) in between RuuviCollector and Influx?

Actually that’s how it works at the moment, the data points are sent from RuuviCollector to InfluxDB over HTTP POST using the InfluxDB Line Protocol, similarly how Grafana is querying the data from InfluxDB over the InfluxDB’s HTTP endpoint. So if you want to add something in between without needing to alter the code of the existing applications, you can just add your implementation in between.

For example, if you want to create a middleware between RuuviCollector and InfluxDB that both sends the data to InfluxDB and saves to a .csv file for example, you can do it so that the custom application in between is able to receive data with HTTP POST and understand the InfluxDB Line Protocol, do whatever it wants with the data (ie. write to a CSV file) and send the same data payload further to InfluxDB with the same HTTP POST.

1 Like

Sorry to keep banging on about it but the Sensor data collection really should be decoupled from the Cloud data collection as is done in the Android Ruuvi Station where the collected data is passed to a Cloud system via a HTTP POST that isn’t going directly to a backend database. I’ve done some work over the weekend on writing a Node Red Flow that works like the Ruuvi Station in terms of sending the collected data via a Gateway.

Has anyone considered using the syslog set of protocols/utilities for gatewaying the ruuvi data. It seems like a natural. It’s implemented on most systems, includes considerations for rapid data reception, classification of messages, well defined configuration, archiving data, forwarding to other systems. The rsyslog implementation includes storing data in various databases in addition to regular files. This subsystem is already used to collect data from various devices including routers and printers. Some of my thoughts at http://mybeacons.info/jakoavain.html

How about a node-red flow that collects the data using noble and ruuvi nodes and then outputs to a n mqtt output.
I’ll connect to this using Pentaho Data Integration on a beefier system (RPi will be fine). If you’re not familiar, Penatho is a great tool, for moving data around. It can connect to virtually any source and, for this purpose, has an mqtt listener and can then stream the incoming data to a database, file, webservice or the cloud on almost any output you could want.
That decouples the collection from the ETL stage and gives real flexibility about the use you make of the data.

Weekend Project - RuuviTag IoT Sensor via an Electric IMP004m to the Cloud.

Thanks for the update, did not know about this product.
Looks a bit pricey, we are often a bit on the cheapskates side of things :slight_smile:

Not really ÂŁ38.20GBP including shipping to the UK.

Successful implementation of
ruuvi -> Pi zero -> InfluxDB -> Grafana
in NJ, USA can be viewed at
http://dalogger.dyndns.org:3430

I also own an IMP module so is it possible to share your imp code for BLE gateway ?
Thanks, Sean.

Is your IMP an IMP004M?