Desain Alert Jika PC/Server Mati

Hari ini dapat laporan dari salah satu cabang kalau server replikasi mati. Ironisnya kematian server replikasi ini sudah terjadi beberapa hari yang lalu tanpa ketahuan. Mengatasi kematian ini sebenarnya sangat mudah, yaitu tinggal menyalakannya lagi. Yang menjadikannya sulit adalah karena kita tidak tahu kapan server replikasi ini mati. Kita tidak bisa segera tahu saat dia mati. Sampai kemudian kita mengeceknya secara fisik dan ketahuan kalau dia mati.

Berangkat dari masalah ini, jadi timbul ide untuk merancang suatu alat yang mampu mendeteksi apakah sebuah PC/server mati. Jika dia mati, maka segera bunyikan alarm. Jika perlu langsung mengirimkan SMS/email secara otomatis untuk memberitahukan kalau PC/server mati.

Konstrainnya adalah bahwa ini merupakan alat yang berdiri sendiri, bukan merupakan PC yang digunakan untuk memonitor PC/server. Alat ini mempunyai baterai sendiri sehingga tidak terganggu saat pasokan listrik dari PLN mati.

Saat ini sedang googling jika ada alat seperti itu dan mempelajari cara kerjanya. Jika alat tersebut terlalu mahal, maka tibalah saatnya mendesain sendiri dengan microcontroller. Jadilah sebuah tantangan baru.

Anda punya ide atau informasi mengenai hal terkait masalah ini? Yuk kita sharing…

Iklan

Membuat Jam Digital Sendiri

Dulu saat kelas 2 SMP saya pernah membuat jam digital dengan display seven segment besar. Jaman tahun segitu betapa bangganya saya bisa membuatnya sendiri. Memang sih dulu membeli PCB yang sudah jadi, jadi tinggal beli komponen dan solder-solder komponen saja. Sayangnya dulu kristal yang dibutuhkan tidak ada yang nilainya pas sehingga jam menjadi terlambat beberapa menit setelah beberapa hari. (*wah jam kok tidak akurat?*)

Kini setelah puluhan tahun kemudian saya diminta untuk membuat jam lagi. Kali ini saya mendesainnya dengan microcontroller Atmega328. Jam ini didesain memiliki alarm yang bisa menyalakan suara biasa atau bisa diset untuk menyalakan radio. Selain itu jam ini didesain memiliki sensor suhu. Saya mendesainnya menggunakan LM35, kebetulan ada stoknya. Tadinya mau pakai DHT11 tapi saya pikir tidak perlu sensor kelembaban. Selain menghemat biaya, pemakaian LM35 juga menghemat memori karena tidak perlu library khusus untuk pemrogramannya.

Masih 1/2 selesai
Masih 1/2 selesai

Untuk display saya menggunakan LCD 16×2. Terus terang ini solusi yang paling praktis bagi saya, karena saya sudah beberapa kali menggunakan display ini dan berjalan dengan baik. Lagi pula dengan LCD 16×2 lebih fleksibel tampilannya karena bisa menampilkan banyak karakter/angka.

Mungkin proyek selanjutnya saya akan coba pakai 7-Segment. Kebetulan harga 7-segment kecil tidak terlalu mahal.

Selain sulitnya mendesain rangkaian, tantangan terbesar adalah mendesain tampilan akhir produk. Ini yang paling sulit, bagaimana membuat produk yang enak dipandang dan dipakai. Banyak produk bagus (apa pun produknya) yang gagal di pasaran hanya karena tampilannya tidak menarik dan/atau tidak enak dipakai, padahal fiturnya canggih.

Untuk sementara ini saya memilih untuk memprioritaskan fungsionalitas. Untuk tampilan nanti sajalah saat membuat versi selanjutnya. Hehehe…

Oh iya, dalam desain jam ini masih tersisa beberapa pin, yaitu 2 pin analog dan 4 pin digital (2 di antaranya PWM). Jadi ke depannya jam ini masih bisa dioprek untuk menambahkan fitur, misalnya menambahkan sensor gas/LPG, cahaya, soil moisture (oh bisa jadi ngepot), atau bisa juga ditambahkan relay untuk lampu/AC atau motor untuk membuka/menutup tirai jendela.

