Close

First signals

A project log for Remote buttons over Ethernet cable

Yet another easy, cheap and smart hack for a sort of remote, connected over Cat5 to a Pi or whatever with 2 GPIO.

yann-guidon-ygdesYann Guidon / YGDES 01/17/2016 at 16:060 Comments

The pair of remotes seems to work at first power-up :-)

I made a little script:

#!/bin/bash

echo 4  > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio4/direction

echo 11 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio11/direction

echo 7 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio7/direction

while true
do
  # wrap around display so each round of 4017 is aligned
  for i in 1 2 3 4 5 6 7 8 9 10
  do
    echo 1 > /sys/class/gpio/gpio7/value
    sleep 0.01
    echo 0 > /sys/class/gpio/gpio7/value
    sleep 0.01
    echo -n "   "$(</sys/class/gpio/gpio4/value)","$(</sys/class/gpio/gpio11/value)
  done
  echo
done
and the output is as expected !
root@pi:/home/pi# ./test_pins.sh 
(nothing connected)
0,0  0,0  0,0  0,0  0,0  0,0  0,0  0,0  0,0  0,0
0,0  0,0  0,0  0,0  0,0  0,0  0,0  0,0  0,0  0,0
0,0  0,0  0,0  0,0  0,0  0,0  0,0  0,0  0,0  0,0
(connecting one remote)
0,0  0,0  0,0  0,0  1,0  0,0  0,0  0,0  0,0  0,0
0,0  0,0  0,0  0,0  1,0  0,0  0,0  0,0  0,0  0,0
0,0  0,0  0,0  0,0  1,0  0,0  0,0  0,0  0,0  0,0
0,0  0,0  0,0  0,0  1,0  0,0  0,0  0,0  0,0  0,0
0,0  0,0  0,0  0,0  1,0  0,0  0,0  0,0  0,0  0,0
(connecting another remote)
0,0  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
0,0  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
0,0  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
0,0  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
(pressing one button)
0,1  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
0,1  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
0,1  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
0,1  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
0,1  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
0,1  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
0,1  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
(release)
0,0  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
0,0  0,0  0,0  0,0  1,0  0,0  0,1  0,0  0,0  0,0
....

Now I have to write the sync algorithms and create FSMs in C...

Discussions