Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ʵսLinux Bluetooth±à³Ì£¨¶þ£© BlueZ¼ò½é

LinuxÏÂBluetoothЭÒéÕ»µÄʵÏÖ. LinuxÏ¿ª·ÅµÄÀ¶ÑÀЭÒéÕ»Ö÷Òª°üÀ¨IBM¹«Ë¾µÄBlueDrekar£¬Nokia¹«Ë¾µÄAffix, Axis¹«Ë¾µÄOpenBTºÍ¹Ù·½Ð­ÒéÕ»BlueZ¡£ÎÒÃÇÖ÷ÒªÃæ¶ÔBluezÀ´Ì½ÌÖ¡£
BlueZ»ù´¡´úÂë¾ùÊÇÓÉMaxim KrasnyanskyÍê³ÉµÄ¡£°üÀ¨£ºHCI£¬L2CAP£¬RFCOMMºÍ»ù±¾socketµÄʵÏÖ¡£Ëû¾ÍÖ°ÓÚQualcomm(¸ßͨ)¡£Marcel Holtmann¿ª·¢²ãµÄЭÒéºÍÓ¦Ó㬰üÀ¨£ºBNEP, CMTPµÈ¡£µ±È»£¬ÕâЩÖÐÒ²ÓÐMaxim KrasnyanskyµÄ²ÎÔ¤¡£Óв¿·Ö´úÂëÓÉNokiaÌṩµÄ¡£
BluezÊÇÈçºÎʵÏÖBluetoothЭÒéÕ»µÄÄØ£¿ Ëü·Ö2²¿·ÖʵÏÖ£º
1.Kernel²ãʵÏÖ£º
ÕýÈçÉÏһƪËù̸µ½µÄ£¬bluetoothЭÒéÕ»Óжà²ã½á¹¹£¬×îµ×²ãµÄÓ²¼þЭÒéÔÚÓ²¼þÖоÍÒѾ­ÊµÏÖÁË¡££¨ÀýÈçbroadcomµÄоƬÖУ¬µ×²ãÓ²¼þЭÒéÒѾ­°üº¬ÓÚоƬ֮ÖÐÁË£©¡£Èí¼þ¼¶±ðµÄЭÒéʵÏÖ£¬´ÓHCIÕâÒ»²ãÆð¾Í¿ÉÒÔÁË¡£ BlueZ¶Ô¸÷²ãЭÒéµÄʵÏÖÊÇÒÀÍÐÓÚSocketµÄ¡£BlueZÊ×ÏÈ´´½¨ÁËÒ»¸öеÄSocketÖеÄЭÒé--PF_BLUETOOTH £¨AF_BLUETOOTH=31). £¨Ò²¾ÍÊÇ˵£¬Socket£¨£©µÄµÚÒ»¸ö²ÎÊý£ºdomain±ØÐëÊÇ£ºPF_BLUETOOTH £©¡£ÕâÒ²Òâζ×Å£¬µØÖ·ÀàÐÍÐèҪʹÓÃBluetoothËù¶¨ÒåµÄ¡£
ÆäʵºÜ¼òµ¥£¬¾ÍÊÇÔÚnet_families(ÍøÂçЭÒéÁбí)ÖÐÌí¼ÓÁËPF_BLUETOOTHÕâÒ»Ïî¡£Èç¹û¶ÔLinux KernelÓÐÁ˽âµÄ»°£¬¾ÍÖªµÀÕâ¸ö×¢²á¶¯×÷Ò»¶¨ÔÚBluetooth init²¿·Ö×÷µÄ¡£
ͬÑù£¬¸÷¸öЭÒé²ã£¨È磺HCI£¬L2CAP,HIDµÈ£©¶¼½«×Ô¼ºµÄÐÐΪ¹æ·¶Ìí¼Óµ½PF_BLUETOOTHЭÒéÖС£
2.Ó¦ÓóÌÐò²ãʵÏÖ£º
ËäÈ»Kernel²ãÒѾ­½«BluetoothЭÒéÕ»ÍêȫʵÏÖÁË£¬µ«Èç¹ûҪʹÓÃÆðÀ´£¬»¹ÊǷdz£²»·½±ãµÄ¡£±Ï¾¹Ó¦ÓóÌÐòÓëkernel×î·½±ãµÄ½»Á÷ͨµÀ¾ÍÊÇioctl().Õâ·Ç³£²»Ö±¹Û¡£ÓÚÊÇ£¬BlueZÓÖÌṩÁËÒ»Ì×API,Õâ¸öAPI°ïÖú¿ª·¢Õß·½±ãµÄÓëKernel²ãЭÒé´ò½»µÀ¡£µ±È»£¬ÕâЩAPIµ×²ãµÄʵÏÖÆä¾ÍÊÇÊÇioctl.
BlueZµÄʱ¼ä£¬»ù±¾¾ÍÊÇÕâÑùÁË¡£ÏÂÃæÔÛÃǾßÌåÑо¿ÈçºÎʹÓÃBlueZËùÌṩµÄÕâÌ×API¡£


