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

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

3天内不再提示

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

德赢Vwin官网 论坛 来源:未知 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贴片是被动板用于保存信息。
intmain(intargc,char**argv){uint8_tbuff[255];uint8_tuid[MIFARE_UID_MAX_LENGTH];int32_tuid_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 = 0prompt.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、24BitADC高精度低功耗MCU医疗级别设备参考设计(附上高精确算法+电路原理图)

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

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

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

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

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

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

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

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


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

文章出处:【微信公众号:德赢Vwin官网论坛】欢迎添加关注!文章转载请注明出处。


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

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

文章出处:【微信号:gh_9b9470648b3c,微信公众号:德赢Vwin官网 论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    树莓4b支持多大的sd卡

    树莓 4B是 款非常受欢迎的微型计算机,它具有强大的性能和丰富的扩展功能。在 树莓 4B的使用过程中,SD卡是
    的头像 发表于08-30 17:02 23次阅读

    树莓是x86还是arm

    树莓 (Raspberry Pi)是 款由英国 树莓 基金会(Raspberry Pi Foundation)开发的微型计算机。它基于ARM架
    的头像 发表于08-30 15:42 49次阅读

    树莓装ubuntu和raspbian哪个更好

    树莓 (Raspberry Pi)是 款由英国 树莓 基金会开发的单板计算机,广泛应用于教育、科研、物联网等领域。
    的头像 发表于08-30 15:41 43次阅读

    【Raspberry Pi 5开发板试用】树莓5---家庭多媒体和控制中心

    和便捷,也使得用户能够更加专注于创意 实现和项目开发,而不是网络配置的繁琐细节。对于许多用户来说,这无疑是 个令人惊喜的发现,极大地丰富了 树莓 的使用场景。 mobaxterm效果: 家
    发表于08-01 17:40

    欢创播报 支付宝“下”正式发布

    1 支付宝“ 下”正式发布 近日,在支付宝开放日上,支付宝宣布升级条码支付体验,推出“支付宝 下”,用户无需展示付款码,解锁手机
    的头像 发表于07-11 11:32 697次阅读
    欢创播报  支付宝“<b class='flag-5'>碰</b><b class='flag-5'>一</b>下”正式发布

    Waveshare推出树莓红外热像仪,可智能检测报警和过热问题

    Waveshare近日推出针对 树莓 的红外线热像仪。此 设备能借助GPIO接口与 树莓派对接,拓展其功能领域。除正常的 树莓
    的头像 发表于05-20 14:45 413次阅读

    复位管脚的上拉电阻会引起复位,为什么?

    我发现 个很奇怪的现象,每当我用万用表的其中 个表笔去触 复位管脚10K的上拉电阻,触 端在5V的电源端那边,单片机就复位。而靠近管脚端却不会。不知这种现象正不正常。
    发表于05-08 06:47

    LED灯丝点焊机 LED灯丝焊机 上下对焊机 五金点焊机 金属焊机

    LED灯丝点焊机 LED灯丝 焊机 上下对焊机 五金点焊机 金属 焊机点焊机采用双面双点过流焊接的原理,工作时两个电极加压工件使两层金属在两电极的压力下形成 定的接触电阻,而焊接电流从
    发表于02-16 16:00

    树莓主板如何连接电脑

    连接 树莓派到电脑是 个非常有用的功能,它可以让我们在电脑上进行 树莓 的操作和管理。本文将详细介绍如何连接 树莓
    的头像 发表于01-07 15:40 1306次阅读

    基于树莓的环境监测系统

    作为环境监测系统的核心 树莓 款低成本的单片机计算机,支持各种操作系统,如Linux等。它具有强大的处理能力和丰富的输入输出接口,使得它成为 个理想的环境监测系统的核心。
    的头像 发表于01-04 15:15 954次阅读

    超实用!玩转树莓攻略!

    如果你使用 树莓派来开发的话,C语言或者Python语言都是 个比较不错的选择。在开始 玩转你的 树莓 前,可以先看看如何快速入门; Raspbe
    的头像 发表于11-01 20:30 1621次阅读
    超实用!<b class='flag-5'>玩转</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>攻略!

    树莓5和香橙5有什么不同?如何选择?

    如果你对开发板感兴趣,你可能想知道刚刚发布的 树莓 5与香橙 5相比有何不同。下面我们将探讨这两款 设备的主要区别,帮助你看看哪 款更适合你的需
    的头像 发表于10-19 16:32 1759次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>5和香橙<b class='flag-5'>派</b>5有什么不同?如何选择?

    加热和冷却树莓5(Raspberry Pi5)这是真嘞?

    每当发布新 代的 树莓 (Raspberry Pi)时,热 控制问题都会引发广泛讨论。人们都在思考是否有必要采取措施以 控制热量,以及如果需要,如
    的头像 发表于10-13 14:41 751次阅读
    加热和冷却<b class='flag-5'>树莓</b><b class='flag-5'>派</b>5(Raspberry Pi5)这是真嘞?

    树莓宣布基于 Debian12“书虫”的树莓操作系统新版本

    树莓 宣布了基于 Debian 12“书虫 ”的 树莓 操作系统的新版本,从 Debian 11“靶心”升级而来,自 2021 年 11 月起作为 树莓
    的头像 发表于10-12 14:26 1863次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>宣布基于 Debian12“书虫”的<b class='flag-5'>树莓</b><b class='flag-5'>派</b>操作系统新版本

    树莓3树莓4原理图分享

    提供了 树莓 3、 树莓 3B、 树莓 4版本的原理图
    发表于09-27 07:58