99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

玩轉(zhuǎn)OpenHarmony智能家居:如何實(shí)現(xiàn)樹(shù)莓派“碰一碰”設(shè)備控制

OpenAtom OpenHarmony ? 來(lái)源:未知 ? 2022-12-26 23:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開(kāi)源項(xiàng)目 OpenHarmony是每個(gè)人的 OpenHarmony 828fa8c6-852d-11ed-bfe3-dac502259ad0.jpg

賈振興

中國(guó)科學(xué)院軟件研究所

OpenHarmony知識(shí)體系工作組

以下內(nèi)容來(lái)自嘉賓分享,不代表開(kāi)放原子開(kāi)源基金會(huì)觀點(diǎn)

一、簡(jiǎn)介

“碰一碰”設(shè)備控制,依托NFC短距通信協(xié)議,通過(guò)碰一碰的交互方式,將OpenAtom OpenHarmony(簡(jiǎn)稱“OpenHarmony”)標(biāo)準(zhǔn)系統(tǒng)設(shè)備和全場(chǎng)景設(shè)備連接起來(lái),解決了應(yīng)用與設(shè)備之間接續(xù)慢、傳輸難的問(wèn)題,實(shí)現(xiàn)一碰拉起應(yīng)用,為用戶帶來(lái)無(wú)縫切換的流暢體驗(yàn)。

二、“碰一碰”設(shè)備控制場(chǎng)景

82a30416-852d-11ed-bfe3-dac502259ad0.png (1)使用效果 當(dāng)樹(shù)莓派開(kāi)發(fā)板靠近小熊派開(kāi)發(fā)板,樹(shù)莓派中應(yīng)用程序被拉起,進(jìn)入LED小燈控制界面。然后,控制端和設(shè)備端完成配網(wǎng)通信連接,點(diǎn)擊打開(kāi)小熊派LED小燈點(diǎn)亮,點(diǎn)擊關(guān)閉LED小燈熄滅。 (2)操作流程 ??在小熊派的NFC被動(dòng)貼片中寫入控制端應(yīng)用信息 ??將樹(shù)莓派的PN532主動(dòng)板靠近小熊派NFC貼片,讀取貼片中的應(yīng)用信息,拉起對(duì)應(yīng)的小燈控制應(yīng)用 ??控制端和設(shè)備端完成配網(wǎng)通信連接 ??點(diǎn)擊打開(kāi)小熊派LED小燈點(diǎn)亮,點(diǎn)擊關(guān)閉LED小燈熄滅 ?

三、NFC拉起應(yīng)用功能實(shí)現(xiàn)

近場(chǎng)通信(Near Field Communication,簡(jiǎn)稱NFC),是一種新興的技術(shù),使用了NFC技術(shù)的設(shè)備可以在彼此靠近的情況下進(jìn)行數(shù)據(jù)交換,是由非接觸式射頻識(shí)別(RFID)演變而來(lái)。NFC技術(shù)在現(xiàn)實(shí)場(chǎng)景中被廣泛使用,通過(guò)在單一芯片上集成感應(yīng)式讀卡器、感應(yīng)式卡片和點(diǎn)對(duì)點(diǎn)通信的功能,利用移動(dòng)終端實(shí)現(xiàn)移動(dòng)支付、門禁、移動(dòng)身份識(shí)別、防偽等應(yīng)用。NFC的點(diǎn)對(duì)點(diǎn)模式需要主動(dòng)板和被動(dòng)板兩個(gè)模塊,該案例中樹(shù)莓派的PN532模塊是主動(dòng)板用于讀取信息,小熊派開(kāi)發(fā)板的NFC貼片是被動(dòng)板用于保存信息。
int main(int argc, char **argv) {
  uint8_t buff[255];
  uint8_t uid[MIFARE_UID_MAX_LENGTH];
  int32_t uid_len = 0;
  PN532 pn532;
  PN532_I2C_Init(&pn532);
  if (PN532_GetFirmwareVersion(&pn532, buff) == PN532_STATUS_ERROR) {
    return -1;
  }
  PN532_SamConfiguration(&pn532);
  while (1) {
    while (1) {
      // 判斷NFC模塊是否靠近
      if (PN532_ReadPassiveTarget(&pn532, uid, PN532_MIFARE_ISO14443A, 1000) != PN532_STATUS_ERROR) {
        break;
      }
      usleep(100);
    }


    HILOGI("開(kāi)始調(diào)起應(yīng)用
");
    pthread_t id1;
    int ret = pthread_create(&id1, NULL, (void *)mythread1, NULL);
    if (ret) {
      HILOGE("創(chuàng)建線程失敗
");
    }


    sleep(4);
  }
}
/*
*拉起設(shè)備控制應(yīng)用的線程
*/
void *mythread1(void) {
  char arg[500] = "aa start -d 1 -a com.huawei.ohos_car_controller.default -b ohos.samples.jshelloworld";
  system(arg);
  return NULL;
}
上述代碼中,NFC功能的實(shí)現(xiàn)需要調(diào)用驅(qū)動(dòng)文件中相應(yīng)的接口函數(shù)。I2C_Init函數(shù)實(shí)現(xiàn)樹(shù)莓派PN532模塊的初始化。PN532_ReadPassiveTarget函數(shù)用于實(shí)現(xiàn)循環(huán)讀取NFC貼片的UID信息,當(dāng)讀到小熊派NFC貼片信息時(shí),創(chuàng)建新的線程拉起對(duì)應(yīng)的LED燈應(yīng)用。

四、LED小燈應(yīng)用功能實(shí)現(xiàn)

該案例中LED小燈應(yīng)用,主要基于TCP通信協(xié)議實(shí)現(xiàn)對(duì)小熊派LED小燈的打開(kāi)和關(guān)閉控制。 82b4d358-852d-11ed-bfe3-dac502259ad0.png ?
import led_controller from '@ohos.led_controller';
export default {
    onShow() {
        this.tcpConnect();
    },
    onDestroy() {
        this.tcpDistroy();
    },
    tcpConnect() {
        let promise_connect = led_controller.Connect();
        promise_connect.then((results) => {
            setTimeout(this.changeText(), 9000);
        }).catch(err => {
            console.log('[led Controller]' + err)
        })
    },
    tcpSend(message) {
        let promise_send = led_controller.Send({
            data: message
        })
        promise_send.then((results) => {
            if (results.send_status == 1) {
                console.log("[led Controller] send success")
            }
        }).catch(err => {
            console.log("[led Controller]" + err)
        })
    },
    tcpDistroy() {
        let promise_disconnect = led_controller.Close()
        promise_disconnect.then((results) => {
            if (results.close_status == 1) {
                ConnectionStatus = 0
                prompt.showToast({
                    message: "網(wǎng)絡(luò)斷開(kāi)",
                });
            }
        }).catch(err => {
            console.log("[led Controller]" + err)
        })
    },
    ledOpen() {
       this.tcpSend("1")
    },
    changeText() {
        prompt.showToast({
            message: "配網(wǎng)成功",
        });
    },
    ledClose() {
        this.tcpSend("0")
    }
}
上述代碼中,通過(guò)import led_controller from '@ohos.led_controller'引入NAPI動(dòng)態(tài)庫(kù),led_controller動(dòng)態(tài)庫(kù)中封裝TCP通信相關(guān)的接口函數(shù)。

五、總結(jié)

本文介紹了如何使用NFC實(shí)現(xiàn)OpenHarmony“碰一碰”設(shè)備控制。首先,需要基于樹(shù)莓派PN532模塊驅(qū)動(dòng)開(kāi)發(fā)NFC智能感知的應(yīng)用,實(shí)現(xiàn)設(shè)備間碰一碰發(fā)現(xiàn)的功能。然后,基于NAPI開(kāi)發(fā)設(shè)備間的TCP通信業(yè)務(wù),并在應(yīng)用層調(diào)用接口函數(shù)實(shí)現(xiàn)LED小燈的開(kāi)閉。除了文中分享的樣例,開(kāi)發(fā)者還可以通過(guò)拓展其他相關(guān)的屬性和方法,實(shí)現(xiàn)更多好玩的、高性能的樣例。

代碼地址:

https://gitee.com/isrc_ohos/led-contrller-device

https://gitee.com/isrc_ohos/led-controller-application

參考地址

設(shè)備端源碼

https://gitee.com/isrc_ohos/led-contrller-device

應(yīng)用端源碼

https://gitee.com/isrc_ohos/led-controller-application

知識(shí)體系

https://gitee.com/openharmony-sig/knowledge


原文標(biāo)題:玩轉(zhuǎn)OpenHarmony智能家居:如何實(shí)現(xiàn)樹(shù)莓派“碰一碰”設(shè)備控制

文章出處:【微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2620

    瀏覽量

    44043
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3854

    瀏覽量

    18602

原文標(biāo)題:玩轉(zhuǎn)OpenHarmony智能家居:如何實(shí)現(xiàn)樹(shù)莓派“碰一碰”設(shè)備控制

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    下”支付終端應(yīng)用在酒店:智能無(wú)卡入住與客房控制

    和數(shù)字化體驗(yàn)。消費(fèi)者在門店買單時(shí),用手機(jī)下付款筆筆有優(yōu)惠、同步實(shí)現(xiàn)會(huì)員積分。但除了餐飲零售場(chǎng)景,“下”終端和“
    的頭像 發(fā)表于 07-04 09:57 ?169次閱讀
    “<b class='flag-5'>碰</b><b class='flag-5'>一</b>下”支付終端應(yīng)用在酒店:<b class='flag-5'>智能</b>無(wú)卡入住與客房<b class='flag-5'>控制</b>

    樹(shù)莓 Zero 2 W 是開(kāi)啟智能家居生活的理想之選!

    想嘗試智能家居自動(dòng)化,又不想花費(fèi)太多?樹(shù)莓Zero2W或許正是你開(kāi)啟智能家居之旅所需的理想設(shè)備。小板子大潛力想打造
    的頭像 發(fā)表于 06-24 16:24 ?198次閱讀
    <b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b> Zero 2 W 是開(kāi)啟<b class='flag-5'>智能家居</b>生活的理想之選!

    【HarmonyOS NEXT】華為分享-一碰開(kāi)發(fā)分享

    關(guān)鍵詞:鴻蒙、一碰、systemShare、harmonyShare、Share Kit 華為分享新推出一碰分享,支持用戶通過(guò)手機(jī)
    發(fā)表于 05-16 16:19

    明遠(yuǎn)智睿SSD2351開(kāi)發(fā)板:智能家居智能核心

    可以存儲(chǔ)智能家居系統(tǒng)的相關(guān)數(shù)據(jù),如用戶的操作記錄、設(shè)備的運(yùn)行狀態(tài)等;以太網(wǎng)和WIFI接口則保證了設(shè)備之間的穩(wěn)定通信,實(shí)現(xiàn)遠(yuǎn)程控制和數(shù)據(jù)傳輸。
    發(fā)表于 05-07 18:59

    華為錢包,何以“”出未來(lái)?

    一碰即達(dá)成為數(shù)字生活的新常態(tài)
    的頭像 發(fā)表于 05-05 22:59 ?1471次閱讀
    華為錢包,何以“<b class='flag-5'>碰</b>”出未來(lái)?

    智能家居控制器:無(wú)線通訊,智能化管理家居設(shè)備

    ,逐步重塑現(xiàn)代人的生活方式。 、技術(shù)原理 智能家居控制器的本質(zhì)是個(gè)集成化控制中樞,通過(guò)低電壓控制
    的頭像 發(fā)表于 04-24 15:09 ?280次閱讀

    智能家居Mesh組網(wǎng)方案:實(shí)現(xiàn)智能化生活的無(wú)縫連接NRF52832

    自組織的 Mesh 網(wǎng)絡(luò),將各個(gè)智能設(shè)備連接在起,實(shí)現(xiàn)了全屋智能家居的無(wú)縫連接。與傳統(tǒng)的單點(diǎn)連接方式相比,Mesh 網(wǎng)絡(luò)具有更強(qiáng)的穩(wěn)定性和
    發(fā)表于 04-15 14:07

    重大突破?這個(gè)系統(tǒng),讓智能家居生態(tài)屏障土崩瓦解

    Zigbee、藍(lán)牙、WiFi、LAN。今天我要給大家?guī)?lái)份超有趣的教程,讓你用樹(shù)莓、HomeAssistant、小米設(shè)備和HomeKit打造屬于自己的
    的頭像 發(fā)表于 03-29 09:43 ?641次閱讀
    重大突破?這個(gè)系統(tǒng),讓<b class='flag-5'>智能家居</b>生態(tài)屏障土崩瓦解

    Homey Pro由樹(shù)莓 Compute Module 4 供電

    個(gè)先進(jìn)的樞紐,使智能家居系統(tǒng)更智能、更可定制、更易于控制HomeyPro由樹(shù)莓Compute
    的頭像 發(fā)表于 03-25 09:48 ?341次閱讀
    Homey Pro由<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b> Compute Module 4 供電

    智能家居到智慧建筑:NAYOTA LBMS 如何賦能 樹(shù)莓5 實(shí)現(xiàn)設(shè)備互聯(lián)?

    智能建筑飛速發(fā)展的今天,如何高效、穩(wěn)定地管理和控制上千個(gè)設(shè)備,成為每個(gè)建筑管理者和開(kāi)發(fā)者亟待解決的難題。樹(shù)莓
    的頭像 發(fā)表于 03-25 09:42 ?547次閱讀
    從<b class='flag-5'>智能家居</b>到智慧建筑:NAYOTA LBMS 如何賦能 <b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>5 <b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>設(shè)備</b>互聯(lián)?

    樹(shù)莓+Balena OS:鍵解鎖智能硬件新技能!

    通過(guò)云平臺(tái)實(shí)現(xiàn)遠(yuǎn)程管理。今天,我們就來(lái)詳細(xì)了解下如何在樹(shù)莓派上安裝BalenaOS,并開(kāi)發(fā)你的第個(gè)應(yīng)用,讓你的樹(shù)莓
    的頭像 發(fā)表于 03-25 09:25 ?992次閱讀
    <b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>+Balena OS:<b class='flag-5'>一</b>鍵解鎖<b class='flag-5'>智能</b>硬件新技能!

    【第彈】樹(shù)莓開(kāi)發(fā)者必看!Ubuntu Snap煥新升級(jí):跨平臺(tái)開(kāi)發(fā)從未如此簡(jiǎn)單!

    導(dǎo)語(yǔ):當(dāng)樹(shù)莓遇上UbuntuSnap,會(huì)發(fā)生什么?無(wú)論是用樹(shù)莓搭建智能家居中樞,還是開(kāi)發(fā)物聯(lián)網(wǎng)邊緣設(shè)
    的頭像 發(fā)表于 03-25 09:19 ?393次閱讀
    【第<b class='flag-5'>一</b>彈】<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派</b>開(kāi)發(fā)者必看!Ubuntu Snap煥新升級(jí):跨平臺(tái)開(kāi)發(fā)從未如此簡(jiǎn)單!

    物聯(lián)網(wǎng)智能家居解決方案,實(shí)現(xiàn)設(shè)備間的無(wú)縫連接

    隨著科技的飛速發(fā)展,物聯(lián)網(wǎng)(IoT)技術(shù)已經(jīng)逐漸滲透到生活的方方面面,特別是在智能家居領(lǐng)域,正引領(lǐng)著場(chǎng)前所未有的居住革命。物聯(lián)網(wǎng)智能家居解決方案,智能聯(lián)動(dòng)
    的頭像 發(fā)表于 02-26 16:51 ?647次閱讀

    下”支付背后的4G技術(shù)

    不知道你是否有留意,近期,在線下支付場(chǎng)景中,多了個(gè)支付寶“下”支付的設(shè)備,只需要“解鎖手機(jī)—
    的頭像 發(fā)表于 01-03 16:27 ?1892次閱讀

    使用樹(shù)莓實(shí)現(xiàn)遠(yuǎn)程控制的技巧

    樹(shù)莓款功能強(qiáng)大的微型計(jì)算機(jī),其體積小巧、價(jià)格低廉,非常適合用于各種DIY項(xiàng)目。其中,遠(yuǎn)程控制樹(shù)莓
    的頭像 發(fā)表于 11-11 11:37 ?1403次閱讀