NFC:应用场景广泛的短距离通信技术
NFC:应用场景广泛的短距离通信技术
- 一、NFC 技术介绍
- 1.1 NFC 技术应用场景
- 1.2 NFC 技术优点
- 1.3 NFC 工作原理
- 二、NFC 开发
- 2.1 NFC 应用开发流程
- 2.2 NFC 读取和写入
- 2.3 NFC 读写功能示例
- 三、总结
一、NFC 技术介绍
NFC (Near-field communication)是近场通信的缩写,是一种短距离无线通信技术,可以用于设备之间的数据传输。NFC 的最大传输距离为 10 厘米,数据传输速率为 106 kbit/s。
NFC 技术的官方网站是 NFC Forum,网址是: https://nfc-forum.org/
NFC Forum 是一个非营利组织,致力于推动 NFC 技术的开发和应用。NFC Forum 的网站提供了有关 NFC 技术的最新信息,包括工作原理、应用场景、开发资源等。

1.1 NFC 技术应用场景
- 移动支付:使用 NFC 可以进行非接触式支付,例如使用手机或手表进行支付。
- 门禁控制:使用 NFC 可以控制门禁,例如使用 NFC 卡或手机来开门。
- 数据传输:使用 NFC 可以将数据从一个设备传输到另一个设备,例如将联系人信息从手机传输到电脑。
- 智能家居:NFC技术可以用于智能家居设备的连接和控制,例如智能灯泡、智能门锁等。
- 智能标签:NFC标签可以嵌入到物品中,方便物品的追踪和管理。
- 广告:使用 NFC 可以将广告信息传输到用户的设备上。
- 安全:使用 NFC 可以进行身份验证,例如使用 NFC 卡来登录系统。
1.2 NFC 技术优点
- 安全:NFC 使用加密技术来保护数据安全。
- 方便:NFC 使用非接触式通信方式,使用起来非常方便。
- 成本低:NFC 技术的成本相对较低。
NFC 技术在未来具有广阔的应用前景。随着 NFC 技术的不断发展,NFC 将会在更多领域得到应用。
1.3 NFC 工作原理
NFC技术的基本原理
- 工作频率和距离:NFC工作在13.56MHz的频率下,通信距离一般为几厘米。
- 通信模式:NFC支持两种主要的通信模式,即读取模式和点对点模式。
- 数据传输:NFC使用感应耦合来传输数据,通过将设备靠近或触摸NFC标签或其他设备来建立通信。
NFC 技术使用的是 RFID 技术的一种,RFID 技术是射频识别技术的简称。RFID 技术使用射频信号来识别目标物体。
NFC 技术的工作原理如下:
- 两个 NFC 设备靠近彼此。
- 两个设备中的 NFC 芯片开始发送信号。
- 两个设备中的 NFC 芯片通过信号进行通信。
二、NFC 开发
在 Android 中,要开发 NFC 应用,需要使用 NfcAdapter 类。NfcAdapter 类提供了对 NFC 硬件和功能的访问。
2.1 NFC 应用开发流程
- 在 AndroidManifest.xml 文件中声明 NFC 权限。
<uses-permission android:name="android.permission.NFC" /><uses-feature android:name="android.hardware.nfc" android:required="true" />
- 在Activity标签中声明识别NFC标签
<activity android:name=".NFCActivity"> <intent-filter> <action android:name="android.nfc.action.TAG_DISCOVERED" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
</activity>
- 在 Activity 的 onCreate() 方法中获取 NfcAdapter 实例。
NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
- 注册 NfcAdapter 的状态监听器。
nfcAdapter.setNfcAdapterStateListener(this);
- 在 Activity 的 onResume() 方法中启用 NFC 功能。
nfcAdapter.enableForegroundDispatch(this, pendingIntent, null, null);
- 在 Activity 的 onNewIntent() 方法中处理 NFC 读写事件。
@Override
protected void onNewIntent(Intent intent) {super.onNewIntent(intent);// 处理 NFC 读写事件
}
2.2 NFC 读取和写入
🌟 读取 NFC 数据
要读取 NFC 数据,您可以使用 NfcAdapter 的 readTagFromIntent() 方法。
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);// 读取 NFC 数据
byte[] data = tag.getId();
🌟 写入 NFC 数据
要写入 NFC 数据,您可以使用 NfcAdapter 的 writeTag() 方法。
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);// 写入 NFC 数据
nfcAdapter.writeTag(data, tag);
2.3 NFC 读写功能示例
以下是一个实现 NFC 读写功能的示例代码:
public class MainActivity extends AppCompatActivity implements NfcAdapter.NfcAdapterStateListener {private NfcAdapter nfcAdapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 获取 NfcAdapter 实例nfcAdapter = NfcAdapter.getDefaultAdapter(this);// 注册 NfcAdapter 的状态监听器nfcAdapter.setNfcAdapterStateListener(this);}@Overrideprotected void onResume() {super.onResume();// 启用 NFC 功能nfcAdapter.enableForegroundDispatch(this, pendingIntent, null, null);}@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);// 处理 NFC 读写事件Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);// 读取 NFC 数据byte[] data = tag.getId();// 显示 NFC 数据Log.d(TAG, "NFC data: " + Arrays.toString(data));// 写入 NFC 数据// byte[] data = "Hello, world!".getBytes();// nfcAdapter.writeTag(data, tag);}@Overridepublic void onNfcAdapterStateChanged(int state) {Log.d(TAG, "NFC state: " + state);}
}
运行该应用程序后,将会启用 NFC 功能。当您将 NFC 标签靠近设备时,应用程序将会读取 NFC 标签的数据并显示在日志中。您还可以使用应用程序将数据写入 NFC 标签。
三、总结
近场通信(NFC)技术作为一种无线连接技术,正在改变我们的生活方式。它带来了更便捷、更安全的支付方式,使得物联网设备之间的互联更加智能化。无论是在支付、身份验证还是智能交互方面,NFC都扮演着重要的角色。随着技术的不断发展,我们可以期待NFC在更多领域的应用和创新,为我们的生活带来更多便利与乐趣。
相关文章:
NFC:应用场景广泛的短距离通信技术
NFC:应用场景广泛的短距离通信技术 一、NFC 技术介绍1.1 NFC 技术应用场景1.2 NFC 技术优点1.3 NFC 工作原理 二、NFC 开发2.1 NFC 应用开发流程2.2 NFC 读取和写入2.3 NFC 读写功能示例 三、总结 一、NFC 技术介绍 NFC (Near-field communication&…...
CentOS使用docker安装OpenGauss数据库
1.搜索OpenGauss docker search opengauss 2.选择其中一个源拉取 docker pull docker.io/enmotech/opengauss 3.运行OpenGauss docker run --name opengauss --privilegedtrue --restartalways -d -e GS_USERNAMEpostgres -e GS_PASSWORDmyGauss2023 -p 5432:5432 docker.…...
原理Redis-QuickList
QuickList **问题1:**ZipList虽然节省内存,但申请内存必须是连续空间,如果内存占用较多,申请内存效率很低。怎么办? 为了缓解这个问题,我们必须限制ZipList的长度和entry大小。 **问题2:**但是…...
js双击修改元素内容并提交到后端封装实现
前面发过一个版本了,后来又追加了些功能。重新发一版。新版支持select和radio。 效果图: 右上角带有绿标的,是可以修改的单元格。如果不喜欢显示绿标,可以传递参数时指定不显示,如果想改为其它颜色,也可以…...
Kubernetes+Gitlab+Jenkins+ArgoCD多集群部署
KubernetesGitlabJenkinsArgoCD多集群部署 文章目录 KubernetesGitlabJenkinsArgoCD多集群部署1. KubernetesGitlabJenkinsArgoCD多集群部署2. 添加WebHooks自动触发3. Jenkins-构建-执行Shell4. 制作镜像及修改Yaml文件4.1 Dockerfile4.2 Build-Shell 5.自动部署Demo测试5.1 推…...
在中国企业出海的大浪潮下,亚马逊云科技提供遍及全球的基础设施和技术支持
中国技术出海是中国企业更高层次更高质量的全球化。在人类文明发展史上,凝聚中国古人智慧结晶的造纸术、印刷术、火药、指南针等,曾为中国技术出海写下过浓墨重彩的一笔。在今天,如金山办公、店匠科技、ADVANCE.AI等公司又以技术立业…...
前端如何判空
这样判空就会报错 loadNode(node, resolve)console.log("node")console.log(node)if (node.data ! null) {this.get(ctx /publicity/publicityType/typeTreeData?id node.data.id).then((res) > {resolve(res)})}}, 需要这样写,用typeof来做类型判…...
基于SSM的焦作旅游协会管理系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
庖丁解牛:NIO核心概念与机制详解 07 _ 字符集
文章目录 Pre概述编码/解码处理文本的正确方式示例程序Code Pre 庖丁解牛:NIO核心概念与机制详解 01 庖丁解牛:NIO核心概念与机制详解 02 _ 缓冲区的细节实现 庖丁解牛:NIO核心概念与机制详解 03 _ 缓冲区分配、包装和分片 庖丁解牛&…...
ansible的基本安装
目录 一、简介 1.ansible自动化运维人工运维时代 2.自动化运维时代 3.ansible介绍 4.ansible特点 二、ansible实践 1.环境 2.ansible管理安装 3.ansible被管理安装 4.管理方式 5.添加被管理机器的ip 6.ssh密码认证方式管理 三、配置免密登录 1.ansible自带的密码…...
开发仿抖音APP遇到的问题和解决方案
uni-app如何引入阿里矢量库图标/uniapp 中引入 iconfont 文件报错文件查找失败 uni-app如何引入阿里矢量库图标 - 知乎 uniapp 中引入 iconfont 文件报错文件查找失败:‘./iconfont.woff?t1673007495384‘ at App.vue:6_宝马金鞍901的博客-CSDN博客 将课件中的cs…...
手机上玩.NET的两种方式
少见!手机上玩 .NET_哔哩哔哩_bilibili 小米平板敲代码,termux安装dotnet和vscode_哔哩哔哩_bilibili 都是先容器加载linux rootfs,然后安装 linux-arm64 版本的 dotnet 命令行方式运行 dotnet,代码编辑到是可以安装使用 vscode…...
DedeBIZ 管理系统 DedeV6 v6.2.6 社区版 免费授权版
DedeBIZ 系统:开源、安全、高效的 DedeV6 v6.2.6 社区版 DedeBIZ 系统是基于 PHP 7 版本开发的,具有强大的可扩展性,并且完全开放源代码。它采用现流行的 Go 语言设计开发,不仅拥有简单易用、灵活扩展的特性,还具备更…...
编译 CUDA加速的 OpenCV-4.8.0 版本
文章目录 前言一、编译环境二、前期准备三、CMake编译四、VS编译OpenCV.sln五、问题 前言 由于项目需要用上CUDA加速的OpenCV,编译时也踩了不少坑,所以这里记录一下。 一、编译环境 我的编译环境是: Win10 RTX4050 CUDA-12.0 CUDNN 8.9.…...
设计模式篇---外观模式
文章目录 概念结构实例总结 概念 外观模式:为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式引入了一个新的外观类,它为多个业务类的调用提供了一个统一的入口。主要优点…...
leetcode:520. 检测大写字母
一、题目: 链接:520. 检测大写字母 - 力扣(LeetCode) 函数原型:bool detectCapitalUse(char* word) 二、思路: 本题较为简单,分为三种情况: 1.首字母大写,其余小写 2.首字…...
5-6求1-20的阶乘和
#include<stdio.h> //求阶乘 int main(){int n;double sum0;//求和:一点一点加int t1;for (n1;n<15;n){tt*n;sumsumt;}printf("结果是:%22.15e \n",sum);return 0; }为啥最后是%22.15e呢? 因为这个求和的结果太大了 所以转…...
web需求记录
需求1:根据后端传过来的设备名:DESKTOP-4DQRGQB,以及mac:e0:be:03:74:40:0b;iQOO-8,mac:b0:33:66:38:c3:25,用web option 是动态增加的(也就是那个选择框里面的东西是根据后端传过来的值动态增加的…...
[网鼎杯 2018]Fakebook
[网鼎杯 2018]Fakebook 打开环境出现一个登录注册的页面 在登录和注册中发现 了地址栏出现变化,扫一波看看 看看robots.txt和flag.php 访问robots.txt看看 再访问user.php.bak <?php class UserInfo { public $name ""; public …...
微信小程序蓝牙连接 uniApp蓝牙连接设备
蓝牙列表期待效果 代码 <template><view class"bluetooth-list"><view class"align-items option" style"justify-content: space-between;" v-for"item in bluetoothList" :key"item.deviceId"><vie…...
WarcraftHelper:魔兽争霸3终极兼容性解决方案,免费解锁完整游戏体验
WarcraftHelper:魔兽争霸3终极兼容性解决方案,免费解锁完整游戏体验 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为《魔…...
基于Azure OpenAI构建企业级AI聊天应用:架构、部署与生产就绪指南
1. 项目概述与核心价值 最近在帮一个客户做企业级AI应用落地,他们想基于Azure OpenAI服务快速搭建一个内部使用的ChatGPT风格应用,同时要求具备企业级的身份认证、日志审计和对话数据持久化能力。在评估了几个方案后,我们最终选择了微软官方…...
开源安全工具集OpenClaw-Arsenals:架构解析与实战应用指南
1. 项目概述:从“军火库”到开源安全工具集看到adelpro/openclaw-arsenals这个项目标题,很多安全从业者或技术爱好者可能会会心一笑。“Arsenals”直译是“军火库”,在网络安全领域,这通常指代一个功能强大、种类齐全的工具集合。…...
长尾关键词在SEO优化中的应用价值与技巧分享
长尾关键词是SEO优化中的关键元素,它们通常包含三个或更多单词,满足用户的具体搜索需求。通过分析用户的搜索行为,长尾关键词可以帮助网站吸引更具针对性的流量。在实施SEO策略时,合理运用长尾关键词能够提高转化率,增…...
基于Go语言构建微信机器人:从原理到部署的完整实践指南
1. 项目概述与核心价值最近在折腾一个需求,需要让微信能自动处理一些消息,比如自动回复、关键词触发任务,或者把群聊里的重要信息同步到其他平台。市面上虽然有一些现成的方案,但要么是依赖特定框架封装得太死,要么是部…...
QMC加密音频解密技术:qmc-decoder实现无损格式转换解决方案
QMC加密音频解密技术:qmc-decoder实现无损格式转换解决方案 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 在数字音乐版权保护领域,QMC(…...
3个实用技巧:如何轻松访问全球最大同人创作平台AO3
3个实用技巧:如何轻松访问全球最大同人创作平台AO3 【免费下载链接】AO3-Mirror-Site 项目地址: https://gitcode.com/gh_mirrors/ao/AO3-Mirror-Site 你是否曾经在深夜灵感迸发,想要寻找同人创作的灵感,却发现无法访问全球最大的同人…...
从LED闪烁到温度监测:用蓝桥杯CT107D板子复刻5个经典电子小项目
从LED闪烁到温度监测:用蓝桥杯CT107D板子复刻5个经典电子小项目 在电子技术学习过程中,理论与实践的结合往往是最具挑战性的一环。蓝桥杯CT107D开发板作为一款功能丰富的单片机学习平台,为电子爱好者提供了从基础到进阶的完整实践路径。本文将…...
终极英雄联盟智能助手:5个步骤快速掌握League Akari完整使用指南
终极英雄联盟智能助手:5个步骤快速掌握League Akari完整使用指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari是一…...
从5毛钱的NTC到精准温度:一个ADC采样电路的硬件设计与软件校准全流程
从5毛钱的NTC到精准温度:一个ADC采样电路的硬件设计与软件校准全流程 在消费电子和智能硬件领域,成本控制往往是产品成败的关键。当我们需要在BOM清单上为温度监测功能寻找解决方案时,摆在面前的选择通常有两种:价格动辄5元以上的…...
