Minggu, 12 Agustus 2018

Pemrograman javascript

Pemrograman javascript adalah membuat instruksi instruksi yang dimengerti oleh mesin komputer sehingga kita bisa memberi tugas tugas tertentu.

Javascript adalah sebuah bahasa pemrograman berorientasi objek atau disingkat OOP (object orientation program)
Disebut objek karena sebuah  program besar javascript sebenarnya terdiri dari kumpulan program program kecil yang sudah dan bisa diberi tugas lalu  melaporkan (callback) hasilnya jika sudah selesai (Asynchronous)

Pada awalnya javascript hanya dipakai di browser tapi kini sudah merambah ke bahasa pemrograman untuk server seperti node js, embedded sistem, raspberry  pi dan IOT. Javascript beken dengan inisial js termasuk ekstensi menggunakan *.js

Dalam arikel ini penulis akan mengurai dasar pemrograman javascript basic. Basic maksudanya kita akan belajar syntax yang dipakai javascript. Syntax berarti aturan aturan dasar bahasa atau text  yang sudah dimengerti oleh mesin komputer untuk kemudian dieksekusi.

Javascript adalah bahasa tingkat tinggi, artinya bahasa yang dipakai hampir bisa dimengerti oleh kita manusia. Semangkin kita gak faham bahasanya maka akan mendekati  bahasa  mesin seperti  biner 10011100  yang sulit dimengerti ( bahasa tingkat rendah).

Contoh syntax javascript:

var x, y;          // Deklarasi variabel x dan y
x = 5; y = 1;      // Mengisi variabel x=5 dan y=1

z = x + y;     // Proses aritmatika dan menyimpan nilai di y
console.log("Hasil x + y adalah " + z);  // hasilnya 6


Dalam syntax pemrograman komputer apapun bahasanya baik C++, Javascript, Visual basic memiliki konsep yang sama namun mungkin ada perbedaan di nama instruksi, keyword atau tanda bacanya. Berikut ini beberapa contoh keyword dari javascript untuk membentuk bahasa pemrograman javascript.


Variabel
Variabel adalah wadah atau tempat untuk menaruh nilai atau value sementara. Tanpa variabel kita bisa tetap melakukan eksekusi program hanya saja flexibiltasnya tidak ada berikut contoh percobaan untuk melihat salah satu manfaat variabel

  • Untuk melakukan percobaan ini dianggap sobat sudah memiliki browser Firefox yang sudah terinstall. Buka browser firefox :

 
  • Kemudian dari keyboard tekan CTRL + SHIFT + K secara bersamaan, akan tampil Development tools milik firefox yang akan kita pakai sebagai  mesin untuk menjalankan javascript.
 

Ketik syntax baris demi baris (enter setiap di akhir baris)

var i = 0
do 

i++ 
console.log("Hallo ke "+ i) 

while(i<10);


Hasilnya setelah enter terakhir seperti berikut:

 

Hasil cetak teks halo ke 1 s/d hallo ke 10 menggunakan counter yang disimpan di variabel "i" dan nilai dari counter "i" juga bisa ditampilkan. Dengan variabel kita dengan cepat dan mudah mencetak teks hanya dengan "hallo ke" + i
Cara kerjanya
Karena javascript bahasa manusia maka cara kerja script penghitung hallo sebenarnya masih cukup mudah dimengerti.

var i = 0
Var  adalah variabel, saat kita menuliskan var berarti kita telah mendeklarasikan sebuah wadah, dan "i" adalah nama wadahnya. Saat variabel i dibentuk maka isi dari wadah adalah "undefined". Oleh karenanya di setiap script variabel mesti diberi isi atau nilai. Dalam hal ini kita mengisinya dengan 0.

do
Do adalah keyword untuk melakukan sesuatu, apa yang harus dilakukan di arahkan ke isi didalam bracket {}. Do umumnya dipakai untuk looping proses.

