Hallo kembali…

Kembali membahas tentang proyek yang sebelumnya telah di bahas pada http://sonyfernando.wordpress.com/2009/09/01/sistem-monitoring-suhu/, berikut ini adalah pembahasan solusi untuk masalah tersebut.

Sebelumnya, berikut ini adalah spesifikasi developtment board yang digunakan:

  • Support linux operating system
  • Memiliki ethernet port
  • Memiliki serial port
  • Mendukung web service

Dari kebutuhan tersebut, Berikut ini adalah Perangkat yang digunakan:

  • SBC yang digunakan adalah ATNGW100
  • Menggunakan sensor suhu LM35
  • Menggunakan microcontroller ADC (10 bit, terconfigurasi 8bit sebagai output)
  • Sistem operasi linux dengan kernel versi 2.6.27

atngw100

 

adc modul

 

Berikut adalah pembahasan mengenai implementasi sistem monitoring suhu:

Read the rest of this entry »

Sedikit tentang Facebook

Posted: September 6, 2009 in Life
Tags:

Facebook, makin lama makin keren aja nih situs..emang sih smua orang mengakuinya kalo situs ini emang keren, termasuk gw. Ga nyangka kan gw bisa berhubungan lagi dengan temen2 yang udah lama ga komunikasi (karna no hpnya udah pada ganti),  eh tau-tau modal nama doank di search di FB langsung ketemu….canggih emang, FB bisa menggaet banyak orang sampe ke pelosok desa pun skarang pada facebook-an. Hal laen yang keren dari situs jejaring sosial ini, berita cepet banget nyebarnya, ngalahin twitter dan sampe-sampe sms pun dah jrang di pake buat kirim informasi. Contohnya bob di mega kuningan, gempa di tasik, dalam waktu 1 detik setelah kejadian, berita udah menyebar kemana-mana…keren banget… Skali lagi salut buat pihak FB yang bisa menggaet orang2 buat gabung di situs ini…

Tapi….ga dikit bahkan banyak banget ngejadiin facebook sebagai ajang popularitas,,, makin banyak temen makin populer,,padahal bisa jadi 50% dari temen2 nya itu pada ga kenal hehee..Gw yang awalnya ikutan FB buat ngejalin sebuah social networking, jadi bingung skarang. Misalnya komunitas A awalnya dibuat sebagai ajang untuk ngebahas suatu masalah, eh makin lama makin ditinggalin karna banyak banget facebookers laen yang buat komunitas tertentu, dan mengajak orang2 buat join, smakin banyak komunitas yang diikutin, makin jarang aja grupnya dikunjungin karna obrolannya juga jadi ga jelas,jadinya asal member deh…

Udah ga aktif di komunitas, member, fans, dll, akhirnya BT juga,,yauda cari ksibukan laen di FB..cari2 cewe (kekekkee..). Pertama dapet temen baru (kenalan), chatingan,message2-an…tapi ga lama kmudian, karna makin lama, makin banyak juga temen dia dan temen kite (karna kena kasus yang sama tu tadi yang meninggalkan komunitas yang makin ga jelas), akhirnya ga jelas juga mau fokus ke sapa (belum tentu orang yg kita fokusin fokus juga ke kita, bgitu juga sbaliknya).. Belum lagi ditambah anak-anak ABG yang buat FB untuk cari popularitas, pengen punya banyak temen biar dianggap gaul, ikutan grup apa aja yang penting bisa nambah temen, bahkan ampe full 5000 orang, bahkan sampe buat account baru lagi….lama-lama kaya friendster nih jadinya keekeee….

Udah males hunting2,,,temen udah full….bosen…maen game deh….nah ini dia skarang yang gw suka dari facebook…dan ini yang gw maenin tiap malem, buat iseng2 di kosan.,,soallnya game-nya buat gregetan…panasan..temen udah level brapa kita masi level pemula hehhe….

Nah lo..pada akhirnya….kalo para gamers udah bosen, apa lagi ya yang bakal buat FB tetep diminatin ??? apakah bakal berakhir sperti FS ??

Sistem Monitoring Suhu

Posted: September 1, 2009 in Embedded System, Linux
Tags:

Hai smuanya…

