Agustus 07, 2018

mencoba menggunakan zram di raspberry pi

saya beberapa hari yang lalu mencoba mengaktifkan zram untuk membuat cadangan jika ram udah hampir penuh untuk dipindah ke zram, sejauh ini masih sedikit zramnya terpakai so 1gb sebenarnya sudah cukup buat headless hehe. Zram merupakan linux kernel module yang bekerja untuk membuat compressed block device pada ram.

saya menulis ulang codenya https://github.com/novaspirit/rpi_zram karena males ngeklon mending tulis sendiri aja hehe. kalo mau menyoba silahkan kunjungi githubnya dan clone projectnya hehe.

Agustus 05, 2018

Remote GPIO Raspberry Pi

halo guys, saya kembali lagi nulis di blog ini lagi, setelah hiatus, karena ngga tau mau nulis apaan di blog gaje ini haha. Kali ini aku akan membagi pengalaman remote gpio raspberry pi, dengan melakukan ini kita bisa koding di laptop dan menjalankannya di laptop akan tetapi, pin yang kita akses berada di raspberry pi it's sound a magic meskipun biasa aja karena menggunakan socket hehe software yang saya gunakan untuk melakukan hal itu, adalah pigpio.

sebelum install pigpio di raspberry pi sebaiknya enabled dulu remote gpio takutnya nanti lupa hehe, untuk enabling dari terminal raspberry pi atau pun terminal laptop untuk yang menggunakan linux dan ssh raspberry pi ketikan sudo raspi-config, kemudian pilih Interfacing Options untuk memilih gunakan tombol keyboard arrow down lalu tekan enter, terus pilih Remote GPIO, kemudian ada semacam pertanyaan, "would you like the GPIO server to be acessible over the network? yes/no" pilih yes untuk enable dan no untuk disable dengan kata lain, kalo kita memilih yes kita mengizinkan gpio raspberry pi dapat diacces lewat jaringan internet.

setelah enable remote gpio saatnya untuk install pi gpio dengan cara sudo aptitude install pigpio, atau boleh sudo apt install pigpio, bisa juga sudo apt-get install pigpio, terserah kamu dan senyaman kamu hehe. Oh iya aku menggunakan raspbian stretch lite, jadi ngga tau kalo di distro selain raspbian stretch bisa atau ngga.  jalankan sudo systemctl enable pigpiod supaya deamon (setan) pigpio bisa dijalankan saat booting, kalo ngga mau ya jangan dijalankan itu supaya bisa menggunakan perintah ini sudo pigpiod -n 192.168.1.120 hanya akan listen ip adrress 192.168.1.120, tapi kalo mau bisa diakses semua yang se jaringan bisa dengan sudo systemctl start pigpiod.

sekarang persiapan untuk hardware yang akan akses gpio raspberry pi hehe saya menggunakan thinkpad t420 dan os kubuntu 17.04 unduh pigpio dengan menggunakan pip3 bisa sih pip tapi aku pengen menggunkan python3.5 jadi yah pakenya pip3, untuk install pip3 gunakan perintah sudo apt install python3-pip, kalo sudah ada yah tinggal pip3 install pigpio, untuk os lain bisa berkunjung ke link ini setelah terinstall lanjut ngoding bebas mau pake text editor apapun kalo aku pake nano, jadi nano buzz.py.
 import pigpio  
 from time import sleep  
 PI = pigpio.pi("192.168.1.111")  
 buzz = 4  
 PI.set_mode(buzz, pigpio.OUTPUT)  
 while True:  
   PI.write(buzz, 1)  
   sleep(1)  
   PI.write(buzz, 0)  
   sleep(1)  

save kode tersebut terus jalankan dengan mengetikan python3 buzz.py
PI = pigpio.pi("192.168.1.111") bisa juga ditambah portnya yaitu 8888  menjadi PI=pigpio.pi("192.168.1.111",8888) ini digunakan setup pigpio supaya socket berkomunikasi ke ip raspberry pi. PI.set_mode(buzz, pigpio.OUTPUT) artinya untuk menjadikan pin 4 bcm atau di kode ini saya namakan buzz karena saya menggunakan buzzer sebagai OUTPUT, PI.write(buzz, 1) artinya memberikan daya atau mengalirkan listrik ke pin 4 atau buzz, sleep(1) kita gunakan untuk membuat jeda 1detik, PI.write(buzz, 0) untuk memutus arus ke pin 4 atau buzz.

oh iya sebagai informasi pigpio menggunakan mode bcm pinoutnya jadi bisa berbeda dengan yang diboardnya sehingga disarankan cara gambar pinout bcm. sudah dulu ya guys udah bingung nih mau nulis apaan lagi, jadi selamat bereksperimen dan goodlucck. bye... bye...

