Pi Zero Ruuvi Gateway implementations

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?

RuuviTag Sensor Gateway using IMP004m.

#iot #ruuvi #electricimp #sensors

http://www.communig8.com/articles/67-technical/175-electric-imp-based-gateway-for-ruuvi-tags-iot-sensors

Hi Communig8,

Thanks for posting article on imp gateway.
I use impc001 device but will get imp004 soon.
How do I setup Rabbix and Grafana to work on imp central data ?

Setting up Zabbix and Grafana it a bit out of scope for a short forum post!

If you don’t have time to setup all the stuff yourself, you could check www.meazurem.com for ready made solution. Although it’s only accessible via smart phone, but then again who doesn’t have smart phone nowadays…

You can run the gateway with compatible Raspberry Pi or with old Android phone.

That looks a bit easier to setup Icewood and its on the smartphone as well.

Yes, it is much easier. It doesn’t require that much computer knowledge at all. The hardest part (not that hard) is to install and setup the gateway software.

Of course there is already a Ruuvi supplied Smart Phone App that can be used to pass data to a Cloud Service. However, the use of a Smart Phone as a Gateway does not scale for large or commercial deployments.

I agree Icewood.

I have read your gateway installation article and it looks ok.
One question is ; what happens when gateway experiences some disruption like power blackout ? Will GW return to its former state of running your GW app without user intervention ?