28H的NFC怎么用.主机开启显示屏没反应了NFC但是没反应

nfc 公交卡 手机NFC功能妙用读取公交卡信息实战分享
作者:佚名
字体:[ ] 来源:互联网 时间:01-28 16:49:33
目前NFC还并没有完全的融入到我们的日常生活 里,以致于很多朋友除了数据传输外,并不清楚手机NFC技术具体还能够做哪些事情?所以我们今天除了介绍其基本功能外,还会通过实际的操作让大家来了解NFC技术,感兴趣的朋友可以了解下,希望本文可以帮助到你
早在2010年末,NFC这个名词就开始被人们广泛的关注,当时谷歌在其官方博客上发布了与三星合作研发的第二款谷歌手机Nexus S,三星的型号为i9020,虽然这款手机搭载了当时最新的Android 2.3版系统,但NFC应用技术仍然抢夺了大部分的关注目光,众多手机终端厂商也纷纷表示要在自己的新一代产品中加入NFC模块。
虽然对该技术很熟悉,但因为一些业界内存在的分歧,导致手机NFC技术不能够被很好的推广应用,所以目前还并没有完全的融入到我们的日常生活 里,以致于很多朋友除了数据传输外,并不清楚手机NFC技术具体还能够做哪些事情?所以我们今天除了介绍其基本功能外,还会通过实际的操作让大家来了解 NFC技术。
公交卡实战NFC功能
对于当前来说,NFC功能在我们的实际生活中还并没有完全的展现出来,除了能够近距离传输文件外,也可对应多种支持NFC的APP来进行其他功 能,比如查询公交一卡通的消费记录等。而另一个比较实用的NFC功能,则是使用NFC标签来指定智能手机转换至特定的模式,比如在公司开会时,只需要轻轻 的将NFC标签碰触手机,就可以将手机转换为静音模式,非常方便。
三星Nexus S
事实上,很多NFC的功能都是需要特定的&标签&来操作的,而NFC标签可以自制也可以在淘宝进行购买。不过近日我们发现,只需要一款能够对 NFC标签读取的APP应用,就可以让生活中带有NFC芯片的产品变成NFC标签,比如北京市政公交一卡通,省去了另外购买NFC标签的金钱。下面我们就 一起来了解如何通过公交一卡通,来对手机指定一些操作。
HTC One X与市政公交一卡通
准备工具:
带有NFC模块的手机一部
北京市政公交一卡通
能够对NFC标签读取的APP应用
其实除了北京市政公交一卡通外,地铁单程票卡也可以作为NFC标签,再加上我们使用的HTC One X是一部支持NFC模块的手机,所以有了这些准备工具,就可以去下载一款能够对NFC标签读取的APP应用,目前类似的应用较多,而我们使用的应用名称为 NFC Tag。
NFC Tag介绍
通过NFC Tag扫描公交一卡通
配对成功后,就能够自行设置&标签名称&以及&任务信息&
NFC Tag所支持的功能十分齐全,当我们开启NFC Tag时,点击&扫描&后,就可以将公交一卡通贴到手机上进行配对,而配对成功后,就能够自行设置&标签名称&以及&任务信息&,来确定当手机接触NFC 标签后会转换哪些模式。包括开启/关闭无线、静音模式、选择铃声、屏幕亮度、发送短信、直接启动某些APP应用等。设置成功后关闭NFC Tag,当手机再次与NFC标签接触时,就会自动开启早前已经设定好的模式了。
设置当手机接触NFC标签后可以转换的模式
模式设定完成,当手机碰触NFC标签后,手机自动转换成静音模式
而且NFC Tag能够一次性支出多个NFC标签,能够在不同的环境中应对不同的事件,比如在车中贴上一个NFC标签,当我们上车时,手机就会自动开启导航;在会议室 桌上贴上NFC标签,开会时就会自动转为静音模式;在家中贴上NFC标签,当孩子回家&刷卡&后,就会自动发短信给父母以告知;在相框后边贴上NFC标 签,当手机碰触相框时就会自动拨打相框中人物的电话等等。而这里也仅仅是一些基础的想法而已,大家还可以创新的想出更多的玩法。
编后语:现在你是否想用NFC了呢,不要急,很快NFC将进入我们的生活当中。
大家感兴趣的内容
12345678910
最近更新的内容涓婁紶鍙戝竷
禄 ftm_nfc.c
ftm_nfc.c ( 鏂囦欢娴忚? )
/* Copyright Statement:
* This software/firmware and related documentation (&MediaTek Software&) are
* protected under relevant copyright laws. The information contained herein
* is confidential and proprietary to MediaTek Inc. and/or its licensors.
* Without the prior written permission of MediaTek inc. and/or its licensors,
* any reproduction, modification, use or disclosure of MediaTek Software,
* and information contained herein, in whole or in part, shall be strictly prohibited.
/* MediaTek Inc. (C) 2010. All rights reserved.
* BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (&MEDIATEK SOFTWARE&)
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
* AN &AS-IS& BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
* THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
* CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
* SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
* STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
* CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
* The following software/firmware and/or related documentation (&MediaTek Software&)
* have been modified by MediaTek Inc. All revisions are subject to any receiver's
* applicable license agreements with MediaTek Inc.
#include &stdio.h&
/* Standard input/output definitions */
#include &string.h&
/* String function definitions */
#include &unistd.h&
/* UNIX standard function definitions */
#include &fcntl.h&
/* File control definitions */
#include &errno.h&
/* Error number definitions */
#include &termios.h& /* POSIX terminal control definitions */
#include &time.h&
#include &pthread.h&
#include &stdlib.h&
#include &signal.h&
#include &netdb.h&
#include &sys/types.h&
#include &sys/wait.h&
#include &sys/socket.h&
#include &sys/epoll.h&
#include &netinet/in.h&
#include &arpa/inet.h&
#include &ctype.h&
#include &dirent.h&
#include &pthread.h&
#include &sys/un.h&
#include &errno.h&
/* Error number definitions */
#include &common.h&
#include &miniui.h&
#include &ftm.h&
#if 1//def FEATURE_FTM_NFC
#include &./../external/mtknfc/inc/mtk_nfc_sys_type_ext.h&
#include &./../../packages/apps/Nfc/mtk-nfc/jni-dload/mtk_nfc_dynamic_load.h&
#include &mtk_nfc_ext_msg.h&
#define TAG
#define INFO_SIZE
#define SOCKET_NFC_PORT (7500)
//#define MTKNFC_COMM_SOCK
&/data/nfc_socket/mtknfc_server&
#define MTKNFC_COMM_SOCK
&/data/mtknfc_server&
//#define MTKNFC_COMM_SOCK
&/data/data/com.mediatek.engineermode/mtknfc_server&
#define USING_LOCAL_SOCKET
//extern int NativeDynamicLoad_queryVersion(void);
/*----------------------------------------------------*/
#define MTK_NFC_MAX_ILM_BUFFER_SIZE
typedef enum {
MSG_ID_NFC_TEST_REQ = 4,
MSG_ID_NFC_TEST_RSP,
}MTK_NFC_MSG_TYPE;
typedef enum {
MOD_NFC_APP
}MTK_NFC_MOD_TYOE;
typedef enum
NFC_APP_SAP,
} MTK_NFC_SAP_TYPE;
typedef struct {
MTK_NFC_MSG_TYPE msg_
MTK_NFC_MOD_TYOE src_mod_
MTK_NFC_MOD_TYOE dest_mod_
MTK_NFC_SAP_TYPE sap_
unsigned char local_para_ptr[MTK_NFC_MAX_ILM_BUFFER_SIZE];
/*----------------------------------------------------*/
int i4TestI
int i4TestItem_W
ITEM_PASS,
static item_t nfc_items_mt6605[] = {
item(ITEM_1,
&NFC_SWP_Test&),
//item(ITEM_2,
&NFC_Tag_UID&),
item(ITEM_3,
&NFC_Tag_DEP&),
item(ITEM_4,
&NFC_Card_Mode&),
item(ITEM_PASS,
&NFC_Test_Pass&),
item(ITEM_FAIL,
&NFC_Test_Fail&),
item(-1, NULL),
static item_t nfc_items_mt6605[] = {
item(ITEM_1,
uistr_info_nfc_swp_test),
item(ITEM_3,
uistr_info_nfc_tag_dep),
item(ITEM_4,
uistr_info_nfc_card_mode),
item(ITEM_5,
uistr_info_nfc_vcard_mode),
item(ITEM_PASS,
uistr_info_test_pass),
item(ITEM_FAIL,
uistr_info_test_fail),
item(-1, NULL),
struct nfc_desc {
info[INFO_SIZE];
pthread_t update_
struct ftm_module *
struct itemview *
#define mod_to_nfc(p)
(struct nfc_desc*)((char*)(p) + sizeof(struct ftm_module))
#define C_INVALID_PID
/*invalid process id*/
#define C_INVALID_TID
/*invalid thread id*/
#define C_INVALID_FD
/*invalid file handle*/
#define C_INVALID_SOCKET (-1) /*invalid socket id*/
int nfc_sockfd = C_INVALID_SOCKET;
static int nfc_close_mt6605(void)
int ret=0;
s_mtk_nfc_main_msg *pnfc_
//Set NEC MEssage
pnfc_msg = malloc(sizeof(s_mtk_nfc_main_msg));
pnfc_msg-&msg_type = MTK_NFC_FM_STOP_CMD;
pnfc_msg-&msg_length = 0x00;
ret = write(nfc_sockfd, (const char*)pnfc_msg, sizeof(s_mtk_nfc_main_msg) );
static int nfc_open_mt6605(void)
struct sockaddr_in serv_
struct hostent *
struct sockaddr_
//int nfc_sockfd = C_INVALID_SOCKET;
// run gps driver (libmnlp)
if ((pid = fork()) & 0)
LOGD(TAG&nfc_open: fork fails: %d (%s)\n&, errno, strerror(errno));
return (-2);
else if (pid == 0)
/*child process*/
LOGD(TAG&nfc_open: execute: %s\n&, &/system/xbin/nfcstackp&);
err = execl(&/system/xbin/nfcstackp&, &nfcstackp&, &NFC_TEST_MODE&, NULL);
if (err == -1)
LOGD(TAG&nfc_open: execl error: %s\n&, strerror(errno));
return (-3);
/*parent process*/
//mnl_pid =
LOGD(TAG&nfc_open: mnl_pid = %d\n&, pid);
// create socket connection to gps driver
//portno = SOCKET_NFC_PORT;
/* Create a socket point */
#ifdef USING_LOCAL_SOCKET
//sleep(5);
// sleep 5sec for libmnlp to finish initialization
//printf(&nfc_open: SELF TEST COD&);
//nfc_sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
nfc_sockfd = socket(AF_LOCAL, SOCK_STREAM, 0);
if (nfc_sockfd & 0)
printf(&nfc_open: ERROR opening socket&);
return (-4);
address.sun_family = AF_LOCAL;//AF_UNIX;
strcpy (address.sun_path, MTKNFC_COMM_SOCK);
len = sizeof (address);
// sleep 5sec for libmnlp to finish initialization
printf(&connecting(%s)...\r\n&,address.sun_path);
/* Now connect to the server */
if (connect(nfc_sockfd, (struct sockaddr *)&address, sizeof(address)) & 0)
printf(&NFC_Open: ERROR connecting\r\n&);
return (-6);
nfc_sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (nfc_sockfd & 0)
LOGD(TAG&nfc_open: ERROR opening socket&);
return (-4);
bzero((char *) &serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = inet_addr(&127.0.0.1&);
serv_addr.sin_port = htons(7500);
/* Now connect to the server */
if (connect(nfc_sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) & 0)
LOGD(TAG&GPS_Open: ERROR connecting&);
return (-6);
if (1) // config Socket read function to non-blocking type
x=fcntl(nfc_sockfd,F_GETFL,0);
fcntl(nfc_sockfd,F_SETFL,x | O_NONBLOCK);
LOGD(TAG&nfc_open: success\n&);
void vFM_TestItem_1(void *priv)
struct nfc_desc *nfc = (struct nfc_desc *)
struct itemview *iv = nfc-&
int ret, rec_bytes = 0;
char tmpbuf[1024], *
s_mtk_nfc_main_msg *pnfc_
s_mtk_nfc_fm_swp_test_req pnfc_
//Set NEC MEssage
pnfc_msg = malloc(sizeof(s_mtk_nfc_main_msg) + sizeof(s_mtk_nfc_fm_swp_test_req));
pnfc_msg-&msg_type = MTK_NFC_FM_SWP_TEST_REQ;
pnfc_msg-&msg_length = sizeof(s_mtk_nfc_fm_swp_test_req);
pnfc_swp.action = 1;
pnfc_swp.SEmap = 0;
#ifdef MTK_NFC_SE_SIM1
pnfc_swp.SEmap += EM_ALS_CARD_M_SW_NUM_SWIO1;
#ifdef MTK_NFC_SE_SIM2
pnfc_swp.SEmap += EM_ALS_CARD_M_SW_NUM_SWIO2;
#ifdef MTK_NFC_SE_SD
pnfc_swp.SEmap += EM_ALS_CARD_M_SW_NUM_SWIOSE;
LOGD(TAG&SEmap = %d\n&,pnfc_swp.SEmap);
memcpy( ((char*)pnfc_msg + sizeof(s_mtk_nfc_main_msg)), &pnfc_swp, sizeof(s_mtk_nfc_fm_swp_test_req) );
memset(nfc-&info, '\n', INFO_SIZE);
ptr = nfc-&
ptr += sprintf(ptr, &%s\n&,uistr_info_nfc_testing);
iv-&redraw(iv);
ret = write(nfc_sockfd, (const char*)pnfc_msg, (sizeof(s_mtk_nfc_main_msg) + sizeof(s_mtk_nfc_fm_swp_test_req)));
rec_bytes = read(nfc_sockfd, &tmpbuf[0], sizeof(tmpbuf));
if (rec_bytes & 0)
s_mtk_nfc_main_msg *pnfc_msg_
s_mtk_nfc_fm_swp_test_rsp *
pnfc_msg_ptr = (s_mtk_nfc_mai
锛堟枃浠惰秴闀匡紝鏈?畬鍏ㄦ樉绀猴紝璇蜂笅杞藉悗闃呰?鍓╀綑閮ㄥ垎锛

我要回帖

更多关于 绝地求生开启没反应 的文章

 

随机推荐