Tool: Ruuvi Station Mobile Application


#1

This topic is dedicated to comments and conversations about the following RuuviLab tutorial:

https://lab.ruuvi.com/android-app/

If you don’t see any comments yet, don’t be afraid to be the first one to contribute!


#2

Ruuvi Station mobile app is coming:


#3

I cannot find apk file right now. Am I need to compile from source?


#4

Do you need APK file or app? App is available in Play Store - name Ruuvi Station.


#5

https://lab.ruuvi.com/android-app/ page says "To try the app, look for the latest .APK file install. It’ll be available on Play Store later."
Anyway. Thanks for information :slight_smile:


#6

First of all I have to thank you for making this, especially since it has the option to show the values in Fahrenheit. The graphing is great and combined with the new firmware the accuracy is much appreciated.
My problem: I’m not sure what contributed to it, but about a week ago it started to not re-acquire the tag information after it had been separated for a distance/time (I have one at home, one at work, etc.). It just shows the last results and the “Updated” ticker keeps counting and never seems to query the tag again. I’ve tried force stopping it with no success. The only thing that seems to fix it, is to reboot my phone. That is not an ideal solution. I wanted to give the team a chance to find the root problem before I take more drastic measures to resolve it (since their may be valuable troubleshooting info lost).
I’m on a Moto Z Play running Android 7.1.1 and the app version is 0.9.2-beta.
Thanks, Steve


#7

@io53 any ideas on this one?


#8

@stringy Can you try to see if you can see the tags with nrf connect and report here if this happens again? https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en

I’ve had this happen (or at least the same symptom) to me once on my nexus 5x. Bluetooth completely stopped working, I could not get any apps to see low-energy devices. Restarting bluetooth did not help, but as for you restarting the phone did.
I’ve not been able to reproduce this and it was quite a while ago since I encountered it. My best bet this far is that androids bluetooth stack crashed :thinking:


#9

Hi,

I can’t find any instructions or data about how to use the weather station app as a gateway. There are two places where I can enter an URL but I don’t know what those URLs could mean.

Is there any documentation about this?

BR,

Hardy


#10

Hello,

I think the documentation is still being worked on (@io53?). In the meanwhile, here’s a sample data:

// { deviceId: 'laurin-s8',
//   eventId: '591db9bc-32f0-4059-86e0-8e6cc808492c',
//   tags: 
//    [ { accelX: 0.019,
//        accelY: -0.003,
//        accelZ: 1.041,
//        defaultBackground: 0,
//        favorite: false,
//        humidity: 88,
//        id: 'F8:AC:76:59:5B:24',
//        name: 'Over Humidity',
//        pressure: 974.01,
//        rawDataBlob: [Object],
//        rssi: -45,
//        temperature: 27.25,
//        updateAt: 'Mar 6, 2018 11:21:46',
//        voltage: 2.989 } ],
//   time: 'Mar 6, 2018 11:21:46' }

the data gets HTTP POSTed to URL you specify at the background scan interval.


#11

Thanks for your reply! Is that format accepted by any public cloud service? I need a way to demonstrate our system by presenting cloud data on a mobile phone. Or do you have alternate formats to facilitate e.g Thingspeak?

BR,

Hardy/VTT


#12

You’ll probably have to implement your own parser for the data, for example https://github.com/ruuvi/ruuvi.streamrproxy.js listens in to data and formats it for Streamr backend.


#13

I took a shot at making myself a Python API for receiving these POST-requests. It’s available at https://gitlab.com/tctovsli/ruuvi-gateway.
I’m not an experienced programmer, but it works.

One of the things I noticed is that the mobile app sends at a 5 minute interval (even though the text in-app seems to be referring to the background sync interval).
Edit: Disregard this last statement. When setting up a different android device as gateway, the interval was 15 seconds. Guess my first attempt got stuck somehow (a bug).