Raspberry GPIO's Setup: Difference between revisions

From WLPS Wiki
Jump to navigation Jump to search
mNo edit summary
(One intermediate revision by the same user not shown)
Line 91: Line 91:
Before the '''exit 0''' line you have to add:
Before the '''exit 0''' line you have to add:


# For AllStarLink
  /usr/local/sbin/Init-GPIO.sh
  /usr/local/sbin/Init-GPIO.sh
  /usr/local/sbin/COS-wfi.sh
  /usr/local/sbin/COS-wfi.sh
Line 114: Line 115:
After making your changes type '''<CTRL> + <X>''' and then type '''<Y>''' followed by '''<Enter>'''. You will be back to the previous menu and choose '''<Back>'''.
After making your changes type '''<CTRL> + <X>''' and then type '''<Y>''' followed by '''<Enter>'''. You will be back to the previous menu and choose '''<Back>'''.


= Set permisions to execute scripts =


 
cd /usr/local/sbin
  sudo chmod +x Init-GPIO.sh
  sudo chmod +x Init-GPIO.sh
  sudo chmod +x PTT-GPIO-high.sh
  sudo chmod +x PTT-GPIO-high.sh
  sudo chmod +x PTT-GPIO-low.sh
  sudo chmod +x PTT-GPIO-low.sh

Revision as of 17:57, 15 November 2020

ASL GPIO wiki

Lets consider we are going to use

GPIO 17 (Pin 11) for COS input

GPIO 27 (Pin 13) for PTT Output


Install wiringpi

sudo apt-get install git-core
sudo git clone https://github.com/WiringPi/WiringPi.git /opt/wiringpi
cd /opt/wiringpi
sudo ./build

Create an initialization file

Create the following file using nano:

sudo nano /usr/local/sbin/Init-GPIO.sh

Add the following code to the file

#!/bin/bash
#script name - Init_GPIO
# COS Input
gpio -g mode 17 in # makes gpio 17 pin 11 on Raspberry pi 2/3 as input
gpio -g mode 17 up # activates pull-up
# PTT pin (Output)
gpio -g mode 27 out # makes gpio 27 pin 13 as output
gpio -g write 27 0 # Default to 0/Off

After making your changes type <CTRL> + <X> and then type <Y> followed by <Enter>. You will be back to the previous menu and choose <Back>.

Create the COS monitoring script

Create the following file using nano:

sudo nano /usr/local/sbin/COS-wfi.sh
#!/bin/bash
gpio -g mode 17 in
gpio -g mode 17 up
while [ 1=1 ]
do
  # wait int pin to go low
  gpio -g wfi 17 both
    COS=$(gpio -g read 17)
    if [ "$COS" = "0" ]; then
      gpio -g write 27 1
      echo COS GPIO low/closed
    else
      gpio -g write 27 0
      echo COS GPIO high/open
    fi
done

After making your changes type <CTRL> + <X> and then type <Y> followed by <Enter>. You will be back to the previous menu and choose <Back>.

Create Event files

now create the following file using nano:

sudo nano /usr/local/sbin/PTT-GPIO-high.sh

Add the following lines to the file, in this example I am using GPIO 27 which is assigned to pin 13 on a Raspberry Pi Model 2/3.

#!/bin/bash
gpio -g write 27 1

After making your changes type <CTRL> + <X> and then type <Y> followed by <Enter>. You will be back to the previous menu and choose <Back>.

Next create the following file using nano:

sudo nano /usr/local/sbin/PTT-GPIO-low.sh

Add the following lines to the file, in this example I am using GPIO 27 which is assigned to pin 13 on a Raspberry Pi Model 2/3.

#!/bin/bash
gpio -g write 27 0

After making your changes type <CTRL> + <X> and then type <Y> followed by <Enter>. You will be back to the previous menu and choose <Back>.

Make the Init-GPIO and COS-wfi.sh scripts run at startup

you have to add a line to the rc.local file.

sudo nano /etc/rc.local

Before the exit 0 line you have to add:

# For AllStarLink
/usr/local/sbin/Init-GPIO.sh
/usr/local/sbin/COS-wfi.sh

After making your changes type <CTRL> + <X> and then type <Y> followed by <Enter>. You will be back to the previous menu and choose <Back>.

Edit rpt.conf file

Now use nano to edit your rpt.conf file:

sudo nano /etc/asterisk/rpt.conf

On your node number stanza, i.e. [12345] add the following line:

events=events12345;

Then at the end of the file add the following stanza:

[events12345]
sudo /usr/local/sbin/PTT-GPIO-high.sh = S|T|RPT_TXKEYED;
sudo /usr/local/sbin/PTT-GPIO-low.sh = S|F|RPT_TXKEYED;

After making your changes type <CTRL> + <X> and then type <Y> followed by <Enter>. You will be back to the previous menu and choose <Back>.

Set permisions to execute scripts

cd /usr/local/sbin
sudo chmod +x Init-GPIO.sh
sudo chmod +x PTT-GPIO-high.sh
sudo chmod +x PTT-GPIO-low.sh