ʵս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ϵͳ
1.¿ª»ú×Ô¶¯¹ÒÔØwindow·ÖÇø
fedora10ËäÈ»ÄÜ×Ô¶¯¹ÒÔØ,µ«ÊǹÒÔØµÄ·ÖÇøÓÐʱ»á²»ÈϺº×ÖÎļþ¼Ð
´ÓÖÕ¶ËÓÃvi»ògedit´ò¿ª/etc/fstab£¬ÔÚÆäÖÐÌí¼Ó£º
/dev/sda1 /mnt/1 ntfs default 0 0
×¢£ºµÚÒ»ÏîÊÇ·ÖÇøÇý¶¯µØÖ·
......
1£ºÕë¶ÔÔÚÒ»¸öÓ²ÅÌÉϰ²×°ÁË˫ϵͳµÄÇé¿ö£º
Linuxϵͳ¿Éʶ±ðWindows·ÖÇø£¬Ä¬ÈÏÇé¿öϲ»×Ô¶¯¼ÓÔØËü¡£µ«ÓÐʱÔÚLinuxÖÐÐèÒªÓëWindows·ÖÇø½»»»Îļþ£¬Õâ¾ÍÐèÒª¼ÓÔØËü¡£¸ù¾Ý²»Í¬µÄ½»»»ÐèÒª£¬ÎÒÃǿɲÉÓò»Í¬µÄ¼ÓÔØ·½Ê½¡£ÏÂÃæÒÔRedHat Linux 7.3¼òÌåÖÐÎİæÎªÀýÀ´ËµÃ÷¡£
Ò»¡¢ÊÖ¹¤¼ÓÔØ
Èç¹ûÄãÖ»ÊÇż¶û½øÐÐһЩÎļþ½»»»£¬ÓÖÏ ......
×ܽ᣺
zhy2111314
À´×Ô£º
LinuxSir.Org
ÕûÀí£º
±±ÄÏÄϱ±
ͻ񻣼
±¾ÎÄÊÇfind ÃüÁîµÄÏêϸ˵Ã÷£¬¿É¹óµÄÊÇÕë¶Ô²ÎÊý¾ÙÁ˺ܶàµÄʵÀý£¬´óÁ¿µÄÀýÖ¤£¬ÈóõѧÕ߸üΪÈÝÒ×Àí½â£»±¾ÎÄÊÇzhyflyÐÖÌùÔÚÂÛ̳ÖУ»ÎÒ¶Ô±¾ÎĽøÐÐÁËÔÙ´ÎÕûÀí£¬Îª·½±ã´ó¼ÒÔĶÁ£»
Ŀ¼
°æÈ¨ÉùÃ÷
ǰÑÔ£º¹ØÓÚfindÃüÁî
Ò»¡¢find ÃüÁî¸ñʽ
1¡¢findÃüÁîµÄÒ» ......
Ç°Ãæ½²ÁËʹÓà ioctl·¢ËÍHCI CommandµÄ·½·¨¡£µ«HCI protocol»¹ÓÐһЩCommand£¬±ÈÈçInquiryµÈ£¬ËûÃÇÔò²»ÐèҪʹÓÃioctlÀ´·¢ËÍ¡£blueZ Ö±½ÓÌṩÁËÖ§³Ö£¬ËäÈ»ËûÃǵÄ×îÖÕ¶¼ÊÇÓÃͬÑù°ì·¨ÊµÏֵġ£
ÔÚÓ¦ÓóÌÐòÖУº
hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags);
ÕâÑùÐèÒª°üº¬blueZ Í·ÎļþÈçÏ£º
#include //BT ......
SamÒ»ÄêǰÔÚLinuxÏÂдÁËÒ»¸öÀàËÆWindowsÏÂBTWµÄ¿â--BTX¡£ÏÖÔÚÐèÒªÌí¼Óй¦ÄÜʱ·¢Ïֺܶà֪ʶµã¶¼Íü¼ÇÁË¡£ËùÒÔ¾ö¶¨ÔÚÕâ´ÎѧϰÖУ¬°ÑһЩbluez API¼Ç¼ÏÂÀ´¡£Õ⼸ÌìÓÖÏ룬ÕâÑù»¹²»¹»£¬²»Èç°ÑLinuxϵÄBluetooth±à³Ì»ù´¡¸ø¼Ç¼ÏÂÀ´°É¡£
ǰÑÔ£ºËæ×ÅǶÈëʽϵͳµÄ·ÉËÙ·¢Õ¹£¬ºÜ¶àǶÈëʽƽ̨ÉÏÐèÒªBluetoothÉ豸ºÍÓ¦Óᣵ«ÔÚLinuxÏ ......