GrovePi+ and Simple 433 MHz RF link kit

Hello,

I would like to know if someone has already tested using the Seed 433MHz Simple RF Link Kit with GrovePi+ ?
Santa is going to bring me my very first RaspberryPi along with a GrovePi+ starter kit, and I wonder if I can extend this set with this Grove module.

Thanks for your advice!

Hey,
The RF module should work with the GrovePi, though we haven’t seen anyone use it yet. It uses UART for communication and we have 2 UART ports on the GrovePi so you should be able to use it.

-Karan

Thanks Karan!
I will let you know how it goes.

I want to use the Simple 433 MHz RF link kit with the GrovePi or GrovePi+ and a RaspberryPi.
I want to use the receiver module of the kit to get data from my Ninjablock thermometer and PIR.

Is there already a Python library?

Hello,

There is not python library that I am aware of, however you can connect the 433 RF kit to the RPi Serial port of the GrovePi, and use existing C libraries like Virtual Wire. I have plans to write a python library for communication purposes, but I don’t know when (I only recently acquired an Arduino that I plan to remotely connect to my Raspberry Pi).

For information, I did use this kit successfully to control a wall socket, using the 433Utils C library.

For all other sensors and boards I have there is a python library.

In the wiki they connect the receiver to D2.
Why now to a serial port?

Hey,
Just checked the wiki and they are indeed not using Serial and using 1Wire communication on port D2 which is a bit odd. To use this with the GrovePi, you might have to update the firmware for the GrovePi so that it is able to send and receive data from the 433Mhz module.

-Karan

I don’t understand that they deliver this kit for the GrovePI without documentation and library for the RaspberryPI.
I just tried to update the firmware, but got some problems.
First I got the version number 255.255.255, then my GrovePi was unreachable.
I first have to find a running PI-GrovePi-System.

Hi goophox,
I am sorry for the bad experience with the 433Mhz sensor kit. I’ll look a bit more on this and try to find a way to get it to work. But the options don;t look great especially because there is no documentation on how to use the Grove 433Mhz with normal serial. Maybe you can post to the Seeedstudio forums and ask them id there is an example to get it to work properly with serial. It is usually better to post it on the forums first asking about the compatibility of the Grove sensors with the GrovePi and we also have a list of Grove sensors which work with the GrovePi.

To update the firmware, can you follow the video instructions here: if you are using our Raspbian for Robots Image and want to use the GUI : https://youtu.be/VUVvU4YcTvo or if you are comfortable with the Command Line, you can use this: https://youtu.be/kfTWTmW_tDk .

After this, can you checkthe version of the firmware on the GrovePi by running:
sudo python ~/Desktop/GrovePi/Software/Python/grove_firmware_version_check.py
If you get v1.2.2 or v1.2.5 you are good. If not, can you run the troubleshooting script by following the instructions here and upload the log to the forums so that we can narrow down the problem: https://www.youtube.com/watch?v=ZMadpIEYq5o&list=PLGXEJ4Ye1qCMWziVrynnrIPpgfOr-2aj9&index=4.

Can you also post some pictures of the GrovePi setup if this still does not work.

-Karan

I have five Raspberry PIs, two GrovePis, one GrovePi+ and about 20 sensors.
Now I have combined a Raspberry PI 2 B and the GrovePi+ telling me a firmware of 1.2.2.
Do to the previous problems and you statement I will leave it like it is.
A coonected LEDbar shows me functionality.
The 433MHz receiver is now connected to D2 as mentioned in the wiki.
If you find out, how to handle it on D2 or another port, please let me know.
I asked at seeedstudio.com for a python library. Here is the answer.

Re: Grove 433MHz Simple RF Link Kit - Basics
by kavi » Mon Feb 15, 2016 5:38 pm
We don’t have ready made python library for this product.Post in Dexter’s industries forum for Python library of groves with grove pi they will help you.

Find attached the troubleshoot log, that looks greater than the ones some days ago.

Hey Goophox, we’ll try to help you with the firmware issue.

