Phonegap 上的 NFC 移动凭证
NFC mobile credential on Phonegap
我正在尝试在 Phonegap 上开发一个移动应用程序。此应用程序将标签、数组或字符串发送到 Arduino NFC Shield,然后再次发送到 Web 服务。如何将手机作为标签 NFC 或类似的东西?我使用了 Phonegap-NFC 的所有文档,但我没有得到任何东西。
index.js修改为:
var app = {
initialize: function(){
this.bindEvents();
},
bindEvents: function(){
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function(){
app.receivedEvent('deviceready');
var message = [
ndef.textRecord("hello, world")
];
nfc.share(message);
}
};
这是我从 Arduino 那里得到的。
NDEF Message 2 records, 102 bytes
NDEF Record
TNF 0x1 Well Known
Type Length 0x1 1
Payload Length 0x42 66
Type 55 U
Payload 03 70 6C 61 79 2E 67 6F 6F 67 6C 65 2E 63 6F 6D 2F 73 74 6F 72 65 2F 61 70 70 73 2F 64 65 74 61 69 6C 73 3F 69 64 3D 63 6F 6D 2E 73 6F 63 69 61 6C 2E 6E 66 63 26 66 65 61 74 75 72 65 3D 62 65 61 6D .play.google.com/store/apps/details?id=com.social.nfc&feature=beam
Record is 70 bytes
NDEF Record
TNF 0x4 External
Type Length 0xF 15
Payload Length 0xE 14
Type 61 6E 64 72 6F 69 64 2E 63 6F 6D 3A 70 6B 67 android.com:pkg
Payload 63 6F 6D 2E 73 6F 63 69 61 6C 2E 6E 66 63 com.social.nfc
Record is 32 bytes
play.google.com/store/apps/details?id=com.social.nfc&feature=beam
Success
想法是:
手机会有一个邮箱和一个钥匙作为智能卡。
两者都将作为arduino + nfc开门的身份证明
屏蔽喜欢分享这个信息。
这个arduino将使用这些信息连接到网络服务
(email+key) 将验证来自数据库的信息。
然后如果成功,门就会打开。
您在 Arduino 上看到的 NFC 记录是由 Android 生成的默认记录。这意味着您的 Javascript 代码中可能存在错误。在 index.js 上尝试 运行 jshint
来追踪它。
此示例项目 https://github.com/don/nfc-share 应该可以帮助您开始使用 phonegap-nfc 和共享标签。如果默认代码正确发送URI,可以修改代码发送Text Record
替换https://github.com/don/nfc-share/blob/master/www/js/index.js#L41
nfc.share([ ndef.uriRecord("http://cordova.io") ], success, failure);
和
nfc.share([ ndef.textRecord("hello, world") ], success, failure);
我正在尝试在 Phonegap 上开发一个移动应用程序。此应用程序将标签、数组或字符串发送到 Arduino NFC Shield,然后再次发送到 Web 服务。如何将手机作为标签 NFC 或类似的东西?我使用了 Phonegap-NFC 的所有文档,但我没有得到任何东西。
index.js修改为:
var app = {
initialize: function(){
this.bindEvents();
},
bindEvents: function(){
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function(){
app.receivedEvent('deviceready');
var message = [
ndef.textRecord("hello, world")
];
nfc.share(message);
}
};
这是我从 Arduino 那里得到的。
NDEF Message 2 records, 102 bytes
NDEF Record
TNF 0x1 Well Known
Type Length 0x1 1
Payload Length 0x42 66
Type 55 U
Payload 03 70 6C 61 79 2E 67 6F 6F 67 6C 65 2E 63 6F 6D 2F 73 74 6F 72 65 2F 61 70 70 73 2F 64 65 74 61 69 6C 73 3F 69 64 3D 63 6F 6D 2E 73 6F 63 69 61 6C 2E 6E 66 63 26 66 65 61 74 75 72 65 3D 62 65 61 6D .play.google.com/store/apps/details?id=com.social.nfc&feature=beam
Record is 70 bytes
NDEF Record
TNF 0x4 External
Type Length 0xF 15
Payload Length 0xE 14
Type 61 6E 64 72 6F 69 64 2E 63 6F 6D 3A 70 6B 67 android.com:pkg
Payload 63 6F 6D 2E 73 6F 63 69 61 6C 2E 6E 66 63 com.social.nfc
Record is 32 bytes
play.google.com/store/apps/details?id=com.social.nfc&feature=beam
Success
想法是:
手机会有一个邮箱和一个钥匙作为智能卡。
两者都将作为arduino + nfc开门的身份证明 屏蔽喜欢分享这个信息。
这个arduino将使用这些信息连接到网络服务 (email+key) 将验证来自数据库的信息。
然后如果成功,门就会打开。
您在 Arduino 上看到的 NFC 记录是由 Android 生成的默认记录。这意味着您的 Javascript 代码中可能存在错误。在 index.js 上尝试 运行 jshint
来追踪它。
此示例项目 https://github.com/don/nfc-share 应该可以帮助您开始使用 phonegap-nfc 和共享标签。如果默认代码正确发送URI,可以修改代码发送Text Record
替换https://github.com/don/nfc-share/blob/master/www/js/index.js#L41
nfc.share([ ndef.uriRecord("http://cordova.io") ], success, failure);
和
nfc.share([ ndef.textRecord("hello, world") ], success, failure);