From 2ca94e0f7e1b5a1c197fb2063ae2973539cefe1d Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期一, 20 七月 2020 13:52:07 +0800 Subject: [PATCH] 2020-07-20 1.备份 --- Android_HDL_SDK_TTL_DOC/src/api_control_air.md | 371 +++++++++ Android_HDL_SDK_TTL_DOC/src/update_log.md | 20 .gitignore | 23 Android_HDL_SDK_TTL_DOC/src/api_control_light.md | 132 +++ Android_HDL_SDK_TTL_DOC/src/Integrated.md | 92 ++ Android_HDL_SDK_TTL_DOC/src/api_build_device_about.md | 174 ++++ Android_HDL_SDK_TTL_DOC/src/api_control_security.md | 141 +++ Android_HDL_SDK_TTL_DOC/src/api_control_switch.md | 116 ++ Android_HDL_SDK_TTL_DOC/src/api_control_scenes.md | 125 +++ Android_HDL_SDK_TTL_DOC/src/api_control_curtain.md | 205 +++++ Android_HDL_SDK_TTL_DOC/README.md | 18 Android_HDL_SDK_TTL_DOC/src/api_build_device.md | 38 Android_HDL_SDK_TTL_DOC/SUMMARY.md | 19 Android_HDL_SDK_TTL_DOC/src/api_mcu_about.md | 57 + Android_HDL_SDK_TTL_DOC/src/api_control_music.md | 213 +++++ Android_HDL_SDK_TTL_DOC/src/api_control.md | 82 ++ Android_HDL_SDK_TTL_DOC/src/api_mcu.md | 408 ++++++++++ Android_HDL_SDK_TTL_DOC/src/api_search.md | 157 +++ 18 files changed, 2,391 insertions(+), 0 deletions(-) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..327fe5f --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ + +# Created by https://www.gitignore.io/api/gitbook +# Edit at https://www.gitignore.io/?templates=gitbook + +### GitBook ### +# Node rules: +## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +## Dependency directory +## Commenting this out is preferred by some people, see +## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git +node_modules + +# Book build output +_book + +# eBook build output +*.epub +*.mobi +*.pdf + +# End of https://www.gitignore.io/api/gitbook \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/README.md b/Android_HDL_SDK_TTL_DOC/README.md new file mode 100755 index 0000000..d97bb1d --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/README.md @@ -0,0 +1,18 @@ + +#HDL TTL Android SDK 鎺ュ叆鎸囧崡 + +##鍔熻兘姒傝堪 +HDL TTL SDK鎻愪緵浜嗕互鎼滅储bus璁惧鍜屾帶鍒惰澶囩殑鎺ュ彛灏佽锛屽姞閫熷簲鐢ㄥ紑鍙戣繃绋嬶紝涓昏鍖呮嫭浜嗕互涓嬪姛鑳斤細 + +- 鎼滅储璁惧 +- 鎺у埗璁惧 +- 鐩墠鏀寔璁惧 + - 鐏厜绫绘ā鍧� + - 绐楀笜绫绘ā鍧� + - 绌鸿皟绫绘ā鍧� + - 閫昏緫鍔熻兘绫绘ā鍧� + - 鑳屾櫙闊充箰鍔熻兘绫绘ā鍧�(涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱紝闇�瑕佹墜鍔ㄦ坊鍔�) + - 瀹夐槻鍔熻兘绫绘ā鍧�(涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱紝闇�瑕佹墜鍔ㄦ坊鍔�) + - 閫氱敤寮�鍏崇被妯″潡(涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱紝闇�瑕佹墜鍔ㄦ坊鍔�) + +- 鎵嬪姩娣诲姞锛屾ā鎷熺敓鎴愯澶囧垪琛紙鍦ㄤ笉鏀寔绠�鏄撶紪绋嬫悳绱㈡儏鍐典笅浣跨敤锛屼緥濡傦細RCU閰掑簵妯″潡锛� \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/SUMMARY.md b/Android_HDL_SDK_TTL_DOC/SUMMARY.md new file mode 100755 index 0000000..e6a6cc4 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/SUMMARY.md @@ -0,0 +1,19 @@ +# Summary + +* [鍓嶈█](README.md) +* [闆嗘垚SDK](./src/Integrated.md) +* [鎼滅储璁惧](./src/api_search.md) +* [鎺у埗璁惧](./src/api_control.md) + * [鐏厜绫绘ā鍧梋(./src/api_control_light.md) + * [绐楀笜绫绘ā鍧梋(./src/api_control_curtain.md) + * [绌鸿皟绫绘ā鍧梋(./src/api_control_air.md) + * [鑳屾櫙闊充箰鍔熻兘绫绘ā鍧梋(./src/api_control_music.md) + * [瀹夐槻绫绘ā鍧梋(./src/api_control_security.md) + * [鍦烘櫙鎺у埗锛堥�昏緫妯″潡锛塢(./src/api_control_scenes.md) + * [閫氱敤寮�鍏虫ā鍧梋(./src/api_control_switch.md) +* [MCU鍔熻兘鎺ュ彛](./src/api_mcu_about.md) + * [MCU閫氫俊](./src/api_mcu.md) +* [闈炴悳绱㈣澶囪В鍐虫柟妗圿(./src/api_build_device.md) + * [鐢熸垚鐩爣璁惧鏁版嵁](./src/api_build_device_about.md) +* [鏇存柊鏃ュ織](./src/update_log.md) + diff --git a/Android_HDL_SDK_TTL_DOC/src/Integrated.md b/Android_HDL_SDK_TTL_DOC/src/Integrated.md new file mode 100755 index 0000000..552b044 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/Integrated.md @@ -0,0 +1,92 @@ +# 闆嗘垚SDK +### 涓�銆佸垱寤哄伐绋� + +鍦ˋndroid Studio涓缓绔嬩綘鐨勫伐绋嬨�� + +### 浜屻�乥uild.gradle 閰嶇疆 + +灏哠DK鍖呬腑鐨刟ar鏂囦欢( 濡侶DL_TTLSDK_V1.0.1_r.arr )瀵煎叆鍒扮幇鏈夌殑宸ョ▼涓紝鏀惧叆鍒發ibs鐩綍涓嬨�� + + +build.gradle 鏂囦欢閲屾坊鍔犻泦鎴愬噯澶囦腑涓嬭浇鐨刣ependencies 渚濊禆搴撱�� + +```groovy + + dependencies { + implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs') + implementation 'org.greenrobot:eventbus:3.0.0' + } +``` + +### 涓夈�丄pplication涓垵濮嬪寲SDK銆� + +**浠g爜鑼冧緥** + +```java +public class HDLApplication extends Application { + @Override + public void onCreate() { + super.onCreate(); + //HDL_PATH_NAME (涓插彛璺緞) + //HDL_BAUDRATE (娉㈢壒鐜�)锛屾尝鐗圭巼榛樿115200 + HDLTtlSdk.init(this, HDL_PATH_NAME, HDL_BAUDRATE); + } +} +``` + +### 鍥涖�佹棩蹇楁墦鍗板紑鍏� + +SKD鎵撳嵃鏃ュ織榛樿鏄墦寮�锛岀敤鎴峰彲浠ラ厤缃负false锛屽嵆鍙叧闂璖DK鎵撳嵃鏃ュ織銆� + +**浠g爜鑼冧緥** + +```java +public class HDLApplication extends Application { + @Override + public void onCreate() { + super.onCreate(); + HDLTtlSdk.init(this, HDL_PATH_NAME, HDL_BAUDRATE); + HDLTtlSdk.setHDLLogOpen(false);//鍏抽棴SDK鏃ュ織鎵撳嵃 + } +} +``` + +### 浜斻�丒ventBus 浣跨敤 + +SKD鐨勫ぇ閮ㄥ垎鍥炶皟浜嬩欢锛岄�氳繃EventBus鍙戝竷鍥炶皟浜嬩欢锛屾墍浠ュ紑鍙戣�呴」鐩腑闇�瑕侀泦鎴怑ventBus锛屽苟鍦ㄩ渶瑕佺殑Activity涓墽琛屾敞鍐岃闃呬簨浠讹紙register锛夊拰鍙栨秷浜嬩欢璁㈤槄锛坲nregister锛夈�� + +**浠g爜鑼冧緥** + +```java +@Override +protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + initEventBusRegister();//娉ㄥ唽璁㈤槄浜嬩欢 + +} +/** + * 娉ㄥ唽浜嬩欢鍒嗗彂鍒濆鍖� + */ +private void initEventBusRegister() { + if (isRegisterEventBus()) { + if (!EventBus.getDefault().isRegistered(this)) { + EventBus.getDefault().register(this); + } + } +} + +@Override +protected void onDestroy() { + super.onDestroy(); + unEventBusRegister();//鍙栨秷浜嬩欢璁㈤槄 +} + +/** +* 娉ㄥ唽浜嬩欢鍒嗗彂鍙嶅鍖� + */ +private void unEventBusRegister() { + if (isRegisterEventBus()) { + EventBus.getDefault().unregister(this); + } +} +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/api_build_device.md b/Android_HDL_SDK_TTL_DOC/src/api_build_device.md new file mode 100755 index 0000000..0e8db68 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_build_device.md @@ -0,0 +1,38 @@ +# 闈炴悳绱㈣澶囪В鍐虫柟妗� +## 鐢熸垚璁惧鍒楄〃 鎵嬪姩娣诲姞璁惧 + +鎵嬪姩娣诲姞锛屾ā鎷熺敓鎴愯澶囧垪琛紙鍦ㄤ笉鏀寔绠�鏄撶紪绋嬫悳绱㈡儏鍐典笅浣跨敤锛屼緥濡傦細RCU閰掑簵妯″潡锛� + + +### 璇存槑 + +```java + /** SDK鐩墠鏀寔鐨勫ぇ绫伙細灏忕被 + * Configuration.LIGTH_BIG_TYPE + * Configuration.CURTAIN_BIG_TYPE + * Configuration.AIR_BIG_TYPE + * Configuration.AUDIO_BIG_TYPE + * Configuration.LOGIC_BIG_TYPE + * Configuration.GLOBAL_LOGIC_BIG_TYPE + * Configuration.SECURITY_BIG_TYPE + * Configuration.COMMON_SWITCH_BIG_TYPE + * + * 鐏厜绫�1锛�0 锛�1锛�9锛�10 锛堝悗闈负灏忕被ID鍙凤級 + * 绐楀笜绫�2锛�0锛�1锛�2 + * 浼犳劅鍣�5锛�0~24 + * 绌鸿皟绫�7锛�0锛�3 + * 鑳屾櫙闊充箰鍔熻兘9锛�0 + * 閫昏緫鍔熻兘12锛�0 + * 鍏ㄥ眬鍦烘櫙17锛�0 + * 瀹夐槻10锛�0 + * 閫氱敤寮�鍏�100锛�0 + * + * 璇ユ柟娉曞簲鐢ㄤ簬鎻愪緵椤圭洰浜や粯鍓嶇殑鎻愬彇鎵归噺鏁版嵁鐢熸垚濂芥暟鎹�� + * 妯℃嫙鐢熸垚璁惧鍥炶矾鏁版嵁锛屽湪椤圭洰涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱㈡儏鍐典笅锛屽彲浠ラ�氳繃璇ユ柟娉曪紝鍏堝揩鎹风敓鎴愮洰鏍囨暟鎹� 寰楀埌 List<DevicesData> 鏍煎紡鐨勮澶囧垪琛ㄦ暟鎹� + * + * 涓婂眰鍋氭湰鍦颁繚瀛樻垨鑰呬簯绔浠斤紝App鍚姩鏃惰鍙栨仮澶� + * 姣忔鍚姩鏃跺厛鍔犺浇鐢熸垚濂界殑璁惧鍒楄〃鏁版嵁锛岀劧鍚庡湪 SDK 鍒濆鍖栧悗锛岃祴鍊肩粰 HDLDeviceManager.devicesDataList + */ + +``` + diff --git a/Android_HDL_SDK_TTL_DOC/src/api_build_device_about.md b/Android_HDL_SDK_TTL_DOC/src/api_build_device_about.md new file mode 100755 index 0000000..243b5a4 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_build_device_about.md @@ -0,0 +1,174 @@ +# 鐢熸垚璁惧鍒楄〃 + + +### 娣诲姞铏氭嫙鍥炶矾鏁版嵁 + + + ### SDK鐩墠鏀寔鐨勫ぇ绫伙細灏忕被 + * Configuration.LIGTH_BIG_TYPE + * Configuration.CURTAIN_BIG_TYPE + * Configuration.AIR_BIG_TYPE + * Configuration.AUDIO_BIG_TYPE + * Configuration.LOGIC_BIG_TYPE + * Configuration.GLOBAL_LOGIC_BIG_TYPE + * Configuration.SECURITY_BIG_TYPE + * Configuration.COMMON_SWITCH_BIG_TYPE + * + * 鐏厜绫�1锛�0 锛�1锛�9锛�10 + * 绐楀笜绫�2锛�0锛�1锛�2 + * 浼犳劅鍣�5锛�0~24 + * 绌鸿皟绫�7锛�0锛�3 + * 鑳屾櫙闊充箰鍔熻兘9锛�0 + * 閫昏緫鍔熻兘12锛�0 + * 鍏ㄥ眬鍦烘櫙17锛�0 + * 瀹夐槻10锛�0 + * 閫氱敤寮�鍏�100锛�0 + * + * 璇ユ柟娉曞簲鐢ㄤ簬鎻愪緵椤圭洰浜や粯鍓嶇殑鎻愬彇鎵归噺鏁版嵁鐢熸垚濂芥暟鎹�� + * 妯℃嫙鐢熸垚璁惧鍥炶矾鏁版嵁锛屽湪椤圭洰涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱㈡儏鍐典笅锛屽彲浠ラ�氳繃璇ユ柟娉曪紝鍏堝揩鎹风敓鎴愮洰鏍囨暟鎹� 寰楀埌 List<DevicesData> 鏍煎紡鐨勮澶囧垪琛ㄦ暟鎹� + * + * 涓婂眰鍋氭湰鍦颁繚瀛樻垨鑰呬簯绔浠斤紝App鍚姩鏃惰鍙栨仮澶� + * 姣忔鍚姩鏃跺厛鍔犺浇鐢熸垚濂界殑璁惧鍒楄〃鏁版嵁锛岀劧鍚庡湪 SDK 鍒濆鍖栧悗锛岃祴鍊肩粰 HDLDeviceManager.devicesDataList + + +### 涓�銆佹坊鍔犱笉鍚岀被鍨嬭澶囧洖璺� +**浠g爜鑼冧緥** + +```java + /** + * 娣诲姞璁惧鍥炶矾 + * 濡傛灉瀛樺湪鐩稿悓瀛愮綉鍙� 璁惧鍙凤紝鍒欏綋鎴愭贩鍚堟ā鍧楁坊鍔犲埌璇ュ洖璺笅锛屼笉瀛樺湪鍒欐柊娣诲姞妯″潡 + * @param bigType 鍥炶矾澶х被 + * @param littleType 鍥炶矾灏忕被 + * @param mSubnetID 鍥炶矾瀛愮綉ID + * @param mDeviceID 鍥炶矾璁惧ID + * @param mChannelNum 鍥炶矾鍙� + * @param mChannelRemark 鍥炶矾澶囨敞 渚嬪锛氱獥甯樸�佸悐鐏�佸帟鎵�鐏�佺數瑙� + * @param parentRemarks 褰撳墠鍥炶矾妯″潡鐨勫娉� 渚嬪: 閰掑簵RCU妯″潡 + * @param bSaveAndCallBack 鏄惁椹笂淇濆瓨鏈湴骞朵笖鎺ㄩ�丏evicesInfoEvent 浜嬩欢 + * @return + */ + //濡傛灉瀛樺湪鐩稿悓瀛愮綉鍙� 璁惧鍙凤紝鍒欏綋鎴愭贩鍚堟ā鍧楁坊鍔犲埌璇ュ洖璺笅锛屼笉瀛樺湪鍒欐柊娣诲姞妯″潡 + DevicesData mDevicesData = DeviceParser.addDevicesListWithoutSearching(bigType, littleType, mSubnetID, mDeviceID, mChannelNum, remarksString, parentRemarks,true); + if (mDevicesData != null) { + showToast("娣诲姞鎴愬姛"); + } else { + showToast("娣诲姞澶辫触"); + } + + +``` + +娣诲姞鎴愬姛鍚庡悓鏍蜂細鏀跺埌DevicesInfoEvent璁㈤槄浜嬩欢锛屽彲浠ラ�氳繃event.getDesDataList() 鏉ヨ幏鍙栫敓鎴愬ソ鐨勬暟鎹�傛垨鑰呯洿鎺ラ�氳繃HDLDeviceManager.devicesDataList鑾峰彇 + +**浠g爜鑼冧緥** + +```java + /** + * ====================EventBus 璁㈤槄浜嬩欢 ==================== + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onDevicesInfoEventMain(DevicesInfoEvent event) { + mAllDevicesList.clear(); + mProgressDialog.dismiss(); + if (!event.isSuccess()) { + Toast.makeText(MainActivity.this, "鎼滅储瓒呮椂锛岃閲嶆柊鍐嶈瘯", Toast.LENGTH_SHORT).show(); + tvResult.setText("鎼滅储瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + return; + } + mDevicesDataList = event.getDesDataList(); + updateDeviceListView(); + } + +``` + +鎵归噺娣诲姞锛屼粎鍋氭紨绀虹敤 + +**浠g爜鑼冧緥** + +```java + + //娣诲姞涓�涓伅 + DeviceParser.addDevicesListWithoutSearching(Configuration.LIGTH_BIG_TYPE, 0, mSubnetID, mDeviceID, 6, "澶滅伅", parentRemarks,false); + //娣诲姞涓�涓伅 + DeviceParser.addDevicesListWithoutSearching(Configuration.LIGTH_BIG_TYPE, 0, mSubnetID, mDeviceID, 7, "搴婂ご鐏�", parentRemarks,false); + //娣诲姞涓�涓伅 + DeviceParser.addDevicesListWithoutSearching(Configuration.LIGTH_BIG_TYPE, 0, mSubnetID, mDeviceID, 8, "瀹㈡埧鎻掑骇", parentRemarks,false); + //娣诲姞涓�涓伅 + DeviceParser.addDevicesListWithoutSearching(Configuration.LIGTH_BIG_TYPE, 0, mSubnetID, mDeviceID, 12, "琛f煖鐏�", parentRemarks,false); + + //娣诲姞涓�涓獥甯� + DeviceParser.addDevicesListWithoutSearching(Configuration.CURTAIN_BIG_TYPE, 2, mSubnetID, mDeviceID, 1, "绐楀笜", parentRemarks,false); + //娣诲姞涓�涓┖璋� + DeviceParser.addDevicesListWithoutSearching(Configuration.AIR_BIG_TYPE, 0, mSubnetID, mDeviceID, 1, "鎴块棿绌鸿皟", parentRemarks,false); + + + //娣诲姞涓�涓満鏅� 杩欓噷鍦烘櫙鍙峰拰鍖哄彿 榛樿涓�鏍� + DeviceParser.addScenesDevicesListWithoutSearching(mSubnetID, mDeviceID, 1, 1, "绌虹疆鏃犲崱", parentRemarks,false); + //娣诲姞涓�涓満鏅� + DeviceParser.addScenesDevicesListWithoutSearching(mSubnetID, mDeviceID, 3, 3, "鏄庝寒鍦烘櫙", parentRemarks,false); + //娣诲姞涓�涓満鏅� + DeviceParser.addScenesDevicesListWithoutSearching(mSubnetID, mDeviceID, 4, 4, "鎴跨伅", parentRemarks,false); + //娣诲姞涓�涓満鏅� 鏈�鍚庝竴涓猙SaveAndCallBack 璁剧疆涓簍rue + DeviceParser.addScenesDevicesListWithoutSearching(mSubnetID, mDeviceID, 5, 5, "鎬诲紑鍏�", parentRemarks,true); + + +``` + + +### 浜屻�佹坊鍔犲満鏅� +**浠g爜鑼冧緥** + +```java + + /** + * 娣诲姞鍦烘櫙璁惧鍥炶矾 闇�鎸囧畾 鍦烘櫙鍖哄彿 鍜� 鍦烘櫙鍙� + * 濡傛灉瀛樺湪鐩稿悓瀛愮綉鍙� 璁惧鍙凤紝鍒欏綋鎴愭贩鍚堟ā鍧楁坊鍔犲埌璇ュ洖璺笅锛屼笉瀛樺湪鍒欐柊娣诲姞妯″潡 + * + * @param mSubnetID + * @param mDeviceID + * @param mAreaNum //鍦烘櫙 鍖哄煙鍙� + * @param mAreaSceneNum //鍦烘櫙 褰撳墠鍖哄煙鍦烘櫙鍙� + * @param mChannelRemark 璇诲彇鍦烘櫙鐨勫娉ㄥ悕绉� 渚嬪: 鍏ヤ綇銆佽捣搴婃ā寮忋�侀槄璇绘ā寮� + * @param parentRemarks 褰撳墠鍥炶矾妯″潡鐨勫娉� 渚嬪: 閰掑簵RCU妯″潡 + * @param bSaveAndCallBack 鏄惁椹笂淇濆瓨鏈湴骞朵笖鎺ㄩ�丏evicesInfoEvent 浜嬩欢 + * @return + */ + private void AddScenesDevices(int mSubnetID, int mDeviceID, int mAreaNum, int mAreaSceneNum, String mChannelRemark, String parentRemarks, boolean bSaveAndCallBack) { + //娣诲姞鍦烘櫙 + DevicesData mScenesData = DeviceParser.addScenesDevicesListWithoutSearching(mSubnetID, mDeviceID, mAreaNum, mAreaSceneNum, mChannelRemark, parentRemarks,true); + } + + +``` + +娣诲姞鎴愬姛鍚庡悓鏍蜂細鏀跺埌DevicesInfoEvent璁㈤槄浜嬩欢 + +### 涓夈�佸垵濮嬪寲璁惧鍒楄〃 + + * 璇ユ柟娉曞簲鐢ㄤ簬鎻愪緵椤圭洰浜や粯鍓嶇殑鎻愬彇鎵归噺鏁版嵁鐢熸垚濂芥暟鎹�� + * 妯℃嫙鐢熸垚璁惧鍥炶矾鏁版嵁锛屽湪椤圭洰涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱㈡儏鍐典笅锛屽厛蹇嵎鐢熸垚鐩爣鏁版嵁 寰楀埌 List<DevicesData> 鏍煎紡鐨勮澶囧垪琛ㄦ暟鎹� + +**浠g爜鑼冧緥** + +```java + /** + * 鍒濆鍖� HDLSDK + */ + private void initHDLSDK() { + /**SDK鍒濆鍖� 閰嶇疆涓插彛 璺緞鍜屾尝鐗圭巼鍙傛暟*/ + //HDL_PATH_NAME (涓插彛璺緞) + //HDL_BAUDRATE (娉㈢壒鐜�)锛屾尝鐗圭巼榛樿115200 + HDLTtlSdk.init(this, HDL_PATH_NAME, HDL_BAUDRATE); + //HDLTtlSdk.setHDLLogOpen(false);//閰嶇疆鏄惁寮�鍚疭DK鎵撳嵃鏃ュ織锛岄粯璁や负鎵撳紑 + + + /*****涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱㈢殑椤圭洰锛屼笂灞備繚瀛樿鍙栧姞杞� 璧嬪�肩粰SDK*************************/ + List<DevicesData> mDevicesDataList = new ArrayList<>(); + ....... + //mDevicesDataList 涓婂眰鍋氭湰鍦颁繚瀛樻垨鑰呬簯绔浠斤紝App鍚姩鏃惰鍙栨仮澶� 鍔犺浇璇ヨ澶囧垪琛� + ....... + HDLDeviceManager.devicesDataList = mDevicesDataList; + /*******************涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱㈢殑椤圭洰***********************************/ + } +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/api_control.md b/Android_HDL_SDK_TTL_DOC/src/api_control.md new file mode 100755 index 0000000..7a65694 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_control.md @@ -0,0 +1,82 @@ +# 鎺у埗璁惧 + +### 涓�銆佹帶鍒惰澶� + +SDK鎵�鏈夌殑璁惧鍜孧cu鎺у埗鏂规硶鍦℉DLCommand绫讳腑锛� + +寮�鍙戣�呭彲浠ラ�氳繃璋冪敤閲岄潰鐨勬柟娉曪紝骞朵紶鍏ュ搴旀帶鍒惰澶囩殑AppliancesInfo鍙傛暟锛屽垯鍙互鎴愬姛鍙戦�佹帶鍒舵寚浠ゃ�� + +**浠g爜鑼冧緥** + +```java + //鍙戦�佹帶鍒剁伅鍏夋ā鍧楁寚浠� + //appliancesInfo锛氫负闇�瑕佹帶鍒剁殑鐨勬ā鍧梚nfo鍙傛暟锛岄噷闈繚瀛樹簡褰撳墠鍥炶矾妯″潡鐨勬墍鏈夊弬鏁颁俊鎭� + //lightState锛氭帶鍒舵敼鍙樼殑浜害鍊� 0~100 + HDLCommand.lightCtrl(appliancesInfo, lightState); +``` + +### 浜屻�佽澶囩被鍨嬭鏄� + +閫氳繃鑾峰彇璁惧appliancesInfo閲岄潰鐨刡igType鍙傛暟锛屽彲浠ュ垽鏂綋鍓嶈澶囩殑绫诲瀷锛岃烦杞姞杞藉搴旂殑鎺у埗椤甸潰锛屽苟鍙戦�佸搴旂殑鎺у埗鍛戒护銆� + +姣忎釜bigType澶х被鍖哄垎鍝釜澶х被妯″潡鍚庯紝鍙互鍐嶆牴鎹瓺eviceType璁惧绫诲瀷鏉ョ粏鍒嗗叿浣撴槸鍝璁惧锛屼緥濡備笅闈唬鐮佽寖渚婬VAC绌鸿皟妯″潡銆� + +**浠g爜鑼冧緥** + +```java +switch (bigType) { + case Configuration.LIGTH_BIG_TYPE: + //鐏厜妯″潡 + break; + case Configuration.CURTAIN_BIG_TYPE: + //绐楀笜妯″潡 + break; + case Configuration.AIR_BIG_TYPE: + //绌鸿皟妯″潡 + if(appliancesInfos.get(position).getDeviceType() == HDLApConfig.TYPE_AC_HVAC){ + //HDLApConfig.TYPE_AC_HVAC涓篐VAC绌鸿皟妯″潡 + }else { + //鍏朵粬绌鸿皟妯″潡 + } + break; + case Configuration.LOGIC_BIG_TYPE: + //閫昏緫妯″潡 + break; + case Configuration.AUDIO_BIG_TYPE: + //闊充箰妯″潡 + break; + case Configuration.SECURITY_BIG_TYPE: + //瀹夐槻妯″潡 + break; + + default: + break; +} +``` + + +### 涓夈�丄ppliancesInfo绫昏鏄� + +**绫绘弿杩�** + +AppliancesInfo绫绘槸SDK鎼滅储鎴栬�呮墜鏈烘坊鍔犺澶囧悗锛岀敤鏉ヤ繚瀛樺綋鍓嶅洖璺ā鍧楃殑鎵�鏈変俊鎭�� + + +**绫诲弬鏁拌鏄庝唬鐮佽寖渚�** + +```java + ....... + private String deviceName;//璁惧鍚嶇О + private int bigType;//澶х被 + private int littleType;//灏忕被 + private int channelNum;//鍥炶矾鍙� + private int deviceSubnetID;//璁惧瀛愮綉鍙� + private int deviceDeviceID;//璁惧鍙� + private String remarks;//澶囨敞 + private String parentRemarks;//妯″潡澶囨敞 + private int deviceType;//璁惧绫诲瀷 + ....... +``` + +姣忎釜妯″潡閮戒細鏈夎嚜宸辩殑 澶х被銆佸皬绫汇�佸瓙缃戝彿銆佽澶囧彿銆佸洖璺彿銆佽澶囩被鍨嬨�佸娉ㄧ瓑鍙傛暟锛屾牴鎹繖浜涘弬鏁板彲浠ヨ瘑鍒嚭璇ヨ澶囨槸鍝被璁惧锛屽湪鍝釜瀛愮綉鍙枫�佽澶囧彿銆佷互鍙婂洖璺彿涓嬮潰锛岀敤浜庡尯鍒嗕笉鍚屽洖璺澶囥�傚悗闈㈠璁惧鎺у埗鑾峰彇鐘舵�侊紝鐩戝惉鍥炲閮介渶瑕佺敤鍒伴噷闈㈢殑杩欎簺鍙傛暟銆� + diff --git a/Android_HDL_SDK_TTL_DOC/src/api_control_air.md b/Android_HDL_SDK_TTL_DOC/src/api_control_air.md new file mode 100755 index 0000000..e68a348 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_control_air.md @@ -0,0 +1,371 @@ +# 绌鸿皟绫绘ā鍧� + +**绌鸿皟绫绘ā鍧楁敮鎸佹悳绱㈠拰鎺у埗鐨勭被鍨�** + +HVAC 妯″潡锛�0锛� +閫氱敤绌鸿皟闈㈡澘锛�3锛� + +### 涓�銆丠VAC妯″潡鏌ヨ鐘舵�� + +**鎺ュ彛鎻忚堪** + +HDLCommand.getHVACDeviceStateFromNetwork(AppliancesInfo info) + +璋冪敤璇ユ帴鍙o紝鑾峰彇HVAC绌鸿皟璁惧鐘舵�併�� + +娉細HVAC绌鸿皟DeviceType璁惧绫诲瀷涓篐DLApConfig.TYPE_AC_HVAC銆� + +**浠g爜鑼冧緥** + +```java + //鏌ヨHVAC绌鸿皟妯″潡鐘舵�佷俊鎭� + HDLCommand.getHVACDeviceStateFromNetwork(appliancesInfo); +``` + +**鏌ヨ鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鏌ヨ鐘舵�佽秴鏃舵垨鎴愬姛锛岄兘浼氭敹鍒癉eviceStateEvent璁㈤槄浜嬩欢锛孲DK鎵�鏈夌姸鎬佸洖璋冮兘缁熶竴鐢ㄨ繖涓簨浠讹紝濡傛灉event.isSuccess()鍊间负false锛屽垯浠h〃鏌ヨ瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +寮�鍙戣�呭彲浠ュ湪鎵�闇�瑕佽幏鍙栫姸鎬佸洖璋冪殑鍦版柟锛岃闃呰浜嬩欢锛� +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夈�丄ppliancesInfo閲岄潰鐨勮澶囩被鍨嬶紙getDeviceType锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨煡璇㈢姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + + + +**浠g爜鑼冧緥** +```java + /** + * 鑾峰彇鍗曚竴璁惧鐘舵�佸洖璋僂vent + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onDeviceStateEventMain(DeviceStateEvent event) { + if (event.getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + ) { + //杩欎釜杩斿洖鐨勪俊鎭槸褰撳墠鐘舵�佺殑 + switch (event.getAppliancesInfo().getDeviceType()) { + case HDLApConfig.TYPE_AC_HVAC: + if (appliancesInfo.getChannelNum() == event.getAppliancesInfo().getChannelNum()) { + if (!event.isSuccess()) { + showToast("鑾峰彇绌鸿皟鐘舵�佸け璐ワ紝璇烽噸鏂板啀璇�"); + return; + } + AirHVACBackInfo mAirHVACBackInfo = new AirHVACBackInfo(event.getAppliancesInfo()); + if (mAirHVACBackInfo == null) { + showToast("鑾峰彇绌鸿皟鐘舵�佸け璐ワ紝璇烽噸鏂板啀璇�"); + return; + } + showAirHVACBackInfo(mAirHVACBackInfo); + } + break; + default: + //涓嶅鐞� + break; + } + } + } + +``` + + +### 浜屻�丠VAC妯″潡鎺у埗鏀瑰彉鐘舵�� + +**鎺ュ彛鎻忚堪** + +HDLCommand.airCtrl(AppliancesInfo info, int type, int state) + +type锛氶渶瑕佹帶鍒跺姛鑳藉懡浠ゅ弬鏁� + +state锛氶渶瑕佹帶鍒跺姛鑳藉搴旂殑鐘舵�佸�� + +璋冪敤璇ユ帴鍙o紝鍙互鎺у埗鏀瑰彉HVAC绌鸿皟妯″潡鐨勶紝寮�銆佸厜銆佹ā寮忋�侀閫熴�佹俯搴︾瓑鐘舵�併�� + +妯″紡锛氬埗鍐枫�佸埗鐑�侀�氶銆佽嚜鍔ㄣ�佹娊婀�5绉嶆ā寮忋�� + +椋庨�燂細鑷姩銆侀珮椋庛�佷腑椋庛�佷綆椋� + +娓╁害锛氭俯搴﹁寖鍥�16~30 + +**浠g爜鑼冧緥** + +```java + ....... + //鍙戦�佹帶鍒剁┖璋冩ā鍧楁墦寮�鎸囦护 + HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOn);//绌鸿皟寮� + ....... + + ....... + //鍙戦�佹帶鍒剁┖璋冩ā鍧楁敼鍙樻ā寮忔寚浠� + HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeAuto);//绌鸿皟妯″紡鑷姩 + ....... + + ....... + //鍙戦�佹帶鍒剁┖璋冩ā鍧楁敼鍙橀閫熸寚浠� + HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedHigh);//椋庨�熼珮椋� + ....... + + ....... + //鍙戦�佹帶鍒剁┖璋冩ā鍧楁敼鍙樻俯搴︽寚浠� + HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.refTem, tempInt);//鍒跺喎娓╁害 + ....... + +``` + +**鎺у埗鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鎺у埗鐘舵�佽秴鏃舵垨鎴愬姛锛岄兘浼氭敹鍒癆irHVACFeedBackEvent璁㈤槄浜嬩欢锛屽鏋渆vent.isSuccess()鍊间负false锛屽垯浠h〃鎺у埗瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨帶鍒剁姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + +**浠g爜鑼冧緥** +```java + /** + * 绌鸿皟妯″潡鎺у埗鍥炶皟Event + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onAirHVACFeedBackEventMain(AirHVACFeedBackEvent event) { + if (event.getAirHVACBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getAirHVACBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getAirHVACBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() + ) { + // 鍏堝垽鏂槸鍚﹁秴鏃� + if (!event.isSuccess()) { + showToast("绌鸿皟鎺у埗瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + return; + } + AirHVACBackInfo mAirHVACBackInfo = event.getAirHVACBackInfo(); + showAirHVACBackInfo(mAirHVACBackInfo); + } + } + + ....... + private void showAirHVACBackInfo(AirHVACBackInfo mAirHVACBackInfo){ + String message = ""; + if(mAirHVACBackInfo.getIsOn() == AirCtrlParser.airOn) { + message = getSwichStateString(mAirHVACBackInfo.getIsOn()); + message += "\n" + getModeStateString(mAirHVACBackInfo.getAirMode());//妯″紡 + message += "\n" + getSpeedStateString(mAirHVACBackInfo.getAirSpeed());//椋庨�� + message += "\n鍒跺喎妯″紡娓╁害锛�" + mAirHVACBackInfo.getRefTemp(); + message += "\n鍒剁儹妯″紡娓╁害锛�" + mAirHVACBackInfo.getHeatTemp(); + message += "\n鑷姩妯″紡娓╁害锛�" + mAirHVACBackInfo.getAutoTemp(); + message += "\n鎶芥箍妯″紡娓╁害锛�" + mAirHVACBackInfo.getWettedTemp(); + }else { + message = getSwichStateString(mAirHVACBackInfo.getIsOn()); + } + airText.setText(message); + showToast(message); + HDLLog.Log(message); + + } + +``` + + + +### 涓夈�侀�氱敤绌鸿皟闈㈡澘鏌ヨ鐘舵�� + +**鎺ュ彛鎻忚堪** + +閫氱敤绌鸿皟闈㈡澘涓嶆敮鎸佹煡璇㈢姸鎬侊紝 + +娉細閫氱敤绌鸿皟闈㈡澘绌鸿皟DeviceType璁惧绫诲瀷涓篐DLApConfig.TYPE_AC_PANEL銆� + + +**鐘舵�佹敼鍙樺洖璋冧簨浠剁洃鍚�** + +绌鸿皟闈㈡澘鐘舵�佹敼鍙樹細鏀跺埌DeviceStateEvent璁㈤槄浜嬩欢锛孲DK鎵�鏈夌姸鎬佸洖璋冮兘缁熶竴鐢ㄨ繖涓簨浠讹紝濡傛灉event.isSuccess()鍊间负false锛屽垯浠h〃鏌ヨ瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +寮�鍙戣�呭彲浠ュ湪鎵�闇�瑕佽幏鍙栫姸鎬佹敼鍙樼殑鍦版柟锛岃闃呰浜嬩欢锛� +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夈�丄ppliancesInfo閲岄潰鐨勮澶囩被鍨嬶紙getDeviceType锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨煡璇㈢姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + + +**浠g爜鑼冧緥** + +```java + + /** + * 鑾峰彇鍗曚竴璁惧鐘舵�佸洖璋僂vent + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onDeviceStateEventMain(DeviceStateEvent event) { + if (event.getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + ) { + //杩欎釜杩斿洖鐨勪俊鎭槸褰撳墠鐘舵�佺殑 + switch (event.getAppliancesInfo().getDeviceType()) { +// case HDLApConfig.TYPE_AC_HVAC: + case HDLApConfig.TYPE_AC_PANEL: + if (appliancesInfo.getChannelNum() == event.getAppliancesInfo().getChannelNum()) { + if (!event.isSuccess()) { + showToast("鑾峰彇绌鸿皟鐘舵�佸け璐ワ紝璇烽噸鏂板啀璇�"); + return; + } + + byte[] curState = event.getAppliancesInfo().getArrCurState(); + switch (curState[0] & 0xFF) { + case AirCtrlParser.airSwich: + //鏄┖璋冨紑鍏崇姸鎬佽繑鍥� + break; + + case AirCtrlParser.airSpeed: + //鏄閫熺姸鎬佽繑鍥� + break; + case AirCtrlParser.airMode: + //鏄┖璋冩ā寮忕姸鎬佽繑鍥� + break; + case AirCtrlParser.refTem: + //鏄┖璋冨埗鍐锋俯搴︾姸鎬佽繑鍥� + break; + case AirCtrlParser.heatTem: + //鏄┖璋冨埗鐑俯搴︾姸鎬佽繑鍥� + break; + case AirCtrlParser.autoTem: + //鏄┖璋冭嚜鍔ㄦ俯搴︾姸鎬佽繑鍥� + break; + case AirCtrlParser.dehumTem: + //鏄┖璋冩娊婀挎俯搴︾姸鎬佽繑鍥� + break; + case AirCtrlParser.upTem: + airTempState = curState[1] & 0xFF; + airText.setText("绌鸿皟璋冩俯锛屼笂鍗囨俯搴︼細" + (curState[1] & 0xFF)); + showToast("绌鸿皟璋冩俯锛屼笂鍗囨俯搴︼細" + (curState[1] & 0xFF)); + HDLLog.Log("绌鸿皟璋冩俯锛屼笂鍗囨俯搴︼細" + (curState[1] & 0xFF)); + break; + case AirCtrlParser.downTem: + airTempState = curState[1] & 0xFF; + airText.setText("绌鸿皟璋冩俯锛屼笅闄嶆俯搴︼細" + (curState[1] & 0xFF)); + showToast("绌鸿皟璋冩俯锛屼笅闄嶆俯搴︼細" + (curState[1] & 0xFF)); + HDLLog.Log("绌鸿皟璋冩俯锛屼笅闄嶆俯搴︼細" + (curState[1] & 0xFF)); + break; + } + } + break; + default: + //涓嶅鐞� + break; + } + } + } + + + +``` + +### 鍥涖�侀�氱敤绌鸿皟闈㈡澘鎺у埗鏀瑰彉鐘舵�� + +**鎺ュ彛鎻忚堪** + +HDLCommand.airCtrl(AppliancesInfo info, int type, int state) + +type锛氶渶瑕佹帶鍒跺姛鑳藉懡浠ゅ弬鏁� + +state锛氶渶瑕佹帶鍒跺姛鑳藉搴旂殑鐘舵�佸�� + +璋冪敤璇ユ帴鍙o紝鍙互鎺у埗鏀瑰彉閫氱敤绌鸿皟闈㈡澘妯″潡鐨勶紝寮�銆佸厜銆佹ā寮忋�侀閫熴�佹俯搴︾瓑鐘舵�併�� + +妯″紡锛氬埗鍐枫�佸埗鐑�侀�氶銆佽嚜鍔ㄣ�佹娊婀�5绉嶆ā寮忋�� + +椋庨�燂細鑷姩銆侀珮椋庛�佷腑椋庛�佷綆椋� + +娓╁害锛氭俯搴﹁寖鍥�16~30 + +娉細閫氱敤绌鸿皟闈㈡澘鍜孒VAC绌鸿皟妯″潡涓嶄竴鏍凤紝閫氱敤绌鸿皟闈㈡澘鎺у埗浠�涔堢姸鎬佸氨杩斿洖浠�涔堢姸鎬併�� + +渚嬪锛氭帶鍒跺紑鍏崇姸鎬侊紝绌鸿皟闈㈡澘鍙細鍥炲褰撳墠寮�鍏崇姸鎬侊紝妯″紡銆侀閫熴�佹俯搴︾瓑鍏朵粬鐘舵�佷笉浼氳繑鍥烇紝鎵�浠ョ洃鍚洖璋冩柟娉曟椂闇�鍏堝垽鏂紝褰撳墠鍥炲鐨勬槸浠�涔堢姸鎬佸弬鏁帮紝鍐嶈繘琛屼笅涓�姝ュ鐞嗐�� + +**浠g爜鑼冧緥** + +```java + ....... + //鍙戦�佹帶鍒剁┖璋冩ā鍧楁墦寮�鎸囦护 + HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSwich, AirCtrlParser.airOn);//绌鸿皟寮� + ....... + + ....... + //鍙戦�佹帶鍒剁┖璋冩ā鍧楁敼鍙樻ā寮忔寚浠� + HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airMode, AirCtrlParser.airModeAuto);//绌鸿皟妯″紡鑷姩 + ....... + + ....... + //鍙戦�佹帶鍒剁┖璋冩ā鍧楁敼鍙橀閫熸寚浠� + HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.airSpeed, AirCtrlParser.airSpeedHigh);//椋庨�熼珮椋� + ....... + + ....... + //鍙戦�佹帶鍒剁┖璋冩ā鍧楁敼鍙樻俯搴︽寚浠� + HDLCommand.airCtrl(appliancesInfo, AirCtrlParser.refTem, tempInt);//鍒跺喎娓╁害 + ....... + +``` + +**鎺у埗鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鎺у埗鐘舵�佽秴鏃舵垨鎴愬姛锛岄兘浼氭敹鍒癆irFeedBackEvent璁㈤槄浜嬩欢锛屽鏋渆vent.isSuccess()鍊间负false锛屽垯浠h〃鎺у埗瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨帶鍒剁姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + + +**浠g爜鑼冧緥** +```java + /** + * 绌鸿皟妯″潡鎺у埗鍥炶皟Event + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onAirFeedBackInfoEventMain(AirFeedBackEvent event) { + if (event.getAirCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getAirCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getAirCtrlBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() + ) { + // 鍏堝垽鏂槸鍚﹁秴鏃� + if (!event.isSuccess()) { + showToast("绌鸿皟鎺у埗瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + return; + } + + byte[] curState = event.getAirCtrlBackInfo().getCurState(); + switch (curState[0] & 0xFF) { + case AirCtrlParser.airSwich: + //鏄┖璋冨紑鍏崇姸鎬佽繑鍥� + break; + case AirCtrlParser.airSpeed: + //鏄閫熺姸鎬佽繑鍥� + break; + case AirCtrlParser.airMode: + //鏄┖璋冩ā寮忕姸鎬佽繑鍥� + break; + case AirCtrlParser.refTem: + //鏄┖璋冨埗鍐锋俯搴︾姸鎬佽繑鍥� + break; + case AirCtrlParser.heatTem: + //鏄┖璋冨埗鐑俯搴﹁繑鍥� + break; + case AirCtrlParser.autoTem: + //鏄┖璋冭嚜鍔ㄦ俯搴﹁繑鍥� + break; + case AirCtrlParser.dehumTem: + //鏄┖璋冩娊婀跨儹娓╁害杩斿洖 + break; + case AirCtrlParser.upTem: + airTempState = curState[1] & 0xFF; + airText.setText("绌鸿皟璋冩俯锛屼笂鍗囨俯搴︼細" + (curState[1] & 0xFF)); + showToast("绌鸿皟璋冩俯锛屼笂鍗囨俯搴︼細" + (curState[1] & 0xFF)); + HDLLog.Log("绌鸿皟璋冩俯锛屼笂鍗囨俯搴︼細" + (curState[1] & 0xFF)); + break; + case AirCtrlParser.downTem: + airTempState = curState[1] & 0xFF; + airText.setText("绌鸿皟璋冩俯锛屼笅闄嶆俯搴︼細" + (curState[1] & 0xFF)); + showToast("绌鸿皟璋冩俯锛屼笅闄嶆俯搴︼細" + (curState[1] & 0xFF)); + HDLLog.Log("绌鸿皟璋冩俯锛屼笅闄嶆俯搴︼細" + (curState[1] & 0xFF)); + break; + + } + } + } +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/api_control_curtain.md b/Android_HDL_SDK_TTL_DOC/src/api_control_curtain.md new file mode 100755 index 0000000..552944c --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_control_curtain.md @@ -0,0 +1,205 @@ +# 绐楀笜绫绘ā鍧� + +**绐楀笜绫绘ā鍧楁敮鎸佹悳绱㈠拰鎺у埗鐨勭被鍨�** + +寮�鍚堝笜鐢垫満锛�00锛� +鍗峰笜鐢垫満锛�01锛� +绐楀笜妯″潡锛�02锛� + +### 涓�銆佹煡璇㈢姸鎬� + +**鎺ュ彛鎻忚堪** + +HDLCommand.getCurtainDeviceStateFromNetwork(AppliancesInfo info) + +璋冪敤璇ユ帴鍙o紝鍙互鏌ヨ褰撳墠绐楀笜绫昏澶囩殑寮�鍏崇姸鎬佷俊鎭�� + +**浠g爜鑼冧緥** + +```java + //璇锋眰鑾峰彇褰撳墠绐楀笜妯″潡鐘舵�佷俊鎭� + HDLCommand.getCurtainDeviceStateFromNetwork(appliancesInfo); +``` + +**鏌ヨ鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鏌ヨ鐘舵�佽秴鏃舵垨鎴愬姛锛岄兘浼氭敹鍒癉eviceStateEvent璁㈤槄浜嬩欢锛孲DK鎵�鏈夌姸鎬佸洖璋冮兘缁熶竴鐢ㄨ繖涓簨浠讹紝濡傛灉event.isSuccess()鍊间负false锛屽垯浠h〃鏌ヨ瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +寮�鍙戣�呭彲浠ュ湪鎵�闇�瑕佽幏鍙栫姸鎬佸洖璋冪殑鍦版柟锛岃闃呰浜嬩欢锛� +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夈�丄ppliancesInfo閲岄潰鐨勮澶囩被鍨嬶紙getDeviceType锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨煡璇㈢姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + + +**浠g爜鑼冧緥** +```java + /** + * 鑾峰彇鍗曚竴璁惧鐘舵�佸洖璋僂vent + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onDeviceStateEventMain(DeviceStateEvent event) { + if (event.getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + ) { + //杩欎釜杩斿洖鐨勪俊鎭槸褰撳墠鐘舵�佺殑 + switch (event.getAppliancesInfo().getDeviceType()) { + case HDLApConfig.TYPE_CURTAIN_GLYSTRO: + case HDLApConfig.TYPE_CURTAIN_ROLLER: + case HDLApConfig.TYPE_CURTAIN_MODULE: + if (appliancesInfo.getChannelNum() == event.getAppliancesInfo().getChannelNum()) { + if (!event.isSuccess()) { + showToast("鑾峰彇绐楀笜鐘舵�佸け璐ワ紝璇烽噸鏂板啀璇�"); + return; + } + showMessage = ""; + //绐楀笜妯″潡锛歝urState:0=鍋滄,1=鎵撳紑,2=鍏抽棴銆� + //寮�鍚堝笜鐢垫満锛屽嵎甯樼數鏈猴細curState:1-100寮�鍚堝害銆� + int curState = HDLUtlis.getIntegerByObject(event.getAppliancesInfo().getCurState()); + if (event.getAppliancesInfo().getDeviceType() == HDLApConfig.TYPE_CURTAIN_MODULE) {//鍒ゆ柇鏄惁涓虹獥甯樻ā鍧�,鍚﹀垯涓哄紑鍚堝笜鎴栧嵎甯樼數鏈� + switch (curState) { + case CurtainCtrlParser.curtainOff: + showMessage = "绐楀笜鍏�"; + curtainBtn.setText(showMessage); + curText1.setText(showMessage); + curtainState = curState; + break; + case CurtainCtrlParser.curtainOn: + showMessage = "绐楀笜寮�"; + curtainBtn.setText(showMessage); + curText1.setText(showMessage); + curtainState = curState; + break; + case CurtainCtrlParser.curtainPause: + showMessage = "绐楀笜鏆傚仠"; + curtainBtn.setText(showMessage); + curText1.setText(showMessage); + curtainState = curState; + break; + } + } else { + showMessage = "绐楀笜寮�鍒�" + curState + "%"; + curtainBtn5.setText(showMessage); + curtainState = curState; + } + + showToast("鑾峰彇鎴愬姛锛�" + showMessage); + } + break; + default: + //涓嶅鐞� + break; + } + } + } + +``` + +**澶囨敞** + +HDLApConfig.TYPE_CURTAIN_MODULE 涓虹獥甯樻ā鍧楋紝璇ョ被鍨嬫ā鍧楋紝鍙湁寮�銆佸叧銆佸仠姝� 3绉嶇姸鎬侊紱 + +HDLApConfig.TYPE_CURTAIN_GLYSTRO 涓哄紑鍚堝笜鐢垫満锛岃绫诲瀷妯″潡锛岃繑鍥炵姸鎬�0-100%锛岃〃绀烘墦寮�鐧惧垎姣旓紱 + +HDLApConfig.TYPE_CURTAIN_ROLLER 涓哄嵎甯樼數鏈猴紝璇ョ被鍨嬫ā鍧楋紝杩斿洖鐘舵��0-100%锛岃〃绀烘墦寮�鐧惧垎姣旓紱 + + + +### 浜屻�佹帶鍒舵敼鍙樼姸鎬� + +**鎺ュ彛鎻忚堪** + +HDLCommand.curtainCtrl(AppliancesInfo info, int state) + +璋冪敤璇ユ帴鍙o紝鍙互鎺у埗鏀瑰彉绐楀笜绫绘ā鍧楃殑锛屾墦寮�銆佸叧闂�佸仠姝㈠拰鎵撳紑鐧惧垎姣旓紙绐楀笜妯″潡涓嶈兘鎺у埗鐧惧垎鐧撅紝寮�鍚堝笜鐢垫満銆佸嵎甯樼數鏈烘墠鑳斤級銆� + +**浠g爜鑼冧緥** + +```java + ........ + //鍙戦�佹帶鍒剁獥甯樻墦寮�鍛戒护 + HDLCommand.curtainCtrl(appliancesInfo, CurtainCtrlParser.curtainOn); + ........ + + ........ + //鍙戦�佹帶鍒跺紑鍚堝笜鐢垫満鎵撳紑鍒�50% + HDLCommand.curtainCtrl(appliancesInfo, 50); + ........ + +``` + +**鎺у埗鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鎺у埗鐘舵�佽秴鏃舵垨鎴愬姛锛岄兘浼氭敹鍒癈urtainFeedBackEvent璁㈤槄浜嬩欢锛岀獥甯樼被鎺у埗鍥炶皟閮界粺涓�鐢ㄨ繖涓簨浠讹紝濡傛灉event.isSuccess()鍊间负false锛屽垯浠h〃鎺у埗瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨帶鍒剁姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + +**浠g爜鑼冧緥** +```java + + /** + * 绐楀笜妯″潡鎺у埗鍥炶皟Event + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onCurtainFeedBackInfoEventMain(CurtainFeedBackEvent event) { +// 鍏堝垽鏂槸鍚﹁秴鏃� + HDLLog.Log("onCurtainFeedBackInfoEventMain in"); + if (event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getCurtainCtrlBackInfo().getNum() == appliancesInfo.getChannelNum() + ) { + + if (!event.isSuccess()) { + showToast("绐楀笜鎺у埗瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + return; + } + + int curState = event.getCurtainCtrlBackInfo().getState(); + //绐楀笜妯″潡锛歝urState:0=鍋滄,1=鎵撳紑,2=鍏抽棴銆� + //寮�鍚堝笜鐢垫満锛屽嵎甯樼數鏈猴細curState:1-100寮�鍚堝害銆備篃浼氳繑鍥�0锛�1锛�2鐨勭姸鎬� + //寤鸿寮�鍚堝笜鐢垫満锛屽嵎甯樼數鏈烘寜鍋滄鍚庡啀璇诲彇褰撳墠鐘舵�佹潵鑾峰彇褰撳墠鐘舵�佸�� + + String remarks = event.getCurtainCtrlBackInfo().getRemarks(); + String parentRemarks = event.getCurtainCtrlBackInfo().getParentRemarks(); + int num = event.getCurtainCtrlBackInfo().getNum(); +// showToast(parentRemarks+" 鐨� "+remarks+" 鍥炶矾鍙凤細"+num+" 杩斿洖"+" 鐘舵�佷负锛�"+curState); + HDLLog.Log(parentRemarks + " 鐨� " + remarks + " 鍥炶矾鍙凤細" + num + " 杩斿洖" + " 鐘舵�佷负锛�" + curState); + if (event.getCurtainCtrlBackInfo().getAppliancesInfo().getDeviceType() == HDLApConfig.TYPE_CURTAIN_MODULE) { + showMessage = ""; + //鍒ゆ柇鏄惁涓虹獥甯樻ā鍧� + switch (curState) { + case CurtainCtrlParser.curtainOff: + showMessage = "绐楀笜鍏�"; + curtainBtn.setText(showMessage); + curText1.setText(showMessage); + curtainState = curState; + HDLLog.Log("绐楀笜鎺у埗 锛氱獥甯樺叧" + " 鍥炶矾鍙凤細" + num); + break; + case CurtainCtrlParser.curtainOn: + showMessage = "绐楀笜寮�"; + curtainBtn.setText(showMessage); + curText1.setText(showMessage); + curtainState = curState; + HDLLog.Log("绐楀笜鎺у埗 锛氱獥甯樺紑" + " 鍥炶矾鍙凤細" + num); + break; + case CurtainCtrlParser.curtainPause: + showMessage = "绐楀笜鏆傚仠"; + curtainBtn.setText(showMessage); + curText1.setText(showMessage); + curtainState = curState; + HDLLog.Log("绐楀笜鎺у埗 锛氱獥甯樻殏鍋�" + " 鍥炶矾鍙凤細" + num); + break; + } + showToast(showMessage); + } else { + //寮�鍚堝笜鎴栧嵎甯� 鏄剧ず鐧惧垎姣� + curtainBtn5.setText("绐楀笜寮�鍒�" + curState + "%"); + curText2.setText("绐楀笜寮�鍒�" + curState + "%"); + curtainState = curState; + } + + } + + } +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/api_control_light.md b/Android_HDL_SDK_TTL_DOC/src/api_control_light.md new file mode 100755 index 0000000..9b864b6 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_control_light.md @@ -0,0 +1,132 @@ +# 鐏厜绫绘ā鍧� + +**鐏厜绫绘ā鍧楁敮鎸佹悳绱㈠拰鎺у埗鐨勭被鍨�** + +璋冨厜鍥炶矾锛�00锛� +寮�鍏冲洖璺紙01锛� +娣峰悎璋冨厜绫伙紙09锛� +娣峰悎寮�鍏崇被锛�10锛� + +### 涓�銆佹煡璇㈢姸鎬� + +**鎺ュ彛鎻忚堪** + +HDLCommand.getLightDeviceStateFromNetwork(AppliancesInfo info) + +璋冪敤璇ユ帴鍙o紝鍙互鏌ヨ褰撳墠鐏厜璁惧鐨勪寒搴︾姸鎬佷俊鎭�� + +**浠g爜鑼冧緥** + +```java + //璇锋眰鑾峰彇褰撳墠鐏厜妯″潡鐘舵�佷俊鎭� + HDLCommand.getLightDeviceStateFromNetwork(appliancesInfo); +``` + +**鏌ヨ鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鏌ヨ鐘舵�佽秴鏃舵垨鎴愬姛锛岄兘浼氭敹鍒癉eviceStateEvent璁㈤槄浜嬩欢锛孲DK鎵�鏈夌姸鎬佸洖璋冮兘缁熶竴鐢ㄨ繖涓簨浠讹紝濡傛灉event.isSuccess()鍊间负false锛屽垯浠h〃鏌ヨ瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +寮�鍙戣�呭彲浠ュ湪鎵�闇�瑕佽幏鍙栫姸鎬佸洖璋冪殑鍦版柟锛岃闃呰浜嬩欢锛� +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夈�丄ppliancesInfo閲岄潰鐨勮澶囩被鍨嬶紙getDeviceType锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨煡璇㈢姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + + + +**浠g爜鑼冧緥** +```java + /** + * 鑾峰彇鍗曚竴璁惧鐘舵�佸洖璋僂vent + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onDeviceStateEventMain(DeviceStateEvent event) { + if (event.getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + ) { + //杩欎釜杩斿洖鐨勪俊鎭槸褰撳墠鐘舵�佺殑 + switch (event.getAppliancesInfo().getDeviceType()) { + case HDLApConfig.TYPE_LIGHT_DIMMER: + case HDLApConfig.TYPE_LIGHT_RELAY: + case HDLApConfig.TYPE_LIGHT_MIX_DIMMER: + case HDLApConfig.TYPE_LIGHT_MIX_RELAY: + if (appliancesInfo.getChannelNum() == event.getAppliancesInfo().getChannelNum()) { + if (!event.isSuccess()) { + showToast("鑾峰彇鐏厜鐘舵�佸け璐ワ紝璇烽噸鏂板啀璇�"); + return; + } + int brightness = HDLUtlis.getIntegerByObject(event.getAppliancesInfo().getCurState()); + lightBtn.setText("浜害 = " + brightness); + lightText.setText("褰撳墠浜害 = " + brightness); + showToast("鑾峰彇鐘舵�佽繑鍥烇細浜害 = " + brightness); + } + break; + default: + //涓嶅鐞� + break; + } + } + } +``` + + +### 浜屻�佹帶鍒舵敼鍙樼姸鎬� + +**鎺ュ彛鎻忚堪** + +HDLCommand.lightCtrl(AppliancesInfo info, int state) + +state锛氳寖鍥�0~100 + +璋冪敤璇ユ帴鍙o紝鍙互鎺у埗鏀瑰彉鐏厜妯″潡鐨勶紝寮�鍏崇姸鎬佸拰浜害鍊笺�� + +**浠g爜鑼冧緥** + +```java + //鍙戦�佹帶鍒剁伅鍏夋ā鍧楁寚浠� + //appliancesInfo锛氫负闇�瑕佹帶鍒剁殑鐨勬ā鍧梚nfo鍙傛暟锛岄噷闈繚瀛樹簡褰撳墠鍥炶矾妯″潡鐨勬墍鏈夊弬鏁颁俊鎭� + //lightState锛氭帶鍒舵敼鍙樼殑浜害鍊� 0~100 + HDLCommand.lightCtrl(appliancesInfo, lightState); + +``` + +**鎺у埗鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鎺у埗鐘舵�佽秴鏃舵垨鎴愬姛锛岄兘浼氭敹鍒癓ightFeedBackEvent璁㈤槄浜嬩欢锛岀伅鍏夋帶鍒跺洖璋冮兘缁熶竴鐢ㄨ繖涓簨浠讹紝濡傛灉event.isSuccess()鍊间负false锛屽垯浠h〃鎺у埗瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨帶鍒剁姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + +**浠g爜鑼冧緥** +```java + + /** + * 鐏厜鎺у埗鍥炶皟Event + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onLightFeedBackInfoEventMain(LightFeedBackEvent event) { + + if (event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getLightCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getLightCtrlBackInfo().getChannelNum() == appliancesInfo.getChannelNum() + ) { + // 鍏堝垽鏂槸鍚﹁秴鏃� + if (!event.isSuccess()) { + showToast("鐏厜鎺у埗瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + lightBtn.setText("鐏厜鎺у埗瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + return; + } + int brightness = event.getLightCtrlBackInfo().getBrightness(); + lightState = brightness == 100 ? 0 : 100;//濡傛灉杩斿洖100閲嶇疆鐘舵�佷负0锛屽弽涔嬮噸缃姸鎬�100 + lightBtn.setText("褰撳墠浜害 = " + brightness); + lightText.setText("褰撳墠浜害 = " + brightness); + /*浠ヤ笅涓虹伅鍏夋帹閫佺ず渚嬩唬鐮侊紝鍙互璇嗗埆鍝釜缁х數鍣紝鍝釜璋冨厜鐏紝鍝釜鍥炶矾锛屼篃鍙敤浣滄帶鍒跺洖棣堛�� + 鎸夐渶姹傝皟鐢�*/ + String remarks = event.getLightCtrlBackInfo().getRemarks();//鑾峰彇杩斿洖鐨勭伅鍏夊娉ㄣ�傚鏋滄瘡涓伅鍏夊洖璺娉ㄩ兘鍞竴锛屽彲浠ョ洿鎺ラ�氳繃澶囨敞鍒ゆ柇 + String parentRemarks = event.getLightCtrlBackInfo().getParentRemarks();//鑾峰彇缁х數鍣ㄦ垨璋冨厜鐏娉ㄣ�傝繖閲屽彲浠ョ煡閬撴槸鍝釜璁惧杩斿洖鐨� + int num = event.getLightCtrlBackInfo().getChannelNum();//鑾峰彇鍥炶矾鍙枫�傝繖閲屽彲浠ヨ幏鍙栧埌杩欎釜缁х數鍣ㄦ垨璋冨厜鐏殑鍥炶矾鍙� + showToast("妯″潡锛�" + parentRemarks + " 鐨� " + remarks + " 鍥炶矾锛屽洖璺彿涓猴細" + num + " 杩斿洖" + " 浜害涓猴細" + brightness); + HDLLog.Log("褰撳墠浜害 = " + brightness); + } + } +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/api_control_music.md b/Android_HDL_SDK_TTL_DOC/src/api_control_music.md new file mode 100755 index 0000000..b2531a9 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_control_music.md @@ -0,0 +1,213 @@ +# 闊充箰绫绘ā鍧� + +**闊充箰绫绘ā鍧楁敮鎸佹悳绱㈠拰鎺у埗鐨勭被鍨�** + +鑳屾櫙闊充箰妯″潡锛�0锛� + + +### 涓�銆佽儗鏅煶涔愭帶鍒� + +**鎺ュ彛鎻忚堪** + +HDLCommand.audioCtrl(AppliancesInfo info, int type) + +info锛氶渶瑕佹帶鍒惰澶囩殑鍙傛暟 + +type锛氶渶瑕佹帶鍒跺姛鑳藉懡浠ゅ弬鏁� + +璋冪敤璇ユ帴鍙o紝鍙互鎺у埗鑳屾櫙闊充箰妯″潡锛岃幏鍙栧綋鍓嶆瓕鏇蹭俊鎭�佹挱鏀�/鏆傚仠銆佹挱鏀�/鍋滄銆佷笂涓�棣栥�佷笅涓�棣栥�佸垏鎹㈡挱鏀炬ā寮忋�佽幏鍙栦笅涓�鍒楄〃銆佽幏鍙栦笂涓�鍒楄〃銆� + +**浠g爜鑼冧緥** + +```java + ....... + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.GET_AUDIO_CURRRENT_INFO);//鑾峰彇褰撳墠闊充箰淇℃伅銆傝繑鍥炲綋鍓嶆瓕鏇层�佹墍鏈変俊鎭�� + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.GET_AUDIO_MODE);//鑾峰彇褰撳墠闊充箰鎾斁妯″紡銆備粎杩斿洖鍗曟洸鎾斁绛夋挱鏀炬ā寮忋�� + ....... + ....... + //鎾斁鎴栨殏鍋� + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.SET_AUDIO_PLAYPAUSE); + ....... + ....... + //鎾斁鎴栧仠姝� + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.SET_AUDIO_PLAYSTOP); + ....... + ....... + //涓婁竴棣� + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.SET_PRE_SONG); + ....... + ....... + //涓嬩竴棣� + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.SET_NEXT_SONG); + ....... + ....... + //鍒囨崲鎾斁妯″紡 + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.SET_AUDIO_MODE_UP);//鎾斁妯″紡+ + //HDLCommand.HDLaudioCtrl(CtrlAudioActivity.this,appliancesInfo,HDLAudio.SET_AUDIO_MODE_DOWN);//鎾斁妯″紡- + ....... + ....... + //鑾峰彇涓嬩竴鍒楄〃锛屽綋鍓嶉煶涔愪細鍋滄鎾斁 + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.SET_NEXT_LIST); + ....... + ....... + //鑾峰彇涓婁竴鍒楄〃锛屽綋鍓嶉煶涔愪細鍋滄鎾斁 + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.SET_PRE_LIST); + ....... + +``` + + + +**鎺ュ彛鎻忚堪** + +HDLCommand.audioCtrl(AppliancesInfo info, int type, int value) + +璋冪敤璇ユ帴鍙o紝鍙互鎺у埗鑳屾櫙闊充箰妯″潡锛岃幏鍙栧綋鍓嶆挱鏀惧垪琛ㄣ�佹帶鍒惰澶囬煶閲忋�� + +**浠g爜鑼冧緥** + +```java + + ....... + //鑾峰彇褰撳墠鎾斁鍒楄〃锛屾鏂规硶濡傛灉鍦ㄦ瓕鏇叉挱鏀剧姸鎬佹椂璋冪敤鍒欎細瀵艰嚧姝屾洸鍋滄鎾斁锛岀‖浠惰璁″姝� + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.GET_AUDIO_LIST, curListNum); + ....... + ....... + //璁剧疆鎾斁闊抽噺 + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.SET_AUDIO_VOL, 0);//闊抽噺鏈�灏忥細0銆傚皬浜�0锛孲DK涓嶅鐞� + ....... +``` + +**鎺ュ彛鎻忚堪** + +HDLCommand.audioCtrl(AppliancesInfo info, int type, int listId, int songId) + +listId锛氬綋鍓嶅垪琛ㄥ彿 + +songId锛氳鎾斁鐨勫垪琛ㄤ腑姝屾洸瀵瑰簲鐨勬瓕鏇睮D + +璋冪敤璇ユ帴鍙o紝鍙互鎺у埗鑳屾櫙闊充箰妯″潡锛岄�夋嫨鎸囧畾鎾斁鐨勬瓕鏇层�� + +**浠g爜鑼冧緥** + +```java + ....... + //璁剧疆鎾斁闊抽噺 + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.SET_CHOOSE_PLAY_SONG, curListNum, position); + ....... +``` + + + + +**鏌ヨ鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鑳屾櫙闊充箰妯″潡鏌ヨ銆佹帶鍒惰秴鏃舵垨鎴愬姛锛岄兘浼氭敹鍒癆udioInfoEvent璁㈤槄浜嬩欢锛� + +寮�鍙戣�呭彲浠ュ湪鎵�闇�瑕佽幏鍙栫姸鎬佸洖璋冪殑鍦版柟锛岃闃呰浜嬩欢锛� +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨煡璇㈢姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + +鏍规嵁杩斿洖鐨別vent.getType()绫诲瀷锛屽垽鏂槸浠�涔堢被鍨嬬姸鎬佽繑鍥炪�� + +渚嬶細getType()绛変簬HDLAudio.CALLBACK_CURRENT_VOLUME 鐨勮瘽锛屼负杩斿洖闊抽噺绫诲瀷鍙傛暟鍙傛暟 + +杈撳嚭鎵撳嵃锛欻DLLog.Log("褰撳墠闊抽噺鍊硷細" + event.getAudioInfoInt()); + + +**浠g爜鑼冧緥** +```java + /** + * 闊充箰妯″潡鐘舵�佸洖璋僂vent + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onAudioEventMain(AudioInfoEvent event) { + //鍒ゆ柇鏄惁涓烘湰闊充箰妯″潡鐨勫瓙缃戝彿锛岃澶囧彿 + if (event.getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + ) { + HDLLog.Log("onAudioEventMain: " + event.getType()); + switch (event.getType()) { + case HDLAudio.CALLBACK_SONG_NAME_LIST: + listString.clear(); + for (int i = 0; i < event.getSongNameList().size(); i++) { + listString.add(event.getSongNameList().get(i)); + } + adapter.notifyDataSetChanged(); + break; + case HDLAudio.CALLBACK_CURRENT_VOLUME: + HDLLog.Log("褰撳墠闊抽噺鍊硷細" + event.getAudioInfoInt()); + break; + case HDLAudio.CALLBACK_AUDIO_LIST_NUM: + int[] listNum = event.getAudioListInfo(); + curListNum = listNum[0]; + HDLLog.Log("褰撳墠鍒楄〃鍙凤細" + listNum[0] + " 褰撳墠鍏辨湁鍒楄〃鏁帮細" + listNum[1]); + if (isInit) { + isInit = false;//姝ゆ搷浣滀负浠呭垵濮嬪寲鎵嶈姹傝幏鍙栧綋鍓嶉煶涔愬垪琛紝鍘傚晢鍙互鑷鍐冲畾浣曟椂鑾峰彇闊充箰鍒楄〃 + HDLCommand.audioCtrl(appliancesInfo, HDLAudio.GET_AUDIO_LIST, curListNum);//鑾峰彇褰撳墠鎾斁鍒楄〃锛屾鏂规硶濡傛灉鍦ㄦ瓕鏇叉挱鏀剧姸鎬佹椂璋冪敤鍒欎細瀵艰嚧姝屾洸鍋滄鎾斁锛岀‖浠惰璁″姝� + } + break; + case HDLAudio.CALLBACK_CURRENT_LIST_NAME: + HDLLog.Log("褰撳墠鍒楄〃鍚嶏細" + event.getAudioInfoStr()); + break; + case HDLAudio.CALLBACK_CURRENT_SONG_NUM: + int[] songNum = event.getAudioListInfo(); + HDLLog.Log("褰撳墠姝屾洸鍙凤細" + songNum[0] + " 褰撳墠鍏辨湁姝屾洸鏁帮細" + songNum[1]); + break; + case HDLAudio.CALLBACK_CURRENT_SONG_NAME: + HDLLog.Log("褰撳墠姝屾洸鍚嶏細" + event.getAudioInfoStr()); + curSongNameTv.setText("褰撳墠姝屾洸鍚嶏細" + event.getAudioInfoStr()); + break; + case HDLAudio.CALLBACK_CURRENT_SONG_INFO: + int[] songInfo = event.getAudioListInfo(); + //songInfo[0],songInfo[1]鑾峰緱鐨勫�间负绉掞紝濡俿ongInfo[0]=250锛屽嵆姝屾洸鎬绘椂闀夸负250绉掋�俿ongInfo[2]鑾峰緱鐨勫�间负锛�1銆�2銆�3銆�1锛氬仠姝紝2锛氭挱鏀撅紝3锛氭殏鍋溿�� + String curStatus; + switch (songInfo[2]) { + case 1: + curStatus = "鍋滄"; + break; + case 2: + curStatus = "鎾斁"; + break; + case 3: + curStatus = "鏆傚仠"; + break; + default: + curStatus = "鏈煡"; + break; + } + HDLLog.Log("褰撳墠姝屾洸鎬绘椂闀匡細" + songInfo[0] + "绉� 锛屽綋鍓嶆瓕鏇插凡鎾斁鏃堕暱锛�" + songInfo[1] + "绉掞紝 褰撳墠姝屾洸鐘舵�侊細" + curStatus); + curSongInfoTv.setText("褰撳墠姝屾洸鎬绘椂闀匡細" + songInfo[0] + "绉� 锛屽綋鍓嶆瓕鏇插凡鎾斁鏃堕暱锛�" + songInfo[1] + "绉掞紝 褰撳墠姝屾洸鐘舵�侊細" + curStatus); + break; + case HDLAudio.CALLBACK_CURRENT_MODE: + String curMode; + switch (event.getAudioInfoInt()) { + case 1: + curMode = "鍗曟洸鎾斁"; + break; + case 2: + curMode = "鍗曟洸寰幆"; + break; + case 3: + curMode = "杩炵画鎾斁"; + break; + case 4: + curMode = "杩炴挱寰幆"; + break; + default: + curMode = "鏈煡"; + break; + + } + modeBtn.setText(curMode); + break; + default: + break; + } + } + + + } + +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/api_control_scenes.md b/Android_HDL_SDK_TTL_DOC/src/api_control_scenes.md new file mode 100755 index 0000000..5597988 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_control_scenes.md @@ -0,0 +1,125 @@ +# 鍦烘櫙鎺у埗锛堥�昏緫妯″潡锛� + +**鍦烘櫙鎺у埗鐨勭被鍨�** + +閫昏緫妯″潡锛堝ぇ绫� 12 灏忕被 0 锛� +鍏ㄥ眬閫昏緫妯″潡锛堝ぇ绫� 17 灏忕被 0锛� + +### 涓�銆佹煡璇㈢姸鎬� + +**鎺ュ彛鎻忚堪** + +HDLCommand.getSceneNumStateFromNetwork(AppliancesInfo info) + +璋冪敤璇ユ帴鍙o紝鍙互鏌ヨ褰撳墠鍦烘櫙鍙蜂俊鎭�� + +**浠g爜鑼冧緥** + +```java + //璇锋眰鑾峰彇閫氱敤寮�鍏崇姸鎬佷俊鎭� + HDLCommand.getSceneNumStateFromNetwork(appliancesInfo); +``` + +**鏌ヨ鐘舵�佸洖璋冧簨浠剁洃鍚�** + + 鏌ヨ鐘舵�佹垚鍔燂紝浼氭敹鍒癝cenesStateBackEvent璁㈤槄浜嬩欢锛屽悓鏃跺満鏅彉鍖栦篃浼氭敹鍒拌浜嬩欢鍥炶皟 + +**浠g爜鑼冧緥** +```java + + /** + * 褰撳墠鍦烘櫙鐘舵�佸彉鍖栭兘浼氭帹閫佽繖涓�氱煡Event + * 鏇村姞椤圭洰闇�瑕侊紝 杩欓噷鐨勫尯鍙锋湁鐨勬儏鍐典笅涓嶉渶澶勭悊锛屾湁鐨勮澶囧浐瀹氭槸1 鍙渶澶勭悊鍦烘櫙鍙凤紝鍒ゆ柇鐩墠鎵ц浜嗛偅涓満鏅氨琛� + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onScenesStateBackEventMain(ScenesStateBackEvent event) { + if (event.getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID()) { +// // +// int mAreaNum = event.getAreaNum(); +// int mSceneNum = event.getSceneNum(); +// +// //鍙互鑷繁閫氳繃鍖哄彿 鍜� 鍦烘櫙鍙� 鏉ュ尮閰嶅垽鏂綋鍓嶆墽琛屼簡浠�涔堝満鏅� +// sceneText.setText("褰撳墠妯″潡鎵ц鐨勫満鏅尯鍙�: " + mAreaNum + " 鍦烘櫙鍙�: "+mSceneNum); + + int mSceneNum = event.getSceneNum(); + //鍙互鑷繁閫氳繃鍦烘櫙鍙� 鏉ュ尮閰嶅垽鏂綋鍓嶆墽琛屼簡浠�涔堝満鏅� + sceneText.setText("褰撳墠妯″潡鎵ц鐨勫満鏅彿: "+mSceneNum); + + } + } + +``` + + +### 浜屻�佹帶鍒舵敼鍙樼姸鎬� + +**鎺ュ彛鎻忚堪** + +HDLCommand.logicCtrl(AppliancesInfo info) + +璋冪敤璇ユ帴鍙o紝鍙互鎵ц鐩稿簲鐨勫満鏅�� + +**浠g爜鑼冧緥** + +```java + //鍙戦�佸満鏅帶鍒舵寚浠� + //appliancesInfo锛氫负闇�瑕佹帶鍒剁殑鐨勬ā鍧梚nfo鍙傛暟锛岄噷闈繚瀛樹簡褰撳墠鍥炶矾妯″潡鐨勬墍鏈夊弬鏁颁俊鎭� + HDLCommand.logicCtrl(appliancesInfo); + +``` + +**鎺у埗鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鎺у埗鍦烘櫙瓒呮椂鎴栨垚鍔燂紝閮戒細鏀跺埌LogicFeedBackEvent 璁㈤槄浜嬩欢锛岄�氱敤寮�鍏虫帶鍒跺洖璋冮兘缁熶竴鐢ㄨ繖涓簨浠讹紝濡傛灉event.isSuccess()鍊间负false锛屽垯浠h〃鎺у埗瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +濡傛灉鎺у埗鎴愬姛鐨勮瘽锛屽満鏅姸鎬佸彉鍖栵紝涔熶細鏀跺埌ScenesStateBackEvent璁㈤槄浜嬩欢锛屽彲浠ヨ嚜宸遍�氳繃鍦烘櫙鍙� 鏉ュ尮閰嶅垽鏂綋鍓嶆墽琛屼簡浠�涔堝満鏅� + + +**浠g爜鑼冧緥** +```java + /** + * 閫昏緫妯″潡鎺у埗鍥炶皟Event + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onLogicFeedBackInfoEventMain(LogicFeedBackEvent event) { +// 鍏堝垽鏂槸鍚﹁秴鏃� + if (event.getLogicCtrlBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getLogicCtrlBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getLogicCtrlBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() + ) { + if (!event.isSuccess()) { + showToast("鍦烘櫙鎺у埗瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + return; + } + showToast("鍦烘櫙鎺у埗鎴愬姛"); + } + } + + /** + * 褰撳墠鍦烘櫙鐘舵�佸彉鍖栭兘浼氭帹閫佽繖涓�氱煡Event + * 鏇村姞椤圭洰闇�瑕侊紝 杩欓噷鐨勫尯鍙锋湁鐨勬儏鍐典笅涓嶉渶澶勭悊锛屾湁鐨勮澶囧浐瀹氭槸1 鍙渶澶勭悊鍦烘櫙鍙凤紝鍒ゆ柇鐩墠鎵ц浜嗛偅涓満鏅氨琛� + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onScenesStateBackEventMain(ScenesStateBackEvent event) { + if (event.getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID()) { +// // +// int mAreaNum = event.getAreaNum(); +// int mSceneNum = event.getSceneNum(); +// +// //鍙互鑷繁閫氳繃鍖哄彿 鍜� 鍦烘櫙鍙� 鏉ュ尮閰嶅垽鏂綋鍓嶆墽琛屼簡浠�涔堝満鏅� +// sceneText.setText("褰撳墠妯″潡鎵ц鐨勫満鏅尯鍙�: " + mAreaNum + " 鍦烘櫙鍙�: "+mSceneNum); + + int mSceneNum = event.getSceneNum(); + //鍙互鑷繁閫氳繃鍦烘櫙鍙� 鏉ュ尮閰嶅垽鏂綋鍓嶆墽琛屼簡浠�涔堝満鏅� + sceneText.setText("褰撳墠妯″潡鎵ц鐨勫満鏅彿: "+mSceneNum); + + } + } + +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/api_control_security.md b/Android_HDL_SDK_TTL_DOC/src/api_control_security.md new file mode 100755 index 0000000..2cdd4e1 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_control_security.md @@ -0,0 +1,141 @@ +# 瀹夐槻绫绘ā鍧� + +**瀹夐槻绫绘ā鍧楁敮鎸佹悳绱㈠拰鎺у埗鐨勭被鍨�** + +瀹夐槻妯″潡锛�0锛� + + +### 涓�銆佹煡璇㈠竷闃茬姸鎬� + +**鎺ュ彛鎻忚堪** + +HDLCommand.getSecurityStateFromNetwork(AppliancesInfo info) + +璋冪敤璇ユ帴鍙o紝鍙互鏌ヨ褰撳墠瀹夐槻鐨勫竷闃茬姸鎬佷俊鎭�� + +**浠g爜鑼冧緥** + +```java + //璇锋眰鑾峰彇褰撳墠瀹夐槻妯″潡甯冮槻鐘舵�佷俊鎭� + HDLCommand.getSecurityStateFromNetwork(appliancesInfo); +``` + +**鏌ヨ鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鏌ヨ鐘舵�佽秴鏃舵垨鎴愬姛锛岄兘浼氭敹鍒癉eviceStateEvent璁㈤槄浜嬩欢锛孲DK鎵�鏈夌姸鎬佸洖璋冮兘缁熶竴鐢ㄨ繖涓簨浠讹紝濡傛灉event.isSuccess()鍊间负false锛屽垯浠h〃鏌ヨ瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +寮�鍙戣�呭彲浠ュ湪鎵�闇�瑕佽幏鍙栫姸鎬佸洖璋冪殑鍦版柟锛岃闃呰浜嬩欢锛� +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夈�丄ppliancesInfo閲岄潰鐨勮澶囩被鍨嬶紙getDeviceType锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨煡璇㈢姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + + + +**浠g爜鑼冧緥** +```java + /** + * 鏌ヨ甯冮槻鐘舵�� 鍥炶皟Event + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onDeviceStateEventMain(DeviceStateEvent event) { + + if (event.getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + ) { + //杩欎釜杩斿洖鐨勪俊鎭槸褰撳墠鐘舵�佺殑 + switch (event.getAppliancesInfo().getDeviceType()) { + case HDLApConfig.TYPE_SECURITY_MODULE: + if (appliancesInfo.getChannelNum() == event.getAppliancesInfo().getChannelNum()) { + if (!event.isSuccess()) { + tv_mesSetText("鑾峰彇甯冮槻鐘舵�佸け璐ワ紝璇烽噸鏂板啀璇�"); + return; + } + + SecurityArmingStateBackInfo mSecurityArmingStateBackInfo = new SecurityArmingStateBackInfo(event.getAppliancesInfo().getArrCurState()); + if (mSecurityArmingStateBackInfo == null) { + tv_mesSetText("鑾峰彇甯冮槻鐘舵�佸け璐ワ紝璇烽噸鏂板啀璇�"); + return; + } + + int armingStateBack = mSecurityArmingStateBackInfo.getArmingState(); + if (armingStateBack == 0) { //璇诲彇杩斿洖0涓烘挙闃� + armingState = SecurityParser.ARMING_DISARMING; + spinner_arming.setSelection(armingState - 1, true); + tv_mesSetText("鑾峰彇鎴愬姛锛屽綋鍓嶇姸鎬侊細" + armingTypeItems[armingState - 1]); + } else if (armingStateBack >= 1 && armingStateBack <= 6) { + armingState = armingStateBack;//鏇存柊鐘舵�佸�� + spinner_arming.setSelection(armingState - 1, true); + tv_mesSetText("鑾峰彇鎴愬姛锛屽綋鍓嶇姸鎬侊細" + armingTypeItems[armingState - 1]); + } else { + tv_mesSetText("鑾峰彇鎴愬姛锛屾湭鐭ュ竷闃茬姸鎬�"); + } + + } + break; + } + } + } + +``` + +**娉細杩斿洖鐨� armingState甯冮槻鐘舵�佸搴斿叧绯伙細 5 = 鐧藉ぉ甯冮槻 4 = 鏅氫笂鏈夊甯冮槻 3 = 澶滈棿甯冮槻 2 = 绂诲紑甯冮槻 1 = 鍋囨湡甯冮槻 0 = 鎾ら槻** + +### 浜屻�佹帶鍒舵敼鍙樼姸鎬� + +**鎺ュ彛鎻忚堪** + +HDLCommand.securityArmingCtrl(AppliancesInfo info, int state) + +璋冪敤璇ユ帴鍙o紝淇敼瀹夐槻妯″潡鐨勫竷闃茬姸鎬併�� + +**娉細鎺у埗鐨剆tate甯冮槻鐘舵�佸搴斿叧绯伙細6 = 鎾ら槻 5 = 鐧藉ぉ甯冮槻 4 = 鏅氫笂鏈夊甯冮槻 3 = 澶滈棿甯冮槻 2 = 绂诲紑甯冮槻 1 = 鍋囨湡甯冮槻** + **鎾ら槻鐘舵�佷笅鎵嶈兘甯冮槻锛屾墍浠ユ兂淇敼鍏朵粬甯冮槻妯″紡闇�鍏堟挙闃�** + +**浠g爜鑼冧緥** + +```java + //鍙戦�佷慨鏀瑰竷闃茬姸鎬佸懡浠� + HDLCommand.securityArmingCtrl(appliancesInfo, armingState); + +``` + +**鎺у埗鐘舵�佸洖璋冧簨浠剁洃鍚�** + +甯冮槻瓒呮椂鎴栨垚鍔燂紝閮戒細鏀跺埌SecurityArmingFeedBackEvent璁㈤槄浜嬩欢锛屽鏋渆vent.isSuccess()鍊间负false锛屽垯浠h〃鎺у埗瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨帶鍒剁姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + +**浠g爜鑼冧緥** +```java + + /** + * 甯冮槻璁剧疆鍥炶皟Event + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onSecurityArmingFeedBackEventMain(SecurityArmingFeedBackEvent event) { + if (event.getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() + ) { + //鍏堝垽鏂槸鍚﹁秴鏃� + if (!event.isSuccess()) { + tv_mesSetText("甯冮槻璁剧疆瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + return; + } + + int armingStateGet = event.getArmingState(); + if (armingStateGet >= 1 && armingStateGet <= 6) { + armingState = armingStateGet; + spinner_arming.setSelection(armingState - 1, true); + tv_mesSetText("甯冮槻鎴愬姛锛屽綋鍓嶇姸鎬侊細" + armingTypeItems[armingState - 1]); + } else if (armingState == SecurityParser.ARMING_FAIL) { + tv_mesSetText("甯冮槻澶辫触"); + } else { + tv_mesSetText("鏈煡甯冮槻鐘舵��"); + } + } + } + +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/api_control_switch.md b/Android_HDL_SDK_TTL_DOC/src/api_control_switch.md new file mode 100755 index 0000000..e349871 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_control_switch.md @@ -0,0 +1,116 @@ +# 閫氱敤寮�鍏虫ā鍧� + +**閫氱敤寮�鍏虫ā鍧楃殑绫诲瀷** + +閫氱敤寮�鍏筹紙澶х被 100 灏忕被 0锛� + +### 涓�銆佹煡璇㈢姸鎬� + +**鎺ュ彛鎻忚堪** + +HDLCommand.getCommonSwitchStateFromNetwork(AppliancesInfo info) + +璋冪敤璇ユ帴鍙o紝鍙互鏌ヨ褰撳墠閫氱敤寮�鍏宠澶囩殑寮�鍏崇姸鎬併�� + +**浠g爜鑼冧緥** + +```java + //璇锋眰鑾峰彇閫氱敤寮�鍏崇姸鎬佷俊鎭� + HDLCommand.getCommonSwitchStateFromNetwork(appliancesInfo); +``` + +**鏌ヨ鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鏌ヨ鐘舵�佽秴鏃舵垨鎴愬姛锛岄兘浼氭敹鍒皁nCommonSwitchStateEventMain璁㈤槄浜嬩欢锛屽鏋渆vent.isSuccess()鍊间负false锛屽垯浠h〃鏌ヨ瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +寮�鍙戣�呭彲浠ュ湪鎵�闇�瑕佽幏鍙栫姸鎬佸洖璋冪殑鍦版柟锛岃闃呰浜嬩欢锛� +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夈�丄ppliancesInfo閲岄潰鐨勮澶囩被鍨嬶紙getDeviceType锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨煡璇㈢姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + + + +**浠g爜鑼冧緥** +```java + /** + * 閫氱敤寮�鍏崇姸鎬� 鍥炲鍥炶皟Event + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onCommonSwitchStateEventMain(CommonSwitchStateBackEvent event) { + if (event.getCommonSwitchBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getCommonSwitchBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getCommonSwitchBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() + ) { + if (!event.isSuccess()) { + showToast("閫氱敤寮�鍏宠鍙栫姸鎬佽秴鏃讹紝璇烽噸鏂板啀璇�"); + return; + } + +// showToast("閫氱敤寮�鍏虫帶鍒舵垚鍔�"); + + switchState = event.getCommonSwitchBackInfo().getSwitchState(); + if(switchState>0){ + switchText.setText("褰撳墠鐘舵�侊細寮�"); + }else{ + switchText.setText("褰撳墠鐘舵�侊細鍏�"); + } + } + + } +``` + + +### 浜屻�佹帶鍒舵敼鍙樼姸鎬� + +**鎺ュ彛鎻忚堪** + +HDLCommand.commonSwitchCtrl(AppliancesInfo info, int ) + +璋冪敤璇ユ帴鍙o紝鍙互鎺у埗閫氱敤寮�鍏虫ā鍧楃殑寮�鍏崇姸鎬併�� + +**浠g爜鑼冧緥** + +```java + //鍙戦�佹帶鍒堕�氱敤寮�鍏虫寚浠� + //appliancesInfo锛氫负闇�瑕佹帶鍒剁殑鐨勬ā鍧梚nfo鍙傛暟锛岄噷闈繚瀛樹簡褰撳墠鍥炶矾妯″潡鐨勬墍鏈夊弬鏁颁俊鎭� + //0=鍏� 255=寮� + HDLCommand.commonSwitchCtrl(appliancesInfo, state); + +``` + +**鎺у埗鐘舵�佸洖璋冧簨浠剁洃鍚�** + +鎺у埗瓒呮椂鎴栨垚鍔燂紝閮戒細鏀跺埌CommonSwitchCtrlBackEvent璁㈤槄浜嬩欢锛岄�氱敤寮�鍏虫帶鍒跺洖璋冮兘缁熶竴鐢ㄨ繖涓簨浠讹紝濡傛灉event.isSuccess()鍊间负false锛屽垯浠h〃鎺у埗瓒呮椂锛屾病鏀跺埌璁惧鍥炲锛� + +骞堕�氳繃姣旇緝鍓嶈澶囧拰鍥炶皟鐘舵�佽澶囩殑瀛愮綉鍙凤紙getDeviceSubnetID锛夈�佽澶囧彿锛坓etDeviceDeviceID锛夊拰鍥炶矾鍙凤紙getChannelNum锛夋槸鍚︿竴鑷达紝浠庤�屽垽鏂娑堟伅浜嬩欢涓哄綋鍓嶈澶囨帶鍒剁姸鎬佽繑鍥炵殑娑堟伅锛岃繘琛屼笅涓�姝ュ鐞嗭紝涓嶄竴鑷村垯杩囨护涓嶅鐞嗐�� + +**浠g爜鑼冧緥** +```java + /** + * 閫氱敤寮�鍏虫帶鍒跺洖璋僂vent + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onCommonSwitchCtrlEventMain(CommonSwitchCtrlBackEvent event) { + if (event.getCommonSwitchBackInfo().getAppliancesInfo().getDeviceDeviceID() == appliancesInfo.getDeviceDeviceID() + && event.getCommonSwitchBackInfo().getAppliancesInfo().getDeviceSubnetID() == appliancesInfo.getDeviceSubnetID() + && event.getCommonSwitchBackInfo().getAppliancesInfo().getChannelNum() == appliancesInfo.getChannelNum() + ) { + if (!event.isSuccess()) { + showToast("閫氱敤寮�鍏虫帶鍒惰秴鏃讹紝璇烽噸鏂板啀璇�"); + return; + } + + showToast("閫氱敤寮�鍏虫帶鍒舵垚鍔�"); + + switchState = event.getCommonSwitchBackInfo().getSwitchState(); + if(switchState>0){ + switchText.setText("褰撳墠鐘舵�侊細寮�"); + }else{ + switchText.setText("褰撳墠鐘舵�侊細鍏�"); + } + } + + } +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/api_mcu.md b/Android_HDL_SDK_TTL_DOC/src/api_mcu.md new file mode 100755 index 0000000..16ec601 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_mcu.md @@ -0,0 +1,408 @@ +# MCU閫氫俊 + <!-- * [璇婚厤缃俊鎭痌(./src/Integrated.md) + * [鍐欓厤缃俊鎭痌(./src/Integrated.md) + * [鐢宠鍗囩骇](./src/Integrated.md) + * [閲嶅惎MCU](./src/Integrated.md) + * [妫�娴嬩涪鍖呯姸鎬乚(./src/Integrated.md) --> + +### MCU鎺у埗缁熶竴鍥炶皟 + +MCU鐨勬墍鏈夎姹傚洖璋冿紝瓒呮椂銆佸嚭閿欐垨鎴愬姛閮戒細缁熶竴鏀跺埌MCUFeedBackEvent璁㈤槄浜嬩欢锛岀敤鎴烽�氳繃鑾峰彇杩斿洖鎿嶄綔鐮侊紙event.getMCUDataBean().command锛夋潵鍒ゆ柇鏄摢绉嶅洖璋冧俊鎭紝浠庤�屽疄鐜板鐞嗕笉鍚屽洖璋冪殑鏁版嵁銆� + + +**浠g爜鑼冧緥** + +```java + /** + * MCU鎺у埗鍥炶皟Event + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onMCUFeedBackEventMain(MCUFeedBackEvent event) { + if (event.getEventCode() == EventCode.FAILURE_TIMEOUT) { + if (TextUtils.isEmpty(event.getError())) { + showToast("MCU璇锋眰瓒呮椂锛岃绋嶅悗鍐嶈瘯"); + } else { + showToast(event.getError()); + } + return; + } + + switch (event.getMCUDataBean().command) { + case MCUConstants.MCU_COMMAND_SEND_BACK: // + //閫忎紶杩斿洖鐨勬暟鎹� + handleMCUPassThroughDataBack(event); + break; + case MCUConstants.MCU_READ_CONFIGURATION_BACK:// 璇婚厤缃繑鍥� + case MCUConstants.MCU_WRITE_CONFIGURATION_BACK:// 鍐欓厤缃俊鎭繑鍥� + handleMCUConfigurationBack(event); + break; + // case MCUConstants.MCU_DETECT_PACKET_LOSS_STATUS_BACK:// 妫�娴嬩涪鍖呯姸鎬佽繑鍥� + // //寰呭鐞� + // handleDetectPacketLossStatusBack(event); + break; + case MCUConstants.MCU_REQUEST_UPGRADE_BACK: // 璇锋眰鍗囩骇杩斿洖 + handleRequestUpgradeBack(event); + break; + case MCUConstants.MCU_RESTART_BACK: //0x86 閲嶅惎杩斿洖 + handleRestartBack(event); + break; + default: + break; + } + } + +``` + +### 涓�銆佽閰嶇疆鍙傛暟 + +**鎺ュ彛鎻忚堪** + +HDLCommand.mcuReadConfiguration() + +璋冪敤璇ユ帴鍙o紝鍙互璇诲彇MCU鐨勯厤缃弬鏁帮紝鍗忚绫诲瀷銆佹尝鐗圭巼銆佹暟鎹綅銆佹牎楠屼綅鍜屽仠姝綅 銆� + +**浠g爜鑼冧緥** + +鍙戦�佽鍙朚CU閰嶇疆璇锋眰 +```java + //璇诲彇MCU閰嶇疆璇锋眰 + HDLCommand.mcuReadConfiguration(); +``` + +璇婚厤缃俊鎭洖璋� + +褰撶洃鍚埌command涓篗CUConstants.MCU_READ_CONFIGURATION_BACK鏃讹紝涓鸿鍙栭厤缃俊鎭殑鍥炶皟锛屾垚鍔熻幏鍙朚CU閰嶇疆鏁版嵁澶勭悊骞舵樉绀猴紱 + +MCU鐨勯厤缃弬鏁帮細鍗忚绫诲瀷銆佹尝鐗圭巼銆佹暟鎹綅銆佹牎楠屼綅鍜屽仠姝綅 锛岄兘鍙互浠庤繑鍥瀍vent涓幏鍙栥�� + +鑾峰彇鏂规硶锛歟vent.getMCUDataBean().getMCUConfigurationBean() + +**浠g爜鑼冧緥** + +```java + ....... + case MCUConstants.MCU_READ_CONFIGURATION_BACK:// 鍐欓厤缃俊鎭繑鍥� + handleMCUConfigurationBack(event);//澶勭悊MCU璇诲啓閰嶇疆杩斿洖鏁版嵁 + ....... + + /** + * 澶勭悊MCU璇诲啓閰嶇疆杩斿洖鏁版嵁 + * + * @param event + */ + private void handleMCUConfigurationBack(MCUFeedBackEvent event) { + if (event.getEventCode() != EventCode.SUCCESS) { + tv_config_mesSetText("MCU璇诲啓閰嶇疆鍑洪敊锛岃繑鍥炴暟鎹紓甯�"); + return; + } + tv_config_mesSetText("鎴愬姛鑾峰彇閰嶇疆"); + bGetMCUConfiguration = true; + updateMCUConfiguration(event.getMCUDataBean().getMCUConfigurationBean());//鑾峰彇閰嶇疆鍙傛暟骞舵樉绀� + } +``` + + + +### 浜屻�佸啓閰嶇疆鍙傛暟 + +**鎺ュ彛鎻忚堪** + +HDLCommand.mcuWriteConfiguration(byte[] sendBytes) + +璋冪敤璇ユ帴鍙o紝鍙互淇敼MCU鐨勯厤缃弬鏁帮紝鍗忚绫诲瀷銆佹尝鐗圭巼銆佹暟鎹綅銆佹牎楠屼綅鍜屽仠姝綅 銆� + +**浠g爜鑼冧緥** + +鍙戦�佸啓MCU閰嶇疆璇锋眰锛屽紑鍙戣�呴�氳繃淇敼鏇存柊mMCUConfigurationBean瀵瑰簲鐨勫弬鏁板悗锛岀洿鎺ヨ皟鐢ㄦ帴鍙e苟鍙傚叆鍙傛暟鍗冲彲銆� + + +```java + ....... + private MCUConfigurationBean mMCUConfigurationBean;//閰嶇疆鍙傛暟 + ....... + + ....... + mMCUConfigurationBean.setMcuDataBit(0);//淇敼鏁版嵁浣嶅弬鏁� + ....... + + //MCU鍐欓厤缃姹� + HDLCommand.mcuWriteConfiguration(mMCUConfigurationBean.getMCUConfigurationSendBytes()); +``` + +鍐欓厤缃俊鎭洖璋� + +褰撶洃鍚埌command涓篗CUConstants.MCU_READ_CONFIGURATION_BACK鏃讹紝涓鸿鍙栭厤缃俊鎭殑鍥炶皟锛屾垚鍔熻幏鍙朚CU閰嶇疆鏁版嵁澶勭悊骞舵樉绀猴紱 + +MCU鐨勯厤缃弬鏁帮細鍗忚绫诲瀷銆佹尝鐗圭巼銆佹暟鎹綅銆佹牎楠屼綅鍜屽仠姝綅 锛岄兘鍙互浠庤繑鍥瀍vent涓幏鍙栥�� + +鑾峰彇鏂规硶锛歟vent.getMCUDataBean().getMCUConfigurationBean() + +**浠g爜鑼冧緥** + +```java + ....... + case MCUConstants.MCU_WRITE_CONFIGURATION_BACK:// 鍐欓厤缃俊鎭繑鍥� + handleMCUConfigurationBack(event);//澶勭悊MCU璇诲啓閰嶇疆杩斿洖鏁版嵁 + ....... + + /** + * 澶勭悊MCU璇诲啓閰嶇疆杩斿洖鏁版嵁 + * + * @param event + */ + private void handleMCUConfigurationBack(MCUFeedBackEvent event) { + if (event.getEventCode() != EventCode.SUCCESS) { + tv_config_mesSetText("MCU璇诲啓閰嶇疆鍑洪敊锛岃繑鍥炴暟鎹紓甯�"); + return; + } + tv_config_mesSetText("鎴愬姛鑾峰彇閰嶇疆"); + bGetMCUConfiguration = true; + updateMCUConfiguration(event.getMCUDataBean().getMCUConfigurationBean());//鑾峰彇閰嶇疆鍙傛暟骞舵樉绀� + } +``` + + +### 涓夈�丮CU閲嶅惎 + +**鎺ュ彛鎻忚堪** + +HDLCommand.mcuSendRestart() + +璋冪敤璇ユ帴鍙o紝鍙互璁㎝CU閲嶅惎銆� + +**浠g爜鑼冧緥** + +鍙戦�丮CU閲嶅惎璇锋眰 +```java + //MCU閲嶅惎璇锋眰 + HDLCommand.mcuSendRestart(); +``` + +MCU閲嶅惎鍥炶皟 + +褰撶洃鍚埌command涓篗CUConstants.MCU_RESTART_BACK鏃讹紝涓篗CU閲嶅惎鍥炶皟锛� + +**浠g爜鑼冧緥** + +```java + ....... + case MCUConstants.MCU_RESTART_BACK: //閲嶅惎杩斿洖 + handleRestartBack(event); + ....... + + /** + * 澶勭悊MCU璇锋眰閲嶅惎杩斿洖鏁版嵁 + * + * @param event + */ + private void handleRestartBack(MCUFeedBackEvent event) { + if (event.getEventCode() != EventCode.SUCCESS) { + showToast("MCU璇锋眰閲嶅惎杩斿洖閿欒锛岄噸鍚け璐�"); + return; + } + if (bUpdating) { + bUpdating = false; + tv_update_mes.setText("MCU閲嶅惎鎴愬姛,鍗囩骇瀹屾垚锛�"); + tv_other_mesSetText("MCU閲嶅惎鎴愬姛,鍗囩骇瀹屾垚锛�"); + } else { + tv_other_mesSetText("MCU閲嶅惎鎴愬姛锛�"); + } + } +``` + + + + +### 鍥涖�佸崌绾CU鍥轰欢 + +**鎺ュ彛鎻忚堪** + +HDLCommand.mcuRequestUpgradeWithFile(byte[] upgradeFileDatas) + +璋冪敤璇ユ帴鍙o紝鍙互鍗囩骇MCU鍥轰欢銆� + +**浠g爜鑼冧緥** + +寮�鍙戣�呴鍏堥渶閫夋嫨鏈湴bin鍗囩骇鏂囦欢锛屽苟杞崲鎴恇yte[]绫诲瀷鍗囩骇鏂囦欢鏁版嵁锛岀劧鍚庤皟鐢ㄥ崌绾ф帴鍙o紝骞朵紶鍏ュ崌绾ф枃浠跺弬鏁板嵆鍙紱 + +```java + ....... + private byte[] upgradeFileDatas;//鍗囩骇鏂囦欢鏁版嵁 + ....... + + ....... + //璇诲彇鍗囩骇鏂囦欢 + fis = new FileInputStream(file); + int length = fis.available(); + upgradeFileDatas = new byte[length]; + fis.read(upgradeFileDatas); + fis.close(); + ....... + + ....... + //寮�濮嬪崌绾� + if (upgradeFileDatas == null) { + showToast("璇峰厛閫夋嫨鍗囩骇鏂囦欢"); + return; + } + HDLCommand.mcuRequestUpgradeWithFile(upgradeFileDatas);//浼犲叆鍗囩骇鏂囦欢骞跺紑濮嬪崌绾� + ....... +``` + +**鍗囩骇杩涘害鐩戝惉** + +棣栧厛activity缁ф壙IMcuOtaListener锛屽苟瀹炵幇瀵瑰簲鐨勬帴鍙f柟娉曪紱 + +**浠g爜鑼冧緥** +```java + ....... + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + ....... + HDLSerialPortCore.setIMcuOtaListener(this);//璁剧疆鐩戝惉 + } + ....... + + ....... + @Override + public void onSuccess() { + sendRestartTimer();//鍗囩骇10S瓒呮椂鎻愮ず + HDLLog.Log("IMcuOtaListener onSuccess"); + runOnUiThread(new Runnable() { //瑕佸湪涓荤嚎绋嬫洿鏂癠I + public void run() { + tv_update_mesSetText("鍗囩骇鎴愬姛锛岀瓑寰呴噸鍚�..."); + } + }); + } + + @Override + public void onFailure(int code, final String error) { + HDLLog.Log("IMcuOtaListener onFailure"); + runOnUiThread(new Runnable() { + public void run() { + tv_update_mesSetText("鍗囩骇澶辫触锛� " + error); + } + }); + + } + + @Override + public void onProgress(final int progress) { + HDLLog.Log("IMcuOtaListener onProgress锛�" + progress); + runOnUiThread(new Runnable() { + public void run() { + tv_update_mes.setText("鍗囩骇杩涘害锛�" + progress + "%"); + } + }); + + } + ....... +``` + +鍗囩骇鎴愬姛鍚庯紝MCU浼氳嚜鍔ㄩ噸鍚�,鐩戝惉鍒伴噸鍚畬姣曪紝鎵嶄唬琛ㄥ畬鎴愬崌绾э紱 + + +**MCU鍗囩骇鐘舵�佸洖璋�** + +褰撶洃鍚埌command涓篗CUConstants.MCU_REQUEST_UPGRADE_BACK鏃讹紝涓篗CU鍗囩骇鐘舵�佸洖璋冿紱 + + +**浠g爜鑼冧緥** + +```java + ....... + case MCUConstants.MCU_REQUEST_UPGRADE_BACK: // 璇锋眰鍗囩骇杩斿洖 + handleRequestUpgradeBack(event); + ....... + + /** + * 澶勭悊MCU璇锋眰鍗囩骇杩斿洖鏁版嵁 + * + * @param event + */ + private void handleRequestUpgradeBack(MCUFeedBackEvent event) { + if (event.getEventCode() != EventCode.SUCCESS) { + tv_update_mesSetText("MCU璇锋眰鍗囩骇鍑洪敊"); + return; + } + bUpdating = true; + tv_update_mesSetText("MCU璇锋眰鍗囩骇鎴愬姛锛屽紑濮嬪崌绾�..."); + } + +``` + + +### 浜斻�佸彂閫侀�忎紶鏁版嵁 + +**鎺ュ彛鎻忚堪** + +HDLCommand.mcuSendTransparentData(byte[] sendBytes) + +璋冪敤璇ユ帴鍙o紝鍙互鍙戦�侀�忎紶鏁版嵁锛屼笉璧癰us鍗忚锛岀洿鎺ヨ浆鍙戯紝涓嶅仛鏁版嵁鏍煎紡澶勭悊銆� + +璋冪敤璇ユ帴鍙d箣鍚庢敹鍒扮殑鏁版嵁锛岄粯璁よ蛋鏁版嵁閫忎紶涓嶅仛鏍煎紡澶勭悊锛屼笉闇�瑕佹椂鍙皟鎺ュ彛鍏抽棴銆� + +**浠g爜鑼冧緥** + +```java + ....... + // 鍙戦�侀�忎紶鏁版嵁 + byte[] sendBytes = new byte[]{(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00}; + HDLCommand.mcuSendTransparentData(sendBytes); + ....... +``` + +閫忎紶鏁版嵁鎺ユ敹 + +褰撶洃鍚埌command涓篗CUConstants.MCU_COMMAND_SEND_BACK鏃讹紝涓鸿繑鍥炴帴鏀跺埌鐨勯�忎紶鏁版嵁锛� + +鎺ユ敹鐨勯�忎紶鏁版嵁鍙互鐩存帴浠巈vent鑾峰彇锛宔vent.getMCUDataBean().receiveBytes銆� + +**浠g爜鑼冧緥** + +```java + ....... + case MCUConstants.MCU_COMMAND_SEND_BACK: // + //閫忎紶杩斿洖鐨勬暟鎹� + handleMCUPassThroughDataBack(event); + ....... + + /** + * 澶勭悊MCU閫忎紶鍥炶皟鏁版嵁 + * 閫忎紶鏁版嵁锛屼笉璧癰us鍗忚锛岀洿鎺ヨ浆鍙戯紝涓嶅仛鏁版嵁鏍煎紡澶勭悊 + * + * @param event + */ + private void handleMCUPassThroughDataBack(MCUFeedBackEvent event) { + if (event.getEventCode() != EventCode.SUCCESS) { + tv_other_mesSetText("MCU閫忎紶鏁版嵁鍑洪敊锛岃繑鍥炴暟鎹紓甯�"); + return; + } + String receiveString = HDLStringUtils.ByteArrToHex(event.getMCUDataBean().receiveBytes, 0, event.getMCUDataBean().receiveBytes.length); + + tv_other_mes.setText("鏀跺埌鐨勯�忎紶鏁版嵁锛�" + receiveString); + HDLLog.Log("鏀跺埌鐨勯�忎紶鏁版嵁锛�" + receiveString); + } +``` + +### 鍏�佸紑鍚拰鍏抽棴閫忎紶鏁版嵁 + +**鎺ュ彛鎻忚堪** + +HDLCommand.setHDLPassThroughOpen(boolean bOpen) + +璋冪敤璇ユ帴鍙o紝鍙互寮�鍚拰鍏抽棴閫忎紶鏁版嵁锛屽叧闂暟鎹�忎紶榛樿璧癰us鍗忚锛涘叾浠栧崗璁笅锛屽紑鍙戣�呭彲浠ユ墦寮�鏁版嵁閫忎紶锛岃嚜宸辫嚜瀹氫箟鏀跺彂鏁版嵁銆� + +娉細SDK姣忔閲嶆柊鍒濆鍖栧惎鍔ㄥ悗锛岄粯璁ら兘鏄叧闂紝濡傛灉瑕佹暟鎹�忎紶锛岄渶瑕佸垵濮嬪寲瀹屾瘯鍚庤皟鐢ㄦ敼鎺ュ彛鎵撳紑銆� + +**浠g爜鑼冧緥** + +```java + ....... + //鍏抽棴閫忎紶鏁版嵁 + HDLCommand.setHDLPassThroughOpen(false); + ....... +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/api_mcu_about.md b/Android_HDL_SDK_TTL_DOC/src/api_mcu_about.md new file mode 100755 index 0000000..551c6ae --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_mcu_about.md @@ -0,0 +1,57 @@ +# MCU閫氫俊 + <!-- * [璇婚厤缃俊鎭痌(./src/Integrated.md) + * [鍐欓厤缃俊鎭痌(./src/Integrated.md) + * [鐢宠鍗囩骇](./src/Integrated.md) + * [閲嶅惎MCU](./src/Integrated.md) + * [妫�娴嬩涪鍖呯姸鎬乚(./src/Integrated.md) --> + +### MCU鎺у埗缁熶竴鍥炶皟 + +MCU鐨勬墍鏈夎姹傚洖璋冿紝瓒呮椂銆佸嚭閿欐垨鎴愬姛閮戒細缁熶竴鏀跺埌MCUFeedBackEvent璁㈤槄浜嬩欢锛岀敤鎴烽�氳繃鑾峰彇杩斿洖鎿嶄綔鐮侊紙event.getMCUDataBean().command锛夋潵鍒ゆ柇鏄摢绉嶅洖璋冧俊鎭紝浠庤�屽疄鐜板鐞嗕笉鍚屽洖璋冪殑鏁版嵁銆� + + +**浠g爜鑼冧緥** + +```java + /** + * MCU鎺у埗鍥炶皟Event + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onMCUFeedBackEventMain(MCUFeedBackEvent event) { + if (event.getEventCode() == EventCode.FAILURE_TIMEOUT) { + if (TextUtils.isEmpty(event.getError())) { + showToast("MCU璇锋眰瓒呮椂锛岃绋嶅悗鍐嶈瘯"); + } else { + showToast(event.getError()); + } + return; + } + + switch (event.getMCUDataBean().command) { + case MCUConstants.MCU_COMMAND_SEND_BACK: // + //閫忎紶杩斿洖鐨勬暟鎹� + handleMCUPassThroughDataBack(event); + break; + case MCUConstants.MCU_READ_CONFIGURATION_BACK:// 璇婚厤缃繑鍥� + case MCUConstants.MCU_WRITE_CONFIGURATION_BACK:// 鍐欓厤缃俊鎭繑鍥� + handleMCUConfigurationBack(event); + break; + // case MCUConstants.MCU_DETECT_PACKET_LOSS_STATUS_BACK:// 妫�娴嬩涪鍖呯姸鎬佽繑鍥� + // //寰呭鐞� + // handleDetectPacketLossStatusBack(event); + break; + case MCUConstants.MCU_REQUEST_UPGRADE_BACK: // 璇锋眰鍗囩骇杩斿洖 + handleRequestUpgradeBack(event); + break; + case MCUConstants.MCU_RESTART_BACK: //0x86 閲嶅惎杩斿洖 + handleRestartBack(event); + break; + default: + break; + } + } + +``` + diff --git a/Android_HDL_SDK_TTL_DOC/src/api_search.md b/Android_HDL_SDK_TTL_DOC/src/api_search.md new file mode 100755 index 0000000..779de5e --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/api_search.md @@ -0,0 +1,157 @@ +# 鎼滅储璁惧 + +### 涓�銆佹悳绱㈣澶� + +**鎺ュ彛鎻忚堪** + +HDLCommand.getHomeDevices() + +璋冪敤璇ユ帴鍙o紝浼氭竻绌哄師鏈湴璁惧鍒楄〃鏁版嵁锛岄噸鏂版悳绱㈣澶囷紙鍙互鎼滅储鍑烘敮鎸佺畝鏄撶紪绋嬫悳绱㈢殑璁惧锛夈�� + +**浠g爜鑼冧緥** + +鍙戦�佹悳绱㈣澶囪姹� +```java + /**鍏ㄩ儴閲嶆柊鎼滅储,娓呯┖鍘熻澶囧垪琛ㄦ暟鎹�*/ + HDLCommand.getHomeDevices(); +``` + +鎼滅储璁惧鍥炶皟浜嬩欢 + +鎼滅储瓒呮椂鎴栨悳绱㈡垚鍔燂紝閮戒細鏀跺埌DevicesInfoEvent璁㈤槄浜嬩欢銆� + +鎼滅储鎴愬姛鍚庯紝浼氳繑鍥炴悳鍒板埌鐨勬墍鏈夋ā鍧楄澶囨暟鎹紝閫氳繃event.getDesDataList()鍙栧嚭锛屽悗闈㈢殑鎵�鏈夌殑鎺у埗璁惧鎿嶄綔閮介渶瑕佺敤鍒拌繖涓狶ist閲岄潰鐨凙ppliancesInfo璁惧鍙傛暟锛孲DK鍋氫簡鏈湴淇濆瓨鎿嶄綔锛屽悓鏍峰紑鍙戣�呭彲浠ユ牴鎹渶瑕佽嚜宸卞彟澶栦繚瀛樸�� + +```java + /** + * ====================EventBus 璁㈤槄浜嬩欢 ==================== + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onDevicesInfoEventMain(DevicesInfoEvent event) { + mAllDevicesList.clear(); + mProgressDialog.dismiss(); + if (!event.isSuccess()) { + Toast.makeText(MainActivity.this, "鎼滅储瓒呮椂锛岃閲嶆柊鍐嶈瘯", Toast.LENGTH_SHORT).show(); + tvResult.setText("鎼滅储瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + return; + } + mDevicesDataList = event.getDesDataList(); + updateDeviceListView(); + } + +``` + +### 浜屻�佹墜鍔ㄦ坊鍔犲畨闃叉ā鍧楄澶� + +**鎺ュ彛鎻忚堪** + +HDLDeviceManager.addSecurityDevicesManually(int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks) + +璋冪敤璇ユ帴鍙o紝鍙互鎵嬪姩娣诲姞瀹夐槻妯″潡锛堜笉鏀寔绠�鏄撶紪绋嬫悳绱㈢殑璁惧锛屽彧鑳芥墜鍔ㄦ坊鍔狅級銆� + +闇�瑕佷紶鍏ヨ瀹夐槻妯″潡褰撳墠鐨勫瓙缃戝彿锛岃澶囧彿锛屽洖璺彿锛屼互鍙婂畠鐨勫娉ㄥ悕銆� + +**浠g爜鑼冧緥** + + +```java + ....... + //isSuccess 杩斿洖true鍒欎唬琛ㄦ坊鍔犳垚鍔� + isSuccess = HDLDeviceManager.addSecurityDevicesManually(subnetID, deviceID, channelNum, "瀹夐槻妯″潡1"); + ....... + +``` + +娣诲姞鎴愬姛鍚庡悓鏍蜂細鏀跺埌DevicesInfoEvent璁㈤槄浜嬩欢锛屾洿鏂拌繑鍥炲綋鍓嶆墍鏈夌殑璁惧鍒楄〃鏁版嵁 + +**浠g爜鑼冧緥** + +```java + /** + * ====================EventBus 璁㈤槄浜嬩欢 ==================== + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onDevicesInfoEventMain(DevicesInfoEvent event) { + mAllDevicesList.clear(); + mProgressDialog.dismiss(); + if (!event.isSuccess()) { + Toast.makeText(MainActivity.this, "鎼滅储瓒呮椂锛岃閲嶆柊鍐嶈瘯", Toast.LENGTH_SHORT).show(); + tvResult.setText("鎼滅储瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + return; + } + mDevicesDataList = event.getDesDataList(); + updateDeviceListView(); + } + +``` + + +### 涓夈�佹墜鍔ㄦ坊鍔犻煶涔愭ā鍧楄澶� + +**鎺ュ彛鎻忚堪** + +HDLDeviceManager.addAudioDevicesManually(int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks) + +璋冪敤璇ユ帴鍙o紝鍙互鎵嬪姩娣诲姞瀹夐槻妯″潡锛堜笉鏀寔绠�鏄撶紪绋嬫悳绱㈢殑璁惧锛屽彧鑳芥墜鍔ㄦ坊鍔狅級銆� + +闇�瑕佷紶鍏ヨ瀹夐槻妯″潡褰撳墠鐨勫瓙缃戝彿锛岃澶囧彿锛屽洖璺彿锛屼互鍙婂畠鐨勫娉ㄥ悕銆� + +**浠g爜鑼冧緥** + + +```java + ....... + //isSuccess 杩斿洖true鍒欎唬琛ㄦ坊鍔犳垚鍔� + isSuccess = HDLDeviceManager.addAudioDevicesManually(subnetID, deviceID, channelNum, "闊充箰妯″潡1"); + ....... + +``` + +娣诲姞鎴愬姛鍚庡悓鏍蜂細鏀跺埌DevicesInfoEvent璁㈤槄浜嬩欢锛屾洿鏂拌繑鍥炲綋鍓嶆墍鏈夌殑璁惧鍒楄〃鏁版嵁 + +**浠g爜鑼冧緥** + +```java + /** + * ====================EventBus 璁㈤槄浜嬩欢 ==================== + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onDevicesInfoEventMain(DevicesInfoEvent event) { + mAllDevicesList.clear(); + mProgressDialog.dismiss(); + if (!event.isSuccess()) { + Toast.makeText(MainActivity.this, "鎼滅储瓒呮椂锛岃閲嶆柊鍐嶈瘯", Toast.LENGTH_SHORT).show(); + tvResult.setText("鎼滅储瓒呮椂锛岃閲嶆柊鍐嶈瘯"); + return; + } + mDevicesDataList = event.getDesDataList(); + updateDeviceListView(); + } + +``` + +### 鍥涖�佸姞杞芥湰鍦拌澶� + +**鎺ュ彛鎻忚堪** + +HDLDeviceManager.getLocalDevicesDataList() + +璋冪敤璇ユ帴鍙o紝浼氳鍙栧姞杞絊DK鏈湴淇濆瓨鐨勮澶囧垪琛ㄦ暟鎹�� + +**浠g爜鑼冧緥** + + +```java + /** + * 璇诲彇鍜屽姞杞芥湰鍦版暟鎹� + */ + private void getLocalDevicesDataList() { + mDevicesDataList = HDLDeviceManager.getLocalDevicesDataList();//鍔犺浇鏈湴鏁版嵁 + if (mDevicesDataList.size() > 0) { + updateDeviceListView(); + } else { + showToast("鏈湴鏁版嵁涓虹┖"); + } + } + +``` \ No newline at end of file diff --git a/Android_HDL_SDK_TTL_DOC/src/update_log.md b/Android_HDL_SDK_TTL_DOC/src/update_log.md new file mode 100755 index 0000000..3f7b764 --- /dev/null +++ b/Android_HDL_SDK_TTL_DOC/src/update_log.md @@ -0,0 +1,20 @@ +### 1.0.7+ 2020-4-1 +* 1.澧炲姞灏忕被鏄�3鐨勯煶涔愭挱鏀惧櫒鏀寔銆� +* 2.澧炲姞RCU娣峰悎璋冨厜娣峰悎寮�鍏� 绫绘ā鍧楋紝浣跨敤鐗╃悊鍥炶矾闂銆� +* 3.澧炲姞閫氱敤寮�鍏崇被鍨嬭澶囨敮鎸併�� +* 4.澧炲姞鍦烘櫙鐘舵�佸洖澶嶏紝閫氱煡浜嬩欢鎺ュ彛銆� +* 5.澧炲姞铏氭嫙娣诲姞鐢熸垚璁惧鍔熻兘鎺ュ彛锛堝簲鐢ㄤ簬涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱㈢殑椤圭洰锛� + + + +### 1.0.1+ 2019 +* 鎼滅储璁惧 +* 鎺у埗璁惧 +* 鐩墠鏀寔璁惧 + * 鐏厜绫绘ā鍧� + * 绐楀笜绫绘ā鍧� + * 绌鸿皟绫绘ā鍧� + * 閫昏緫鍔熻兘绫绘ā鍧� + * 鑳屾櫙闊充箰鍔熻兘绫绘ā鍧�(涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱紝闇�瑕佹墜鍔ㄦ坊鍔�) + * 瀹夐槻鍔熻兘绫绘ā鍧�(涓嶆敮鎸佺畝鏄撶紪绋嬫悳绱紝闇�瑕佹墜鍔ㄦ坊鍔�) +* MCU閫氫俊 -- Gitblit v1.8.0