Menjalankan Python script secara otomatis saat boot

, , 2 Comments

Ada empat cara yang umum saya gunakan untuk membuat python script dieksekusi langsung pada waktu Raspberry Pi booting.

Cara pertama adalah dengan menggunakan profile

Misal jika file python saya bernama led.py disimpan di /home/pi maka ketikkan perintah berikut pada terminal

sudo nano /etc/profile
Gambar 1. /etc/profile

Ketikkan python /home/pi/led.py & di baris pertama sebelum profile diload. Tutup nano dengan Ctrl-X dan tekan Y. Tanda “&” menjadi penting karena membuat script dijalankan dibackground. Jika tidak maka akan sedikit menganggu. Gangguan bisa berupa, profile tidak bisa di load sehingga kita terhambat untuk masuk ke dalam command line prompt atau tidak bisa masuk ke Desktop.

 

Cara kedua dengan menggunakan crontab

Ada dua pendekatan yang saya lakukan dengan crontab. Pertama, jika semua script yang saya tulis tidak memiliki dependensi dengan file lain, maka saya langsung memanggil file python dari dalam crontab. Buka crontab dengan perintah

sudo crontab -e

lalu tuliskan perintah dibawah ini dibaris paling akhir dari crontab

@reboot /home/pi/led.py &

Tapi apabila script yang ditulis memiliki dependensi dengan file lain yang ada disatu folder maka saya terlebih dahulu membuat bash script.
1. Buat bash script misalnya launcher.sh dengan editor nano

nano launcher.sh

2. ketikan baris berikut ini. Tanda “&” membuat script dijalankan dibackground dan tidak menghalangi proses boot. Setelah selesai tekan Ctrl -X, Y.

#!bin/sh

cd /
cd /home/pi/ 
python led.py &
cd /

3. Kita rubah file permission dan membuatnya executable

chmod 775 launcher.sh

4. Untuk mencobanya, jalankan saja. Jika berhasil, maka program led.py akan dijalankan.

sh launcher.sh

5. Sekarang kita lenambahkan launcher.sh kedalam crontab. crontab adalah daemon yang berjalan dibackground yang mengeksekusi perintah dalam waktu yang spesifik.

sudo crontab -e

Untuk pertama kali, kita akan diminta memilih editor mana yang akan digunakan. Pilih 2, untuk menggunakan NANO karena paling mudah. Setelah terbuka, ketikkan perintah ini dibaris paling akhir dari crontab.

@reboot sh /home/pi/launcher.sh

Tekan Ctrl-X dan Y untuk save dan exit.

Setelah itu lakukan reboot dan lihat hasilnya.

Gambar 2. Crontab

Cara ketiga dengan menggunakan local service rc.local

Cara ini dilakukan dengan cara menambahkan baris script di rc.local sebelum exit 0.

sudo nano /etc/rc.local/

 

Cara keempat adalah start python script saat masuk ke LX Desktop dan mengeksekusinya melalui terminal

sudo nano ~/.config/lxsession/LXDE-pi/autostart

tambahkan baris di baris paling bawah seperti gambar berikut ini.

 

Source:

Crontab: http://www.instructables.com/id/Raspberry-Pi-Launch-Python-script-on-startup/

Facebook Comments
 

2 Responses

  1. andre

    May 31, 2017 10:19 am

    mas,.mau tanya ini cuma sekali buka terminal buat setting ini semua? setelah itu tanpa remote atau putty kan buat akses ke desktop lagi tinggal colok power.a raspberry dan langsung jalan program.a
    ? apa gmn?

    Reply
    • admin

      June 4, 2017 8:36 am

      ya benar… sekali aja setting pake terminal lalu setiap kali reboot maka python akan di execute

      Reply

Leave a Reply