[Cortex-M0技术交流] nordic蓝牙学习开始了。。欢迎浇水

[复制链接]
 楼主| kulas 发表于 2015-11-5 16:38 | 显示全部楼层 |阅读模式
看见论坛里面没有蓝牙专区,于是就选择内核专区了,希望菜农老板不要介意。。

     刚加入新公司,第一个任务是蓝牙串口透传,集成AT指令,基于nordic的 nRF51822芯片。
     对于没有接触过蓝牙的我,开始四处搜求帮助,毕竟刚加入公司要好好表现,尽快完成任务。。
     公司领导给了我一块OHTCOM的板子,资料少的可怜,于是上某宝再次淘一块,结果资料也都是官方的资料,讲解的不堪入目,跟原子和野火的功力相差甚远,
于是打算自己上手搜资料,开始我的学习之旅。

      如果大家手上有资料也可以和我交流。我还是想尽快完成任务,不过蓝牙学习仍将继续。。
     先奉上几个资料镇楼。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| kulas 发表于 2015-11-5 17:15 | 显示全部楼层
有志同道合的兄弟姐妹们,可以加我QQ:124878117,推销芯片的就算了。
lzqxs89 发表于 2015-11-5 20:40 | 显示全部楼层
我也在学习蓝牙,但是用的是Dialog的芯片。
 楼主| kulas 发表于 2015-11-6 08:40 | 显示全部楼层
lzqxs89 发表于 2015-11-5 20:40
我也在学习蓝牙,但是用的是Dialog的芯片。

蓝牙的确是好东西,现在国内也有好多厂家在做蓝牙芯片。。
 楼主| kulas 发表于 2015-11-10 18:58 | 显示全部楼层
四年多没写代码了,再次写代码,都不知道从何下手。透传功能搞定了。上传代码,采用官方的DEMo改造的。希望对大家有用
现在正在集成AT指令,希望大家一起探讨,有资料可以分享。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
lzqxs89 发表于 2015-11-18 00:14 | 显示全部楼层
kulas 发表于 2015-11-10 18:58
四年多没写代码了,再次写代码,都不知道从何下手。透传功能搞定了。上传代码,采用官方的DEMo改造的。希望 ...

你这学习效率挺高的,一周就搞定nordic平台透传功能! 犀利哥
 楼主| kulas 发表于 2015-11-18 11:55 | 显示全部楼层
lzqxs89 发表于 2015-11-18 00:14
你这学习效率挺高的,一周就搞定nordic平台透传功能! 犀利哥

官方的代码还是比较全的。自己看懂就可以搞定了。但是程序架构的确乱,努力学习中。。
caiguang 发表于 2015-11-20 14:25 | 显示全部楼层
有配对的没有
 楼主| kulas 发表于 2015-11-24 17:30 | 显示全部楼层

你要实现什么功能?检测配对?还是····
 楼主| kulas 发表于 2015-12-22 14:34 | 显示全部楼层
本帖最后由 kulas 于 2015-12-22 14:44 编辑

特征是界定的属性类型,包含单一的逻辑值。

