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

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé¶¼ÊÇÈí¼þÐÎʽÌá³öµÄ£¨BluezÖÐÊÇÒÔkernel²ã³ÌÐò)¡£ÔÚModuleÕâÒ»¶Ë£ºLink Manager, BB, µÈЭÒé¶¼ÊÇÓ²¼þÖÐfirmwareÌṩµÄ¡£
¶øHCIÔò±È½ÏÌØÊ⣬ËüÒ»²¿·ÖÔÚÈí¼þÖÐʵÏÖ£¬ÓÃÀ´¸øÉϲãЭÒéºÍ³ÌÐòÌṩ·ÃÎʽӿڣ¨BluezÖÐ,hci.c hci_usb.c£¬hci_sock.cµÈ£©.ÁíÒ»²¿·ÖÒ²ÊÇÔÚFirmwareÖÐʵÏÖ£¬ÓÃÀ´½«Èí¼þ²¿·ÖµÄÖ¸ÁîµÈÓõײãЭÒéÃ÷°×µÄ·½Ê½´«µÝ¸øµ×²ã¡£
¾ÓÓÚPCµÄÉϲã³ÌÐòÓëЭÒéºÍ¾ÓÓÚModulesµÄϲãЭÒéÖ®¼äͨ¹ýHCI¹µÍ¨£¬ÓÐ4ÖÖ²»Í¬ÐÎʽµÄ´«Ê䣺Commands, Event, ACL Data, SCO/eSCO Data¡£
1.1. HCI Command£º
HCI CommandÊÇHostÏòModules·¢ËÍÃüÁîµÄÒ»ÖÖ·½Ê½¡£HCI Command Packet½á¹¹ÈçÏ£º
OpCodeÓÃÀ´Î¨Ò»±êʶHCI Command.ËüÓÉ2²¿·Ö×é³É£¬10bitµÄOpcode Command. 6bitµÄOpcode Group¡£
1.1.1: OpCode Group:
Linux Kernel£¨BlueZ£©ÖУ¬~/include/net/bluetooth/hci.hÖж¨ÒåÁËOpCode Group¡£
#define OGF_LINK_CTL 0x01
#define OGF_LINK_POLICY 0x02  
#define OGF_HOST_CTL 0x03
#define OGF_INFO_PARAM 0x04
#define OGF_STATUS_PARAM 0x05
ËüÃÇ´ú±íÁ˲»Í¬µÄCommand Group£º
OGF_LINK_CTL: Link control,Õâ¸öCommand GroupÖеÄCommandÔÊÐíHost¿ØÖÆÓëÆäËübluetooth device µÄÁ¬½Ó¡£
OGF_LINK_POLICY £ºLink Policy¡£Õâ¸öCommand GroupÖеÄCommandÔÊÐíµ÷ÕûLink Manager control.
OGF_HOST_CTL: Control and Baseband.
1.1.2: Opcode Command: 
ÓÃÀ´ÔÚͬһ¸öGroupÄÚΨһʶ±ðCommand¡£~/include/net/bluetooth/hci.hÖж¨Òå¡£
1.2: HCI Event£º
ModulesÏòHost·¢ËÍһЩÐÅÏ¢£¬Ê¹ÓÃHCI Event¡£Event Packet½á¹¹ÈçÏ£º
HCI Event·Ö3ÖÖ£ºCommand complete Event, Command States Event£¬Command Subsequently Completend.
Command complete Event: Èç¹ûHost·¢Ë͵ÄCommand¿ÉÒÔÁ¢¿ÌÓнá¹û£¬Ôò»á·¢ËÍ´ËÀàEvent¡£Ò²¾ÍÊÇ˵£¬Èç¹û·¢Ë͵ÄCommandÖ»Óë±¾µØModulesÓйأ¬²»ÓëremoteÉ豸´ò½»µÀ£¬ÔòʹÓÃCommand complete Event¡£ÀýÈ磺HCI_Read_Buffer_Size.
Command States Event£ºÈç¹ûHost·¢ËÍ


Ïà¹ØÎĵµ£º

ÓÃLinuxÏÂPerl½Å±¾Á¬½ÓSQLServer

×¼±¸¹¤×÷:
¡¡¡¡Óõ½µÄperl À©Õ¹×é¼þ(modules)ÔÚÉÏÆªÌù³ö.( win32::odbc Ä£¿é
)ÏÂÔØ×é¼þºó°´ÕÕReadmeÎļþ°²×°µ¹ÏìӦĿ¼.ÅäÖúÃÏàÓ¦µÄodbcÊý¾ÝÔ´.
¡¡¡¡
¡¡¡¡³ÌÐòʵÏÖ:
¡¡¡¡Ê¹ÓÃ
¡¡¡¡use
Win32::ODBC;
¡¡¡¡
¡¡¡¡Óï¾ä°üº¬Ó¦Ê¹ÓõÄÄ£¿éÊÇwin32::odbc,д³öÊý¾Ý¿â
Á¬½Ó×Ö·û´®
¡¡¡¡
¡¡¡¡$DSN = "DSN =
My DSN ......

Linux²Ù×÷ϵͳÏÂÉèÖû·¾³±äÁ¿PathµÄ·½·¨

ÓÐÁ½ÖÖÉèÖû·¾³±äÁ¿ PATH µÄ·½·¨¡£µÚÒ»ÖÖÊÊÓÃÓÚΪµ¥Ò»Óû§ÉèÖà PATH£¬µÚ¶þÖÖÊÇΪȫ¾ÖÉèÖà PATH¡£
 
1.ÔÚÓû§Ö÷Ŀ¼ÏÂÓÐÒ»¸ö .bashrc Îļþ£¬¿ÉÒÔÔÚ´ËÎļþÖмÓÈë PATH µÄÉèÖÃÈçÏ£º
export PATH=”$PATH:/your path1/:/your path2/…..”
×¢Ò⣺ÿһ¸ö path Ö®¼äÒªÓà “:“ ·Ö¸ô¡£
× ......

solarisºÍlinuxÃüÁî¶Ô±È

×î½üÒ»¸öÏîÄ¿µÄϵͳÓõÄÊÇSolaris 10£¬ËäÈ»ÒÔǰÓõͼÊÇ Linuxϵͳ£¬µ«ÊÇLinuxϵͳÖеÄһЩÃüÁîºÍSolarisϵͳÊÇͨÓõģ¬ÎªÁË·½±ãÎÒÏÖÔÚÁгö²¿·Ö£¬ÒÔºóÂ½Ðø¸üС£
   ¡¡1£© ²é¿´¿ª·Å¶Ë¿Ú
¡¡
¡¡¡¡Linux£º netstat -atn
¡¡
¡¡¡¡Solaris£º netstat -P tcp -f inet -an
¡¡
¡¡¡¡2£© ²é¿´Íø¿¨/ÍøÂç״̬
¡¡
¡¡¡¡ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