{ i++ 
Ini adalah keyword untuk melakukan proses increment atau penambahan 1+1 ke dalam variabel i.

console.log("Hallo ke "+ i) 
Keyword ini umum dipakai sebagai penampil atau output dari isi variabel atau status. Ingat ya nama variabel tidak pernah diapit dengan tandai kutip " " seperti i akan tetap i tapi untuk hallo karena sebuah nilai bertipe string maka wajib di berikan kutip. Jika nilai dan nama variabel akan disandingkan maka wajib memakai keyword +. Seperti "hallo " + 1


while(i<10);
Keyword ini artinya selagi, dan berguna sebagai pemeriksa nilai dari variabel i. Tampak i di sanding dengan operator < artinya jika kurang dari nilai 10 maka proses loop di dalam bracket {} akan terus terjadi.
Tampak ada karakter semicolon ; biasa dipakai sebagai penutup di akhir sebuah proses.

Kita sudah coba menggunakan variabel. Variabel adalah wadah sementara yang bisa diisi dengan bebagai macam tipe data. Pada contoh sebelumnya kita membuat variabel "i" yang diisi dengan tipe data "number". selain itu masih ada tipe data lain yang bisa disimpan dalam variabel seperti number, string, boolean atau object.

Penulis membuat double slash "//" warna hijau ini adalah perintah untuk menyisipkan komentar yang tidak akan di eksekusi. Berikut ini contoh tipe tipe variabel sobat bisa menggunakan development tools firefox

var Umur = 3;                                                                         //Untuk tipe Number               
var Nama = "Anisa";                                                              // String
var Menikah = false;                                                              //Boolean
var Biodata = {Nama:"Anisa", Umur:3, Menikah:false};    // Object 


Tampak variabel objek Biodata berisi berbagai macam tipe data nama, umur dan menikah  properti umur, nama dan status pernikahan, jadi variabel tipe objek memudahkan kita menyimpan banyak value dengan beragam tipe data.

Cara melihat isi variabel hanya dengan mengetik nama variabelnya. Untuk tipe objek nama variabel beserta properti nya dipisah tanda titik, Hasilnya sbb.



Operator dan keyword
Operator dan arimatic adalah pembetuk dari instruksi instruksi bahasa javascript. Sebelumnya kita sudah melakukan percobaan syntax javascript







Berikut Keyword javascript:
  • var
    • Adalah variabel sebagai wadah penyimpanan data sementara. Contoh Variabel data misal:  var Nama =  "Budi"
  • if
    • Pernyataan pilihan misal : if  (2 < 3 ) { console.log("Benar")};
  • else
    •  Sangkalan misal : if  (2>3) { console.log("Benar") else console.log("Salah")}

Berikut Variabel javascript:
  • Global variabel
  • Local variabel

Berikut Tipe data javascript:
  • Number 
    • Angka, misal 2015
  • String
    • Huruf,  misal "Ibrahim"
  • Boolean
    • Hanya memiliki dua pilihan misal True atau False, lelaki atau perempuan
  • Object
    • Data berisi properti misal {Nama:" Anisa", Umur:3}
  • Function
    • Object
      • Sama dengan tipe object hanya saja dipanggil dalam bentuk fungsi
    • Date
      • 25 Maret 2018
    • Array
      • Data berbentuk array dan bisa dipanggil dalam bentuk fungsi misal "budi memili hobi olahraga yang lebih dari dua maka fungsi ditulis dalam bentuk array ["Berenang","Memancing","Arum jeram"]
Berikut Operator javascript:
  •  Operator aritmatika terdiri dari + - / x % -- ++
  • Operator logika or, and, not, xor && || !
  • Operator assignment = +- %=
  • Operator komparasi == === != >< ?



Function javascript
Javascript function adalah blok kode yang dibuat untuk melakukan instruksi khusus, function di javascript sangat penting sebagian besar isi dari pemrograman javascript berisi fungsi fungsi
Berikut ini adalah contoh fungsi yang mengubah suhu satuan fahrenheit menjadi derajat celcius

function toCelsius(fahrenheit) {
    return (5/9) * (fahrenheit-32);
}


untuk melihat hasilnya cukup memanggil nama fungsinya dan mengisi nilai parameternya contoh  toCelcius(77):

 
Demikian uraian singkat pemrograman javascript semoga membantu salam.. :)

Ref  https://www.w3schools.com


Jumat, 10 Agustus 2018

Mengenal DOM HTML

DOM adalah sebuah aplikasi interface yang membantu merubah dan memodifikasi halaman website statis menjadi dinamis.

Dari w3school DOM adalah:


Document Object Model (DOM) adalah platform dan antarmuka yang memungkinkan program dan skrip untuk mengakses dan memperbarui konten, struktur, dan gaya dokumen secara dinamis

