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 Pi
nya.
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 OS
nya.
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
- Login
http://10.0.1.33/playsms
, masukkan usernameadmin
dan passwordadmin
- Settings => Manage gateway and SMSC => click icon folder smstools dan pastikan pada isian Default default_queue directory =>
/var/spool/sms
dan SAVE - 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 - 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
- My account => Compose message.
- Masukkan nomor tujuan di field Send to, menggunakan kode negara 6281389xxxxxx
- Ketik pesan di bagian Message
- Dan ganti pada bagian Message footer atau hapus
- Ternyata bisa untuk Schedule juga gaes, asik kan?
- Buka Reports => All sent messages untuk melihat laporan SMS yang berhasil terkirim
- 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
Comments: