自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HarmonyOS Connect設(shè)備開(kāi)發(fā)之擁抱JS通信接口

系統(tǒng) OpenHarmony
針對(duì)向設(shè)備發(fā)送消息(NAN通道建立完成)目前提供了JAVA、JS接口。模板使用的是JAVA接口,開(kāi)發(fā)者可在NetworkDeviceDataHandler中調(diào)用本模板。

??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??

??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

一、 NAN消息接口簡(jiǎn)介

回到??設(shè)備控制原子化服務(wù)指導(dǎo)???,可知,針對(duì)向設(shè)備發(fā)送消息(NAN通道建立完成)目前提供了JAVA、JS接口。模板使用的是JAVA接口,開(kāi)發(fā)者可在NetworkDeviceDataHandler中調(diào)用本模板。如下:

private void sendMessage(String message, HashMap<String, Object> tmpMap) {
CommonInfo commonInfo = new CommonInfo();
commonInfo.setSessionId(sessionId);
HiLog.error(LABEL_LOG, "sessionId " + sessionId);
NetConfigApi.getInstance().sendMessage(commonInfo, message, (code, controlMessage, str) -> {
if (code == 0) {
HiLog.info(LABEL_LOG, "Message sent successfully" + message);
dataMap.putAll(tmpMap);
mainHandler.postTask(() -> onDeviceDataChange(dataMap));
} else {
HiLog.error(LABEL_LOG, "Failed to send the message. Code =" +
code + " control message = " + controlMessage);
}
});
}

JAVA實(shí)現(xiàn)的功能需要于js頁(yè)面之間互傳數(shù)據(jù),定義一系列規(guī)則,這比較繁瑣,如果添加一條指令傳輸,就得添加一個(gè)約定規(guī)則。JS就比較靈活,提供的JS接口如下:

JS接口:NetConfig.sendMessage(commonInfo, message, callbackFunc)

依賴:需要import模板工程里的fa-netconfig.js進(jìn)行調(diào)用。

說(shuō)明:

commonInfo里需要填入本次配網(wǎng)通路的sessionId, 由配網(wǎng)原子化服務(wù)獲取。

message為發(fā)送給設(shè)備的字符串消息。

callbackFunc為消息發(fā)送成功與否的回調(diào)。

示例:

let commonInfo = {
sessionId: getApp(this).ConfigParams.deviceInfo.sessionId
}
getApp(this).NetConfig.sendMessage(commonInfo, "111111", (result) => {
// sendMessage 回調(diào)
})

二、 sendMessage()函數(shù)實(shí)現(xiàn)

我們?cè)趈scontrol.js文件中,添加sendMessage()函數(shù),參考上述說(shuō)明和示例,編寫如下:

//需引入 import {getApp} from '../../common.js';  
sendMessage()
{
var message = this.app_msg;
let commonInfo = {
sessionId: getApp(this).ConfigParams.deviceInfo.sessionId
};
getApp(this).NetConfig.sendMessage(commonInfo, message,(result)=>{

if(result.code ==0)
{
prompt.showToast({
message:'發(fā)送成功'
})
}
else{
prompt.showToast({
message:'發(fā)送失敗'
})
}
});
},

三、綁定消息按鈕

上一個(gè)帖子【自定義ui】中,我們自定義了一個(gè)switch。

<div id="wrapper">
<div id="div1">
<div id="div2">
<image id="image1" src="common/img/FAN.png"></image>
</div>
<text id="text1">{{title}}</text>
<switch id="sw_power" showtext="true" checked="false" @change="Smart_fanCtr"></switch>
</div>
</div>

用于控制風(fēng)扇開(kāi)關(guān),這意味著點(diǎn)擊按鈕就需要發(fā)送消息,接下來(lái)我們綁定數(shù)據(jù)按鈕:

在jscontrol.js中,編寫按鈕綁定的函數(shù) Smart_fanCtr(e) ,如下:

export default {
data: {
title: "Smart Fan",
app_msg:'turn off fan',
},
//根據(jù)開(kāi)關(guān)狀態(tài)確定發(fā)送消息
Smart_fanCtr(e) {
if(e.checked)
{
this.app_msg='turn on fan';
prompt.showToast({
message:"打開(kāi)風(fēng)扇"
})
}else
{
this.app_msg='turn off fan';
prompt.showToast({
message:"關(guān)閉風(fēng)扇"
})
}
this.sendMessage(); //發(fā)送消息
},
}

到此,我們綁定了按鈕和消息下發(fā)函數(shù),當(dāng)發(fā)送成功后,會(huì)彈出提示“發(fā)送成功”,反之“發(fā)送失敗”。打開(kāi)風(fēng)扇會(huì)發(fā)送消息“turn on fan”,關(guān)閉風(fēng)扇會(huì)發(fā)送“turn off fan”,設(shè)備側(cè)將匹配該消息控制GPIO輸出狀態(tài)。

小結(jié)

北向開(kāi)發(fā)已經(jīng)完成。簡(jiǎn)單總結(jié)就是配網(wǎng)、控制ui、發(fā)送消息。接下來(lái)將重心轉(zhuǎn)移到南向設(shè)備開(kāi)發(fā)。

北向完整工程見(jiàn)附件一??【Smart_fan.zip】??。

??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??

??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來(lái)源: 鴻蒙社區(qū)
相關(guān)推薦

2022-05-19 15:40:37

配網(wǎng)開(kāi)發(fā)設(shè)備開(kāi)發(fā)

2022-05-19 15:47:24

碰一碰連接設(shè)備開(kāi)發(fā)鴻蒙

2022-05-17 10:33:58

設(shè)備開(kāi)發(fā)鴻蒙操作系統(tǒng)

2022-05-18 16:17:31

設(shè)備開(kāi)發(fā)鴻蒙

2021-07-08 09:42:04

鴻蒙HarmonyOS應(yīng)用

2021-08-18 16:20:17

HarmonyOS鴻蒙

2022-08-15 22:20:46

應(yīng)用開(kāi)發(fā)華為IoT平臺(tái)

2021-09-18 09:57:20

鴻蒙HarmonyOS應(yīng)用

2020-11-05 10:05:25

App

2022-08-15 22:09:37

設(shè)備開(kāi)發(fā)開(kāi)發(fā)筆記

2021-08-24 14:57:27

鴻蒙HarmonyOS應(yīng)用

2011-08-18 10:59:57

iPhone開(kāi)發(fā)消息通信NSNotificat

2020-11-11 11:56:05

HarmonyOS

2021-03-25 15:54:14

鴻蒙HarmonyOS應(yīng)用開(kāi)發(fā)

2022-01-25 16:54:14

BLE操作系統(tǒng)鴻蒙

2022-11-18 15:42:36

2021-02-24 15:20:38

鴻蒙HarmonyOS嵌入式開(kāi)發(fā)

2022-02-21 15:38:57

Openharmon操作系統(tǒng)鴻蒙

2022-09-07 15:35:49

設(shè)備開(kāi)發(fā)鴻蒙
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)