Sebuah website berisi sebuah halaman HTML yang merupakan kerangka dasar pembentuk sebuah web. HTML ini terdiri dari elemen elemen yang akan diubah menjadi sebuah objek yang berisi properti. Dari properti ini kita bisa mengubah, manambah, memodifikasi sebuah value pada sebuah halaman website menjadi lebih dinamis menggunakan javascript.

 

Berikut ini adalah contoh sederhana mengenal DOM. Contoh ini pure kerangka HTML tanpa DOM. Dan setelah di buka di browser hanya menampilkan teks My First Page.


Berikut ini adalah kerangka HTML script dengan DOM


Kerangka HTML dengan dan tanpa DOM terlihat perbedaanya dari teks Hello world. Di Pure HTML tidak tampak adanya teks Hello world karena tidak adanya script untuk merubah element DOM dan tidak adanya elemen DOM yang dikenali untuk dirubah. Namun di HTML dengan DOM tampak  <p id="demo"></p> adalah sebuah element yang dikenal (id) dan bisa di rubah dengan metode document.getElementById.

Berikut ini yang bisa dilakukan dengan DOM:
  • Seperti mengganti HTML elements dihalaman web
  • mengganti semua HTML attributes dihalaman web
  • mengganti semua CSS styles dihalaman web
  • dapat membuang existing HTML element dan atribut
  • dapat menambah HTML elements baru dan atribut baru
  • dapat react to all existing HTML events dihalaman web
  • dapat membuat HTML events baruv dihalaman web

Demikian artikel singkat mengenal DOM semoga bermanfaat.


ref :https://www.w3schools.com

Kamis, 09 Agustus 2018

Menggunakan Relay

Sebelum kita menggunakan relay mungkin ada baiknya penulis ulas sedikit apa itu relay. Menurut Wikipedia.

Relay adalah suatu peranti yang menggunakan elektromagnet untuk mengoperasikan seperangkat kontak sakelar. 

Relay paling sederhana terdiri dari kumparan kawat atau coil penghantar yang dililit pada inti besi. Bila kumparan ini diberi arus listrik misal 12 volt maka akan menghasilkan medan magnet disekitar inti besi dan digunakan sebagai pengungkit mekanisme sakelar magnet. Jika seandainya pole di berikan tegangan 220 VAC yang diseri dengan pompa air 220 volt pada salah satu terminal NO atau NC maka akan menghidupkan dan mematikan mesin air.



Relay banyak digunakan dalam  sistem kontrol, digunakan sebagai Kopel untuk menggerakkan kontak bertegangan besar dengan arus listrik yang lebih kecil.

Nama pin relay.
Relay memiliki nama pin dan yang paling umum adalah pin NO, NC, COMMON, + dan - atau A1 dan A2.
Pin + dan pin - adalah pin utama yang dipakai sebagai input supply coil atau lilitan di relay.

 Sedangkan NO dan NC sebagai pin output yang bekerjasama dengan common. Jika seandainya common diberikan supply tegangan 220 VAC maka tegangan akan langsung mengalir ke output NC sehingga NC akan bertegangan 220 VAC. Lalu NO akan tetap 0 volt karena posisi kontak terbuka karena posisi coil relay tidak menerima tegangan 12 VDC. Jika sekarang kita berikan tegangan input di pin + dan - sebesar 12 VDC maka relay akan merubah status NO menjadi NC yang selanjutnya input common 220 vac akan meneruskan tegangan 220 vac ke NC.


Jenis relay berdasarkan prinsip kerjanya
  • Relai elektrotermal
Adalah jenis relay yang akan bekerja saat terjadi panas pada suhu tertentu. Relay ini memiliki inti bimetal yang akan melengkung saat terjadi panas, lengkungan dari metal ini nantinya dimanfaatkan untuk melakukan kerja saklar.
  • Relay elektromekanik
Adalah jenis relay yang bekerja dengan bantuan bagian mekanik dan elektro magnetik.

  • Solid state relay
Adalah relay yang bekerja dengan menggunakan perangkat semikonduktor, relay tipe ini juga bekerja lebih cepat dalam proses switching. Relay ini memiliki inti komponen seperti transistor atau triac.

Contoh salah satu relay
Berikut ini adalah contoh relay 8 pin milik omron. Relay ini bisa dibongkar pasang dengan mudah karena adanya soket 8 pin. Jika sewaktu-waktu terjadi kerusakan akan mudah dalam maintenance.