Ni gw lagi pengen buat sistem monitoring suhu berbasis web nih buat embedded system pake linux. Kebayakan sekarang sistem monitoring suhu kan basisnya windows, yang di flash ke microcontroller. Skarang gw pengen yang basisnya linux. Tapi, gw lagi kesulitan nih cari dev kita and board yang gw butuhin. Spesifikasinya sperti ini:

  1. Support linux
  2. Ethernet
  3. Serial (pastinya)
  4. ADC dan sensor suhu
  5. LCD
  6. GSM (optional)

Nah untuk cari single board computer (SBC) yang ngedukung spec itu susah banget…. adanya di luar dan mahal uy.. Adakah diantara temen2 yang tau dimana gw dapetin board itu ?? kalo ada kasih tau ya….penting buat TA nih….

Thanx b4…

Boring Activities

Posted: August 30, 2009 in Life
Tags:

Hai…

Setelah sekian lama, akhirnya nulis wordpress lagi deh..Ini tentang kegiatan sehari-hari gw yang membosankan…Setiap hari yang gw lakuin adalah kerja dari pagi ampe sore, senin sampai jumat.Pulang kerja, langsung ke kosan, makan, and……facebook-an, tweeting, on-line ym,,,,terus gitu aja stiap harinya..

Hari libur, sabtu minggu, gw memanjakan diri dengan bangun siang (jam 11 or 12), mandi, makan, dan on-line lagi di facebook, ym, tweeter,,,, udah bosen on-line, nonton dvd deh…ampe numpuk film2 dvd di kamar gw heheee…

Bosen yah ….??? tapi emang begitulah kegiatan gw selama ini,,ga ada kegiatan di luar. Pengen cari kegiatan laen di luar, tapi, si otak gw tuh males banget buat keluar kamar… Mungkin karna gw tipe orang penyendiri, makannya gw ga suka and males banget buat maen-maen.

Suntuk, ga enak, itu perasaan yang gw rasain. Tapi, sperti inilah gw,,,sperti inilah kehidupan gw,,,ada baiknya juga sih,,karna gw bisa istirahatin badan gw, istirahatin pikiran gw,,dengan bgitu gw bisa jalanin esok hari dengan kondisi yang fresh..lagipula, sisi baik lainnya, gw bisa cari inspirasi buat usaha (karna ga selamanya gw kerja buat orang, gw juga pengen punya usaha sendiri), ato gw juga bisa mengasah otak gw dengan ngerjain or iseng-iseng buat program-program di high level (like .net or java), di luar bidang kerja yang selama ini gw kerjain (low level).

Gw punya pertannyaan yg gw blum bisa jawab:

mana yang harus gw pilih, menyia-nyiakan masa muda gw dengan kehidupan yang membosankan….? ato menyia-nyiakan masa depan gw dengan kehidupan yang ga membosankan…?

Hai temans, udah lama nih ga nulis – nulis lagi. Btw, gimana kabar para bloggers smuah ??

Oia, gw baru dapet new problem nih judul masalahnya problem with glassfish on netbeans.

waktu gw install netbeans 6.5.1 yang udah di bundle dengan jdk yang baru, gw dapet error message waktu jalanin server glassfish, errornya seperti ini:

Screenshot-Error

Dari error message itu, gw coba liat – liat port (sapa tau konflik), trus liat – liat domain.xml nya (karna menurut forum yang gw temuin ama uncle google, katanya ada pengaruh apa ipv6 nya), dan uninstall – reinstall. Tapi masalah tersebut masih belum solve. Sampai akhirnya gw baca tuh server.log nya (niat banget tuh baca log yang banyak itu).

Eh ternyata ada satu hal yang buat gw penasaran, yaitu hostname. Nama laptop (/etc/hostname) gw ternyata tidak sama dengan nama host yang ada di /etc/hosts. Maksudnya gimana ??

coba ketik hostname di pc / laptop, kemudian coba ping ke situ

sony@fernando:~$ hostname
fernando
sony@fernando:~$ ping fernando
ping: unknown host fernando

error “unknown host fernando” itu menunjukkan kalau hostname yang ada di /etc/hosts.

Gw coba cek file tersebut dan ternyata emang bener ga sama

sony@fernando:~$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 sony-laptop

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Solusinya gmn ??

Gampangnya, edit file /etc/hosts dan ganti line 2 dengan hostname yang benar, dalam kasus gw, gw ganti jadi seperti ini

127.0.1.1 fernando

Exit console, kemudian coba start ulang glassfish nya….

