0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【玩转OH】如何实现树莓派“碰一碰”设备控制

电子发烧友论坛 来源:未知 2023-01-11 02:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

348c45ec-910f-11ed-bfe3-dac502259ad0.jpg

贾振兴

中国科学院软件研究所

OpenHarmony知识体系工作组

以下内容来自嘉宾分享

一、简介

“碰一碰”设备控制,依托NFC短距通信协议,通过碰一碰的交互方式,将OpenAtom OpenHarmony(简称“OpenHarmony”)标准系统设备和全场景设备连接起来,解决了应用与设备之间接续慢、传输难的问题,实现一碰拉起应用,为用户带来无缝切换的流畅体验。

二、“碰一碰”设备控制场景

34979b54-910f-11ed-bfe3-dac502259ad0.png(1)使用效果树莓派开发板靠近小熊派开发板,树莓派中应用程序被拉起,进入LED小灯控制界面。然后,控制端和设备端完成配网通信连接,点击打开小熊派LED小灯点亮,点击关闭LED小灯熄灭。 (2)操作流程
  • 在小熊派的NFC被动贴片中写入控制端应用信息
  • 将树莓派的PN532主动板靠近小熊派NFC贴片,读取贴片中的应用信息,拉起对应的小灯控制应用
  • 控制端和设备端完成配网通信连接
  • 点击打开小熊派LED小灯点亮,点击关闭LED小灯熄灭

三、NFC拉起应用功能实现

