【问题标题】:NFC mobile credential on PhonegapPhonegap 上的 NFC 移动凭证
【发布时间】:2015-04-07 16:19:52
【问题描述】:

我正在尝试在 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 将使用以下信息连接到 Web 服务 (email+key) 将验证来自数据库的信息。

  • 如果成功,门就会打开。

【问题讨论】:

  • 欢迎来到stackoverflow。如果您包含一些代码会很有帮助,即使它还没有工作。
  • 我修改了帖子,添加了 index.js 中的代码。感谢您的关注。

标签: cordova mobile tags arduino nfc


【解决方案1】:

您在 Arduino 上看到的 NFC 记录是 Android 生成的默认记录。这意味着您的 Javascript 代码中可能存在错误。尝试在 index.js 上运行 jshint 来追踪它。

这个示例项目https://github.com/don/nfc-share 应该让您开始使用phonegap-nfc 和共享标签。如果默认代码正确发送 URI,您可以修改代码以发送文本记录

替换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);

【讨论】:

  • 谢谢唐!让我解释一下这个项目的细节。该项目的想法是使用带有 Arduino Leopard + NFC Shield 的 NFC 将移动设备用作凭证。我正在使用 Phonegap,因为我可以将代码用于 android、wp 和 bb,有时还可以用于 ios。我只需要发送 2 个字符串,例如电子邮件和 Arduino 的密钥,使用 Web 服务验证信息。
猜你喜欢
  • 2018-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多