Bermula beberapa tahun yang lalu dimana inginnya menggunakan device yang tidak menggunakan resource yang terlalu besar namun bisa menjalankan fungsi yang berulang-ulang dengan stabil. Ketemu lah Raspberry Pi ini. Waktu itu difungsikan sebagai player live streaming untuk sebagai input di video mixer.

Ternyata disayangkan, operatornya tidak familiar dengan bahasa command yang waktu itu sudah dibuat alias command. Well, jadi makin penasaran sih tuk buat yang mempermudah mereka, tantangan, tapi disayangkannya ya waktunya tuk mengerjakannya, hehehe.

Berikut jurnal saya untuk tips n trik dalam menggunakan Raspberry Pi, semoga bisa bermanfaat untuk saya dan yang baca.

Seperti OS pada keumumannya, secara default screen akan dibuat tidur, tidak aktif or sleep, hehehe dengan tujuan menghemat listrik dan alasan lain sebagainya. Nah kalau di OS biasa disediakan tuk menonaktifkannya, tapi karena ini Raspberry lain ceritanya deh. Dan karena fungsi Raspberry Pi yang kita inginkan adalah untuk berjalan terus menerus 24/7, maka perlu kita menon-aktifkan screen sleep ini. Ada yang menggunakan software xscreensaver dimana nantinya disediakan tab screensaver tersendiri di interface Preferences dan dari situ kita tinggal menonaktifkan screen sleep dan atau malah ingin ganti screensaver yang lain, hehehe.

Berikut cara install xscreensaver

 sudo apt-get install xscreensaver

Dan ada cara lain tanpa install software ini, yaitu dengan modifikasi desktop manager atau display manager dari Raspberry Pi ini, yaitu terlebih dahulu buka file /etc/lightdm/lightdm.conf dengan perintah:

sudo vi /etc/lightdm/lightdm.conf

Kemudian lihat pada baris xserver-command dibawah [Seat:*] atau cari dengan perintah:

/xserver

Dan kemudian rubah pada baris perintah #xserver-command=X menjadi seperti berikut:

xserver-command=X -s 0 -dpms

Dan kemudian di restart Raspberry Pinya.

Langkah instalasinya mudah dengan mengacu ke PiVPN dengan hanya menjalankan perintah:

curl -L https://install.pivpn.io | bash

Tapi saya belum nemu cara pakainya, xixixi. Padahal saya sudah buka port 1194 di router Mikrotik tapi masih belum bisa juga, mmmmm nah kan jadi keingetan, belum di cek SSL nya, hehehe. Ok deh, nanti di update deh part ini.

Updated at: Wed, Nov 20, 2019 3:50 PM

Output audio Raspberry Pi defaultnya menggunakan HDMI, untuk mengubahnya ke audio jack bisa menggunakan perintah:

sudo raspi-config

Dan kemudian pilih menu no 7 Advanced Options dan kemudian pilih menu A4 Audio dan pilih pada menu yang tersedia, 1 Force 3.5mm ('headphone') jack dan 2 Force HDMI. Maka setelah di-select dan kemudian keluar dari menu raspi-config maka audio output bisa didengarkan melalui audio jack.

Tapi kali ini saya menggunakan headphone yang menggunakan USB, bukan lagi menggunakan 3.5mm jack yang pada keumumannya yang sepertinya fungsi dari headphone ini seperti menggunakan usb sound card. Untuk mengubah output audio ke usb sound card atau usb headphone bisa sebelumnya melakukan pengecekan sound card dengan perintah:

sudo aplay -l

Maka akan keluar output seperti:

pi@rpi:~ $ sudo aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 7/7
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: USBZH11S [USBZH11S], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Seperti yang kita lihat bahwa usb sound card terdeteksi sebagai card 1: USBZH11S [USBZH11S], device 0: USB Audio [USB Audio] dan kita akan merubah card index default pada settingan Alsa di file alsa.conf dengan perintah:

sudo nano /usr/share/alsa/alsa.conf

Dan kemudian ganti pada pada baris:

defaults.ctl.card 0
defaults.pcm.card 0

