history -c
sudo su
echo “” > /var/log/apache2/error.log
for logs in `find /var/log -type f`; do > $logs; done
Kategori: Linux
Setting printer USB di Raspberry Pi
sudo chown www-data:www-data etc
sudo chmod 775 etc
sudo chown www-data:www-data /dev/usb/lp0
source:
https://www.howtogeek.com/169679/how-to-add-a-printer-to-your-raspberry-pi-or-other-linux-computer/
https://kernelmastery.com/enable-regular-users-to-add-printers-to-cups/
https://maker.pro/raspberry-pi/projects/how-to-turn-a-usb-printer-into-a-wireless-printer-with-raspberry-pi-zero-w
Setting printer serial di raspberry pi
sudo raspi-config
“Interfacing Options,” “Serial.” Turn OFF: login shell over serial, ENABLE: hardware serial port
“Interfacing Options,” enable SSH
sudo apt-get update
sudo apt-get install git cups wiringpi build-essential libcups2-dev libcupsimage2-dev python-serial python-pil python-unidecode
cd ~
git clone https://github.com/adafruit/zj-58
cd zj-58
make
sudo ./install
sudo usermod -a -G lp pi
sudo usermod -a -G lp www-data
reboot
sudo lpadmin -p ZJ-58 -E -v serial:/dev/serial0?baud=9600 -m zjiang/ZJ-58.ppd
sudo lpoptions -d ZJ-58
git clone https://github.com/adafruit/Python-Thermal-Printer
cd Python-Thermal-Printer
python printertest.py
sudo usermod -a -G dialout www-data
sudo usermod -a -G dialout pi
reboot
Membuat Daemon di Raspberry Pi
Buka terminal lalu ketik:
hciconfig hcitool scan
Nama perangkat biasanya bernama: hci0
Misalkan hasilnya adalah:
66:12:13:EE:D1:76 Bluetooth Printer
Test printer dengan perintah:
sudo rfcomm bind /dev/rfcomm0 66:12:13:EE:D1:76 1 echo “Test” > /dev/rfcomm0
Jika printer berhasil mencetak maka koneksi sudah berhasil
Selanjutnya tambahkan file untuk daemon service
sudo leafpad /etc/systemd/system/rfcomm.service
Ketik kode berikut dan simpan:
[Unit] Description=RFCOMM service After=bluetooth.service Requires=bluetooth.service [Service] ExecStart=/usr/bin/rfcomm bind hci0 66:12:13:EE:D1:76 1 [Install] WantedBy=multi-user.target
Ganti nama hci0 dengan nama hasil hciconfig dan ganti 66:12:13:EE:D1:76 dengan hasil hcitool scan
Aktifkan daemon, ubah preferensi printer dan booting
sudo systemctl enable rfcomm sudo systemctl start rfcomm Sudo reboot
Menambahkan RTC pada Raspberry Pi 3
Setting antarmuka I2C
sudo apt-get install -y python-smbus sudo apt-get install -y i2c-tools sudo raspi-config
Pilih Interfacing Option > I2C > Enable lanjutkan dengan booting. Selanjutnya test koneksi dengan perintah i2cdetect untuk antaruka I2C 1. (Cek juga antarmuka ke 0 jika perlu)
sudo i2cdetect -y 1 #isikan angka 1 bila mengunakan I2C1, isikan 0 bila menggunakan I2C 0