Wiring relay dan socket


Simbol Relay

Spesifikasi Relay umumnya adalah tegangan input 5 VDC, 12 VDC atau 48 VDC. Untuk common dan NO NC umumnya 220 vac dengan arus kerja 10 A.

Menggunakan Relay
Untuk menggunakan relay kita perlu memastikan arus dan tegangan yang akan melalui terminal NO NC dan common nya. Dan beban relay apakah untuk motor atau untuk lampu.  Berikut  salah satu spesifikasi tipe relay: 5VDC-SL-C
Tegangan coil: DC 5V
Struktur: Sealed type
Sensitivitas coil: 0.36W
Tahanan coil: 60-70 ohm
Kapasitas contact: 10A/250VAC, 10A/125VAC, 10A/30VDC, 10A/28VDC
Ukuran: 196154155 mm
Jumlah pin: 5
Usia electrikal: 100,000x
Usia mekanikal: 10,000,000x





Jika spesifikasi relay sudah didapat kita bisa menggunakan contoh umum rangkaian switching relay dibawah ini. Rangkaian switching ini dibantu transistor sebagai pemicu.



Tampak dirangkaian adanya dioda Flywhell sebagai pengaman transistor dari tegangan balik yang diakibatkan dari kerja coil relay, dan juga terpasang resistor 10 k ohm yang bekerja sebagai pull down.
Semoga artikel ini membantu. salam.

ref: https://gfycat.com

Senin, 06 Agustus 2018

Javascript client side

Javascript adalah bahasa pemrograman yang lawas sudah ada sejak puluhan tahun yang lalu. Javascript biasa dipakai browser untuk navigasi dokumen web yang disebut bahasa pemrograman client side, walaupun javasript juga bisa bekerja di server side yang dipakai platform node js sebagai server.

Untuk memulai pemrograman javascript sisi client kita hanya perlu teks editor seperti notepad atau kalau mau power full menggunakan text editor visual studio code. satu lagi kita butuh browser seperti mozila atau chrome sebagai javascript engine.


Kita akan mencoba event klik di web yang akan menampilkan pesan hello world.

  • Copy script js dibawah ini

<script type="text/javascript">
function onclick_callback () {
alert ("Hello, World!");
}
</script>
<span onclick="onclick_callback();">Click Here</span>

  • Buka notepad, paste script js di notepad

  •  Simpan nama file sebagai klik.html save as sebagai all files. lalu klik save.
 

  • Buka file klik yang telah kita buat barusan, lalu klik text "click here". tampil popup dengan isi "hello world!". jika berhasil kita baru saja membuat program javascript.

 


berikut ini adalah event tombol keyboard, kita bisa menekan apa saja tombol di keyboar yang akan direspon oleh javascript.

  • Copy paste script dibawah ini  di notepad seperti contoh sebelumnya.

<script type="text/javascript">
function onkeypress_callback(evt) {
var eType = evt.type; // Will return "keypress" as the event type
var eCode = 'keyCode is ' + evt.keyCode;
var eChar = 'charCode is ' + evt.charCode;

alert ("Captured Event (type=" + eType + ", key Unicode value=" + eCode + ", ASCII value=" + eChar + ")");
}
</script>
<input onkeypress="onkeypress_callback(event);"></input>
  • Simpan nama file sebagai keyboard.html, save as sebagai all files. lalu klik save.
  • Kemudian buka file keyboard yang telah dibuat, tekan tombol huruf apa saja, saya menekan huruf "a" tampil popup dengan isi charcode 97 sebagai huruf "a" yang ditekan

Demikian artikel javascript di sisi client semoga bermanfaat... salam .. :)


ref : https://developer.mozilla.org

Selasa, 03 Juli 2018

Menghitung arus maksimum output gpio

Menghitung arus maksimum output gpio
Berapa besar arus yang aman untuk GPIO? dan bagaimana mengatur besarnya arus untuk GPIO?

GPIO adalah general purpose input output dari raspberry pi yang mampu mengeluarkan tegangan listrik ataupun menerima signal listrik dari luar. 

GPIO sendiri adalah pin atau kaki atau terminal untuk raspi kita agar bisa berinteraksi dengan dunia luar. Lalu seberapa besar kemampuan arus kerja GPIO yang aman di tanggung oleh GPIO raspberry pi? 