Kebetulan saya pakai ATmega328 yang punya memori 32KB, yang berarti 4x lebih besar dari pada ATmega8.

Foto di atas adalah tampilan jam-nya. Masih setengah jadi. Baru bisa menampilkan tanggal dan jam saja. RTC dengan DS1307 didesain embedded. Nanti malam akan dilanjutkan untuk memasang tombol-tombol dan sensor suhu LM35. Sebenarnya saya sangat penasaran untuk segera bisa memasang modul radio (dengan breakout Si4703 dari Sparkfun). Sayangnya pesanan saya belum tiba. Hiks…

Bukan Hari Keberuntungan

Dua hari ini bukan hari keberuntungan bagi saya. Soalnya saya mengalami 2 hari yang apes. Ketidakberuntungan saya dimulai kemarin. Kemarin rencananya saya mau fotocopy desain PCB di kertas transparan. Lha kok kertas transparansinya ketinggalan di apartemen. Tetap nekat, sepulang kerja saya mencari kios fotocopy. Dan ternyata sulit mencari kios fotocopy yang bisa copy di kertas transparans. Kurang lebih sudah 6 kios saya sambangi dan mereka tidak punya transparansinya.

Pada kios ke-6 akhirnya bisa. Tapi ternyata hasilnya jelek. Jalur PCB ada yang terputus atau jalurnya bolong. Saya mencoba minta copy sampai 5 kali tetap jelek semuanya. Hiks.

Sambil pulang berharap ada kios fotocopy lagi, siapa tahu lebih bagus. Benar saja, saya mendapatkan kios fotocopy yang cukup rame. Syukurlah bisa copy ke kertas transparans. Dari 3 copy yang bagus cuma 1. Lumayanlah.

Pulang apartemen langsung mempersiapkan segalanya. Saya memotong PCB dengan mesin bor tapi menggunakan kepala pemotong. Kelihatannya lancar sampai ketika pemotongan berakhir adaptornya meledak. Listrik di apartemen pun padam. Terpaksa ke bawah minta engineer untuk menyalakannya lagi. Dan kegiatan ngoprek pun berakhir.

Hari ini masih melanjutkan ketidakberuntungan saya. Sore ini rencananya saya membuat adaptor sendiri pengganti adaptor yang meledak kemarin. Kebetulan saya punya trafo 500mA yang entah kapan saya belinya. Mungkin 2 tahun lalu. Sampai sekarang belum terpakai. Jadi saya pun mencoba merakitnya menjadi catu daya (power supply).

Sebenarnya rangkaian catu daya ini adalah rangkaian yang sederhana. Mungkin sekarang anak-anak SMP sudah diajarkan untuk membuatnya. Saya pun dengan lancar membuatnya. Nyaris hafal di luar kepala.

Namun ternyata kesederhanaannya itu tidak menjamin kesuksesan perakitan. Setelah semuanya terpasang dan saya test dengan multimeter tidak ada jalur korsleting, saya pun mencoba mencolokkannya ke listrik. Dan… meleduk lagi. Hiks… Kok ya rangkaian sederhana gitu hasilnya meleduk. (*gubrak*) Syukurlah tidak memadamkan listrik apartemen. Tapi rangkaian sudah tidak tertolong, jadi saya buang saja.

Setelah itu saya mencoba mengisi waktu dengan mentransfer desain ke PCB dengan setrika full hot. Hasilnya jelek. Transparansi mlenyeh. Hasil transferan bergeser. Dan jalur mbleber. Ehm, kemarin-kemarin lancar loh. Mungkin karena saya memotong transparansi menjadi kecil? Kemarin-kemarin transparansinya tidak saya potong.

Coba lagi bikin dengan mentransfer dari kertas biasa, bukan dari kertas transparansi. Eh hasilnya tidak jelas. Mungkin kurang lama menyetrikanya. Dan sudah bergeser jalurnya. Wah ternyata 2 hari ini bukan keberuntungan saya.

