# ç”µæ± æ¸©åº¦ä¿æŠ¤å®šåˆ¶å¼€å‘æŒ‡å¯¼ ## 概述 ### 简介 OpenHarmony默认æä¾›äº†ç”µæ± æ¸©åº¦ä¿æŠ¤çš„ç‰¹æ€§ã€‚ç»ˆç«¯è®¾å¤‡ä¼šåœ¨ä¸åŒçš„æ¸©åº¦çŽ¯å¢ƒä¸ä½¿ç”¨ï¼Œå½“温度过高或过低时,都会影å“åˆ°ç”µæ± çš„å®‰å…¨æ€§ï¼Œå› æ¤éœ€è¦è¿›è¡Œä¸€å®šçš„æ¸©åº¦ä¿æŠ¤æŽªæ–½ï¼Œå¦‚当温度过高或过低时,将设备关机。但是ä¸åŒçš„ç”µæ± è®¾å¤‡æ”¯æŒçš„æ¸©åº¦èŒƒå›´ä¸åŒï¼Œéœ€è¦æ ¹æ®äº§å“çš„è®¾è®¡è§„æ ¼æ¥å®šåˆ¶æ¤ç‰¹æ€§ã€‚为æ¤OpenHarmonyæä¾›äº†ç”µæ± æ¸©åº¦ä¿æŠ¤çš„å®šåˆ¶æ–¹å¼ï¼Œäº§å“定制开å‘è€…å¯æ ¹æ®äº§å“çš„è®¾è®¡è§„æ ¼æ¥å®šåˆ¶æ¤ç‰¹æ€§ã€‚ ### 约æŸä¸Žé™åˆ¶ é…ç½®ç–略: 产å“定制的é…ç½®è·¯å¾„ï¼Œéœ€è¦æ ¹æ®[é…ç½®ç–ç•¥](https://gitee.com/openharmony/customization_config_policy)å†³å®šã€‚æœ¬å¼€å‘æŒ‡å¯¼ä¸çš„定制路径以/vendor进行举例,请开å‘è€…æ ¹æ®å…·ä½“的产å“é…ç½®ç–略,修改定制路径。 ## 开呿Œ‡å¯¼ ### æå»ºçŽ¯å¢ƒ è®¾å¤‡è¦æ±‚: æ ‡å‡†ç³»ç»Ÿå¼€å‘æ¿ï¼Œå¦‚DAYU200/Hi3516DV300å¼€æºå¥—件。 çŽ¯å¢ƒè¦æ±‚: Linuxè°ƒæµ‹çŽ¯å¢ƒï¼Œç›¸å…³è¦æ±‚å’Œé…ç½®å¯å‚考《[快速入门](../quick-start/quickstart-overview.md)》。 ### 开呿¥éª¤ 本文以[DAYU200](https://gitee.com/openharmony/vendor_hihope/tree/master/rk3568)为例介ç»ç”µæ± æ¸©åº¦ä¿æŠ¤æœºåˆ¶çš„å®šåˆ¶æ–¹æ³•ã€‚ 1. 在产å“目录[(/vendor/hihope/rk3568)](https://gitee.com/openharmony/vendor_hihope/tree/master/rk3568)下创建battery文件夹。 2. å‚考[é»˜è®¤ç”µæ± æ¸©åº¦ä¿æŠ¤é…置文件夹](https://gitee.com/openharmony/powermgr_battery_manager/tree/master/services/native/profile)åˆ›å»ºç›®æ ‡æ–‡ä»¶å¤¹ï¼Œå¹¶å®‰è£…åˆ°`//vendor/hihope/rk3568/battery`ç›®å½•ä¸‹ï¼Œæ–‡ä»¶æ ¼å¼å¦‚下: ```text profile ├── BUILD.gn ├── battery_config.json ``` 3. å‚考[é»˜è®¤ç”µæ± æ¸©åº¦ä¿æŠ¤çš„é…置文件夹ä¸çš„battery_config.json](https://gitee.com/openharmony/powermgr_battery_manager/blob/master/services/native/profile/battery_config.json)编写定制的battery_config.json,包å«å®šåˆ¶åŽçš„ç”µæ± æ¸©åº¦ä¿æŠ¤é…置如下: ```json { "temperature": { "high": 500, "low": -400 } } ``` **表1** æ¸©åº¦ä¿æŠ¤å‚æ•°è¯´æ˜Ž | æ¸©åº¦ä¿æŠ¤æœºåˆ¶é˜ˆå€¼ | 温度(摄æ°åº¦ï¼‰| | -------- | -------- | | high | 600 | | low | -500 | 4. å‚考[é»˜è®¤ç”µæ± æ¸©åº¦ä¿æŠ¤çš„é…置文件夹ä¸çš„BUILD.gn](https://gitee.com/openharmony/powermgr_battery_manager/blob/master/services/native/profile/BUILD.gn)编写BUILD.gn文件,将battery_config.json打包到`//vendor/etc/battery`目录下,é…置如下: ```shell import("//build/ohos.gni") #引用build/ohos.gni ohos_prebuilt_etc("battery_config") { source = "battery_config.json" relative_install_dir = "battery" install_images = [ chipset_base_dir ] #安装到vendor目录下的必è¦é…ç½® part_name = "product_rk3568" #part_name为product_rk3568,以实现åŽç»ç¼–译 } ``` 5. å°†ç¼–è¯‘ç›®æ ‡æ·»åŠ åˆ°`/vendor/hihope/rk3568`目录下[ohos.build](https://gitee.com/openharmony/vendor_hihope/blob/master/rk3568/ohos.build)çš„"module_list"ä¸ï¼Œä¾‹å¦‚: ```json { "parts": { "product_rk3568": { "module_list": [ "//vendor/hihope/rk3568/default_app_config:default_app_config", "//vendor/hihope/rk3568/image_conf:custom_image_conf", "//vendor/hihope/rk3568/preinstall-config:preinstall-config", "//vendor/hihope/rk3568/resourceschedule:resourceschedule", "//vendor/hihope/rk3568/etc:product_etc_conf", "//vendor/hihope/rk3568/battery/profile:battery_config" #æ·»åŠ battery_config的编译 ] } }, "subsystem": "product_hihope" } ``` “//vendor/hihope/rk3568/battery/â€ä¸ºæ–‡ä»¶å¤¹è·¯å¾„,“profileâ€ä¸ºåˆ›å»ºçš„æ–‡ä»¶å¤¹åå—,“battery_configâ€ä¸ºç¼–è¯‘ç›®æ ‡ã€‚ 6. å‚考《[快速入门](../quick-start/quickstart-overview.md)》编译定制版本,编译命令如下: ```shell ./build.sh --product-name rk3568 --ccache ``` 7. 将定制版本烧录到DAYU200开呿¿ä¸ã€‚ ### è°ƒæµ‹éªŒè¯ 1. 开机åŽï¼Œè¿›å…¥shell命令行。 ``` hdc shell ``` 2. è¿›å…¥ç”µæºæ¸©åº¦çš„节点路径(以当å‰DAYUå¼€å‘版路径为例)。 ``` cd /data/service/el0/battery/battery ``` 3. ä»¥é»˜è®¤çš„ç”µæºæ¸©åº¦ä¿æŠ¤é…置数æ®ä¸ºä¾‹ï¼Œä¿®æ”¹ç”µæ± 温度的模拟节点数值。 ``` echo 700 > temp ``` 4. ä¸ŠæŠ¥ç”µæ± ä¿¡æ¯æ”¹å˜ï¼Œè§¦å‘æ¸©åº¦ä¿æŠ¤ã€‚ ``` hidumper -s 3302 -a -r ``` è®¾å¤‡è¿›å…¥å…³æœºçŠ¶æ€ 5. 釿–°å¼€æœºè¿›å…¥shell命令行,è¿›å…¥ç”µæºæ¸©åº¦çš„节点路径。 ``` echo -600 > temp ``` 6. ä¸ŠæŠ¥ç”µæ± ä¿¡æ¯æ”¹å˜ï¼Œè§¦å‘æ¸©åº¦ä¿æŠ¤ã€‚ ``` hidumper -s 3302 -a -r ``` è®¾å¤‡è¿›å…¥å…³æœºçŠ¶æ€ 7. ä»¥æ–°çš„ç”µæºæ¸©åº¦ä¿æŠ¤é…置数æ®ä¸ºä¾‹ï¼Œæ›´æ”¹ä¹‹åŽï¼š ```json { "temperature": { "high": 500, "low": -400 } } ``` 8. ä¿®æ”¹ç”µæ± æ¸©åº¦çš„æ¨¡æ‹ŸèŠ‚ç‚¹æ•°å€¼ã€‚ ``` echo 550 > temp ``` 9. ä¸ŠæŠ¥ç”µæ± ä¿¡æ¯æ”¹å˜ï¼Œè§¦å‘æ¸©åº¦ä¿æŠ¤ã€‚ ``` hidumper -s 3302 -a -r ``` è®¾å¤‡è¿›å…¥å…³æœºçŠ¶æ€ 10. 釿–°å¼€æœºè¿›å…¥shell命令行,è¿›å…¥ç”µæºæ¸©åº¦çš„节点路径。 ``` echo -450 > temp ``` 11. ä¸ŠæŠ¥ç”µæ± ä¿¡æ¯æ”¹å˜ï¼Œè§¦å‘æ¸©åº¦ä¿æŠ¤ã€‚ ``` hidumper -s 3302 -a -r ``` è®¾å¤‡è¿›å…¥å…³æœºçŠ¶æ€ ## å‚考 å¼€å‘过程ä¸å¯å‚考的é…置文件路径:[ç³»ç»Ÿé»˜è®¤ç”µæºæ¸©åº¦ä¿æŠ¤èŒƒå›´é…ç½®æºç 路径](https://gitee.com/openharmony/powermgr_battery_manager/tree/master/services/native/profile/) 默认é…置: ```json { "temperature": { "high": 600, "low": -500 } } ``` 打包路径:/system/etc/battery