Tentunya ada perhitungan atau katakanlah  pendekatan yang bisa tetap menjaga raspi kita aman. Gak mau dong raspi tiba tiba terbakar atau short  tiba tiba raspi mati total karena gk mampu menahan beban arus yang melewati pin GPIO.
 
Maksimal arus GPIO 50 mA
Dengan mengetahui arus yang aman untuk GPIO maka bisa memperpanjang umur dari raspberry. Menurut sumber dari raspberry foundation Pin GPIO dapat diberikan beban sampai 50 mA dengan aman (tapi bukan setiap pin dapat 50 mA melainkan terbagi kesemua pin)

Maksimal arus tiap pin 16 mA
Setiap pin raspberry secara default diberikan nilai maksimum arus 16 mA dan tidak boleh melebihi 16 mA

Raspberry pi yang memiliki GPIO header 40 pin maka input outputnya adalah hanya 26 pin (karna yang lain gnd, Vcc dls tidak dihitung sebagai GPIO)

Jadi GPIO dengan header 26 kaki  hanya memiliki 17 pin GPIO, GPIO dengan header 40 kaki hanya memiliki 26 pin GPIO.

Untuk lebih jelas sesuai dengan gambar port GPIO raspi dibawah ini model header 40 pin dan model header 26pin. 


Jika setiap pin dibatasi sampai 16 mA,  sedangkan batas aman diberikan total sekitaran 50 mA berarti total pin yang bisa dipakai adalah 50 mA/16 mA = 3 pin (hanya boleh 3 pin pengunaan arus maksimal)  dan 23 pin sisanya tidak terpakai (26pin-3 pin = 23 pin)

Seandainya sobat memaksa menggunakan lebih dari 4,5,6 GPIO dst... maka raspi akan kolaps

Membagi arus merata di setiap pin. 
Sobat bisa menghitung ulang agar total 26 pin (yg model 40 pin) bisa digunakan, yaitu arus maksimal yang diperbolehkan dibagi total pin GPIO manjadi 50mA/26mA = 1,9 mA per pin. Sehingga arus 50 mA dibagi merata ke setiap pin 1.9 mA.

Agar lebih aman lagi bisa melakukan konfigurasi output ke 2 mA , konfigurasi ampere output ini disebut drive strength

Drive Strength ( konfigurasi drive strength di posting yang akan datang)
  • 0= 2mA
  • 1 = 4mA
  • 2 = 6mA
  • 3 = 8mA
  • 4 = 10mA
  • 5 = 12mA
  •  6 = 14mA
  •   7 = 16mA.
