Selamat datang di ForSa! Forum diskusi seputar sains, teknologi dan pendidikan Indonesia.

Welcome to Forum Sains Indonesia. Please login or sign up.

Maret 28, 2024, 06:04:36 PM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 87
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 2
Guests: 78
Total: 80

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

penggunaan barcode reader

Dimulai oleh douhawuboy, Juli 15, 2010, 11:23:36 AM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

utusan langit

#15
Kutipjustru yang agak ribet adalah buat program untuk konversi code product ke barcode...
program mesti bisa melakukan itu...

??? ???
misalnya ini barcode "|||!1||!!!|"
lalu barcode reader membacanya dan menghasilkan angka bukan?
misal angkanya 1231678
nah, mengapa angka ini kemudian dikoversi lagi kedalam barcode?

mohon penjelasannya!

Kutipkalo mau saya ada contohnya kok...
tapi dalam C# visual studio..
wah boleh tu Bang,..
dikirim disini atau email boleh dah
Sorry but you are not allowed to view spoiler contents.

Bernando

Kutip dari: utusan langit pada Juli 16, 2010, 02:10:05 PM
Kutipjustru yang agak ribet adalah buat program untuk konversi code product ke barcode...
program mesti bisa melakukan itu...
??? ???
misalnya ini barcode "|||!1||!!!|"
lalu barcode reader membacanya dan menghasilkan angka bukan?
misal angkanya 1231678
nah, mengapa angka ini kemudian dikoversi lagi kedalam barcode?

mohon penjelasannya!
kan barcode harus di tempel di productnya...
kan barcode yang di tempel di product itu adalah representasi dari code product yang ada di database...
nah sebelum kita tempel ke product itu kan kita mesti buat dulu barcode nya atau print dulu...
nah sebelum kita print kita kan mesti ambil dulu code product ke database setelah itu baru diconversi ke barcode baru setelah itu di tempel ke product tersebut...

semoga mencerahkan...hehehehe..:D
Be the sustainable learner, because life is learning...

Bernando

#17
Kutip dari: utusan langit pada Juli 16, 2010, 02:10:05 PM
Kutipkalo mau saya ada contohnya kok...
tapi dalam C# visual studio..
wah boleh tu Bang,..
dikirim disini atau email boleh dah
Sorry but you are not allowed to view spoiler contents.

senin ya...
karena saya harus buka data center tempat dokumentasi semua program beserta source code di kantor...
kalo cari di laptop saya udah makin susah..gak tau ntah kemana filenya....hehehe
kalo sekarang gak keburu bung...:D
Be the sustainable learner, because life is learning...

utusan langit

Kutipkan barcode harus di tempel di productnya...
kan barcode yang di tempel di product itu adalah representasi dari code product yang ada di database...
nah sebelum kita tempel ke product itu kan kita mesti buat dulu barcode nya atau print dulu...
nah sebelum kita print kita kan mesti ambil dulu code product ke database setelah itu baru diconversi ke barcode baru setelah itu di tempel ke product tersebut...

lho kang, biasanya kan di bungkus suatu product itu sudah ada barcodenya biasanya?
apa harus buat barcode lagi ya?
atau barcode yang ada dalam kemasan tidak sesuai?

Kutipsenin ya...
karena saya harus buka data center tempat dokumentasi semua program beserta source code di kantor...
kalo cari di laptop saya udah makin susah..gak tau ntah kemana filenya....hehehe
kalo sekarang gak keburu bung...ketawa

Ok kang,..  ;D ;Dterimaksih ya

douhawuboy

Kutip dari: Bernando pada Juli 16, 2010, 01:02:23 PM
^
^
^
analoginya sama aja anda memasukkan code productnya ke textfield dengan keyboard...
kan kalo pake keyboard jadi lama dan ada kemungkinan kesalahan...
beda dengan barcode...tinggal anda arahin cursor kliknya ke textfield...
nanti otomatis ke tulis ke textfield tersebut ketika melakukan pembacaan barcode..

justru yang agak ribet adalah buat program untuk konversi code product ke barcode...
program mesti bisa melakukan itu...

kalo mau saya ada contohnya kok...
tapi dalam C# visual studio..
kebetulan beberapa bulan kemaren aq buat program nya untuk klient saya...;D

wah boleh tuh..

tp aq blm pernah belajar C# visual studio...

sama ga dgn C++ builder..?

Bernando

Kutip dari: utusan langit pada Juli 16, 2010, 07:46:37 PM
Kutipkan barcode harus di tempel di productnya...
kan barcode yang di tempel di product itu adalah representasi dari code product yang ada di database...
nah sebelum kita tempel ke product itu kan kita mesti buat dulu barcode nya atau print dulu...
nah sebelum kita print kita kan mesti ambil dulu code product ke database setelah itu baru diconversi ke barcode baru setelah itu di tempel ke product tersebut...

lho kang, biasanya kan di bungkus suatu product itu sudah ada barcodenya biasanya?
apa harus buat barcode lagi ya?
atau barcode yang ada dalam kemasan tidak sesuai?
nah waktu buat kemasan dari product nya itu udah di print / dicetak dulu barcodenya di kemasan atau bungkusnya...
nah antara vendor dari product dan distributor udah ada penyesuaian untuk itu...
Be the sustainable learner, because life is learning...

