Raspberry GPIO's Setup: Difference between revisions
mNo edit summary |
|||
Line 1: | Line 1: | ||
= At this moment only PTT is working, COR is a work in progress = | |||
Lets consider we are going to use | Lets consider we are going to use | ||
GPIO 17 (Pin 11) for | GPIO 17 (Pin 11) for COr input | ||
GPIO 27 (Pin 13) for PTT Output | GPIO 27 (Pin 13) for PTT Output | ||
Line 34: | Line 34: | ||
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>'''. | ||
= Create the | = Create the COR monitoring script = | ||
Create the following file using nano: | Create the following file using nano: | ||
sudo nano /usr/local/sbin/ | sudo nano /usr/local/sbin/COR-wfi.sh | ||
#!/bin/bash | #!/bin/bash | ||
Line 47: | Line 47: | ||
# wait int pin to go low | # wait int pin to go low | ||
gpio -g wfi 17 both | gpio -g wfi 17 both | ||
COR=$(gpio -g read 17) | |||
if [ "$ | if [ "$COR" = "0" ]; then | ||
gpio -g write 27 1 | gpio -g write 27 1 | ||
echo | echo COR GPIO low/closed | ||
else | else | ||
gpio -g write 27 0 | gpio -g write 27 0 | ||
echo | echo COR GPIO high/open | ||
fi | fi | ||
done | done | ||
Line 83: | Line 83: | ||
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>'''. | ||
= Make the Init-GPIO and | = Make the Init-GPIO and COR-wfi.sh scripts run at startup = | ||
you have to add a line to the rc.local file. | you have to add a line to the rc.local file. | ||
Line 93: | Line 93: | ||
# For AllStarLink | # For AllStarLink | ||
/usr/local/sbin/Init-GPIO.sh | /usr/local/sbin/Init-GPIO.sh | ||
/usr/local/sbin/ | /usr/local/sbin/COR-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>'''. | 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>'''. | ||
Line 115: | 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 | = Set permissions to execute scripts = | ||
cd /usr/local/sbin | cd /usr/local/sbin | ||
sudo chmod +x Init-GPIO.sh | sudo chmod +x Init-GPIO.sh | ||
sudo chmod +x | sudo chmod +x COR-wfi.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 16:35, 23 November 2020
At this moment only PTT is working, COR is a work in progress
Lets consider we are going to use
GPIO 17 (Pin 11) for COr 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 COR monitoring script
Create the following file using nano:
sudo nano /usr/local/sbin/COR-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 COR=$(gpio -g read 17) if [ "$COR" = "0" ]; then gpio -g write 27 1 echo COR GPIO low/closed else gpio -g write 27 0 echo COR 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 COR-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/COR-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 permissions to execute scripts
cd /usr/local/sbin sudo chmod +x Init-GPIO.sh sudo chmod +x COR-wfi.sh sudo chmod +x PTT-GPIO-high.sh sudo chmod +x PTT-GPIO-low.sh