How to database signal reception?

#1

How can I receive a signal, then send the received signal to a database? For instance, I have a light switch remote on 433mhz. How can I just count the times I click the on button and then increment an integer column in a database?

#2

This is a pretty vague question…

If you knew the precise frequency of the remote and you could be absolutely certain that nothing else would transmit on that frequency, you could just take power measurements, look for a carrier and when one appears, increment your counter. But this wouldn’t be robust at all and if any other device transmitted on that frequency the same would happen.

So ideally you need to decode the signal and for this you need to know not only the frequency, but the modulation type — e.g. ASK/OOK, FSK etc. — and the protocol. The latter is more than likely proprietary and you may have to reverse-engineer it. Might be worth checking out rtl_433 to see if it can decode your device.

Though I’m not aware of a version which supports LimeSDR hardware, so you’d need to either add support to it, or take the decoder of interest from it and implement that in your own application.

#3

Yeah, this is a pretty complicated stack with a lot of different software component possibilities. I am trying to understand all the different parts from LimeSDR driver to database.

So, this is definitely OOK modulation with a pretty simple packet frame. This guide shows how to reverse a similar one:
https://rayshobby.net/wordpress/reverse-engineer-wireless-temperature-humidity-rain-sensors-part-1/

Im a little overwhelmed, so where do I start? What are all the different software components that this service needs?

  1. I will need to install LimeSDR drivers.

  2. Install GNU radio and dependencies

  3. install gr-limesdr for the gnu radio plugin

  4. Write a GNU Radio flow graph to process the (lets just say power measurement)

  5. Where do I go from here?

Let’s say I stand up a mysql database. How can I send the GNU Radio flow graph results to a database? Is there a simpler way? I would like to end up doing this with more complicated modulation schemes. This seems like a generic way to later catch a wireless keyboard using bluetooth and send that to database. Am I doing it all wrong?

#4

1-4 look good.

This is really a question for the GNU Radio mailing list, assuming you want to go down the route. Someone may comment with suggestions here, but otherwise I’d recommend posting there. You’re on the right track.