However, the 433MHz module is out of our control. We may not be able to help without better documentation and support from Seeed. I’m sorry they have not been a help, if you’re dissatisfied with the sensor we would urge you to return it to them.

Best, John

Hello,

I attempted yesterday evening to include in my GrovePi+ firmware some kind of support for the VirtualWire library used by Seeedstudios in their examples.
I had mixed results. I did manage to send a message from a RPi to an Arduino using this kit, but it kept being sent in a loop. Either there is some kind of command acknowledge in the grovepi firmware that I failed to implement (but I really didn’t see anything like that), or there is a timing issue within the VirtualWire library (it uses a timer to slowly send encoded data).
I will keep digging.

Karan, I’m not used yet to extending the firmware; what is the best way to debug its behavior?

Best regards,

Frederic

Hey Frederic, interesting to hear the progress. That’s great to hear.

I bought a Genuino Mega and a Grove Base Shield 1.3.
I sent the INO as mentioned in the wiki, but nothing appeared in the monitor.
They say, connect it to D2, but in the code they mention “int RF_RX_PIN = 2”.
I connected a cheaper 433MHz receiver module to my Genuino Uno by the RX pin and there was output the the serial monitor.
So where is the connection between D2 and RX? Or is this just a typo?

Hi goophox,
I think this question is related to the Mega and the Seeed’s 433Mhz module, so it might be better to ask it in their forums: http://www.seeedstudio.com/forum/.

-Karan

It was just an intermezzo to the orignal problem.
I still have the PI 2B, the GrovePi+ and this useless kit.

Hi goophox,

I am currently adding support to the GrovePi+ firmware and python library for this component.
I’ve already managed to send short data blocks from my GrovePi+ to an Arduino Uno, the latter running the sample receiver sketch provided by Seeedstudio.
What kind of use do you have in mind for this component?

Kind regards,

Frederic

A few more technical details, for those interested.

As said above, this RF kit can be used on a serial or digital port.
While it might be possible to write/read a raw stream of bytes, this will probably yield bad results. RF communications on highly used radio bands, like the 433MHz one, need quite a lot of work to be usable. That’s where the VirtualWire library comes into play. From what I gathered, this library encodes the payload in a way that is less prone to interferences (of course, the receiver end needs to decode it). There’s also some kind of smart synchronization between the two ends of the communication channel. Not the kind of code one should attempt to reinvent on his own.
VirtualWire is now deprecated by RadioHead, from the same person.
While RadioHead introduces much more advanced capabilities, I chose to stick with VirtualWire for the time being, since:

  • The new features introduced by RadioHead might not be useful to most people, and several of them require a duplex communications (and 2 pairs of receivers/transmitters)
  • Including this library in the firmware significantly increases its byte code footprint, much more than VirtualWire
  • Last but not least, Seeedstudio's examples rely on VirtualWire. It will be easier to integrate in a setup with multiple grove devices if we stick to this initial choice

If you feel my integration choice is not the wisest one, feel free to drop me a line!

Please note that some other libraries exist for specific uses. I mentioned earlier 433Utils, which makes it relatively easy to interact with remote-controlled wall sockets. This library also use encoding technics found in this kind of hardware.

Kr,

Frederic

Hi Frederic and goophox,
I just wanted to pass a few pointers on what might be helpful if you are working on the firmware. Here is a link to how the grovePi works http://www.dexterindustries.com/GrovePi/engineering/software-architecture/ and how to add custom sensors: http://www.dexterindustries.com/GrovePi/programming/grovepi-protocol-adding-custom-sensors/. I2C is a bit hard to debug without a logic analyzer but you can add debug statements and print them on the Serial port. You can use a Grove cable and just invert the yellow and white wires and connect the RPISER port with the Serial port of the atmega. This was the serial messages will appear on the RPi. You can use a utility like minicom to read the data.

Fell free to ask any other questions that you have about this.

-Karan

Hi Karan,

The serial cross-cable is what I finally came with on my own, after thoroughly checking that the grovepi does provide level conversion on the RPi Serial pins.
I also removed from the cable the Vcc wire, by fear of damaging something.

Kr,

Frederic