Juli 01, 2018

Bereksperiment Dengan Raspbian Lite

Minggu kemarin raspbian full version dengan de lxde ane corrupt, karena langsung ane cabut power source. Internet rumah ane kayak siput ahirnya ane unduh image raspbian lite ukuranya hanyalah 350MB setelah saya masukkan kedalam sdcard menggunakan dd menjadi lebih dari 1GB.

minusnya adalah tanpa de, browser,libre office dan software bergui lainnya, ada satu hal yang membuat ane mesti download tidak adanya sysbench yang amat saya perlukan untuk uji performa raspberry pi saya. Kemudian saya juga membutuhkan go compiler untuk eksperimen menggunakan bahasa pemrograman go. Yang saya rasakan menggunakan raspbian lite adalah sama aja kayak raspbian sebelumya cuma minus de saja.

Februari 01, 2018

Mount Flashdrive menggunakan sshfs

saya akan bercerita sedikit mengenai iseng saya, ingin mencoba memuat flashdrive yang saya colok di orange pizero kedalam raspberry pi 3 melalui jaringan, kemudian saya menemukan sshfs ternyata cukup mudah digunakan dan hasilnya mengembirakan.

caraya ssh user@host:/directori/dirshare /home/user/tujuan mount nah saya ingin menggunakan /media/user ternyata ngga bisa dan ngga ada errornya setelah browsing ahirnya nemu solasinya yaitu dengan chown(change owner ) dari root menjadi user untuk direktori /media/user dengan chown user /media/user kemudian sshfs userb@host:/media/usera /media/userb dan voila berhasil. dengan menggunakan sshfs saya menggunakan satu flashdrive untuk banyak device yang saling terhubung. btw tadi sempet ada kendala yaitu ngga bisa diaccess plex media server itu hasil sshfs  tapi ahirnya bisa juga dengan memasukan tulisan dibawah ini kedalam /etc/fstab
<USERNAME>@<HOST>: /mnt/remote  fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,allow_other,reconnect 0 0

cuma ini sih ocehan curhat saya ijin caw dulu gays
masalah plex media server solved setelah baca https://bayne.github.io/blog/post/remote-streaming-with-plex/

Desember 17, 2017

Cara Compile Telegram Cli pada Raspberry pi 3B

Telegram adalah applikasi chatting yang menurutku adalah yang terbaik saat ini bisa chat dari smartphone, laptop,bahkan dari sbc dengan menggunakan tgcli nah karena inilah aku akan menuliskan catatanku ketika mengompile telegram cli di raspberry pi 3b.
sebelum ngompile siapkan dependensi yang dibutuhkan
pi@raspberry:~$ sudo aptitude update
pi@raspberry:~$ sudo aptitude install libreadline-dev libconfig-dev libssl1.0-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make





pi@raspberry:~$ git clone --recursive https://github.com/vysheng/tg.git && cd tg
pi@raspberry:~/tg$ nano tgl/mtproto-utils.c
cari static unsigned long long BN2ull (TGLC_bn *b) pada else if (sizeof (unsigned long long) == 8) cari assert(0); kasih komen seperti ini //assert(0); atau hapus aja hehe selanjutnya
pi@raspberry:~/tg$ ./configure
tunggu sampai selesai selanjutnya compile dengan
pi@raspberry:~/tg$ make -j3
tunggu sampai selesai ngompilenya
pi@raspberry:~/tg$ nano response.lua
 function on_msg_receive (msg)  
    if msg.out then  
      return  
    end  
    if (msg.text=='/ganteng') then  
        send_msg (msg.from.id, 'aku emang paling ganteng kok', ok_cb, false)  
    end  
 end  

save kemudian jalankan telegram cli dengan
pi@raspberry:~/tg$ bin/telegram-cli -k tg-server.pub -W -s response.lua
nanti akan diminta untuk memasukan no telpon dan juga code ikut instruksinya untuk mengirim chat  ketik msg displayname pesan yang akan dikirim dan satu lagi buka telegram dari smartphone atau device lainnya buka saved message dan chat dengan /ganteng atau kata kunci apapun yang kamu buat dio response.lua tgcli akan membalas sesuai yang terdefinisikan di response.lua

Agustus 14, 2017

menggunakan lcd 1602 pada arduino uno

lcd atau liquid crystal display adalah alat yang digunakan untuk menampilkan sesuatu agar terlihat pada suatu panel jadi kita bisa melihat text,gambar atau apapun yang akan kita lihat. lcd 1602 merupakan layar atau display yang hanya mampu menampung 16 karakter dan 2baris saja jadi tidak bisa digunakan menampilkan banyak karakter, meskipun demikian cukup kok untuk menampilkan informasi suhu, kelembaban, jarak, tegangan dll. tapi tidak cukup untuk menuliskan status alay eh.

