Weather Station Raw mode

hello

I follow the link below to flash and update the weather stations firmware on my ruuvitag.

I press ‘B’ button to turn it in raw mode, and now nothing.
My ruuvitag is detect by android app “nRF Connect” but it is not possible to connect it.
If y understang is good, raw mode transform the ruuvitag in weather station beacon ? it’t right ?

thx

Raf6410

Neither one of the modes are connectable (yet).

The URL mode can be used to build a simple weather station:

If it runs after restart, you are a-ok.

If you want to be able to use the raw mode, you need to be able to read the data that is sent, but to do that you need a specialised application because is comes as “Manufacturer Specific Data”

If you run on linux with python 3.5 or better, you can try
pip3 install aioblescan

then, as root
python3 -m aioblescan -r

You should be able to see the data

Cheers,
François

1 Like

tks for your comment.

I will try with your scipt frawau.(accelerometer data is available ?)

My gaol is to send this value to domoticz (smart home software).
I have allready some python script whose convert value of beacon senson and send it to domoticz.

tks

Yes it can decode frame types 2,3 and 4.

The aim of aioblescan is to log the sensor values in my home automation system (AutoBuddy) and it works. Since it is a library, admitedly with very limited capacity as of now, you should be able to use this in your own script… but as of now you need python 3.5 or better.

To use the library, all you have to do is define you own call back that does

    import aioblescan as aiobs

    def my_process(data):
            ev=aiobs.HCI_Event()
            xx=ev.decode(data)
            xx=aiobs.RuuviWeather(ev)
            if xx:
                print("Weather info {}".format(xx))

Then in the main part do

    event_loop = asyncio.get_event_loop()
    #First create and configure a raw socket
    mysocket = aiobs.create_bt_socket(mydev)
    #create a connection with the raw socket
    fac=event_loop.create_connection(aiobs.BLEScanRequester,sock=mysocket)
    #Start it
    conn,btctrl = event_loop.run_until_complete(fac)
    #Attach your processing 
    btctrl.process=my_process
    #Probe
    btctrl.send_scan_request()
    #Sit pretty
    event_loop.run_forever()

Let me know how it goes