- Back to Home »
- Python : Control Banyak Relay Dengan Raspberry Pi Via SMS
Posted by : M yunus
Rabu, 08 Februari 2017
untuk mengontrol banyak relay menggunkan raspberry, terlebih dahulu ikuti tutorial berikut : Control Relay dengan Raspberry Pi via SMS .
untuk dapat mengontrol banyak relay kita buat skema konten sms yang akan dikirimkan ke raspberry.
konten sms menghidupkan relay:
poweronrelay1
poweronrelay2
poweronrelay3
dst..
konten sms mematikan relay :
poweroffrelay1
poweroffrelay2
poweroffrelay3
dst..
sekarang misal kita akan menggunakan 3 buah relay yang terhubung ke GPIO21, GPIO20 dan GPIO19.
GPIO21 --- > Relay 1
GPIO20 --- > Relay 2
GPIO19 --- > Relay 3
ubah program python yang terdapat pada folder /home/pi/Script_relay, jalankan perintah berikut pada terminal Raspberry pi:
sudo nano /home/pi/Script_relay/sms_relay.py
ubah isi skrip python menjadi seperti berikut:
#!/usr/bin/env python
import RPi.GPIO as GPIO
import os, glob
filename = max(glob.glob('/home/pi/Script_relay/inbox_sms/*'), key = os.path.getctime)
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.OUT)
GPIO.setup(20, GPIO.OUT)
GPIO.setup(19, GPIO.OUT)
sms_file=open(filename,"r")
message=sms_file.read(160)
print filename, message
if (message.find("poweronrelay1") <> -1):
GPIO.output(21, GPIO.HIGH)
elif (message.find("poweroffrelay1") <> -1):
GPIO.output(21, GPIO.LOW)
elif (message.find("poweronrelay2") <> -1):
GPIO.output(20, GPIO.HIGH)
elif (message.find("poweroffrelay2") <> -1):
GPIO.output(20, GPIO.LOW)
elif (message.find("poweronrelay3") <> -1):
GPIO.output(19, GPIO.HIGH)
elif (message.find("poweroffrelay3") <> -1):
GPIO.output(19, GPIO.LOW)
terus simpan dengan ctrl+x dilanjut shift+y, jangan lupa untu membuat file python tersebut menjadi executable, jalankan printah berikut :
sudo chmod +x /home/pi/Script_relay/sms_relay.py
sekarang reboot raspberry pi ( sudo reboot ) dan setelah raspberry pi menyala, kita dapat mengontrol lebih banyak relay.
untuk dapat mengontrol banyak relay kita buat skema konten sms yang akan dikirimkan ke raspberry.
konten sms menghidupkan relay:
poweronrelay1
poweronrelay2
poweronrelay3
dst..
konten sms mematikan relay :
poweroffrelay1
poweroffrelay2
poweroffrelay3
dst..
sekarang misal kita akan menggunakan 3 buah relay yang terhubung ke GPIO21, GPIO20 dan GPIO19.
GPIO21 --- > Relay 1
GPIO20 --- > Relay 2
GPIO19 --- > Relay 3
ubah program python yang terdapat pada folder /home/pi/Script_relay, jalankan perintah berikut pada terminal Raspberry pi:
sudo nano /home/pi/Script_relay/sms_relay.py
ubah isi skrip python menjadi seperti berikut:
#!/usr/bin/env python
import RPi.GPIO as GPIO
import os, glob
filename = max(glob.glob('/home/pi/Script_relay/inbox_sms/*'), key = os.path.getctime)
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.OUT)
GPIO.setup(20, GPIO.OUT)
GPIO.setup(19, GPIO.OUT)
sms_file=open(filename,"r")
message=sms_file.read(160)
print filename, message
if (message.find("poweronrelay1") <> -1):
GPIO.output(21, GPIO.HIGH)
elif (message.find("poweroffrelay1") <> -1):
GPIO.output(21, GPIO.LOW)
elif (message.find("poweronrelay2") <> -1):
GPIO.output(20, GPIO.HIGH)
elif (message.find("poweroffrelay2") <> -1):
GPIO.output(20, GPIO.LOW)
elif (message.find("poweronrelay3") <> -1):
GPIO.output(19, GPIO.HIGH)
elif (message.find("poweroffrelay3") <> -1):
GPIO.output(19, GPIO.LOW)
terus simpan dengan ctrl+x dilanjut shift+y, jangan lupa untu membuat file python tersebut menjadi executable, jalankan printah berikut :
sudo chmod +x /home/pi/Script_relay/sms_relay.py
sekarang reboot raspberry pi ( sudo reboot ) dan setelah raspberry pi menyala, kita dapat mengontrol lebih banyak relay.