tanpa banyak basa basi ayo mulai percobaan kita, solder kabel jumper male to male or male to female silahkan pilih sendiri. solder kabel jumper lubang vss, vdd, v0, rs, rw, e, d4, d5, d6, d7, anoda dan katoda
setelah itu hubungkan vss ke ground, vdd ke 5v, v0 ke ground/potentiometer, rs ke pin 10 arduino, rw ke ground , e ke pin 9, d4 ke pin 7 ,d5 ke pin 6, d6 ke pin 5, d7 ke pin 4, anoda ke resistor yang terhubung dengan 5v, katoda ke ground sebaiknya groundnya ditaruh di breadboard dengan menghubungkan pin ground arduino ke lubang -(biru) pada breadboard dan pin 5v ke lubang +(merah) pada breadboard



kurang lebih seperti inilah bray



buka arduino ide buat sketch seperti ini

 #include <LiquidCrystal.h>  
 LiquidCrystal disp(10, 9, 7, 6, 5, 4);  
 void setup() {  
  // put your setup code here, to run once:  
  disp.begin(16,2);  
 }  
 void loop() {  
  // put your main code here, to run repeatedly:  
  for(int r=0;r<2;r++){  
   for(int c=0; c<16;c++){  
    disp.clear();  
    disp.setCursor(c,r);  
    disp.print("->");  
    delay(1000);  
   }  
  }  
 }  

dan hasilnya seperti ini





dan solderan lcdnya seperti ini

Agustus 04, 2017

Mendengarkan dan membaca data yang dikirim arduino uno di pc menggunakan python serial

python serial merupakan modul yang dapat kita gunakan untuk menerima dan mengirim data melalui port serial jadi bisa kita gunakan untuk berkomunikasi antara komputer yang kita miliki dengan arduino dalam hal ini yang saya gunakan adalah arduino uno.

dengan menggunakan python serial dan sensor dht11 kita bisa membuat project mengukur suhu dan kelembaban udara suatu ruangan dan hasilnya bisa kita lihat di komputer entah itu langsung disajikan pada terminal di linux ataupun kita tulis kedalam sebuah file text yang kita simpan jadi kita bisa buka kapan saja melalui text editor.

hubungkan pin + ke pin 5v , pin out ke pin a5, pin - ke pin ground kemudian buat source code di arduino sketch kurang lebih seperti ini

#include <DHT.h>
#define DHTTYPE DHT11
#define DHTPIN A5
DHT dht (DHTPIN, DHTTYPE);

void setup(){
    Serial.begin(9600);
    dht.begin();
}

void loop(){
    float t= dht.readTemperature();
    float h = dht.readHumidity();
    if(isnan(t) || isnan(h){
        Serial.println("terjadi kesalahan dalam pemasangan sensor dht");
    }else{
         Serial.print("suhu ruangan: ");
         Serial.print(t);
         Serial.print(" °C");
         Serial.print("\tkelembaban udara: ");
         Serial.print(h);
         Serial.println(" %");
    }
}


sekarang saatnya untuk kita membuat program di linux dengan menggunakan bahasa python dan dibantu oleh modul pySerial alias python serial untuk mengirim dan menerima data melalui jalur serial.

sekarang import serial dengan perintah import serial lalu buat variabel ser dan inisiasi dengan seperti berikut ini.

ser = serial.Serial('/dev/ttyACM0', 9600, timeout=5)

/dev/ttyACM0 adalah port yang terhubung ke arduino kalo diwindows biasanya com 9600 merupakan baudrate yang kita tentukan pada sketch arduino tadi timeout=5 artinya kita menset timeout dengan 5. Selanjutnya buat perulangan yang terus menerus berjalan menggunakan while untuk mendapatkan datanya.
Selanjutnya buat variable data yang akan kita gunakan untuk menampung data yang kita terima dari arduino dengan cara seperti ini.

data = ser.readline()

source code selengkapnya adalah seperti ini

import serial

ser = serial.Serial('/dev/ttyACM0', 9600 , timeout=5)
while True:
  data = ser.readline()
  if data != None and data != "":
     print data

seperti inilah yang akan kita lihat




 catatan /dev/ttyACM0 mengikuti port anda yang terhubung ke arduino jadi sebaiknya cek terlebih dahulu anda menggunakan port berapa bisa saja menggunakan port /dev/ttyACM1 atau port yang lain.

mencoba menggunakan zram di raspberry pi

saya beberapa hari yang lalu mencoba mengaktifkan zram untuk membuat cadangan jika ram udah hampir penuh untuk dipindah ke zram, sejauh ini...