Dalam kasus gw, it solved ;-)

hallo hallo lagi…;)
Kmaren – kmaren gw lagi dalam pembuatan device driver (again ??? heheheee), dalam perjalanan pembuatan itu, gw ngalamin permasalahan yang buat gw binggung, googling, dsb deh pokonya.
Masalahnya adalah pada saat gw jalanin perintah cat xxx.txt > /dev/mydev gw dapet error Argument list too long.

Setelah gw googling – googling, gw dapet kata – kata yang hampir sama di setiap page yg gw temuin. Mereka bilang error itu karna limitation kernel, atau karna ARG_MAX yang kurang pendek, dll. Kutipan yang gw dapet seperti ini:

“The shell has a limit to the size of command-line that it can process at one time.” atau seperti ini
“The “Argument list too long” error, which occurs anytime a user feeds too many arguments to a single command, leaves the user to fend for oneself, since all regular system commands (ls *, cp *, rm *, etc…) are subject to the same limitation”

Intinya semu emang pada masalah limitation. Tapi, pada masalah yang gw hadapin, itu hanya masalah pada error code value (return by device driver). Maksudnya gimana, maksudnya sangat sederhana, yaitu device driver yang gw buat itu ngereturn error value -7, dan error value -7 (pada errno-base.h) itu adalah error value yang berarti Argument list too long.

Hahahahaaaaaa jadi singkat ceritanya adalah masalahnya pada error value yang gw punya. Jadi, jika rekan – rekan menemui masalah yang sama (Argument list too long), saran saya, sebelum jauh – jauh mencari – cari, perhatikan dahulu error value yang telah didefinisikan. Saran lain adalah dengan membuat error value yang nilainya berbeda dengan nilai error yang telah ada pada linux (errno.h atau errno-base.h)

Heheeheee masalah sederhana, tapi buat puyeng…stuck,,,n macem – macem deh pokonya….
so…have a nice to be kernel coder ;)
c u. . . .

Hi semua…

Apa kabar nih ??? lama ga nulis – nulis, skarang mau nulis sesuatu tentang linux device driver (masih ??? hehehee). Yupz, ini masih lanjutan dari device driver sebelumnya….Kalau tulisan sebelumnya merupakan template dari sebuah device driver sederhana, kali ini kita coba membaca informasi yang di berikan pada sisi user space, dan menuliskan kembali informasi hasil proses device driver ke user space.

Command yang bisa dipakai untuk read dan write ke user space adalah: copy_from_user() dan copy_to_user() atau bisa juga menggunakan get_user() atau put_user()

Definisi dari fungsi copy_to_user() dan copy_from_user() tersebut adalah sebagai berikut:

unsigned long copy_to_user(void __user *to, const void *from,unsigned long count);
unsigned long copy_from_user(void *to, const void __user *from, unsigned long count);

Sedangkan untuk put_user() dan get_user() adalah sebagai berikut:

int put_user(datum,ptr);
int get_user(local,ptr);

Nah penasaran gimana cara pakai nya ??

Oke, pertama – tama buat dulu kerangka device drivernya, gampangnya..liat aja tulisan sebelumnya linux kernel module, kemudian pada bagian dibawah ini, edit code-nya jadi seperti ini:

static int device_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
unsigned long arg)
{
int retval = SUCCESS;
unsigned int val = 0;

printk(KERN_INFO “Device ioctl\n”);
switch (cmd) {
case IOCTL_XXX:
printk(KERN_INFO “Copy Dari User Space\n”);
/* copy data dari user space */
if (copy_from_user(&val, (unsigned long*)arg, sizeof(val))) {
retval = -EFAULT;
}
printk(KERN_INFO “data dari user: %d\n”, val);
break;
case IOCTL_YYY:
printk(KERN_INFO “Copy Ke User Space\n”);
val++;
/* copy data (val) ke user space */
if (copy_to_user((int *)arg, &val, sizeof(val))) {
retval = -EFAULT;
}
printk(KERN_INFO “data ke user: %d\n”, val);
break;
default:
printk(KERN_INFO “IOCTL default\n”);
break;
}
return retval;
}

Hahaaa….seperti itu fren….cara copy dari dan ke user space dari device driver ;)
simple n mudah kan ??? silahkan mencoba untuk membuktikannya hehehe….

Oiya, saran dan kritiknya tolong disampaikan :D