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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【玩轉OH】如何實現樹莓派“碰一碰”設備控制

電子發(fā)燒友論壇 ? 來源:未知 ? 2023-01-11 02:05 ? 次閱讀
348c45ec-910f-11ed-bfe3-dac502259ad0.jpg

賈振興

中國科學院軟件研究所

OpenHarmony知識體系工作組

以下內容來自嘉賓分享

一、簡介

“碰一碰”設備控制,依托NFC短距通信協(xié)議,通過碰一碰的交互方式,將OpenAtom OpenHarmony(簡稱“OpenHarmony”)標準系統(tǒng)設備和全場景設備連接起來,解決了應用與設備之間接續(xù)慢、傳輸難的問題,實現一碰拉起應用,為用戶帶來無縫切換的流暢體驗。

二、“碰一碰”設備控制場景

34979b54-910f-11ed-bfe3-dac502259ad0.png(1)使用效果樹莓派開發(fā)板靠近小熊派開發(fā)板,樹莓派中應用程序被拉起,進入LED小燈控制界面。然后,控制端和設備端完成配網通信連接,點擊打開小熊派LED小燈點亮,點擊關閉LED小燈熄滅。 (2)操作流程
  • 在小熊派的NFC被動貼片中寫入控制端應用信息
  • 將樹莓派的PN532主動板靠近小熊派NFC貼片,讀取貼片中的應用信息,拉起對應的小燈控制應用
  • 控制端和設備端完成配網通信連接
  • 點擊打開小熊派LED小燈點亮,點擊關閉LED小燈熄滅

三、NFC拉起應用功能實現

近場通信(Near Field Communication,簡稱NFC),是一種新興的技術,使用了NFC技術的設備可以在彼此靠近的情況下進行數據交換,是由非接觸式射頻識別(RFID)演變而來。NFC技術在現實場景中被廣泛使用,通過在單一芯片上集成感應式讀卡器、感應式卡片和點對點通信的功能,利用移動終端實現移動支付、門禁、移動身份識別、防偽等應用。NFC的點對點模式需要主動板和被動板兩個模塊,該案例中樹莓派的PN532模塊是主動板用于讀取信息,小熊派開發(fā)板的NFC貼片是被動板用于保存信息。
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("開始調起應用
");    pthread_t id1;    int ret = pthread_create(&id1, NULL, (void *)mythread1, NULL);    if (ret) {      HILOGE("創(chuàng)建線程失敗
");    }    sleep(4);  }}/**拉起設備控制應用的線程*/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功能的實現需要調用驅動文件中相應的接口函數。I2C_Init函數實現樹莓派PN532模塊的初始化。PN532_ReadPassiveTarget函數用于實現循環(huán)讀取NFC貼片的UID信息,當讀到小熊派NFC貼片信息時,創(chuàng)建新的線程拉起對應的LED燈應用。

四、LED小燈應用功能實現

該案例中LED小燈應用,主要基于TCP通信協(xié)議實現對小熊派LED小燈的打開和關閉控制。 34a18aba-910f-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: "網絡斷開",
                });
            }
        }).catch(err => {
            console.log("[led Controller]" + err)
        })
    },
    ledOpen() {
       this.tcpSend("1")
    },
    changeText() {
        prompt.showToast({
            message: "配網成功",
        });
    },
    ledClose() {
        this.tcpSend("0")
    }
}
上述代碼中,通過import led_controller from '@ohos.led_controller'引入NAPI動態(tài)庫,led_controller動態(tài)庫中封裝TCP通信相關的接口函數。

五、總結

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

代碼地址:

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

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

本文由電子發(fā)燒友社區(qū)發(fā)布,轉載請注明以上來源。如需社區(qū)合作及入群交流,請?zhí)砑?/span>微信EEFans0806,或者發(fā)郵箱liuyong@huaqiu.com。

34b9747c-910f-11ed-bfe3-dac502259ad0.png

熱門推薦干貨好文

1、24Bit ADC高精度低功耗MCU 醫(yī)療級別設備參考設計(附上高精確算法+電路原理圖)

2、超強性能AI芯片,OpenHarmony多系統(tǒng)支持,可定制高性能AP(附10+開發(fā)Demo)

3、從零入門物聯(lián)網OH開源平臺,從簡單到高階項目,創(chuàng)客、電子愛好者都愛用!

4、低成本ESP32方案,支持OpenHarmony系統(tǒng)開發(fā)(附10+項目樣例Demo)

5、NO RTOS移植!32位、64線程開發(fā)板,超強實時性體驗!

6、四核64位,超強CPU ,看RK3568“競”開發(fā)板DEMO!

7、人工智能也能這么玩, 簡單快速入手,還能自定義AI運算

8、業(yè)界首款!支持富設備開發(fā),OpenHarmony開發(fā)者都選它!

9、高性能雙核RISC-V,滿足大多數開發(fā),這款國產MCU工程師都愛了!


原文標題:【玩轉OH】如何實現樹莓派“碰一碰”設備控制

文章出處:【微信公眾號:電子發(fā)燒友論壇】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:【玩轉OH】如何實現樹莓派“碰一碰”設備控制

