Page 1 of 1

RFM73 and RPIO on Rpi2

Posted: Fri Jul 24, 2015 2:06 am
by Efex
First off, Hello to all the board, this is my first posting, so please forgive any bad form. (feel free to move this thread)

I've been using my Rpi B rev.2 256 version for a while and nothing has been more educational for me than figuring stuff out with this trusty little platform, however recently i upgraded and do now own two Rpi2's. This upgrade along with my limited knowledge in coding presented me with several problems:

A little bit hastily, I ordered several RF modules alongside the second rpi2, which i am planning to use for different, hopefully basic tasks, like notifications from my electronic fishing bite alarms and more recently controlling of RF power sockets.

The RF module i am planning to use is a HOPERF RFM24W 433Mhz one, which is probably overkill for my tasks, although i did find some documentation on running it on an Rpi here http://airspayce.com/mikem/arduino/RadioHead/ & https://groups.google.com/forum/#!topic ... pHTPLu1JA/

Due to the advanced nature of this i opted to try the seemingly simpler 2.4 Ghz module HOPERF RFM73 first and found a project fitting my needs here http://freakone.pl/ (use translator).

This is where my problems started - The library RPIO used by this project is seemingly outdated and it took me a while to figure this out. Due to hardware changes from the earlier boards to the Rpi2, addresses had to be changed in the code. There is a (partial) fix available here https://github.com/metachris/RPIO/issues/53 for anyone interested.

This did allow me to at least use RPi.GPIO and RPIO in python, which is where I'm stuck now:

Trying to execute the main.py code from the project at freakone.pl 's github (https://github.com/freakone/NodeNetwork) returns

Code: Select all

pi@raspberrypi2 ~/NodeNetwork/rfm73-rpi_server $ sudo python main.py
/home/pi/NodeNetwork/rfm73-rpi_server/rfm73.py:79: RuntimeWarning: This channel
is already in use, continuing anyway.  Use RPIO.setwarnings(False) to disable wa
rnings.
  RPIO.setup(CSN, RPIO.OUT) #CSN
/home/pi/NodeNetwork/rfm73-rpi_server/rfm73.py:80: RuntimeWarning: This channel
is already in use, continuing anyway.  Use RPIO.setwarnings(False) to disable wa
rnings.
  RPIO.setup(CE, RPIO.OUT) #CE
Traceback (most recent call last):
  File "main.py", line 15, in <module>
    rfm73.init_banks()
  File "/home/pi/NodeNetwork/rfm73-rpi_server/rfm73.py", line 27, in init_banks
    bank(0)
  File "/home/pi/NodeNetwork/rfm73-rpi_server/rfm73.py", line 121, in bank
    st = 0x80 & register_read(RFM73_REG_STATUS)
  File "/home/pi/NodeNetwork/rfm73-rpi_server/rfm73.py", line 91, in register_re
ad
    spi.xfer2([reg])
TypeError: Argument must be a list of at least one, but not more than 4096 integ
ers
and I can't really make heads or tails from this, since my coding is limited at best.
Is it possible that there need to be hardware addressing changes made to this file as well?

I do have a Rpi b rev.2 available so I can try to run this from there, I would however prefer to make any of the two aforementioned modules, or the third one i have - a RFM12B - work on the Rpi2's.

It is also likely that in the future I might adapt an easier approach with a less sophistiacted module, like I did with receiving data from the fish alarms. That only required an Rx module with way less soldering and coding. But working Rpi's is meant to be about educating oneself, right?

Any help, pointers or sending me in the right directions is very much appreciated!

Re: RFM73 and RPIO on Rpi2

Posted: Fri Jul 24, 2015 8:44 am
by DougieLawson
You need to replace the python spidev module with the latest version.

Re: RFM73 and RPIO on Rpi2

Posted: Sat Jul 25, 2015 3:22 am
by Efex
Thanks a lot,

you're still the hero of this forum ;)