智能穿戴设备移动APP端与外设数据传输协议
S1 Communication Layer specifications
1. Purpose of This Document 4
2. General abbreviations & habits 4
2.1 General abbreviations 4
2.2 General habits 4
3. How to view this document 5
4. Packet Structure 5
4.1 Define packet structure 5
4.1.1 CMD/ACK Id field details 6
4.1.2 Raw Data Length field details 6
4.1.3 ACK Type field details 6
4.1.4 Raw Data field details 6
4.2 S1 communication layer model 6
5. Divide Module 7
6. General Raw Data Format 8
6.1 Time Format 8
7. System Module 8
7.1 Current Time Synchronization (I) 8
7.1.1 Raw Data format 8
7.2 Alarm (I) 9
7.2.1 Each alarm record format 9
7.2.2 Raw Data format details 9
7.3 Fetch Band Battery Level (II) 9
7.4 Fetch Band Information (II) 10
7.4.1 ACK Raw Data field format 10
7.5 OTA Update (I and IV) 10
7.5.1 OTA Update Flow 10
7.5.2 Band requests APP OTA packet (IV) 11
7.5.3 Band reports the result to App (III) 12
7.6 Volume Control (III) 12
7.6.1 Raw Data details 12
7.7 Band Temperature Info (II) 12
7.7.1 ACK Raw Data details 12
8. Account Module 13
8.1 Get Band Account Information (II) 13
8.1.1 ACK Raw Data details 13
8.2 APP Account Information compare with Band (II) 13
8.2.1 CMD Raw Data details 13
8.2.2 ACK Raw Data details 13
8.3 Change Band Account (I) 14
8.3.1 CMD Raw Data details 14
9. Notification Module 14
9.1 Notification History Count (Only IOS) (II) 14
9.1.2 ACK Raw Data Format 14
9.2 Update Context-Aware Notification (I) 14
9.2.1 CMD Raw Data Format 15
9.3 Health Notifications (I) 15
9.3.1 CMD details 15
9.4 Send VIP Contact List to Band (I) 15
9.4.1 CMD Raw Data details 15
9.5 Query Contacts (IV) 16
9.5.1 CMD Raw Data details 16
9.5.2 ACK Raw Data details 16
9.6 Android basic notifications (I) 16
9.6.1 SMS Notification Raw Data details 17
9.7 Recycling IOS HFP Notifications (III) 17
9.7.1 CMD RAW Data details 17
9.8 Recycling IOS ANCS Notifications (III) 17
9.8.1 CMD Raw Data details 17
10. Activity Module 18
10.1 Activity data transmission strategy 18
10.2 General model 18
10.2.1 APP fetches activity data (II) 18
10.2.2 Band notify APP to fetch 19
10.2.3 An general record format 19
10.2.4 ACK Raw Data details 19
10.3 Real time model 20
10.3.1 Start real time model (I) 20
10.3.2 Stop real time model (I) 20
10.3.3 Band sends activity data in real time model (III) 20
10.3.4 A Immediate record format 20
11. Setting Module 21
11.1 Set the Basic Settings of Band (I) 21
11.2 Get the basic settings of Band (II) 22
11.2.1 CMD details 22
11.2.2 ACK Raw Data format 22
11.3 Set Basic Notifications (I) 22
11.3.1 CMD Raw Data format 22
11.4 Get basic Notifications Settings (II) 23
11.5 Factory Reset (I) 23
11.6 Find Phone (III) 23
11.7 Find Band (I) 23
12. Weather Module 23
12.1 Get weather report (III) 23
12.1.1 ACK Raw Data format 23
13. Calendar Module 24
13.1 Get Calendar events (III) 24
13.1.2 ACK Raw Data Format 24
14. Band Configuration 24
14.1 Base User Info 24
14.2 VIP Info 25
14.3 Contextual Notification 25
14.4 Alarm Info 25
14.5 Current Time Synchronization 25
15. CMD&ACK List 25
15.1 System Module CMD&ACK List 25
15.2 Account Module CMD&ACK List 26
15.3 Notification Module CMD&ACK List 26
15.4 Sensor Module CMD&ACK List 27
15.5 Setting Module CMD&ACK List 28
15.6 Weather Module CMD&ACK List 28
15.7 Calendar Module CMD&ACK List 28
1. Purpose of This Document
The document describes the data format (include packet structure and each raw data format) and transfer strategy in S1 communication layer.
2. General abbreviations & habits
2.1 General abbreviations
APP: S1 IOS APP or S1 Android APP.
Band: S1 hardware and firmware.
S1: Band and APP.
CMD: The packet is written into Bluetooth channel by APP or Band initiatively.
ACK:The packet respond the CMD.
****: The value depends on the specific situation.
TBD: To Be Discussed.
2.2 General habits
Endianness: Little-endian (least byte is stored in the smallest address).
Writing standards:The field in table, low byte in left, high byte in right. For example, in packet structure table, Packet ID field in the leftmost, so it belongs to low byte.
3. How to view this document
If you never see this document before, please see 2 and 4 chapters carefully. If you just want to view the function corresponding CMD&ACK, please see the 15th chapter. If you also want to view the function corresponding the format of Raw Data field, or transmission strategy, or data flow, please see 7~13 chapters.
4. Packet Structure
4.1 Define packet structure
CMD and ACK packet structure as following table:
Field |
CMD/ACK Id |
Raw Data Length |
ACK Type |
Raw Data |
Size (Byte) |
2 |
2 |
1 |
**** |
4.1.1 CMD/ACK Id field details
The function of CMD/ACK Id is to identify each packet’s function. CMD/ACK Id = Module Id + Sub-module Id. Each Id has only one function in communication layer. A CMD’s ACK, the ACK Id is same as corresponding CMD Id. For example:
CMD: [0x0101][****][****][****]
ACK should be: [0x0101] [****][****][****].
4.1.2 Raw Data Length field details
The value stands for the length of Raw Data field, not packet length.
4.1.3 ACK Type field details
0x00: The CMD that no need to respond, use ACKNone in this doc.
0x01: The CMD that need to respond, use ACKRequired this the doc.
0x02: ACK’s ACK Type field, use ACKAcknowledged in this doc.
4.1.4 Raw Data field details
The real data corresponding to each function.
4.2 S1 communication layer model
There are 4 types transmission model in communication layer.
In this document using I, II, III, IV represent the four transmission model.
Fox example:
I. APP send basic
settings CMD to Band, Band don’t need to respond APP.
II. APP send get
battery level CMD to Band, Band respond the battery level to APP.
III. Band send
sensor memory warning CMD to APP.
IV. Band send
fetching weather report CMD to APP, APP respond it.
One CMD correspond
one ACK or without ACK, one CMD correspond multiple ACK is not exist in S1
(TBD).
5. Divide Module
Module |
Module ID |
Sub-module |
System |
0x01 |
**** |
Account |
0x02 |
**** |
Notification |
0x03 |
**** |
Activity |
0x04 |
**** |
Setting |
0x05 |
**** |
Weather |
0x06 |
**** |
Calendar |
0x07 |
**** |
6. General Raw Data Format
6.1 Time Format
Field |
Seconds |
Time Zone |
Size (Byte) |
4 |
1 |
Note:
Time Zone: High four, 0 (west), 1
(East);
Low
four indicates time zone
Seconds: The total seconds between
current time (local time zone) and 1 January 1970 GMT;
7. System Module
7.1 Current Time
Synchronization (I)
Every time APP connects with Band, APP sends
current time to Band.
7.1.1 Raw Data format
See time format in General part.
7.2 Alarm (I)
Once
a user modifies(include add/remove/modify) any alarm, APP should send all alarms
to Band. The maximum of transmission are ten alarms on each CMD. APP need remove
single overdue alarm, and don’t send the alarm to Band.
7.2.1 Each alarm record format
Field |
UID |
Enabled |
Minute |
Hour |
Phase |
Repeat |
Size(Byte) |
2 |
1 |
1 |
1 |
2 |
1 |
Note:
UID:
Unique identifier of the alarm clock;
Enabled:
1 standing for enabled, 0 standing for disabled;
Minute/Hour:
The time of alarm clock, Hour is [0, 23];
Phase:
Wake up phase, unit is second. Fox example, if user set alarm 9:00, and the
phase is (10 * 60), so the alarm will ring in time 8:55----9:05;
Repeat:
Each bit stands for one day, 0 bit is Monday, 6 bit stands for Sunday, 7 bit is
reserved. Fox example, 0100 0000, means the alarm will repeat in every Sunday;
7.2.2 Raw Data format details
Raw Data length value = 8 * alarm record
count.
Raw Data is grouped by many of alarm
records.
7.3 Fetch Band Battery Level (II)
APP send fetch battery level CMD to Band,
Band respond it. The value of Raw Data field in ACK may be 0~100, uint8 type.
7.4 Fetch Band Information (II)
Band Information includes Firmware
version, Hardware version.
7.4.1 ACK Raw Data field format
High four bytes, firmware version. Low four
bytes, hardware version.
Version format like this: 1.02, it is float
type.
7.5 OTA Update (I
and IV)
7.5.1 OTA Update Flow
When a user requests OTA update,APP
downloads the update package from a link. Maximum size of each data
transmission is 512 bytes (Depend on Classic Bluetooth stack capacity). So, APP will cut the package to
multiple small packets, and send them to Band. There are 3 steps to complete
the OTA update, as following:
1. App tells Band to update. (I)
2. Band requests App OTA packet. (IV)
3. Band reports the update result to App.
(III)
7.5.2 Band requests APP OTA packet (IV)
CMD Raw Data: request the index of packet.
ACK Raw Data: APP responds the index packet’s data. If Raw Data Length == 512,
Band should to request continue. If Raw Data Length < 512, it means it is
the last packet, Band should report the update result to APP.
7.5.3 Band reports the result to App (III)
Raw Data: 0, failed. 1, successful.
7.6 Volume Control (III)
The function only can be used in Android,
IOS doesn’t support. Because iOS7 or later version, the API control volume has
been deprecated.
7.6.1 Raw Data details
0x00, mute/unmute volume; 0x81, volume -;
0x01, volume +
7.7 Band Temperature Info (II)
Convenient to test the Band’s temperature
info, Android APP implement the function.
7.7.1
ACK Raw Data details
Data
Block structure as flow:
Sensor1 |
Sensor2 |
Sensor3 |
Sensor4 |
Sensor5 |
2 bytes |
2 byte |
2 byte |
2 byte |
2 byte |
Note:
Raw Data Length: Total block * 10 bytes, because
of Raw Data contains numbers of blocks.
8. Account Module
8.1
Work Flow
There are 5 steps
should do before APP and Band implement real functions.
- Account register.
- Account login.
- Smartphone has connected with Band use Classic
Bluetooth. - Band与APP连接认证.
- 认证成功,Band 和APP进行数据交换.
8.1.1 Account register
User
can register in Android APP, IOS APP, Web terminal. Android APP and IOS APP are
writeable and readable terminal. Web terminal is readable terminal. Below is about
that user should supply info.
The
app will collect following demographic information from the user (* required):
-
First name* (20 characters max)
-
Last name* (20 characters max)
-
Gender* (Male or Female - dropdown menu)
-
Date of Birth* (mm/dd/yyyy)
-
Height* (ft/cm - unit based on locale)
-
Weight* (lbs/kg - unit based on locale)
-
Home Address* (input field format based on locale)
To
create an account, the user will required to provide followings:
-
Email account (xxx@xxxxx.xxx)
-
New password (6-14 characters(any character))
-
Re-enter password (match previous)
8.1.2 Account login
在一个时间点上,只支持在一个可读可写端登陆,支持在多个可读端登陆。例如,如果用户在一个IOS
APP上登陆一个账号,就不再支持在其他Android
APP或者其他IOS
APP上登陆此账号。但是,可以在多个Web端登陆此账号。另一种处理方式是(TBD),当前 为什么要如此处理呢?防止同一个账号在多次登陆,记录同一个账号信息。是否需要这样呢?
8.1.3 Band与APP连接认证
8.1 Get Band Account Information (II)
8.1.1 ACK Raw Data details
Account UID |
Weight |
Height |
Sex |
Age |
4 bytes |
1 byte |
1 byte |
1 byte |
1 byte |
Note:
Account UID : like 7d0b562e03.
8.2 APP Account Information compare with Band (II)
Once
APP connects with Band, sends account information to Band for verification. There
are three cases, as follows:
a. Band
and APP account info are same, do nothing.
b. If
there is no account in Band, Band will save the account directly.
c. If
Band and APP account info are different, APP prompt user which account do you
want.
8.2.1 CMD Raw Data details
Same as upper account format.
8.2.2 ACK Raw Data details
The first byte indicates whether same, 1
(same), 0 (different); 8 bytes after, if account is different, it indicates Band
Account information.
8.3 Change Band Account (I)
Before
change old account, need to recycle activity data, setting data or other data
to backend, If the Internet is available. If the Internet is unavailable,
should warning user will lost the data, or not support change account.
8.3.1 CMD Raw Data details
Same as upper account format.
9. Notification Module
9.1 Notification History Count (Only IOS) (II)
Android
APP can do it itself.
9.1.2 ACK Raw Data Format
Call Count |
SMS Count |
Mail Count |
Calendar Count |
Facebook Count |
Twitter Count |
Alarm Count |
1 Byte |
1 Byte |
1 Byte |
1 Byte |
1 Byte |
1 Byte |
1 Byte |
Note :
Call Count : 0~255 , same as other fields.
9.2 Update Context-Aware Notification (I)
Every
time user update context aware notification, send current each notification’s status(enable or disable)to
Band.
9.2.1 CMD Raw Data Format
Enabled Incoming Call |
Enabled SMS |
Enabled Mail |
Enabled Calendar |
Enabled Facebook |
Enabled Twitter |
1 Byte |
1 Byte |
1 Byte |
1 Byte |
1 Byte |
1 Byte |
Note : Upper table describes every context format.
Enabled Incoming Call : 1 (enabled) , 0 (disabled) , same as others.
9.3 Health Notifications (I)
9.3.1 CMD details
TBD.
9.4 Send VIP Contact List to Band (I)
S1 just supports a phone number or mail
address as VIP. Any VIP contact list modified, APP should send the newest VIP
contact list to Band. S1 support set how many VIP contacts, need to be TBD.
9.4.1 CMD Raw Data details
VIP Account Type |
Content |
Unsigned Char |
String |
Note:
Content: Phone Number or email address.
VIP
Account Type: 0 is phone number, 1 is email address.
9.5
Query Contacts (IV)
When
a new call is coming, Band sends the phone number to app, then app tells Band corresponding name in Address
Book. If phone number doesn’t exist in Address Book, please send the phone
number to Band. The reason why don’t use PBAP (classic Bluetooth profile, use
it access mobile phones Address book) is that PBAP will cost too much
firmware’s resource.
9.5.1 CMD Raw Data details
Raw Data:
Phone number.
9.5.2 ACK Raw Data details
Corresponding
name, if the phone number doesn’t in Address book, return phone number.
9.6 Android basic notifications (I)
These
notifications are different from IOS, Android APP should listen these
notifications. When a new notification is coming, Android APP sends it to Band.
IOS use HFP and ANCS listen these notifications. The reason why is that, some
android smart phone doesn’t support MAP.
Functions |
Raw Data |
Incoming |
Person name |
SMS |
See below. |
Facebook Notification |
Friend’s |
Twitter |
Friend’s |
Mail |
Friend’s |
Calendar/Alarm |
date and |
Automatic |
response |
9.6.1 SMS Notification Raw Data details
Person name or phone number ; if name exist,
send person name, if not, send phone number; SMS Content.
Name/Number |
Name/Number |
SMS content |
9.7 Recycling IOS HFP Notifications
(III)
When
a call is hanged up, Band tells IOS APP.
9.7.1 CMD RAW Data details
Phone |
Call Time |
Call Length |
15Bytes |
7Bytes |
2Bytes(total |
9.8 Recycling IOS ANCS Notifications
(III)
9.8.1 CMD Raw Data details
Once Band receives ANCS, Band should send
the ANCS content to APP. ANCS notification field: notification id, app
identifier, title, subtitle, message, message size, and date. If IOS APP
doesn’t connect with Band, whether need MAP replace ANCS, TBD.
10. Activity Module
This
part defines the format of an activity record and how to recycle activity data.
10.1 Activity
data transmission strategy
APP
has 2 models in fetching activity data, general model and real time model. Defaults
in general model. APP only can in one of the two models.
10.2 General model
In this model, APP needs to send CMD to Band
to request activity data.
10.2.1 APP fetches activity data (II)
10.2.2 Band notify APP to fetch
When Band’s activity data buffer is nearly
full, Band sends notification to app, and tells APP should fetch activity data
as soon as possible. If APP doesn’t fetch, Band will timer to notify APP until
APP fetch activity data. How to fetch, same as above.
10.2.3 An general record format (增量)
typedef
struct
{ int
timestamp;
long
steps;
float distance;
float calorie;
int activity_type;
float activity_level;
int
sleep_count[10];
}
genaral_record;
10.2.4 ACK Raw Data details
A set of
genaral_record in Raw Data. Each activity record interval is 10min
(TBD). Genaral record count < 72 (TBD). Steps, distance, calorie are summary
value. Timestamp is the distance of GTM total seconds, 4 bytes.
10.3 Real time model
In this model, Band will take the initiative
to send activity data to APP.
10.3.1 Start real time model (I)
Once start real time model, APP enters real
time model recycle activity data.
10.3.2 Stop real time model (I)
Once stop real time model, APP enter general
mode.
10.3.3 Band sends activity data in real time model (III)
CMD Raw Data field format same as above. How
long Band will send activity data to APP, TBD.
10.3.4 A Immediate record format
typedef
struct
{ long steps;
float distance;
float calorie;
int activity_type;
} immediate_record;
There is
only one immediate record in raw data. Steps, distance, calories are summary
value.
10.4
Health Goals (I)
If account has health goals, APP should tell
Band. Band prompt the user that have achieved the percent of health goals.
10.4.1
Raw Data details
Health |
Type |
Value |
Step |
0x01 |
3 |
Calories |
0x02 |
3 |
Distance |
0x03 |
3 |
Note:
Step counts:
1s, max steps is 5. So, one day steps < 432000.
Distance
traveled: One step distance < 2m.
11. Setting
Module
11.1 Set the Basic Settings of Band (I)
Set
Band’s vibration strength ,display(Backlight /Backlight Timer /Orientation ), Time Face and so on. One CMD can include one or more
setting type. For example, you can tell Band just to set vibration strength, or
tell Band to set vibration strength and time face in one CMD.
Setting |
Type ID |
Data |
|
Vibration Strength |
0x01 |
0x01: High |
|
Backlight Timer |
0x02 |
0x01: High |
|
Timer Face |
0x03 |
0x01: Digital |
|
Clock |
Auto Sync Time |
0x05 |
0x01: Manually to sync to band 0x00: Automatic time sync on with phone |
Use a 24-hour clock |
0x06 |
0x01: 24-hour clock 0x00: 12-hour clock |
11.2 Get the basic settings of Band (II)
11.2.1 CMD details
Band can support APP to
get one or more setting type in one CMD. For example, if APP want to get
vibration strength and time face, it can write 0x0103 in Raw Data.
11.2.2
ACK Raw
Data format
Same
as above.
For
example:
CMD
Raw Data: 0x0103
ACK
Raw Data: 0x01010301(setting type, setting value, setting type, setting value)
11.3 Set Basic Notifications (I)
Basic notifications
are incoming call notification, SMS notification, Facebook notification, mail
notification, and so on. APP tells Band to enable or disable for each type notification.
11.3.1 CMD Raw Data format
Name |
Incoming Call |
SMS |
|
Calendar |
Alarm |
|
|
Health |
Type id |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Data |
Data : 1, enable; 0, disable; |
11.4 Get basic Notifications Settings (II)
Raw Data format, reference to ‘Get the basic settings of
Band’.
11.5
Factory Reset (I)
11.6 Find Phone (III)
When APP receive the CMD from Band, play a sound;If APP
receive the CMD again, stop the sound.
11.7 Find Band (I)
Same as above.
12. Weather Module
12.1 Get weather report (III)
When APP receives
weather CMD from Band, APP send current day and the next three days weather
report to Band.
12.1.1 ACK Raw Data format
Field |
Currenttemperature |
Min temperature |
Max temperature |
Weather |
Size(Byte) |
1 |
1 |
1 |
1 |
Note:
Weather: 1(Sunny), 2(Clouds), 3(Rain), 4(Clear), 5(Other);
The next three days include fields: Min/Max temperature and Weather. Data
transmission sequence is that today is low byte.
13. Calendar Module
13.1 Get Calendar events (III)
Band sends CMD to
APP, APP responds the CMD, and sends all day’s events in Calendar to Band.
13.1.2 ACK Raw Data Format
Raw Data field: start date, end date, title, location, URL,
notes. Details, TBD.
14. Band Configuration
Every time, APP connects with Band, APP should configuration
the Band’s environment. As following:
14.1 Base User Info
Format same as above ‘APP Account Information compare with
Band’ function.
14.2 VIP Info
Format same as above ‘Send VIP Contact List to Band’
function.
14.3 Contextual Notification
Format same as above ‘Update Context-Aware Notification’ function.
14.4 Alarm Info
Format same as above ‘Alarm’ function.
14.5 Current Time Synchronization
15. CMD&ACK List
15.1 System Module CMD&ACK List
Function |
CMD |
ACK |
Current Time Synchronization |
[0x0101][0x0005][0x00][****] |
|
Alarm |
[0x0102][****] [0x00] [****] |
|
Fetch Band Battery Level |
[0x0103][0x0000][0x01] |
[0x0103][0x0001][0x02][****] |
Fetch Band Information |
[0x0104][0x0000][0x01] |
[0x0104][0x0008][0x02] [****] |
APP tells Band to OTA Update |
[0x0105] [0x0000] [0x00] |
|
Band requests APP OTA packet |
[0x0105] [****] [0x01][****] |
[0x0105] [****] [0x02][****] |
Band reports the update result to APP |
[0x0105] [0x0001] [0x00][****] |
|
Volume Control |
[0x0106] [0x0001] [0x00][****] |
15.2 Account Module CMD&ACK List
Function |
CMD |
ACK |
Get Band Account Information |
[0x0201][0x0000][0x01] |
[0x0201][0x0008][0x02] [****] |
APP Account Information compare with Band |
[0x0202] [0x0008] [0x01][****] |
[0x0202][0x0009][0x02] [****] |
Change Band Account |
[0x0203] [0x0008] [0x00][****] |
|
15.3 Notification Module CMD&ACK List
Function |
CMD |
ACK |
Notification History Count |
[0x0301] [0x0000] [0x01] |
[0x0301] [0x0007] [0x02][****] |
Update Context-Aware Notification |
[0x0302][0x0006][0x00] |
|
Health Notifications |
[0x0303][TBD][0x00][TBD] |
|
Send VIP Contact List to S1 |
[0x0304][****][0X00][****] |
|
Query Contacts |
[0x0305][0x000F][0x01][****] |
[0x0305][0x000F][0x02][****] |
Incoming Call Notification |
[0x0306][0x000F][0x0][****] |
|
SMS Notification |
[0x0307][****][0x00][****] |
|
Facebook Notification |
[0x0308][****][0x00][****] |
|
Twitter Notification |
[0x0309][****][0x00][****] |
|
Mail Notification |
[0x030A][****][0x00][****] |
|
Calendar/Alarm Notification |
[0x030B][****][0x00][****] |
|
Automatic SMS Response |
[0x030C][****][0x00][****] |
|
Recycling IOS HFP Notifications |
[0x030D][0x0018][0x00][****] |
|
Recycling MAP Notifications(TBD) |
[0x030E][****][0x00][****] |
|
Recycling IOS ANCS Notifications |
[0x030F][****][0x00][****] |
15.4 Activity Module CMD&ACK List
Function |
CMD |
ACK |
APP fetch |
[0x0401][0x0000][0x01] |
[0x0401][****][0x02] [****] |
Band notify APP to fetch |
[0x0402][0x0000][0x00] |
|
Start real time mode |
[0x0403][0x0000][0x00] |
|
Stop real time mode |
[0x0404][0x0000][0x00] |
|
Band send activity data in real time mode |
[0x0405][****][0x00][****] |
|
Health Goals |
[0x0406][****][0x00][****] |
15.5 Setting Module CMD&ACK List
Function |
CMD |
ACK |
Set the Basic settings of Band |
[0x0501][****][0x00][****] |
|
Get the |
[0x0502][****][0x01][****] |
[0x0502][****][0x02][****] |
Set Basic Notifications |
[0x0503][****][0x00][****] |
|
Get basic Notifications Settings |
[0x0504][****][0x01][****] |
[0x0504][****][0x02][****] |
Factory reset |
[0x0505][0x0000][0x00] |
|
Find Phone |
[0x0506][0x0000][0x00] |
|
Find Band |
[0x0507][0x0000][0x00] |
15.6 Weather Module CMD&ACK List
Function |
CMD |
ACK |
Get weather report |
[0x0601][0x0000][0x01] |
[0x0601][0x000D][0x02][****] |
15.7 Calendar Module CMD&ACK List
Function |
CMD |
ACK |
Get Calendar events |
[0x0701][0x0000][0x01] |
[0x0701][****][0x02][****] |
智能穿戴设备移动APP端与外设数据传输协议的更多相关文章
- 智能穿戴设备移动APP端与外设数据传输协议功能模块CMD&ACK表
Notification Module Function CMD ACK Notification History Count [0x0301] [0x0000] [0x01] [0x0301] [0 ...
- android wear开发:为可穿戴设备创建一个通知 - Creating a Notification for Wearables
注:本文内容来自:https://developer.android.com/training/wearables/notifications/creating.html 翻译水平有限,如有疏漏,欢迎 ...
- 痞子衡嵌入式:为下一代智能可穿戴设备而生 - i.MXRT500
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的新品i.MXRT500. 自2018年i.MXRTxxx系列首款芯片i.MXRT600(主打智能语 ...
- 西安力邦智能医疗&可穿戴设备沙龙--第1期---苹果HealthKit、谷歌GoogleFit来袭,智能医疗要爆发吗?
背 景: "可穿戴设备"成为2014的行业热点,从Google Glass到苹果iWatch, 越来越多的企业推出了包含眼镜.腕带.鞋等各种可穿戴设备,"可穿戴&q ...
- 互联网科技今年九个兴奋点:O2O深耕细作,可穿戴设备分水岭
http://new.iheima.com/detail/2014/0204/58374.html i黑马观察到,2014年是O2O的深耕细作年,而线上和线下结合这一互联网化趋势,将会向更多产业扩散, ...
- 检测皮肤PH值、感知你的便意,健康是可穿戴设备的新风口?
在经历最初的喧嚣与疯狂后,可穿戴设备近年来有些低调和沉寂.换句话说,虽然可穿戴设备销量在持续走高,但从形态和功能上,呈现出高度一致性.这似乎也在证明着,可穿戴设备已成为寻常可见的普通产品而已.不过在迈 ...
- 实现推送功能APP端需要完成的工作
推送功能简介 实现推送的流程如下: 从APP注册推送功能,到APNS服务器发送推送消息给设备,有五个步骤. 一旦推送注册完成,应用自身的服务器以provider的身份提供推送. APP端实现 在代码方 ...
- Android Wear 开发入门——怎样创建一个手机与可穿戴设备关联的通知(Notification)
创建通知 为了创建在手机与可穿戴设备中都能展现的通知,能够使用 NotificationCompat.Builder.通过该类创建的通知,系统会处理该通知是否展如今手机或者穿戴设备中. 导入必要的类库 ...
- android wear开发之:创建可穿戴设备应用 - Creating Wearable Apps
注:本文内容来自:https://developer.android.com/training/wearables/apps/index.html 翻译水平有限,如有疏漏,欢迎批评指教. 译:山人 创 ...
随机推荐
- 七、Dockerfile案例三(Mysql安装)
七.Dockerfile案例三(Mysql安装) *特别提醒:新版的mysql:5.7数据库下的user表中已经没有Password字段了(5.5的user表还有) 一.查看docker hub上的版 ...
- 基于apache —HttpClient的小爬虫获取网页内容
今天(17-03-31)忙了一下午研究webmagic,发现自己还太年轻,对于这样难度的框架(类库) 还是难以接受,还是从基础开始吧,因为相对基础的东西教程相多一些,于是乎我找了apache其下的 H ...
- 整理前端css/js/jq常见问题及解决方法(1)
1. 兼容ie8圆角的解决方法:下载ie-css3.htc文件在css中加入behavior:url(ie-css3.htc);z-index:3; position:relative 即可 2. 去 ...
- VCL控件组件大都应该重载TWinControl的虚函数WndProc来进行处理窗口消息的工作
TWinControl的构造函数中会调用MakeObjectInstance并且传递MainWndProc作为窗口消息处理函数,而MainWndProc则会调用虚函数WndProc来处理窗口消息.留个 ...
- PAT 1067. 试密码(20)
当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过20的.不包含空格.Ta ...
- SQL模糊查找
编辑器加载中... /*********************实现模糊查找**************************/ SELECT [UserId] ,[UserName] ,[User ...
- HTMLbutton控件中文字显示一直不居中
在写HTML时,发现HTML中button控件中文字显示一直不居中, 最后发现是在标签前出现了一个全角空格引起的. 在Emeditor中将不显示的字符(空格,全角空格,换行,制表符)设置为显示,就可以 ...
- NodeJS 加入windows7服务 开机运行 nssm
from:http://blog.sina.com.cn/s/blog_5ef5f2630101aql8.html 首先需要到http://nssm.cc/download/?page=downloa ...
- iOS Swift 熊猫🐼跑酷 第一个小项目
前言:想用swift 写个小游戏 慢慢转化 能写出 ARKit来.但是又不能一口吃个胖子,慢慢来,在网络视频教程中撸了视频教学,断断续续看了半个多月,基本实现了 游戏主角
- 安装mysql到ubuntu
Ubuntu 16.04上安装MySQL步骤: 如果你使用的是Ubuntu 16.04以前的版本,可以看这里:Ubuntu 14.04/15.10升级到Ubuntu 16.04 LTS.一. 安装My ...