I bought it on amazon these transmitters and receivers 433mhz http://www.amazon.it/Aukru-Wireless-Ric ... +raspberry
I tried to follow some tutorials to make sure to receive the signals transmitted from Arduino or from a remote control I had at home, but when I launch RFSniffer does not seem to get anything.
I connected the receiver to Raspberry PI 3 in this way:
VCC -> 3v3 (PIN 1)
GND -> GND (PIN 9)
DATA -> PIN 13 (WiringPI 2 - GPIO27) - I tried to connect alternately both the receiver pin
but I can not in any way to capture any transmission.
to see if the receiver was working i connected a LED between pin DATA and GND pins and noticed flashing continuously. When you approach the remote and I press the button (or the active Arduino), however, it seems to happen.
The tutorials that I have tried are: viewtopic.php?f=37&t=82906
http://www.princetronics.com/how-to-rea ... -receiver/
I also found around this python script that draws the signal and tossing it I noticed that the rest form a square wave almost regular handset while in the face of external signals such as remote control or the transmission of parts of Arduino is effective signal reception but I do not know why 433Utils / RFSniffer fails to capture.
The script to plot the data I used is this:
Code: Select all
#!/usr/bin/python
from datetime import datetime
import matplotlib.pyplot as pyplot
import RPi.GPIO as GPIO
RECEIVED_SIGNAL = [[], []] #[[time of reading], [signal reading]]
MAX_DURATION = 5
RECEIVE_PIN = 13
if __name__ == '__main__':
GPIO.setmode(GPIO.BCM)
GPIO.setup(RECEIVE_PIN, GPIO.IN)
cumulative_time = 0
beginning_time = datetime.now()
print '**Started recording**'
while cumulative_time < MAX_DURATION:
time_delta = datetime.now() - beginning_time
RECEIVED_SIGNAL[0].append(time_delta)
RECEIVED_SIGNAL[1].append(GPIO.input(RECEIVE_PIN))
cumulative_time = time_delta.seconds
print '**Ended recording**'
print len(RECEIVED_SIGNAL[0]), 'samples recorded'
GPIO.cleanup()
print '**Processing results**'
for i in range(len(RECEIVED_SIGNAL[0])):
RECEIVED_SIGNAL[0][i] = RECEIVED_SIGNAL[0][i].seconds + RECEIVED_SIGNAL[0][i].microseconds/1000000.0
print '**Plotting results**'
pyplot.plot(RECEIVED_SIGNAL[0], RECEIVED_SIGNAL[1])
pyplot.axis([0, MAX_DURATION, -1, 2])
pyplot.show()
Some even I know how I can receive data via java?
Thanks for the support
Pier