heru.htl

Informasi lebih jelas disini:

[pranala luar disembunyikan, sila masuk atau daftar.]

kode berikut saya coba dan bekerja cukup baik:

Barcode modul driver Linux Kernel:



/* bcdrv.c
* A device driver module for reading the HBCS-A300
* barcode wand via serial port ttys0, aka COM1.
*/

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>       /* for registration */
#include <linux/ioport.h>

#include <asm/io.h>

#include "barcode.h"

/* prototypes for _fops */

static ssize_t barcode_read (struct file *file, char *buf, size_t count, loff_t *offset);
static int barcode_open (struct inode *inode, struct file *file);
static int barcode_release (struct inode *inode, struct file *file);

/* our file operations structure */
static struct file_operations barcode_fops = {
      NULL,                  /* llseek */
      barcode_read,
      NULL,                  /* write */
      NULL                   /* readdir */
      NULL,                  /* poll */
      NULL,
      NULL,
      barcode_open,
      NULL,                  /* flush */
      barcode_release,
      NULL,                  /* fsync */
      NULL,                  /* fasync */
      NULL                   /* lock */
};

/* data */

int COM1 = COM_BASE;         /* serial base port */

/* settable parameters */

static char *barcode_name = NULL;
static char barcode_debug = 1;

static ssize_t barcode_read (struct file *file, char *buf, size_t count, loff_t *offset)
{
      int video;

      video = inb_p(COM1+6) & 0x80;     /* DCD = video */
      return video;
}

/*-------------------------------------------------*/
static int barcode_open (struct inode *inode, struct file *file)
{
      int major, minor;

      /* increment usage count */
      MOD_INC_USE_COUNT;

      if (file->f_mode & FMODE_READ) {
            MSG("barcode: opened for reading\n");
      }

      major = MAJOR(inode->i_rdev);
      minor = MINOR(inode->i_rdev);
      MSG("major: %d  minor: %d\n",major,minor);

      return 0;
}

static int barcode_release (struct inode *inode, struct file *file)
{
      MOD_DEC_USE_COUNT;

      MSG("barcode device driver closed\n");

      return 0;
}

int init_module(void)
{
      int res;
      int port_not_available;

      if (barcode_name == NULL)
            barcode_name = "barcode";

      /* elbow our way in here...
            "whee, hackedy hack"
      */
      release_region(COM1,8);

      /* check port available */
      port_not_available = check_region(COM1,8);
      if ( port_not_available ) {
            MSG("port %x is already reserved\n",COM1);
            return port_not_available;
      }

      /* reserve the i/o ports */
      request_region(COM1,8,barcode_name);

      /* register the barcode driver with the kernel */
      res = register_chrdev(BARCODE_MAJOR,
            barcode_name,&barcode_fops);
      if (res) {
            MSG("cannot register barcode device with kernel\n");
            return res;
      }

      /* turn on the barcode wand power */
      outb_p(0x03,COM1+4);      /* raise DTR and RTS */

      /* done */
      MSG("barcode device driver loaded\n");
      return 0;
}

void cleanup_module(void)
{
      /* unregister device and proc entry */
      unregister_chrdev(BARCODE_MAJOR, "barcode");

      /* turn off the barcode wand power */
      outb_p(0x00,COM1+4);      /* drop DTR and RTS */

      /* release the i/o ports */
      release_region(COM1,8);

      MSG("barcode driver removed\n");
      return;
}


barcode.h:


/* barcode.h */

#define COM_BASE      0x3f8     /* COM1 aka ttys0 */
/* #define COM_BASE   0x2f8        COM2 aka ttys1 */


#define BARCODE_MAJOR        42


#define DEBUG

#ifdef DEBUG
#define MSG(string, args...) if (barcode_debug)\
        printk(KERN_DEBUG <\#34>barcode: <\#34> string, ##args)
#else
#define MSG(string, args...)
#endif



Aplikasi testing barcode reader Linux, untuk contoh module driver diatas:


/* wandtest.c - rudimentary test of barcode device driver */

#include <stdio.h>
#include <fcntl.h>
#include <signal.h>

void sig_int(void);

char *dev_name = "/dev/wand"; //Char. device for barcode reader on linux.
int fd;

int main(void)
{
      int video;
      char buf[1];

      fd = open(dev_name, O_RDONLY);
      if ( fd == -1 ) { /* open failed */
           printf("cannot open %s\n",dev_name);
           return;
      } else
           printf(" %s opened for reading\n",dev_name);


      /* catch control-c */
      signal(SIGINT,(void *)sig_int);

      while ( 1 ) {
           video = read(fd,buf,1);
           if ( video == 0x00 ) printf(" WHITE\r");
           if ( video == 0x80 ) printf(" BLACK\r");
      }
}

void sig_int(void)
{
      int err;

      err = close(fd);
      printf("\nwand %d closed, err = %d\n",fd,err);
      signal(SIGINT,SIG_DFL);
}




pacistrong

bang bernando mau donk contoh penggunaan dalam C# visual studio kalo msh ada bisa minta tolong kirimin di [email protected]. id thx bang..