规格名称                  规格类型                                                                                分配编         规格级别
警报类别ID               org.bluetooth.characteristic.alert_category_id                        0x2A43        已采纳
警报类别ID位掩码    org.bluetooth.characteristic.alert_category_id_bit_mask         0x2A42        已采纳
警报级别                  org.bluetooth.characteristic.alert_level                                    0x2A06        已采纳
警报通知控制点        org.bluetooth.characteristic.alert_notification_control_point   0x2A44        已采纳
警报状态                  org.bluetooth.characteristic.alert_status                                  0x2A3F        已采纳
Appearance              org.bluetooth.characteristic.gap.appearance                            0x2A01        Adopted
电池电量                  org.bluetooth.characteristic.battery_level                                0x2A19        已采纳
血压功能                  org.bluetooth.characteristic.blood_pressure_feature               0x2A49        已采纳
血压测量                  org.bluetooth.characteristic.blood_pressure_measurement     0x2A35        已采纳
人体传感器定位        org.bluetooth.characteristic.body_sensor_location                  0x2A38        已采纳
引导键盘输入报告    org.bluetooth.characteristic.boot_keyboard_input_report       0x2A22        已采纳
引导键盘输出报告    org.bluetooth.characteristic.boot_keyboard_output_report     0x2A32        已采纳
引导鼠标输入报告    org.bluetooth.characteristic.boot_mouse_input_report           0x2A33        已采纳
CSC功能                   org.bluetooth.characteristic.csc_feature                                   0x2A5C        已采纳
CSC测量                   org.bluetooth.characteristic.csc_measurement                         0x2A5B        已采纳
当前时间                  org.bluetooth.characteristic.current_time                                 0x2A2B        已采纳
自行车功率控制点    bluetooth.characteristic.cycling_power_control_point               0x2A66        已采纳
自行车功率特征        org.bluteooth.characteristic.cycling_power_feature                  0x2A65        已采纳
自行车功率测量        org.blueeooth.cycling_power_measurement                            0x2A63        已采纳
自行车功率矢量        org.bluetooth.characteristic.cycling_power_vector                   0x2A64        已采纳
日期时间                  org.bluetooth.characteristic.date_time                                     0x2A08        已采纳
星期日期时间           org.bluetooth.characteristic.day_date_time                              0x2A0A        已采纳
星期                         org.bluetooth.characteristic.day_of_week                                 0x2A09        已采纳
Device Name             org.bluetooth.characteristic.gap.device_name                          0x2A00        Adopted
日光节约时间偏移    org.bluetooth.characteristic.dst_offset                                      0x2A0D        已采纳
准确时间256            org.bluetooth.characteristic.exact_time_256                             0x2A0C        已采纳
固件修订字符串       org.bluetooth.characteristic.firmware_revision_string                0x2A26        已采纳
血糖功能                  org.bluetooth.characteristic.glucose_feature                             0x2A51        已采纳
血糖测量                   org.bluetooth.characteristic.glucose_measurement                  0x2A18        已采纳
血糖测量环境            org.bluetooth.characteristic.glucose_measurement_context    0x2A34        已采纳
硬件修订字符串        org.bluetooth.characteristic.hardware_revision_string              0x2A27        已采纳
心率控制点              org.bluetooth.characteristic.heart_rate_control_point               0x2A39        已采纳
心率测量                  org.bluetooth.characteristic.heart_rate_measurement              0x2A37        已采纳
HID控制点                org.bluetooth.characteristic.hid_control_point                         0x2A4C        已采纳
HID信息                    org.bluetooth.characteristic.hid_information                            0x2A4A        已采纳
IEEE 11073-20601监管认证数据表        org.bluetooth.characteristic.ieee_11073-20601_regulatory_certification_data_list        0x2A2A        已采纳
中间体套囊压力        org.bluetooth.characteristic.intermediate_blood_pressure        0x2A36        已采纳
中间体温度               org.bluetooth.characteristic.intermediate_temperature             0x2A1E        已采纳
LN控制点                  org.bluetooth.ln_control_point                                                 0x2A6B        已采纳
LN功能                      org.bluetooth.characteristic.ln_feature                                      0x2A6A        已采纳
当地时间信息            org.bluetooth.characteristic.local_time_information                  0x2A0F        已采纳
定位和速度               org.bluetooth.location_and_speed                                            0x2A67        已采纳
制造商名称字符串     org.bluetooth.characteristic.manufacturer_name_string            0x2A29        已采纳
测量间隔                   org.bluetooth.characteristic.measurement_interval                    0x2A21        已采纳
型号字符串                org.bluetooth.characteristic.model_number_string                   0x2A24        已采纳
导航                          org.bluetooth.characteristic.navigation                                      0x2A68        已采纳
新警报                       org.bluetooth.characteristic.new_alert                                       0x2A46        已采纳
Peripheral Preferred Connection Parameters        org.bluetooth.characteristic.gap.peripheral_preferred_connection_parameters        0x2A04        Adopted
Peripheral Privacy Flag        org.bluetooth.characteristic.gap.peripheral_privacy_flag        0x2A02        Adopted
PnP ID                        org.bluetooth.characteristic.pnp_id                                           0x2A50        已采纳
定位质量                    org.bluetooth.position_quality                                                  0x2A69        已采纳
协议模式                    org.bluetooth.characteristic.protocol_mode                              0x2A4E        已采纳
Reconnection Address        org.bluetooth.characteristic.gap.reconnection_address        0x2A03        Adopted
记录存取控制点          org.bluetooth.characteristic.record_access_control_point          0x2A52        已采纳
参考时间信息              org.bluetooth.characteristic.reference_time_information            0x2A14        已采纳
报告                            org.bluetooth.characteristic.report                                             0x2A4D        已采纳
报告地图                     org.bluetooth.characteristic.report_map                                    0x2A4B        已采纳
振铃器控制点              org.bluetooth.characteristic.ringer_control_point                      0x2A40        已采纳
振铃器设定                  org.bluetooth.characteristic.ringer_setting                                0x2A41        已采纳
RSC功能                      org.bluetooth.characteristic.rsc_feature                                     0x2A54        已采纳
RSC测量                      org.bluetooth.characteristic.rsc_measurement                           0x2A53        已采纳
SC控制点                     org.bluetooth.characteristic.sc_control_point                            0x2A55        已采纳
扫描间隔窗口               org.bluetooth.characteristic.scan_interval_window                    0x2A4F        已采纳
扫描刷新                      org.bluetooth.characteristic.scan_refresh                                  0x2A31        已采纳
传感器定位                   org.bluetooth.characteristic.sensor_location                            0x2A5D        已采纳
序列号字符串               org.bluetooth.characteristic.serial_number_string                    0x2A25        已采纳
Service Changed           org.bluetooth.characteristic.gatt.service_changed                    0x2A05        Adopted
软件修订字符串            org.bluetooth.characteristic.software_revision_string               0x2A28        已采纳
获支持的新警报类别     org.bluetooth.characteristic.supported_new_alert_category     0x2A47        已采纳
获支持的未读警报类别        org.bluetooth.characteristic.supported_unread_alert_category        0x2A48        已采纳
系统ID                          org.bluetooth.characteristic.system_id                                     0x2A23        已采纳
温度测量                      org.bluetooth.characteristic.temperature_measurement           0x2A1C        已采纳
温度类型                      org.bluetooth.characteristic.temperature_type                         0x2A1D        已采纳
时间准确度                  org.bluetooth.characteristic.time_accuracy                                0x2A12        已采纳
时间源                          org.bluetooth.characteristic.time_source                                  0x2A13        已采纳
时间更新控制点            org.bluetooth.characteristic.time_update_control_point          0x2A16        已采纳
时间更新状态               org.bluetooth.characteristic.time_update_state                        0x2A17        已采纳
日光节约时间的时间     org.bluetooth.characteristic.time_with_dst                               0x2A11        已采纳
时区                             org.bluetooth.characteristic.time_zone                                     0x2A0E        已采纳
射频功率                      org.bluetooth.characteristic.tx_power_level                              0x2A07        已采纳
未读警报状态               org.bluetooth.characteristic.unread_alert_status                       0x2A45        已采纳

**码                                UUID规格                       UUID                参考规格
«设备名称»                        uuid16                           0x2A00        蓝牙核心规格第3卷C部分第12.1节
«外观»                               uuid16                           0x2A01        蓝牙核心规格第3卷C部分第12.2节
«外置设备隐私标志»          uuid16                           0x2A02        蓝牙核心规格第3卷C部分第12.3节
«重新连接地址»                 uuid16                           0x2A03        蓝牙核心规格第3卷C部分第12.4节
«外置设备首选连接参数»   uuid16                           0x2A04        蓝牙核心规格第3卷C部分第12.5节
«服务更改»                        uuid16                           0x2A05        蓝牙核心规格第3卷G部分第7.1节
 楼主| kulas 发表于 2015-12-22 14:48 | 显示全部楼层
GATT服务
  **码                               UUID规格        UUID          参考规格
《通用访问配置文件》        uuid16            0x1800        Bluetooth®核心规格第3卷C部分第12节
《通用属性配置文件》        uuid16            0x1801        蓝牙核心规格第3卷G部分第7节
 楼主| kulas 发表于 2015-12-22 14:49 | 显示全部楼层
本帖最后由 kulas 于 2015-12-22 14:52 编辑

GATT特征描述符
**码                      UUID规格        UUID             参考规格
«特征扩充属性»        uuid16           0x2900          蓝牙核心规格第3卷G部分第3.3.3.1节
«特征用户描述»        uuid16           0x2901          蓝牙核心规格第3卷G部分第3.3.3.2节
«客户特征配置»        uuid16           0x2902          蓝牙核心规格第3卷G部分第3.3.3.3节
«服务器特征配置»     uuid16          0x2903          蓝牙核心规格第3卷G部分第3.3.3.4节
«特征格式»               uuid16          0x2904           B蓝牙核心规格第3卷G部分第3.3.3.5节
«特征集成格式»        uuid16          0x2905          蓝牙核心规格第3卷G部分第3.3.3.6节


GATT属性类型
**码
UUID规格
UUID
参考规格
«主要服务»uuid160x2800蓝牙核心规格第3卷G部分第3.1节
«辅助服务»uuid160x2801蓝牙核心规格第3卷G部分第3.1节
«包含»uuid160x2802蓝牙核心规格第3卷G部分第3.2节
«特征»uuid160x2803蓝牙核心规格第3卷G部分第3.3节




 楼主| kulas 发表于 2015-12-23 09:51 | 显示全部楼层
发现了一篇非常好的**,虽然作者也是从别人那copy过来的,但是讲解的不错,希望对大家有帮助

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| kulas 发表于 2015-12-23 12:29 | 显示全部楼层
本帖最后由 kulas 于 2015-12-23 12:31 编辑

今天找了一下 關於 Bluetooth 的標準 Service/Profile 的 UUID ,但是看了一下 Specification Doucments 都只有 16bits 長,這是所謂的UUID16格式

後來才了解,原來Bluetooth 將UUID 的部份固定,只取16bits 作為各種 Service 的區分,這樣可以節省分析 SDP Record and 與程式空間,避免增加 Bluetooth Device 的成本。

底下的值可以從 windows XP or Server 2003 SDK 的 bt_sdp.h or BlueZ 的 sdp.h(UUID16) 中找到定義,可以觀察出 下列的固定序列除了替換 XXXX部份

‘{0000xxxx-0000-1000-8000-00805F9B34FB}’,而XXXX 部份就是 所謂的 UUID16 定義。
BASE UUID 00000000-0000-1000-8000-00805F9B34FB  
SDP_PROTOCOL_UUID             = '{00000001-0000-1000-8000-00805F9B34FB}';  
UDP_PROTOCOL_UUID             = '{00000002-0000-1000-8000-00805F9B34FB}';  
RFCOMM_PROTOCOL_UUID     = '{00000003-0000-1000-8000-00805F9B34FB}';  
TCP_PROTOCOL_UUID             = '{00000004-0000-1000-8000-00805F9B34FB}';  
TCSBIN_PROTOCOL_UUID       = '{00000005-0000-1000-8000-00805F9B34FB}';  
TCSAT_PROTOCOL_UUID        = '{00000006-0000-1000-8000-00805F9B34FB}';  
OBEX_PROTOCOL_UUID         = '{00000008-0000-1000-8000-00805F9B34FB}';  
IP_PROTOCOL_UUID              = '{00000009-0000-1000-8000-00805F9B34FB}';  
FTP_PROTOCOL_UUID           = '{0000000A-0000-1000-8000-00805F9B34FB}';  
HTTP_PROTOCOL_UUID        = '{0000000C-0000-1000-8000-00805F9B34FB}';  
WSP_PROTOCOL_UUID         = '{0000000E-0000-1000-8000-00805F9B34FB}';  
BNEP_PROTOCOL_UUID        = '{0000000F-0000-1000-8000-00805F9B34FB}';  
UPNP_PROTOCOL_UUID        = '{00000010-0000-1000-8000-00805F9B34FB}';  
HID_PROTOCOL_UUID          = '{00000011-0000-1000-8000-00805F9B34FB}';  
HCCC_PROTOCOL_UUID        = '{00000012-0000-1000-8000-00805F9B34FB}';  
HCDC_PROTOCOL_UUID        = '{00000014-0000-1000-8000-00805F9B34FB}';  
HN_PROTOCOL_UUID            = '{00000016-0000-1000-8000-00805F9B34FB}';  
AVCTP_PROTOCOL_UUID       = '{00000017-0000-1000-8000-00805F9B34FB}';  
AVDTP_PROTOCOL_UUID       = '{00000019-0000-1000-8000-00805F9B34FB}';  
CMPT_PROTOCOL_UUID        = '{0000001B-0000-1000-8000-00805F9B34FB}';  
UDI_C_PLANE_PROTOCOL_UUID = '{0000001D-0000-1000-8000-00805F9B34FB}';  
L2CAP_PROTOCOL_UUID       = '{00000100-0000-1000-8000-00805F9B34FB}';  


ServiceDiscoveryServerServiceClassID_UUID       = '{00001000-0000-1000-8000-00805F9B34FB}';
BrowseGroupDescriptorServiceClassID_UUID        = '{00001001-0000-1000-8000-00805F9B34FB}';
PublicBrowseGroupServiceClass_UUID              = '{00001002-0000-1000-8000-00805F9B34FB}';
SerialPortServiceClass_UUID                     = '{00001101-0000-1000-8000-00805F9B34FB}';  
LANAccessUsingPPPServiceClass_UUID              = '{00001102-0000-1000-8000-00805F9B34FB}';  
DialupNetworkingServiceClass_UUID               = '{00001103-0000-1000-8000-00805F9B34FB}';  
IrMCSyncServiceClass_UUID                       = '{00001104-0000-1000-8000-00805F9B34FB}';  
OBEXObjectPushServiceClass_UUID                 = '{00001105-0000-1000-8000-00805F9B34FB}';  
OBEXFileTransferServiceClass_UUID               = '{00001106-0000-1000-8000-00805F9B34FB}';  
IrMCSyncCommandServiceClass_UUID                = '{00001107-0000-1000-8000-00805F9B34FB}';  
HeadsetServiceClass_UUID                        = '{00001108-0000-1000-8000-00805F9B34FB}';  
CordlessTelephonyServiceClass_UUID              = '{00001109-0000-1000-8000-00805F9B34FB}';  
AudioSourceServiceClass_UUID                    = '{0000110A-0000-1000-8000-00805F9B34FB}';  
AudioSinkServiceClass_UUID                      = '{0000110B-0000-1000-8000-00805F9B34FB}';  
AVRemoteControlTargetServiceClass_UUID          = '{0000110C-0000-1000-8000-00805F9B34FB}';  
AdvancedAudioDistributionServiceClass_UUID      = '{0000110D-0000-1000-8000-00805F9B34FB}';  
AVRemoteControlServiceClass_UUID                = '{0000110E-0000-1000-8000-00805F9B34FB}';  
VideoConferencingServiceClass_UUID              = '{0000110F-0000-1000-8000-00805F9B34FB}';  
IntercomServiceClass_UUID                       = '{00001110-0000-1000-8000-00805F9B34FB}';  
FaxServiceClass_UUID                            = '{00001111-0000-1000-8000-00805F9B34FB}';  
HeadsetAudioGatewayServiceClass_UUID            = '{00001112-0000-1000-8000-00805F9B34FB}';  
WAPServiceClass_UUID                            = '{00001113-0000-1000-8000-00805F9B34FB}';  
WAPClientServiceClass_UUID                      = '{00001114-0000-1000-8000-00805F9B34FB}';  
PANUServiceClass_UUID                           = '{00001115-0000-1000-8000-00805F9B34FB}';  
NAPServiceClass_UUID                            = '{00001116-0000-1000-8000-00805F9B34FB}';  
GNServiceClass_UUID                             = '{00001117-0000-1000-8000-00805F9B34FB}';  
DirectPrintingServiceClass_UUID                 = '{00001118-0000-1000-8000-00805F9B34FB}';  
ReferencePrintingServiceClass_UUID              = '{00001119-0000-1000-8000-00805F9B34FB}';  
ImagingServiceClass_UUID                        = '{0000111A-0000-1000-8000-00805F9B34FB}';  
ImagingResponderServiceClass_UUID               = '{0000111B-0000-1000-8000-00805F9B34FB}';  
ImagingAutomaticArchiveServiceClass_UUID        = '{0000111C-0000-1000-8000-00805F9B34FB}';  
ImagingReferenceObjectsServiceClass_UUID        = '{0000111D-0000-1000-8000-00805F9B34FB}';  
HandsfreeServiceClass_UUID                      = '{0000111E-0000-1000-8000-00805F9B34FB}';  
HandsfreeAudioGatewayServiceClass_UUID          = '{0000111F-0000-1000-8000-00805F9B34FB}';  
DirectPrintingReferenceObjectsServiceClass_UUID = '{00001120-0000-1000-8000-00805F9B34FB}';  
ReflectedUIServiceClass_UUID                    = '{00001121-0000-1000-8000-00805F9B34FB}';  
BasicPringingServiceClass_UUID                  = '{00001122-0000-1000-8000-00805F9B34FB}';  
PrintingStatusServiceClass_UUID                 = '{00001123-0000-1000-8000-00805F9B34FB}';  
HumanInterfaceDeviceServiceClass_UUID           = '{00001124-0000-1000-8000-00805F9B34FB}';  
HardcopyCableReplacementServiceClass_UUID       = '{00001125-0000-1000-8000-00805F9B34FB}';  
HCRPrintServiceClass_UUID                       = '{00001126-0000-1000-8000-00805F9B34FB}';  
HCRScanServiceClass_UUID                        = '{00001127-0000-1000-8000-00805F9B34FB}';  
CommonISDNAccessServiceClass_UUID               = '{00001128-0000-1000-8000-00805F9B34FB}';  
VideoConferencingGWServiceClass_UUID            = '{00001129-0000-1000-8000-00805F9B34FB}';  
UDIMTServiceClass_UUID                          = '{0000112A-0000-1000-8000-00805F9B34FB}';  
UDITAServiceClass_UUID                          = '{0000112B-0000-1000-8000-00805F9B34FB}';  
AudioVideoServiceClass_UUID                     = '{0000112C-0000-1000-8000-00805F9B34FB}';  
PnPInformationServiceClass_UUID                 = '{00001200-0000-1000-8000-00805F9B34FB}';  
GenericNetworkingServiceClass_UUID              = '{00001201-0000-1000-8000-00805F9B34FB}';  
GenericFileTransferServiceClass_UUID            = '{00001202-0000-1000-8000-00805F9B34FB}';  
GenericAudioServiceClass_UUID                   = '{00001203-0000-1000-8000-00805F9B34FB}';  
GenericAudioServiceClass_UUID                   = '{00001203-0000-1000-8000-00805F9B34FB}';  
GenericTelephonyServiceClass_UUID               = '{00001204-0000-1000-8000-00805F9B34FB}';  
UPnPServiceClass_UUID                           = '{00001205-0000-1000-8000-00805F9B34FB}';  
UPnPIpServiceClass_UUID                         = '{00001206-0000-1000-8000-00805F9B34FB}';  
ESdpUPnPIpPanServiceClass_UUID                  = '{00001300-0000-1000-8000-00805F9B34FB}';  
ESdpUPnPIpLapServiceClass_UUID                  = '{00001301-0000-1000-8000-00805F9B34FB}';  
EdpUPnpIpL2CAPServiceClass_UUID                 = '{00001302-0000-1000-8000-00805F9B34FB}';  
zilong827 发表于 2016-1-2 21:00 | 显示全部楼层
也在学习中,希望跟你们一起进步
chenchenc 发表于 2016-1-14 15:56 | 显示全部楼层
楼主给力,本人是做硬件的,也希望了解BLE的内容,一起学习进步
 楼主| kulas 发表于 2016-1-15 08:22 | 显示全部楼层
chenchenc 发表于 2016-1-14 15:56
楼主给力,本人是做硬件的,也希望了解BLE的内容,一起学习进步

我也是纯硬件,刚开始做软硬一体,一起加油
lzqxs89 发表于 2016-4-26 00:58 | 显示全部楼层
kulas 发表于 2015-12-23 12:29
今天找了一下 關於 Bluetooth 的標準 Service/Profile 的 UUID ,但是看了一下 Specification Doucments 都 ...

你这里的UUID是指什么UUID啊??
拙见成章 发表于 2016-4-27 00:38 | 显示全部楼层
顶起!!!!
sungt195 发表于 2017-12-24 17:16 | 显示全部楼层
楼主做过多数据量传输么,比如主机发送一张图片 从机接收该图片之类的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:你不OK , 我KO你 !!

17

主题

200

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部