近场通信(Near Field Communication,简称NFC),是一种新兴的技术,使用了NFC技术的设备可以在彼此靠近的情况下进行数据交换,是由非接触式射频识别(RFID)演变而来。NFC技术在现实场景中被广泛使用,通过在单一芯片上集成感应式读卡器、感应式卡片和点对点通信的功能,利用移动终端实现移动支付、门禁、移动身份识别、防伪等应用。NFC的点对点模式需要主动板和被动板两个模块,该案例中树莓派的PN532模块是主动板用于读取信息,小熊派开发板的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("创建线程失败
");    }    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函数用于实现循环读取NFC贴片的UID信息,当读到小熊派NFC贴片信息时,创建新的线程拉起对应的LED灯应用。

四、LED小灯应用功能实现

该案例中LED小灯应用,主要基于TCP通信协议实现对小熊派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动态库,led_controller动态库中封装TCP通信相关的接口函数。

五、总结

本文介绍了如何使用NFC实现OpenHarmony“碰一碰”设备控制。首先,需要基于树莓派PN532模块驱动开发NFC智能感知的应用,实现设备间碰一碰发现的功能。然后,基于NAPI开发设备间的TCP通信业务,并在应用层调用接口函数实现LED小灯的开闭。除了文中分享的样例,开发者还可以通过拓展其他相关的属性和方法,实现更多好玩的、高性能的样例。

代码地址:

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

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

本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com

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

热门推荐干货好文

1、24Bit ADC高精度低功耗MCU 医疗级别设备参考设计(附上高精确算法+电路原理图)

2、超强性能AI芯片,OpenHarmony多系统支持,可定制高性能AP(附10+开发Demo)

3、从零入门物联网OH开源平台,从简单到高阶项目,创客电子爱好者都爱用!

4、低成本ESP32方案,支持OpenHarmony系统开发(附10+项目样例Demo)

5、NO RTOS移植!32位、64线程开发板,超强实时性体验!

6、四核64位,超强CPU ,看RK3568“竞”开发板DEMO!

7、人工智能也能这么玩, 简单快速入手,还能自定义AI运算

8、业界首款!支持富设备开发,OpenHarmony开发者都选它!

9、高性能双核RISC-V,满足大多数开发,这款国产MCU工程师都爱了!


原文标题:【玩转OH】如何实现树莓派“碰一碰”设备控制

文章出处:【微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:【玩转OH】如何实现树莓派“碰一碰”设备控制

文章出处:【微信号:gh_9b9470648b3c,微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    iTAP“一碰”技术:中国标准融入全球、华为终端将全面支持、芯片/存储厂商大力推动

    电子发烧友网报道(文/黄晶晶)过去年,iTAP技术正在从标准构想走向规模落地,以一碰即享的体验重塑智慧生活。随着POS支付、数字券卡、智慧交通等场景的突破性进展,个更加开放、安全、高效的近场交互
    的头像 发表于 11-21 08:37 9011次阅读
    iTAP“<b class='flag-5'>碰</b><b class='flag-5'>一碰</b>”技术:中国标准融入全球、华为终端将全面支持、芯片/存储厂商大力推动

    一碰即享:江波龙综合创新与iTAP共筑安全存储生态

    11月18日,以“一碰即享,引领未来”为主题的2025ITMASUMMIT在深圳成功举办。全球近场交互技术领袖与生态伙伴齐聚堂,共同见证了iTAP接入层标准的重磅发布、ITMA全新品牌商标的揭幕
    的头像 发表于 11-18 17:34 587次阅读
    <b class='flag-5'>一碰</b>即享:江波龙综合创新与iTAP共筑安全存储生态

    NFC“一碰”,让交互更便捷

    作为新代智能应用入口,融智兴科技推出的NFC“一碰”产品,以“轻触即连、无感体验”的优势,为企业和用户带来全新的交互方式。
    的头像 发表于 09-26 17:11 2482次阅读
    NFC“<b class='flag-5'>碰</b><b class='flag-5'>一碰</b>”,让交互更便捷

    零成本钢铁侠手套!树莓+OpenCV 秒变手势遥控器!

    大家好,这是树莓和OpenCV的连载专题。使用树莓与OpenCV实现姿态估计和面部特征点
    的头像 发表于 08-16 16:16 887次阅读
    零成本钢铁侠手套!<b class='flag-5'>树莓</b><b class='flag-5'>派</b>+OpenCV 秒变手势遥控器!

    如何使用树莓与OpenCV实现面部和运动追踪的云台系统?

    大家好,这是树莓和OpenCV的连载专题。使用树莓与OpenCV实现姿态估计和面部特征点
    的头像 发表于 08-14 17:45 969次阅读
    如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>与OpenCV<b class='flag-5'>实现</b>面部和运动追踪的云台系统?

    如何使用树莓+OpenCV实现姿态估计和面部特征点追踪?

    大家好,这是树莓和OpenCV的连载专题。使用树莓与OpenCV实现姿态估计和面部特征点
    的头像 发表于 08-13 17:44 978次阅读
    如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>+OpenCV<b class='flag-5'>实现</b>姿态估计和面部特征点追踪?

    奥比中光助力支付宝下落地电梯场景

    近日,支付宝与分众传媒宣布联合推出“下抢红包”服务。作为创新交互方式,“支付宝下”首次被引入至电梯场景,并已在全国20余个城市的电梯铺设。奥比中光作为“支付宝
    的头像 发表于 08-12 11:32 980次阅读

    下”支付终端应用在酒店:智能无卡入住与客房控制

    和数字化体验。消费者在门店买单时,用手机下付款笔笔有优惠、同步实现会员积分。但除了餐饮零售场景,“下”终端和“
    的头像 发表于 07-04 09:57 626次阅读
    “<b class='flag-5'>碰</b><b class='flag-5'>一</b>下”支付终端应用在酒店:智能无卡入住与客房<b class='flag-5'>控制</b>

    下终端,让自助售货机秒变 “家里的冰箱”

    继刷脸支付后,支付宝近日又推出了新的支付方式——下支付。只需将手机轻轻靠近支付宝“下”支付终端,即可完成支付,比以往要先解锁手机,调出APP的付款码再支付的操作环节要便捷和省时
    的头像 发表于 06-18 10:49 1441次阅读
    <b class='flag-5'>碰</b><b class='flag-5'>一</b>下终端,让自助售货机秒变 “家里的冰箱”

    树莓分类器:用树莓识别不同型号的树莓

    在本教程系列的第部分中,您将学习如何使用树莓AI摄像头来检测不同的树莓型号。本系列由DavidPlowman创建,他是
    的头像 发表于 06-13 16:39 994次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>分类器:用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>识别不同型号的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>!

    【HarmonyOS NEXT】华为分享-一碰开发分享

    关键词:鸿蒙、一碰、systemShare、harmonyShare、Share Kit 华为分享新推出一碰分享,支持用户通过手机
    发表于 05-16 16:19

    华为钱包,何以“”出未来?

    一碰即达成为数字生活的新常态
    的头像 发表于 05-05 22:59 2083次阅读
    华为钱包,何以“<b class='flag-5'>碰</b>”出未来?

    树莓+Balena OS:键解锁智能硬件新技能!

    通过云平台实现远程管理。今天,我们就来详细了解下如何在树莓派上安装BalenaOS,并开发你的第个应用,让你的树莓
    的头像 发表于 03-25 09:25 1531次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>+Balena OS:<b class='flag-5'>一</b>键解锁智能硬件新技能!

    GPIO在树莓中的应用

    直接控制和读取外部硬件设备的状态。 1. GPIO简介 GPIO是树莓派上用于与外部世界交互的组引脚。这些引脚可以被配置为输入或输出模式,从而实现
    的头像 发表于 01-09 09:41 1252次阅读

    下”支付背后的4G技术

    不知道你是否有留意,近期,在线下支付场景中,多了个支付宝“下”支付的设备,只需要“解锁手机—
    的头像 发表于 01-03 16:27 5004次阅读