您的位置:首页 > 移动开发 > 微信开发

可穿戴设备(CC2541)上微信(5)

2015-07-13 15:42 393 查看
1. 当 BLE 设备与微信连接后,微信客户端通过下面的程序向 BLE 设备发送数据:

static bStatus_t wechatIOT_WriteAttrCB( uint16 connHandle, gattAttribute_t *pAttr,uint8 *pValue, uint8 len, uint16 offset ){}

2. 微信客户端控制 BLE 设备的 LED 是通过 pb_examle.c 中的:

void unpack_PushRecvData_response(){} //在这个程序中微信客户端可以控制 LED 的亮灭,该程序在下面的程序中调用

uint8_t UnPack_Data(uint8_t *buf, int buf_len){} //将数据 Unpack,该程序在下面的程序中调用

static bStatus_t wechatIOT_WriteAttrCB( uint16 connHandle, gattAttribute_t *pAttr,uint8 *pValue, uint8 len, uint16 offset ){} //就是上面的第一个程序



3. 所以使用微信客户端向 BLE 设备发送数据的大致流程就是:

wechatIOT_WriteAttrCB() //接收来自微信客户端的数据,这个程序就是用来接收手机发送 BLE 设备的数据

u8_ReturnValue = UnPack_Data( pAttr->pValue+(offset),len );




UnPack_Data() //Unpack 数据,对数据进行处理

else if(UnPackEmCmdID==ECI_push_manufacturerSvrSendData)
        {
            #ifdef UART_DEBUG //printf more have timeout
            print_msg("unpack_PushRecvDataRep\r\n");
            #endif
            unpack_PushRecvData_response( ) ; 
            return(PUSH_REC_DATA) ;
        }




unpack_PushRecvData_response()

1. 如果是微信 BLE 设备控制器发送的数据,目前只能控制 LED 亮灭

2. 如果是微信客户端发送的字符串,则用串口把接收到的字符串打印出来

for(ICount=0; ICount<response->data.len; ICount++) // 将接收到的字符串打印出来
        {
            print_msg("%c", response->data.data[ICount]) ;
        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: