flutter_w1plus

w1+手表插件

(注: 设备连接成功后建议默认先发送一次"SET,15,1"和"SET,46,0"指令, 才可获取设备所有的GET和SEND指令返回数据)

APP向设备获取数据的指令头: GET,0 //获取设备详细数据 GET,10 //获取每天计步总数据 GET,11 //获取当天时间段增量数据 GET,12 //获取每天睡眠总数据 GET,13 //获取当天时间段睡眠数据 GET,14 //获取单次心率测试数据 GET,15 //获取闹钟信息 GET,16 //获取motion开关设置 GET,22 //获取单次血压测试数据 GET,23 //获取单次血氧测试数据 GET,61 //获取计步历史数据的日期信息 GET,64 //获取运动历史数据(暂未使用) GET,65 //获取所有的(每次)单项运动历史汇总数据(需要设备有GPS Sensor, 无忽略) GET,66 //询问蓝牙设备连接状态 GET,67 //推送数据(表盘,应用(游戏),主题,EPO文件,OTA资源文件等) GET,69 //获取气压数据(需要设备有air pressure Sensor) GET,70 //获取潜水数据(需要设备有GPS Sensor) GET,71 //获取钓鱼数据(需要设备有GPS和air pressure Sensor) GET,72 //获取联系人数据 GET,73 //获取已推送的所有表盘序号 GET,74 //获取已推送的所有主题序号 GET,75 //获取已推送的所有应用序号 GET,101 //获取对应的一次单项运动GPS数据(需要设备有GPS Sensor)

APP向设备设置数据的指令头: SET,10 //设置个人信息 SET,11 //设置睡眠信息--暂不支持 SET,12 //设置久坐提醒 SET,13 //设置闹钟 SET,14 //由设备发送给APK的指令打开手机相机 SET,15 //设置APK是否前/后台运行状态 SET,19 //设置喝水提醒 SET,20 //设置手机找手表 SET,21 //设置motion 闹钟静音、抬手亮屏、来电拒接 SET,30 //设置女性生理期 SET,44 //设置语言 SET,45 //设置时间 SET,46 //设置单位制式 SET,68 //设置天气 SET,72 //设置联系人 SET,73 //卸载表盘 SET,74 //卸载主题 SET,75 //卸载应用 SET,77 //设置音乐信息 SET,78 //设置时间制式 SET,79 //设置屏幕常量 SET,80 //设置抬手亮屏 SET,81 //设置勿扰模式 SET,82 //设置开启震动

设备向APP发送的数据指令头: (注:必须要调用"SET,46"后才能接收到SEND返回的数据) SEND,10 //发送计步数据 SEND,11 //发送当前时间段增量计步数据(暂未使用) SEND,12 //发送实时连续心率测试数据 SEND,13 //设备找手机(APP收到指令做响铃或震动等响应) SEND,14 //发送单次心率测试数据 SEND,15 //发送闹钟 SEND,16 //发送短信(设备把短信内容和联系人或者号码发送到APP,APP调用API发送短信) SEND,22 //发送单次血压测试数据 SEND,23 //发送单次血氧饱和度测试数据 SEND,24 //发送设备电量(暂未使用) SEND,62 //发送来电操作(APP收到指令做挂断或接听电话) SEND,69 //发送请求索要EPO数据

/设备返回数据json内容**/ GET,0 : { "name": "2602",//终端名字串号 "version": "4.10",//协议版本号 "screenType": "1",//屏幕类型 0方屏, 1圆屏 "screenWidth": "000",//屏幕宽 "screenHeight": "000",//屏幕高 "p_num": "5",//未上传的计步数据条数 "p_delta_num": "3",//未上传的计步时间段数据条数 "goal": "10000",//计步目标范围 "sex": "1",//性别 0为女, 1为男 "height": "175",//身高 "weight": "60",//体重 "age": "32",//年龄 "s_num": "1",//未上传的睡眠数据条数 "s_delta_num": "4",//未上传的睡眠时间段数据条数 "start_time": "20:00",//开始时间 "end_time": "1",//结束时间 "SIT": "30",//久坐提醒时间 30=每30分钟响铃一次, 0=未设置 "heart_rate": "75",//未上传的心率数据条数 "alarmNum": "5",//闹钟个数 "battery_capacity": "68",//电量 "bt_address": "23:22:33:33:21:32",//3.0蓝牙地址 "software_version": "T89_BLE.V2.5",//软件版本号 "sim": "0",//是否支持SIM卡 0不支持, 1支持 "barcode": "null",//设备条码 "project_code": "null",//项目识别码, "raise_hand_screen_bright": "08:00|22:00|0",//抬手亮屏 注: 开始时间|结束时间|开启状态(0关闭,1开启) "screen_stays_on": "0",//屏幕常亮 0关闭,1开启 "time_format": "0",//时间制式 0为24小时制,1为12小时制 "do_not_disturb_mode": "0",//勿扰模式 0关闭,1开启 "turn_on_vibration": "0"//开启震动 0关闭,1开启 }

GET,10 : { "array": { "date": "2022-2-25",//日期 "step": "0", //步数 "distance": "0", //距离 米 "calorie": "0" //卡路里 千卡 }, { "date": "2022-2-26", "step": "0", "distance": "0", "calorie": "0" }, { "date": "2022-2-27", "step": "0", "distance": "0", "calorie": "0" } }

GET,11 : { "date": "2022-3-7", //日期 "array": { "time": "00:10", //时:分 "step": "0", //步数 "distance": "0", //距离 "calorie": "0" //卡路里 } }

GET,12 : { "array": { "date": "2022-3-7", //日期 "deep_sleep": "0:0", //深睡时长 时:分 "light_sleep": "0:0" //浅睡时长 时:分 } }

GET,13 : { "array": { "date": "2022-3-7", //日期 "sleep_state": "0", //睡眠状态 0清醒, 1浅睡, 2深睡 "time": "22:0", //时间点 "sleep_time_long": "00:00" //睡眠时长 }, { "date": "2022-3-7", "sleep_state": "2", "time": "8:0", "sleep_time_long": "08:00" } }

GET,14 : { "array" : { "date": "2022-3-8",//日期 "time": "17:40:20",//时分秒 时间戳 "heart_rate": "81" //心率值 } }

GET,15 : { "array": { //最多设置5个闹钟, json{}为空,就是没有设置闹钟 "time": "00:00", //闹钟时间(24小时制) "selected_days_week": "0000000", //选中的周天数, 0未选, 1选中, 从(左)周日到(右)周六 "ring": "0", //铃声 0,1,2,... "ring_type": "0", //响铃类型 0仅响铃, 1仅震动, 2响铃与震动 "alarm_on_off": "0" //闹钟开启状态, 0未开启, 1开启 }, { ... } }

GET,16 : { "is_alarm_silence": "1", //闹钟静音 1打开, 0关闭 "is_raiseHands_brightScreen": "1", //抬手亮屏 1打开, 0关闭 "is_call_rejection": "1" //来电拒接(翻转静音) 1打开, 0关闭 }

GET,22 : { "date": "2022-3-8", //日期 "time": "20:30:26", //时分秒 时间戳 "systolic_BPressure": "88", //收缩压(血压) "diastolic_BPressure": "113" //舒张压(血压) }

GET,23 : { "date": "2022-3-8", //日期 "time": "20:30:26", //时分秒 时间戳 "BOxygen": "88", //血氧值 }

GET,61 : { "array": { "date": "2022-2-26" //计步历史数据的日期 }, { "date": "2022-2-27" }, { "date": "2022-2-28" }, { "date": "2022-3-1" }, { "date": "2022-3-2" } }

GET,69 : { "date": "2022-01-01", //气压数据的日期 "array": 0, 1013, 1012, 1012, 1012, 1012, //0-24小时内气压值,每15分钟记录一次共96记次,无记录为0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

GET,70 : { "date": "2022-01-05", //潜水数据的日期 "timeLong": "1000", //潜水时长(秒) "east_west": "E", //东西经 E东经, W西经 "north_south": "N", //南北纬 N北纬, S南纬 "longitude": "113.157368", //经度 "latitude": "22.90899", //纬度 "array": "-20.8", "-33.5", "-11.5", "-10.1", "-3.4", "-8" //潜水深度(米) }

GET,71 : { "date": "2021-12-31", //钓鱼数据的日期 "timeLong": "1000", //钓鱼时长(秒) "east_west": "E", //东西经 E东经, W西经 "north_south": "N", //南北纬 N北纬, S南纬 "longitude": "113.157368", //经度 "latitude": "22.90899", //纬度 "array": "0", "0", "0", "0", "0", "0", "0", //0-24小时内气压值,每15分钟记录一次共96记次,无记录为0 "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1016", "1016", "1016", "1016", "1015", "1015", "1015", "1014", "1014", "1014", "1014", "1014", "1014", "1013", "1013", "1013", "1014", "1014", "1014", "1014", "1014", "1014", "1014", "1014", "1015", "1015", "1015", "1015", "1015", "1015", "1015", "1016", "1016", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" }

GET,72 : { "array": { "name_length": "01", //联系人字符长度 "name": "陈", //联系人 "number_length": "13", //号码字符长度 "number": "13532636652" //号码 }, { "name_length": "02", "name": "AA" "number_length": "13" "number": "13966953656" } }

GET,73 : { "array": "10", "11", "12", "13", "14", "15" //已推送的所有表盘序号 }

GET,74 : { "array": "10", "11", "12", "13", "14", "15" //已推送的所有主题序号 }

GET,75 : { "array": "10", "11", "12", "13", "14", "15" //已推送的所有应用序号 }


/设备返回或主动发送到APP的数据**/ SET,14 : { "photo_status": "1" //远程拍照状态 0退出拍照, 1打开拍照, 2拍照 }

SET,45 : { "sync_time_status": "1" //设置时间状态 0成功, 1失败(手表未打开同步开关) }

SET,73 : { "uninstall_dial_status": "1" //卸载表盘状态 0失败, 1成功 }

SET,74 : { "uninstall_theme_status": "1" //卸载主题状态 0失败, 1成功 }

SET,75 : { "uninstall_app_status": "1" //卸载应用状态 0失败, 1成功 }

SET,78 : { "set_time_format_status": "1" //设置时间制式 0失败, 1成功 }

SET,79 : { "set_screen_constants_status": "1" //设置屏幕常量 0失败, 1成功 }

SET,80 : { "set_hand_on_screen_status": "1" //设置抬手亮屏 0失败, 1成功 }

SET,81 : { "set_do_not_disturb_mode_status": "1" //设置忽扰模式 0失败, 1成功 }

SET,82 : { "set_turn_on_vibration_status": "1" //设置开启震动 0失败, 1成功 }


SEND,10: { "date": "2022-4-22", //日期 "step_count": "837", //步数 "distance": "659.0", //距离 米 "calorie": "26.0" //卡路里 千卡 }

SEND,11 : { "date": "2022-3-7", //日期 "array": { "time": "00:10", //时:分 "step": "0", //步数 "distance": "0", //距离 "calorie": "0" //卡路里 } }

SEND,12 : { "continuous_heart_rate": "71" //实时连续心率 }

SEND,13 : { "find_phone_status": "1" //查找手机状态 1开始查找, 0停止查找 }

SEND,14 : { "single_heart_rate": "71" //实时单次心率 }

SEND,16 : { "contact_number": "15796568953", //联系人或者电话号码 "content_text": "好的,去运动" //要发送的短信文本内容 }

SEND,22 : { "single_blood_pressure": "88|115" //实时单次血压 88舒张压|115收缩压 }

SEND,23 : { "single_blood_oxygen": "97" //实时单次血氧饱和度 97% }

SEND,62 : { "incoming_call_operation": "0" //来电操作 0挂断,1接听 }


/发送到设备数据json内容**/ 三方天气平台获取数据(推荐使用和风天气) APP向手表推送天气数据,需严格按照以下json格式, 所有Key带"Time"的参数值严格按照以下示例内容格式化 SET,68 : { "now": { //当前天气信息 "address": "深圳", //当前城市地址(需要支持多语言) "weather": { "updateTime": "2022-04-12T17:32+08:00", //更新时间 "now": { "temp": "27", //当前温度 "icon": "100", //当前天气状态 "pressure": "999" //当前位置大气压 } } }, "24h": { //当天最新更新的24小时天气信息 "weather": { "hourly": { "fxTime": "2022-04-12T14:00+08:00", //第一个小时更新时间 "temp": "30", //温度 "icon": "101", //天气状态 "pressure": "1004" //大气压 }, { "fxTime": "2022-04-12T15:00+08:00", //第二个... "temp": "29", "icon": "100", "pressure": "1004" }, { "fxTime": "2022-04-12T16:00+08:00", //... "temp": "28", "icon": "100", "pressure": "1004" }, { "fxTime": "2022-04-12T17:00+08:00", "temp": "28", "icon": "100", "pressure": "1004" }, { "fxTime": "2022-04-12T18:00+08:00", "temp": "27", "icon": "100", "pressure": "1003" }, { "fxTime": "2022-04-12T19:00+08:00", "temp": "26", "icon": "150", "pressure": "1003" }, { "fxTime": "2022-04-12T20:00+08:00", "temp": "25", "icon": "150", "pressure": "1002" }, { "fxTime": "2022-04-12T21:00+08:00", "temp": "24", "icon": "150", "pressure": "1002" }, { "fxTime": "2022-04-12T22:00+08:00", "temp": "24", "icon": "150", "pressure": "1003" }, { "fxTime": "2022-04-12T23:00+08:00", "temp": "24", "icon": "150", "pressure": "1003" }, { "fxTime": "2022-04-13T00:00+08:00", "temp": "23", "icon": "101", "pressure": "1004" }, { "fxTime": "2022-04-13T01:00+08:00", "temp": "23", "icon": "101", "pressure": "1004" }, { "fxTime": "2022-04-13T02:00+08:00", "temp": "23", "icon": "101", "pressure": "1005" }, { "fxTime": "2022-04-13T03:00+08:00", "temp": "22", "icon": "101", "pressure": "1005" }, { "fxTime": "2022-04-13T04:00+08:00", "temp": "22", "icon": "101", "pressure": "1004" }, { "fxTime": "2022-04-13T05:00+08:00", "temp": "22", "icon": "101", "pressure": "1003" }, { "fxTime": "2022-04-13T06:00+08:00", "temp": "22", "icon": "101", "pressure": "1002" }, { "fxTime": "2022-04-13T07:00+08:00", "temp": "23", "icon": "101", "pressure": "1001" }, { "fxTime": "2022-04-13T08:00+08:00", "temp": "24", "icon": "101", "pressure": "1001" }, { "fxTime": "2022-04-13T09:00+08:00", "temp": "25", "icon": "101", "pressure": "1001" }, { "fxTime": "2022-04-13T10:00+08:00", "temp": "24", "icon": "302", "pressure": "1001" }, { "fxTime": "2022-04-13T11:00+08:00", "temp": "24", "icon": "302", "pressure": "1002" }, { "fxTime": "2022-04-13T12:00+08:00", "temp": "25", "icon": "101", "pressure": "1002" }, { "fxTime": "2022-04-13T13:00+08:00", "temp": "26", "icon": "101", "pressure": "1003" } } }, "7d": { //未来7天内(包含当天)天气信息 "weather": { "daily": { "fxDate": "2022-04-12", //第一天(当前天)日期 "sunrise": "06:08", //日出时间 "sunset": "18:43", //日落时间 "tempMax": "30", //最高温度 "tempMin": "22", //最低温度 "iconDay": "100", //白天天气状态 "iconNight": "101" //夜间天气状态(若三方平台无此参数可与iconDay赋值相同) }, { "fxDate": "2022-04-13", //下一天日期 "sunrise": "06:07", //... "sunset": "18:44", "tempMax": "27", "tempMin": "21", "iconDay": "302", "iconNight": "302" }, { "fxDate": "2022-04-14", "sunrise": "06:06", "sunset": "18:44", "tempMax": "28", "tempMin": "21", "iconDay": "101", "iconNight": "101" }, { "fxDate": "2022-04-15", "sunrise": "06:05", "sunset": "18:44", "tempMax": "27", "tempMin": "20", "iconDay": "101", "iconNight": "101" }, { "fxDate": "2022-04-16", "sunrise": "06:04", "sunset": "18:45", "tempMax": "25", "tempMin": "19", "iconDay": "101", "iconNight": "350" }, { "fxDate": "2022-04-17", "sunrise": "06:03", "sunset": "18:45", "tempMax": "24", "tempMin": "18", "iconDay": "300", "iconNight": "154" }, { "fxDate": "2022-04-18", "sunrise": "06:02", "sunset": "18:46", "tempMax": "27", "tempMin": "16", "iconDay": "100", "iconNight": "150" } } } }