Sebenarnya sejak kemarin sudah memikirkan untuk menyerahkan pembuatan PCB ke jasa pembuatan PCB. Saya menemukan 3 jasa pembuatan. Sayangnya pemesanan harus dalam kuantitas yang banyak. Ada yang harus lebih dari 10. Untunglah ada yang minimal 5 copy. Saya akan mencoba memesannya ke sana. Memang jatuhnya lebih mahal dari pada bikin sendiri. Tapi PCB buatan profesional pasti lebih rapi. Maklum, kemarin-kemarin bikin PCB sendiri hasilnya tidak rapi.

Jadinya saya memilih jasa outsourcing dalam pembuatan PCB. Tapi saya jangan di-demo yaaa???

Terima Kasih Atmel

Baru saja tadi pagi menulis tentang penerimaan 4 paket dan menuliskan kalau saya menunggu paket sample dari Atmel, ternyata sehabis makan siang paket dari Atmel datang. Horeee…

Paket sample dari Atmel
Paket sample dari Atmel

Ini adalah paket sample ke-2 dari Atmel untuk saya. Seperti biasa, saya mintanya tidak tanggung-tanggung, yaitu 4 seri microcontroller masing-masing 10 biji. Ke-4 seri tersebut adalah:

  1. ATTINY2313A-PU
  2. ATTINY4313-PU
  3. ATMEGA328P-PU
  4. ATMEGA32-16PU

Dan wow, yang termahal adalah ATMEGA32-16PU yang punya 40 pin. Sungguh betapa baiknya Atmel karena telah memberikan sample untuk keperluan research kecil-kecilan saya ini. Bahkan tidak ada syarat dan ketentuan (term & condition) rumit kecuali hanya tulisan: “SAMPLE, NOT FOR COMMERCIAL SALE”. Baik hati kan? Terima kasih Atmel.

Membuat Nilai Referensi Digital

Melanjutkan oprekan tempo hari yang membuat nilai referensi analog, kali ini saya membuat nilai referensi digital. Soalnya kalau menggunakan nilai referensi analog nilainya fluktuatif alias berubah-ubah sehingga tidak bisa dijadikan acuan absolute.

Ada 3 tombol untuk membuat referensi digital
Ada 3 tombol untuk membuat referensi digital

Namun ternyata membuat nilai referensi digital mudah banget kok. Tinggal menyediakan 3 pin digital, 1 untuk mengubah mode display, 1 untuk menaikkan nilai acuan, sedangkan 1 untuk menurunkan nilai acuan. Jika ada perubahan nilai acuan bawah atau atas, maka nilai akan dituliskan ke EEPROM-nya Arduino (*EEPROM: Electrically Erasable Programmable Read-Only Memory*). Jadi nilai acuan ini bisa menetap di memori permanen walau pun catu daya atau baterai dicabut.

3 tombol dan 1 LED untuk mensimulasikan relay
3 tombol dan 1 LED untuk mensimulasikan relay

Tombol pertama digunakan untuk mengubah mode tampilan:

  1. Mode 0 (Operasional), untuk menampilkan nilai-nilai sensor, yaitu kelembaban tanah, temperature dan kelembaban udara sekitar. Pada mode 0 ini kedua tombol yg lain tidak berfungsi.
  2. Mode 1 (set batas bawah), untuk menampilkan nilai acuan bawah pembacaan sensor kelembaban tanah. Jika pembacaan sensor Soil Moisture di bawah angka ini, maka relay akan diaktifkan sehingga pompa air menyala. Tombol ke-2 dan 3 digunakan untuk mengubah angka acuan ini. Jika nilai acuan berubah, maka nilainya akan disimpan di EEPROM.
  3. Mode 2 (set batas atas), untuk menampilkan nilai acuan atas pembacaan sensor kelembaban tanah. Jika pembacaan sensor Soil Moisture melebih angka ini dan status pompa air menyala, maka relay akan dinonaktifkan untuk mematikan pompa air. Tombol ke-2 dan 3 digunakan untuk mengubah angka acuan ini. Jika nilai acuan berubah, maka nilainya akan disimpan di EEPROM.
Mode 1 untuk mengedit nilai acuan bawah
Mode 1 untuk mengedit nilai acuan bawah

Terima kasih kepada platform Arduino yang membuatnya jadi mudah.

Mode 2 untuk mengedit nilai acuan atas
Mode 2 untuk mengedit nilai acuan atas

Baca selebihnya »