menjadi

defaults.ctl.card 1
defaults.pcm.card 1

Setelah itu reboot dan kemudian bisa ditest dengan play video or audio apakah sudah benar audionya keluar di USB sound card atau USB headphone yang sudah kita setting diatas dan seharusnya sih ya berhasil, xixixi. Oh iya, waktu saya reboot sebetulnya agak harap-harap cemas karena kok agak lama, tidak seperti biasanya yah saat mau masuk ke OSnya.

Atau bisa juga test audionya dengan menggunakan perintah:

speaker-test -c2 -twav

Dan kita juga bisa loh tuk mengatur volume melalui terminal yang artinya bisa juga dikontrol saat melakukan SSH dengan perintah alsamixer.

Updated at: Thu, Nov 21, 2019 12:36 PM

Software yang dibutuhkan adalah omxplayer yang sekarang sudah jadi bawaannya Raspbian dan ditambah dari streamlink yang berfungsi untuk mengekstrak url video dari penyedia live service seperti YouTube, Dailymotion, Livestream dan lain-lainnya yang bisa dibaca di dokumen streamlink.

sudo apt install git python-setuptools
git clone https://github.com/streamlink/streamlink
cd streamlink/
sudo python setup.py install

Kalau berhasil, dibaris terakhir akan ada informasi suksesnya proses compiling

Finished processing dependencies for streamlink==1.x.x+xx.gxxxxxxx

Dan kemudian kita test untuk play YouTube live streaming menggunakan streamlink dan omxplayer dengan perintah:

streamlink -p "omxplayer --timeout 20" --player-fifo https://www.youtube.com/rodjatv/live best

omxplayer butuh trik agar audio bisa keluar melalui USB sound card atau USB headphone. Tambahkan perintah -o alsa:hw:1,0 agar audionya bisa keluar. Contoh perintahnya menjadi streamlink -p "omxplayer -o alsa:hw:1,0 --timeout 20" --player-fifo https://www.youtube.com/rodjatv/live best

Updated: Dec 26, 2019 4:20 PM

Cek status dhcpcd dengan perintah:

sudo service dhcpcd status

Biasanya sih sudah aktif, saya menggunakan OS Raspbian Buster with desktop and recommended software.

