Has anyone tested analysing frequency spectrum of the accelerometer data with FFT (Fast Fourier Transform) or such?
I tried to explore the forums and the net for some examples or projects but did not find any. If you’ve seen projects that have done accelerometer data analysis, please link here?
Nordic SDK has example of FFT transform of data. In theory you could run accelerometer at high frequency into accelerometer FIFO, read buffer into nRF52 and do FFT on data. Then you could send frequency bins in advertisement as usual.
What would be the easiest way to stream accelerometer data over bluetooth, so I could try do processing on external computer first?
I tried to see the accelerometer data with the weather app, but I did not see any. Do you know of examples / downloadable apps that show accelerometer data on Android phone?
If you need to do analysis on raw data, your best bet might be to implement a GATT service, such as Nordic UART Service and stream data over BLE connection. Advertisements are lost every now and then which would lead to missing samples, which would skew your frequency-domain data.
RuuviTag can reach 100 - 150 meters of line-of-sight range, but submerging would probably prevent the tags from being heard. The tags are IP67-rated, so they cannot be submerged for a long time, either.
Is there a binary firmware that has functional GATT profile for Ruuvi so I could try it out in a flash?
Otso mentioned about some bugs in 2.2.0 and also some custom stuff that I would need to add to the tag. Is it something that I can do after flashing new firmware or would it need to be code first and then update the firmware to Ruuvi?
I think 2.2.x has DFU and discovery services available, as well as Nordic UART Service for sending custom data over GATT. However the GATT does not do anything yet, and there’s no easy-to-use template for writing data over it.
The bug is that some tags which have run Espruino or Eddystone will not boot properly. You can work on top of current master if you wish, but expect a lot of rough edges.