Sehinggaa nantinya masing masing GPIO dibebani hanya sampai 2 mA (masih aman di 1,9 mA).

    Arus 1.9 mA terlalu kecil
    Masalahnya sekarang adalah arus 1,9 mA dengan tegangan 3,3 volt tidak akan cukup kuat untuk menghidupkan lampu LED yang umumnya menggunakan arus 20 mA.

    Untuk menggunakan output GPIO yang hanya mengeluarkan maksimal 2 mA, adalah membuat rangkaian tambahan dengan memanfaatkan transistor, menghitung tahanan resistor dan menambah eksternal source Power 5 volt yang dirangkai seperti gambar dibawah.

    Contoh kita punya LED dengan konsumsi tegangan 2,2 v dan arus kerja 16 mA dan source tegangan pi 5 volt.


    R = V / I
    (5V – 2,2V) / 0,016 A = 175 Ω   (gunakan resistor dipasaran 180 Ω)


    • Tentukan tegangan kerja di kaki basis transisor (0,7 adalah nilai tetap tegangan picu di transistor silicon/ada didatasheet) 
    3,3 – 0,7V= 2,6V


    • Tentukan arus kerja kaki basis transistor  dengan mengunakan Hfe dari transistor silicon (hfe 90/lihat di data sheet)
    dengan persamaan berikut:
    I(B) = I(C) / β. 

    0,016 / 90 =0,00018 A

    • Sekarang untuk mendapatkan arus 0,00018 A kita butuh memasang resistor R2 masih dengan hukum ohm

    R2 = 2,6 V / 0,00018 A = 14,4 kΩ  (didapat resistor 15 kΩ untuk R2 )



      
    Dengan menggunakan rangkaian transistor diatas sobat bisa mengunakan total 17 atau 26 GPIO yang disediakan raspberry pi dengan aman. 

    Jika menggunakan 16 mA.
    Sekarang jika kita ambil contoh pengunaan GPIO secara langsung menghidupakan LED dengan arus dibawah 16 mA yaitu dengan cara menambah resistor saja maka didapat seperti berikut ini:

    Saya punya LED warna merah biasanya memiliki spesifikasi : ~1.8 volt, 20mAmpere (0,02A) dengan menurunkan menjadi 10 mA saja untuk kebutuhan arus nya LED masih cukup terang 

               U = 3.3V - 1.8V = 1.5V
    R = U / I
    1.5V/0.01A = 150 ohm


    jadi  untuk menjaga arus tetap berada di 10 mA kita bisa menggunakan resistor 150 ohm sebagai pembatas arus kurang (lebih kecil dari 16 mA) rangkaian dengan hanya resistor jelas tidak mampu menghidupkan total 17 atau 26 GPIO raspberry pi.



    Sebagai tambahan berikut port tidak hanya GPIO ada port lain juga yang mengunakan arus untuk masing masing output raspi (diluar dari arus 50 mA GPIO)

    • Port HDMI menggunakan 50mA,
    • Modul Kamera memerlukan 250mA,
    • Keyboard dan mouse kira kira 100mA atau lebih tergantung tipe perangkat. 

    Berikut tabel kebutuhan arus masing masing type raspi:

    Product
    Recommended PSU current capacity
    Maximum total USB peripheral current draw
    Typical bare-board active current consumption
    Raspberry Pi Model A
    700mA
    500mA
    200mA
    Raspberry Pi Model B
    1.2A
    500mA
    500mA
    Raspberry Pi Model A+
    700mA
    500mA
    180mA
    Raspberry Pi Model B+
    1.8A
    600mA/1.2A (switchable)
    330mA
    Raspberry Pi 2 Model B
    1.8A
    600mA/1.2A (switchable)
    350mA
    Raspberry Pi 3 Model B
    2.5A
    1.2A
    400mA
    Raspberry Pi Zero W
    1.2A
    Limited by PSU, board, and connector ratings only.
    150mA
    Raspberry Pi Zero
    1.2A
    Limited by PSU, board, and connector ratings only
    100mA


    Berikut ini adalah tabel yang membandingkan jumlah arus yang dipakai dalam A (amp) saat raspi beroprasi:



    Pi1 (B+)
    Pi2 B
    Pi3 B (amps)
    Zero (amps)
    Boot
    Max
    0.26
    0.40
    0.75
    0.20

    Avg
    0.22
    0.22
    0.35
    0.15
    Idle
    Avg
    0.20
    0.22
    0.30
    0.10
    Video playback (H.264)
    Max
    0.30
    0.36
    0.55
    0.23

    Avg
    0.22
    0.28
    0.33
    0.16
    Stress
    Max
    0.35
    0.82
    1.34
    0.35

    Avg
    0.32
    0.75
    0.85
    0.23

    Kebutuhan spesifik saat ini dari masing-masing model tergantung pada pengunaa : rekomendasi PSU didasarkan pada konsumsi maksimum.
    Raspberry Pi Model A, A +, dan B dapat menyediakan maksimal 500mA ke periferal USB hilir. Jika Anda ingin menghubungkan perangkat USB daya tinggi, disarankan untuk menghubungkan hub USB yang ditenagai ke Pi dan menyambungkan periferal Anda ke hub USB.

    Raspberry Pi B + dan 2 Model B dapat menyediakan 600mA / 1.2A ke periferal USB hilir, dapat diaktifkan oleh pengaturan firmware. Hal ini memungkinkan sebagian besar perangkat USB untuk dihubungkan langsung ke model ini, dengan asumsi pasokan listrik hulu memiliki arus yang tersedia cukup. Perangkat atau perangkat yang sangat tinggi saat ini yang dapat menarik arus lonjakan seperti modem dan hard disk USB tertentu masih memerlukan hub USB eksternal. Kebutuhan daya Raspberry Pi meningkat saat Anda menggunakan berbagai antarmuka pada Raspberry Pi.



    https://raspberrypi.stackexchange.com
    https://elinux.org
    http://www.thebox.myzen.co.uk
    https://einhugur.com