pi@raspberrypi:~ $ sudo service dhcpcd status
● dhcpcd.service - dhcpcd on all interfaces
   Loaded: loaded (/lib/systemd/system/dhcpcd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-12-26 13:28:21 WIB; 1h 27min ago
  Process: 321 ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -b (code=exited, status=0/SUCCESS)
 Main PID: 390 (dhcpcd)
    Tasks: 2 (limit: 2200)
   Memory: 4.5M
   CGroup: /system.slice/dhcpcd.service
           ├─390 /sbin/dhcpcd -q -b
           └─458 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext

Dec 26 13:28:22 raspberrypi dhcpcd[390]: eth0: IAID eb:33:b8:a7
Dec 26 13:28:22 raspberrypi dhcpcd[390]: eth0: adding address fe80::e582:ca1b:aacb:bed7
Dec 26 13:28:22 raspberrypi dhcpcd[390]: eth0: soliciting a DHCP lease
Dec 26 13:28:22 raspberrypi dhcpcd[390]: eth0: offered 10.0.1.37 from 10.0.1.1
Dec 26 13:28:22 raspberrypi dhcpcd[390]: eth0: probing address 10.0.1.37/24
Dec 26 13:28:23 raspberrypi dhcpcd[390]: eth0: soliciting an IPv6 router
Dec 26 13:28:27 raspberrypi dhcpcd[390]: eth0: leased 10.0.1.37 for 1209600 seconds
Dec 26 13:28:27 raspberrypi dhcpcd[390]: eth0: adding route to 10.0.1.0/24
Dec 26 13:28:27 raspberrypi dhcpcd[390]: eth0: adding default route via 10.0.1.1
Dec 26 13:28:36 raspberrypi dhcpcd[390]: eth0: no IPv6 Routers available

Tapi kalau belum aktif bisa di aktifkan dengan perintah:

sudo service dhcpcd start
sudo systemctl enable dhcpcd

Kemudian ketik perintah sudo nano /etc/dhcpcd.conf dan kemudian copy paste settingan berikut atau bisa juga dengan menghapus komentar dari example yang disediakan:

interface eth0
static ip_address=10.0.1.3/24
static routers=10.0.1.1
static domain_name_servers=10.10.10.10 8.8.8.8 8.8.4.4

Kemudian di save dan setelah itu di restart dengan perintah sudo reboot.

Update at:Tue, Jan 7, 2020 7:20 AM

Kadang butuh juga buat test bandwidth dan males juga kan buka browser tapi lagi mainan di terminal

Sebetulnya kita bisa install melalui perintah sudo apt install speedtest-cli tapi ternyata ada bugsnya, karena uploadnya selalu saja berkisar dari 3.5 Mbit/s. Karena itu, kita install melalui repositorynya aja yah.

git clone https://github.com/sivel/speedtest-cli.git
cd speedtest-cli
sudo python setup.py install

pi@srv1rpi3:~ $ speedtest
Retrieving speedtest.net configuration...
Testing from PT XXXXX (xxx.xxx.xx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by My Republic Indonesia (Jakarta) [0.76 km]: 5.317 ms
Testing download speed................................................................................
Download: 49.29 Mbit/s
Testing upload speed................................................................................................
Upload: 50.06 Mbit/s

Updated at:Fri, Jan 10, 2020 3:15 AM add Raspbian Lamp

sudo apt update
sudo apt upgrade

sudo apt install apache2
sudo a2enmod rewrite
sudo systemctl restart apache2

Dan dilanjutkan dengan:

sudo vi /etc/apache2/apache2.conf

Kemudian rubah AllowOverride None menjadi AllowOverride All seperti berikut:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Setelah itu rubah kepemilikan /var/www/ menjadi:

sudo chown -R pi:www-data /var/www/html/
sudo chmod -R 770 /var/www/html/

Dan kemudian restart apache

sudo systemctl restart apache2

sudo apt install php libapache2-mod-php

sudo apt install mariadb-server mariadb-client php-mysql
sudo systemctl restart apache2

sudo apt install phpmyadmin

Kemduian pada pilihan

Please choose the web server that should be automatically configured to run phpMyadmin.

Web server to reconfigure automatically:

[*] apache2
[ ] lighttpd

Dan pada dialog Configuring phpmyadmin pilih <Yes> untuk Configure database for phpmyadmin with dbconfig-common?.

Kemudian kita akan merubah privileges untuk akun phpmyadmin dan karena nantinya kita tidak bisa login menggunakan akun root di phpmyadmin.

sudo mysql --user=root --password

Kemudian tekan ENTER (because root doesn't have password yet), dan ketikkan perintah:

grant all privileges on *.* to phpmyadmin@localhost;
FLUSH PRIVILEGES;
exit;

Setelah itu kita test buka 10.0.1.33/phpmyadmin dan masukkan username phpmyadmin dan masukkan password yang kita buat pada waktu dialog Configuring phpmyadmin. Dan mungkin bisa dicoba dengan membuka database phpmyadmin => pma__users dan bila ada error Warning in ./libraries/sql.lib.php#613 maka hal ini dikarenakan kita menggunakan phpmyadmin versi 4.6.6 dan kita perlu mengupgradenya.

sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.old-4.6.6
sudo mkdir /usr/share/phpmyadmin
cd /usr/share/phpmyadmin

Kemudian check download phpMyAdmin versi terbaru dan klik kanan dan pilih Copy link address. versi terakhir pada saat catatan ini dibuat adalah versi 5.0.1

sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-5.0.1-all-languages.zip
sudo unzip phpMyAdmin-5.0.1-all-languages.zip
sudo mv phpMyAdmin-5.0.1-all-languages/* /usr/share/phpmyadmin
sudo vi libraries/vendor_config.php

Dan rubah 2 konfigurasi menjadi berikut:

define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');
define('CONFIG_DIR', '/etc/phpmyadmin/');

Setelah itu hapus file hasil download dan folder ekstrak:

sudo rm -fr phpMyAdmin-5.0.1-all-languages*

Dan jika sudah yakin semuanya aman, kita bisa juga hapus folder phpmyadmin.old-4.6.6.

Disini saya menggunakan modem Huawei Mobile Connect Model E160G HSDPA USB Stick

sudo apt install php-cli php-imap
sudo systemctl restart apache2
cd /tmp/
sudo wget https://sourceforge.net/projects/playsms/files/playsms/Version%201.4.2/playsms-1.4.2.tar.gz
sudo tar -zxf playsms-1.4.2.tar.gz -C /usr/local/src
cd /usr/local/playsms-1.4.2
sudo cp install.conf.dist install.conf
sudo vi install.conf

Dan sesuaikan:

# INSTALL DATA
# ============

# Please change INSTALL DATA below to suit your system configurations

# Please do not change variable name, you may change only the value

# MySQL database username
DBUSER="phpmyadmin"

# MySQL database password
DBPASS="lalalala"

# MySQL database name
DBNAME="playsms"

# MySQL database host
DBHOST="localhost"

# MySQL database port
DBPORT="3306"

# Web server's user, for example apache2 user by default is www-data
# note: please make sure your web server user
WEBSERVERUSER="pi"

# Web server's group, for example apache2 group by default is www-data
# note: please make sure your web server group
WEBSERVERGROUP="www-data"

# Path to playSMS extracted source files
PATHSRC="$(pwd)"

# Path to playSMS web files
# note: please make sure your web root path, in this example its /var/www/html
PATHWEB="/var/www/html/playsms"

# Path to playSMS additional files
PATHLIB="/var/lib/playsms"

# Path to playSMS daemon and other binary files
PATHBIN="/usr/local/bin"

# Path to playSMS log files
PATHLOG="/var/log/playsms"

# Path to playSMS daemon configuration file
# note: this example will create playsmsd.conf in /etc
PATHCONF="/etc"

# END OF INSTALL DATA
# ===================

Setelah itu jalankan sudo ./install-playsms.sh

sudo apt install libusb-1.0-0-dev
cd /usr/local/src
sudo wget http://smstools3.kekekasvi.com/packages/smstools3-3.1.21.tar.gz
sudo tar -zxvf smstools3-3.1.21.tar.gz
cd smstools3
sudo make
sudo make install
sudo mkdir -p /var/log/sms/stats
sudo mkdir -p /var/spool/sms/{checked,failed,incoming,outgoing,sent}
sudo mkdir /var/spool/sms/modem1
sudo chown pi:www-data -R /var/spool/sms
sudo chmod 777 -R /var/spool/sms
sudo mv /etc/smsd.conf /etc/smsd.conf.dist
cd /tmp
sudo wget -c https://raw.githubusercontent.com/antonraharja/playSMS/master/contrib/smstools/smsd.conf
sudo cp smsd.conf /etc/
sudo vi /etc/udev/rules.d/80-ttyusb-map.rules

Dan kemudian isi dengan:

ACTION=="add", KERNEL=="ttyUSB[0-9]*", PROGRAM="/etc/udev/rules.d/ttyusb-map.sh %p", SYMLINK+="gsm%c"

Lanjut dengan membuat file ttyusb-map.sh

sudo touch /etc/udev/rules.d/ttyusb-map.sh 
sudo chmod 755 /etc/udev/rules.d/ttyusb-map.sh 
sudo vi /etc/udev/rules.d/ttyusb-map.sh

Dan paste kode berikut:

#!/usr/bin/perl -w

@items = split("/", $ARGV[0]);
for ($i = 0; $i < @items; $i++) {
    if ($items[$i] =~ m/^usb[0-9]+$/) {
        print $items[$i + 1] . "\n";
        last;
    }
}

Kemudian cabut colok modemnya dan akan teregisterasi di /dev/gsm*:

pi@srv2rpi3b:~ $ ls -l /dev/gsm*
lrwxrwxrwx 1 root root 7 Jan 10 03:37 /dev/gsm1-1 -> ttyUSB1

Kemudian kita lanjut edit file smsd.conf

sudo vi /etc/smsd.conf

Dan sesuaikan:

# Global configuration

#devices = modem1, modem2
devices = modem1

loglevel = 5

# logfiles
stats = /var/log/sms/stats
logfile = /var/log/sms/smsd.log

# Default queue directory = /var/spool/sms
outgoing = /var/spool/sms/outgoing
checked = /var/spool/sms/checked
failed = /var/spool/sms/failed
incoming = /var/spool/sms/incoming
sent = /var/spool/sms/sent

# do not set report folder, let status report files saved in incoming
#report = /var/spool/sms/report

delaytime = 2
errorsleeptime = 10
blocktime = 180
autosplit = 3
#receive_before_send = yes
incoming_utf8 = yes

# Queue configurations

[queues]
modem1 = /var/spool/sms/modem1
#modem2 = /var/spool/sms/modem2

# Modem configurations

# Modem name: modem1
# Modem type: Wavecom USB
[modem1]
#init = AT+CNMI=2,2,0,1,0;+CMEE=1
#init = AT+CPMS="ME","ME","ME"
device = /dev/gsm1-1
baudrate = 19200
incoming = yes
report = yes
queues = modem1
decode_unicode_text = yes
cs_convert = yes

# Modem name: modem2
# Modem type: Wavecom USB
#[modem2]
#init = AT+CNMI=2,2,0,1,0;+CMEE=1
#device = /dev/ttyUSB1
#baudrate = 115200
#incoming = yes
#report = yes
#queues = modem2

Save dan kemudian restart SMS Server Tools 3.

pi@srv2rpi3b:~ $ sudo /etc/init.d/sms3 restart
Allowing smsd to terminate gracefully within 45 seconds
.............................................
Timeout occured, killing smsd hardly.
Starting SMS Daemon: smsd.
pi@srv2rpi3b:~ $ ps ax | grep -v grep | grep smsd
21171 ?        Ss     0:00 /usr/local/bin/smsd -n MAINPROCESS -p/var/run/smsd.pid -i/var/run/smsd.working -l/var/log/smsd.log
21172 ?        S      0:00 /usr/local/bin/smsd -n modem1_____ -p/var/run/smsd.pid -i/var/run/smsd.working -l/var/log/smsd.log

  1. Login http://10.0.1.33/playsms, masukkan username admin dan password admin
  2. Settings => Manage gateway and SMSC => click icon folder smstools dan pastikan pada isian Default default_queue directory => /var/spool/sms dan SAVE
  3. Kemudian klik BACK dan kali ini klik tanda + dan pastikan isian pada Gateway => smstools, SMSC name => modem1, Receiver number => 62855xxxxxxx, Queue directory => /var/spool/sms/modem1 dan SAVE
  4. Dan sekarang ke Settings => Main Configuration => tab Default settings pastikan isinya adalah sebagai berikut Default sender ID => 62855xxxxxxx, Default SMSC => modem1, Default prefix or country code => 62, *Always remove plus sign => yes, Enable login brute force detection => yes dan SAVE

Setelah itu test kirim SMS dengan cara

  1. My account => Compose message.
  2. Masukkan nomor tujuan di field Send to, menggunakan kode negara 6281389xxxxxx
  3. Ketik pesan di bagian Message
  4. Dan ganti pada bagian Message footer atau hapus
  5. Ternyata bisa untuk Schedule juga gaes, asik kan?
  6. Buka Reports => All sent messages untuk melihat laporan SMS yang berhasil terkirim
  7. Dan kita bisa juga melihat lognya di menu Reports => View log

Updated at Sat, Feb 29, 2020 8:02 AM

Kadang kita lupa model atau versi Raspberry yang kita punya, padahal sudah pakai casing atau hal lainnya yang waktu itu kita tidak bisa lihat boardnya langsung. Kalau pakai Raspbian, masih bisa cek model Raspberry, yaitu dengan menggunakan terminal dan kemudian ketikkan perintah:

cat /sys/firmware/devicetree/base/model

Related Posts