Ïà¹ØÎĵµ£º

ÍêÉÆLinuxϵͳ

 
ÍêÉÆLinuxϵͳ
1.¿ª»ú×Ô¶¯¹ÒÔØwindow·ÖÇø
   
fedora10ËäÈ»ÄÜ×Ô¶¯¹ÒÔØ,µ«ÊǹÒÔØµÄ·ÖÇøÓÐʱ»á²»ÈϺº×ÖÎļþ¼Ð
 
 ´ÓÖÕ¶ËÓÃvi»ògedit´ò¿ª/etc/fstab£¬ÔÚÆäÖÐÌí¼Ó£º
 /dev/sda1 /mnt/1 ntfs default 0 0
 ×¢£ºµÚÒ»ÏîÊÇ·ÖÇøÇý¶¯µØÖ·
   ......

Linux 0.12ÄÚºË

ÔÚÓ¦ÓóÌÐò¿ª·¢Ê±£¬Ò²¾­³£ÐèÒªÈçÏµĶ¨Ê±Æ÷. ÕâÀï¶Ô¶¨Ê±Æ÷×öÁËÒ»¸öÓÅ»¯£¬¾ÍÊÇÔÚ²åÈë¶ÓÁÐÖÐʱ½øÐÐÁËÒ»´ÎÅÅÐò£¬Ê¹µÃ¼ì²âʱ²»ÐèÒª±éÀúÕû¸öÁ´±í£¬Ö»Ðè°ÑÅÅÔÚÇ°ÃæµÄ¼¸¸öµ½Ê±µÄÈÎÎñÈ¡³öÀ´¾Í¿ÉÒÔÁË¡£
static struct timer_list {
     long jiffies;
     void (*fn)();
   ......

£¨×ª£©¾­µä£ºLinux²ËÄñÈëÃż¶ÃüÁî´óÈ«

1. man ¶ÔÄãÊìϤ»ò²»ÊìϤµÄÃüÁîÌṩ°ïÖú½âÊÍ
eg:man ls ¾Í¿ÉÒԲ鿴lsÏà¹ØµÄÓ÷¨
×¢£º°´q¼ü»òÕßctrl+cÍ˳ö£¬ÔÚlinuxÏ¿ÉÒÔʹÓÃctrl+cÖÕÖ¹µ±Ç°³ÌÐòÔËÐС£
2. ls ²é¿´Ä¿Â¼»òÕßÎļþµÄÊô*£¬ÁоٳöÈÎһĿ¼ÏÂÃæµÄÎļþ
eg: ls /usr/man
ls -l
a.d±íʾĿ¼(directory)£¬Èç¹ûÊÇÒ»¸ö"-"±íʾÊÇÎļþ£¬Èç¹ûÊÇlÔò±íʾÊÇÒ»¸öÁ¬½ÓÎļþ ......

Linux+Java+Mysql¿ªÔ´¿ª·¢»·¾³µÄ´î½¨

¾­ÀúÁËÒ»´Îϵͳ±ÀÀ£ÖÕÓÚ°ÑlinuxϵͳϵĿª·¢»·¾³ÍêÕûµÄ¿ª·¢Á˳öÀ´ÁË¡£
Õâ´Î²ÉÈ¡µÄÊÇubuntu9.10(RC)+JDK1.5+Mysql5.1Íâ´øÒ»¸öeclipse×÷ΪIDE¡£
ÓÉÓڱʼDZ¾µÄ¹âÇýËãÊÇÎþÉüÁË£¬ËùÒÔµ±Õâ´Îubuntu·¢Æ¢ÆødownµôµÄʱºò¼¸ºõ×¥¿ñ¡£Ã»ÓйâÅÌ£¬Ôõô°²×°ÏµÍ³£¿
ÍøÉÏÒ»ËÑ£¬×îºó²ÉÈ¡µÄ°ì·¨ÊÇÓÃuÅÌÆô¶¯ISO¾µÏñÎļþÀ´½øÐа²×°µÄ¡£Æð³õ·Å½ ......

Linux BlueZ Ï InquiryµÄʵÏÖ

Ç°Ãæ½²ÁËʹÓà ioctl·¢ËÍHCI CommandµÄ·½·¨¡£µ«HCI protocol»¹ÓÐһЩCommand£¬±ÈÈçInquiryµÈ£¬ËûÃÇÔò²»ÐèҪʹÓÃioctlÀ´·¢ËÍ¡£blueZ Ö±½ÓÌṩÁËÖ§³Ö£¬ËäÈ»ËûÃǵÄ×îÖÕ¶¼ÊÇÓÃͬÑù°ì·¨ÊµÏֵġ£
ÔÚÓ¦ÓóÌÐòÖУº
hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags);
ÕâÑùÐèÒª°üº¬blueZ Í·ÎļþÈçÏ£º
#include //BT ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