Setting RTC
sudo modprobe rtc-ds1307 #load rtc ke kernel sudo bash #masuk ke super user echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device #tambahkan device ds1307 di alamat 0x68 ke I2C1 exit #keluar dari super user sudo hwclock -r #baca waktu dari RTC sudo hwclock -w #tulis RTC berdasarkan sistem
Set agar waktu yang digunakan menggunakan RTC
sudo nano /etc/modules #agar modul rtc-ds1307 diload #tambahkan baris berikut: i2c-bcm2708 rtc-ds1307 sudo nano sudo nano /etc/rc.local #agar dijalankan saat booting #tambahkan baris berikut sebelum exit 0: echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device #tambahkan device ds1307 di alamat 0x68 ke I2C1 sudo hwclock -s #set waktu yang digunkan adalah RTC date #baca waktu saat ini dari RTC
Sumber:
Mengubah script python menjadi executable
Menggunakan Linux
Gunakan pyinstaller, pasang dengan:
pip install pyinstaller
Jika gagal, maka:
Buka: https://github.com/pyinstaller/pyinstaller/releases
Download: PyInstaller-3.3.1.tar.gz lalu extract dan masuk kedirektori tersebut.
Eksekusi dengan perintah:
sudo python setup.py build sudo python setup.py install
Selanjutnya ubah script python ke executable dengan
pyinstaller --onefile <script_phyton>.py
Jika dikatakan bootloader belum tersedia, misalnya untuk Linux ARM 32Bbit, maka harus dibuat dahulu. Pada hasil download PyInstaller ada direktori bootloader. Masuk ke direktori tersebut dan jalankan perintah:
sudo python ./waf all cd ../PyInstaller/bootloader cp -R Linux-32bit-arm/ /home/pi/.local/lib/python2.7/site-packages/PyInstaller/bootloader/Linux-32bit-arm/
sumber: https://pyinstaller.readthedocs.io/en/stable/bootloader-building.html
Menerima paket UDP dan meneruskan ke URL atau website
Gunakan script phyton ini:
import socket, urllib2 UDP_IP = "127.0.0.1" UDP_PORT = 50000 sock = socket.socket(socket.AF_INET, # Internet socket.SOCK_DGRAM) # UDP #sock.bind((UDP_IP, UDP_PORT)) sock.bind(("", UDP_PORT)) #bind, receive from any addresss while True: data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes print "received message:", data stringdata = str(data) if stringdata[0] == "+": value = stringdata[2] karakter = ord(loket) karakter = karakter + 1; value = chr(karakter) url = "http://localhost/getUDP.php?var="+value print "url:", url response = urllib2.urlopen(url) headers = response.info() data = response.read() print data
Menambahkan autorun pada linux raspberry
buka direktori ~/config/autostart, buat jika belum ada dengan mkdir
buat file berektensi .desktop, misalnya chrome.desktop
lalu isikan script berikut
[Desktop Entry] Type=Application Name=Clock [Desktop Entry] Type=Application Name=Clock Exec=chromium-browser --kiosk --app=http://localhost/
Chrome akan berjalan setelah GUI terbuka, fullscreen tanpa notifikasi dengan sempurna. Namun jika ingin autorun saat booting, maka gunakan cara berikut:
sudo leafpad /etc/rc.local
sebelum bagian exit 0 tambahkan kode berikut:
python /home/pi/blink.py &
Penting: Ampersand (&) dibutuhkan agar proses autorun tidak memblokir proses yang lain, dangan kata lain proses yang lain juga akan terbuka walaupun proses autorun ini belum sepenuhnya selesai. Jika tanpa tanda ampersand, maka proses autorun ini akan ditunggu hingga selesai baru proses lain dibuka. Akan menjadi masalah jika pada proses ini loop, maka tidak akan pernah bisa login.
Untuk menghentikan proses loop pada autorun, gunakan:
sudo ps -ax | grep python sudo kill <PID>
ganti <PID> dengan nomor proses. Hati hati jangan keliru, komputer bisa hang!
sumber: https://learn.sparkfun.com/tutorials/how-to-run-a-raspberry-pi-program-on-startup/all
Autoplay Video pada HTML
bagian html, isikan:
<html> <head>Video playlist</head> <body> <video autoplay id="myVideo" width="480" height="326" style="object-fit: fill;"> Browser tidak mendukung video </video> <script src='video/list.php'></script> <script type="text/javascript"> var videoSource = new Array(); for(var x=0; x<=files.length; x++){ videoSource[x]='http://localhost/antrian/video/'+files[x]+'.mp4'; } var videoCount = videoSource.length; document.getElementById("myVideo").setAttribute("src",videoSource[0]); function videoPlay(videoNum) { document.getElementById("myVideo").setAttribute("src",videoSource[videoNum]); document.getElementById("myVideo").load(); document.getElementById("myVideo").play(); } document.getElementById('myVideo').addEventListener('ended',myHandler,false); var i=0; function myHandler() { i++; if(i == (videoCount-1)){ i = 0; videoPlay(i); }else{ videoPlay(i); } } </body> </html>
lalu buat file list.php pada direktory video, dengan mengisikan script berikut:
var files = <?php $out = array(); foreach (glob('*.mp4') as $filename) { $p = pathinfo($filename); $out[] = $p['filename']; } echo json_encode($out); ?>;
selanjutnya taruh file video dengan format mp4 ke direktori video
Menambahkan direktori alias pada apache2
buka file 000-default.conf
sudo leafpad /etc/apache2/sites-enabled/000-default.conf
tambahkan script dibawah DocumentRoot /var/www/html sebagai berikut
Alias /logo "/home/pi/logo" <Directory "/home/pi/logo"> Options FollowSymLinks AllowOverride None Require all granted </Directory>
Gunakan tab sebagai indent, wajib indent!