文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發(fā)燒友論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    下”支付背后的4G技術

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

    使用樹莓實現遠程控制的技巧

    樹莓款功能強大的微型計算機,其體積小巧、價格低廉,非常適合用于各種DIY項目。其中,遠程控制樹莓
    的頭像 發(fā)表于 11-11 11:37 ?523次閱讀

    樹莓與Arduino的區(qū)別是什么

    Pi): 樹莓最初是作為教育工具設計的,旨在幫助學生學習計算機編程和電子工程。隨著時間的推移,它已經發(fā)展成為個多功能的微型計算機,可以用于各種項目,包括但不限于: 家庭媒體中心 游戲機 網絡服務器 IoT(物聯(lián)網)
    的頭像 發(fā)表于 11-11 11:14 ?874次閱讀

    ARM開發(fā)板與樹莓的比較

    ARM開發(fā)板和樹莓都是基于ARM架構的單板計算機,它們在教育、工業(yè)控制、物聯(lián)網等領域有著廣泛的應用。 硬件配置 ARM開發(fā)板和樹莓的硬件
    的頭像 發(fā)表于 11-05 11:11 ?491次閱讀

    樹莓gpio有什么用,樹莓gpio接口及編程方法

    /Output,通用輸入/輸出)是樹莓提供的組可編程的引腳,是樹莓與外部世界進行交互的重要橋梁。通過GPIO,用戶可以
    的頭像 發(fā)表于 10-22 18:09 ?948次閱讀

    什么是樹莓?樹莓是什么架構的

    什么是樹莓 樹莓(Raspberry Pi,簡寫為RPi,別名為RasPi/RPI)是由英國“Raspberry Pi 慈善基金會”開發(fā)的
    的頭像 發(fā)表于 10-22 17:33 ?966次閱讀

    樹莓網關:物聯(lián)網應用的新標桿

    的特點是體積小巧(大約信用卡大?。δ荦R全,足以支持多種計算任務。 樹莓經常被用作物聯(lián)網網關,收集設備數據,然后將數據上傳云平臺,并還可以用來接收來自云端的控制指令,
    的頭像 發(fā)表于 10-09 16:44 ?334次閱讀
    類<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>網關:物聯(lián)網應用的新標桿

    樹莓和單片機的優(yōu)缺點是什么

    )接口,樹莓可以連接各種傳感器、執(zhí)行器和其他外圍設備。 易于編程 :樹莓支持多種編程語言,如Python、C++、Java等,使得
    的頭像 發(fā)表于 08-30 18:21 ?1685次閱讀

    樹莓的功能用途是什么

    、科研、工業(yè)控制、物聯(lián)網、多媒體播放、家庭自動化等領域。 樹莓(Raspberry Pi)是種小型、低成本的單板計算機,由英國的Raspberry Pi基金會開發(fā),其功能和用途非常
    的頭像 發(fā)表于 08-30 18:01 ?2807次閱讀

    樹莓4b支持多大的sd卡

    樹莓4B是款非常受歡迎的微型計算機,它具有強大的性能和豐富的擴展功能。在樹莓4B的使用過程中,SD卡是
    的頭像 發(fā)表于 08-30 17:02 ?1246次閱讀

    樹莓裝ubuntu和raspbian哪個更好

    樹莓(Raspberry Pi)是款由英國樹莓基金會開發(fā)的單板計算機,廣泛應用于教育、科研、物聯(lián)網等領域。
    的頭像 發(fā)表于 08-30 15:41 ?1390次閱讀

    歡創(chuàng)播報 支付寶“下”正式發(fā)布

    1 支付寶“下”正式發(fā)布 近日,在支付寶開放日上,支付寶宣布升級條碼支付體驗,推出“支付寶下”,用戶無需展示付款碼,解鎖手機
    的頭像 發(fā)表于 07-11 11:32 ?902次閱讀
    歡創(chuàng)播報  支付寶“<b class='flag-5'>碰</b><b class='flag-5'>一</b>下”正式發(fā)布

    復位管腳的上拉電阻會引起復位,為什么?

    我發(fā)現個很奇怪的現象,每當我用萬用表的其中個表筆去觸復位管腳10K的上拉電阻,觸端在5V的電源端那邊,單片機就復位。而靠近管腳端卻不會。不知這種現象正不正常。
    發(fā)表于 05-08 06:47

    LED燈絲點焊機 LED燈絲焊機 上下對焊機 五金點焊機 金屬焊機

    LED燈絲點焊機 LED燈絲焊機 上下對焊機 五金點焊機 金屬焊機點焊機采用雙面雙點過流焊接的原理,工作時兩個電極加壓工件使兩層金屬在兩電極的壓力下形成定的接觸電阻,而焊接電流從
    發(fā)表于 02-16 16:00

    樹莓主板如何連接電腦

    連接樹莓派到電腦是個非常有用的功能,它可以讓我們在電腦上進行樹莓的操作和管理。本文將詳細介紹如何連接樹莓
    的頭像 發(fā)表于 01-07 15:40 ?2002次閱讀