V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
YaakovZiv
V2EX  ›  iPhone

iPhone 是如何实现钱包刷卡公交记录站点信息的

  •  
  •   YaakovZiv · 14 天前 · 3913 次点击

    在使用 iPhone 刷卡地铁或公交时,会在交易记录自动存档站点信息,对我很有帮助,我每次核对账单都能知道自己刷了什么站点,确保自己真实刷了进出站或者公交车上车位置,我也能确保自己的公交卡没被盗刷。地铁记录站点我能理解,地铁设备有唯一编码,我和同事出差维修时见过轨交集团安排外包做配置。但是公交车的站点记录,我不理解,iPhone 的钱包怎么知道我在什么站点上车的,通过 iPhone 的定位匹配站点名字吗,我所在位置有两个站点名字时,iPhone 怎么知道我是哪个站点上车的,比如公交站仅允许 k1 进站,站点名字 A ,旁边走几步就能到站点 B ,仅允许 k2 进站。k1 公交车并非标准停靠站点 A ,高峰期会在站点 A 和 B 之间停车,但是 iPhone 可以正确识别我的上车站点,这是啥原理。有网友可以分享一下吗。

    35 条回复    2025-07-24 08:41:07 +08:00
    KoreaFish
        1
    KoreaFish  
       14 天前 via iPhone   ❤️ 1
    GPS 和閘機識別吧?
    mbooyn
        2
    mbooyn  
       14 天前   ❤️ 1
    要不,交通公司告诉 iPhone ,这张卡号的出入站记录?
    fsq
        3
    fsq  
       14 天前 via iPhone
    公交车司机到一个站需要按一个按钮的,刷卡机应该知道当前站。不过几年没坐公交了,不知道现在还是不是一样
    ETiV
        4
    ETiV  
       14 天前 via iPhone
    想那么多干啥。

    即便 k1 AB 都能停,它自己站台记录里只有 A 。只要你在 k1 上面刷卡,靠定位就能匹配上。

    或者你试试把定位完全关掉,也不开放给系统那种
    skyrocketing
        5
    skyrocketing  
       14 天前   ❤️ 1
    iOS 和安卓上有一个 app 叫读卡识途,可以读取实体和手机 NFC 的交通联合卡数据。查看详情会有对应的站点数据。
    Dispatcher
        6
    Dispatcher  
       14 天前
    日本的 suica ( felica )出口给中国了,所以我可以盲猜一下几乎都是使用了相似的实现。

    很多人的 suica 在中国也能刷上,只是无法扣费,甚是奇葩。
    Dispatcher
        7
    Dispatcher  
       14 天前
    我查了一下,大致是这样的:1 、ios 内部建立了一个庞大的数据库,根据刷卡信息的站点和路线,匹配数据库的信息,然后显示为文字 string 。如果是飞行模式,也能显示,但是不在数据库内的估计就无法显示了;
    2 、打开流量后,就可以云下发相关的信息,更新数据库什么的了。
    fox0001
        8
    fox0001  
       14 天前 via Android
    有没有可能是公交系统发送数据给 iphone ?公交车既然能播报到站,应该是能识别站点。当然,我以前(是 20 年前吧)见过公交司机按一下按钮,实现报站的。
    ruimz
        9
    ruimz  
       14 天前 via iPhone
    不理解这为什么是个问题
    公交车刷卡机本就应该知道自己现在在哪一站,否则怎么给公交卡计费呢
    wangxiaoer
        10
    wangxiaoer  
       14 天前 via iPhone
    @ruimz 刷卡机当然知道自己在哪一站,但谁又告诉你刷卡机会把这个消息传给手机?
    YaakovZiv
        11
    YaakovZiv  
    OP
       14 天前
    @skyrocketing 感谢分享
    YaakovZiv
        12
    YaakovZiv  
    OP
       14 天前
    @Dispatcher 了解了,感谢分享
    YaakovZiv
        13
    YaakovZiv  
    OP
       14 天前
    @fox0001 我是不是可以理解成,公交车的报站就自动给刷卡机器推送了标识信息,这样刷卡时,手机就能记录在哪个站点上车了。
    avrillavigne
        14
    avrillavigne  
       14 天前
    小米的深圳联合卡就不会记录🥰
    Dispatcher
        15
    Dispatcher  
       14 天前
    @YaakovZiv 是的。felica 内部有极有限的存储空间。可以储存一些刷卡记录。先进先出。

    每次刷卡(限定 nfc )都是离线操作,服务端是不参与交易过程的。所以卡片和刷卡机是有信息交互的。即便是 iphone 模拟的卡片也有信息交互。

    所以啊,nfc 刷卡速度快,不像二维码,识读、扣费巨他妈慢,有的人慢悠悠到了闸机才调出来二维码,恨不得踹他两脚。而且二维码,还很依赖支付平台,但凡有一点问题,全部线路乘车人罚站。

    还好日本这边几乎全部都是 nfc ,手表手机卡片,轻松一刷,完全没障碍。
    ruimz
        16
    ruimz  
       14 天前 via iPhone
    @wangxiaoer 因为手机模拟的是交通卡,公交设备得把站点信息给交通卡才能计费。
    既然手机支持这个功能,也有现成的信息,没理由不读
    MacsedProtoss
        17
    MacsedProtoss  
       14 天前 via iPhone
    感觉应该是闸机&发卡公司提供的数据
    首先是香港八达通,看了下只有消费类型和消费金额,没有定位信息
    再看了下羊城通,在广州一条记录里面就有进站和出站地点的完整记录。
    但是羊城通在省外就会变成两笔消费且带有地址,一笔 0.00 进站,另一笔真实金额出站
    wand
        18
    wand  
       14 天前
    @Dispatcher 「日本的 suica ( felica )出口给中国了」,没太明白,意思是中国的公交卡都是基于日本授权的某种技术?除了 NFC 还有啥黑科技吗?
    kyor0
        19
    kyor0  
       14 天前
    @wand nfc 就 2 种一个是欧美的 type A/B ,然后就是日本索尼的 felica 。

    国内基本都是混用,地铁用 type A/B 的多,公交车用 felica 的多。香港澳门地铁公交全部用的都是 felica
    Dispatcher
        20
    Dispatcher  
       14 天前
    @wand 首先,我查了一下 google ,找到这篇文章:
    《探秘日本电车——日本车站闸机(道闸)是如何提高通行效率的?》 https://www.nippon.com/cn/japan-glances/c029227/
    “日本交通卡采用来自索尼的 FeliCa 芯片技术,也就是所谓的 NFC Type F ,反应时间 200 毫秒,比普通的 NFC A/B 快一倍。闸机读卡器的感应范围也更大,FeliCa 拥有 85 毫米的感应范围,而普通的 NFC A/B 只有 40 毫米的感应距离。”

    然后,我去小红书搜了一下,关键字是:西瓜卡 中国 地铁 刷卡
    然后找到了很多文章,例如:《西瓜卡在国内刷了求助🙋》 https://www.xiaohongshu.com/explore/66cdac70000000001f0145b9?xsec_token=ABsZoO5rZKaK9a9mqwttG9PfwCEEqwcJ_tAqNLRBlCHVw=&xsec_source=pc_search&source=web_explore_feed
    《西瓜卡误刷国内行程求助🙋JR 上海駅》 https://www.xiaohongshu.com/explore/67b9ba0c000000002903c5f2?xsec_token=ABFiGfVDcN3y2NNBro4TOP1UQODHUv3PhapURqqvThIk8=&xsec_source=pc_search&source=web_search_result_notes

    然后看了评论区,提到国内引进了 felica ( sony 的技术),Wikipedia 查到: FeliCa ( 2007 年 12 月前發行的卡片及 2012 年推出的「互通行卡」) TimeCOS®FLY ( 2008 年 1 月至今)
    https://zh.wikipedia.org/wiki/%E6%B7%B1%E5%9C%B3%E9%80%9A
    Pazakui1259
        21
    Pazakui1259  
       14 天前   ❤️ 2
    读卡机当然知道自己在哪站,现在比较常见都是 GPS 自动定位识别,读卡机必须要知道自己在哪站才能正确统计并计费。现在常见的交通联合协议读卡机就可以向卡片写入交易信息,俗称“写 1E”。上面提到的读卡识途 app 就是一个很好用的 app ,可以查看卡片内的“1E”交易信息,“1E”里不但会包含是哪种公共交通以及交易金额,还会包含城市线路站点的代码。当然了手机内会有相应数据转换为对应站点名称的。读卡识途这种第三方 app 是靠社区来维护的,大家都可以反馈当地的交易 1E 信息代码来完善读卡识途 app 的城市线路站点识别。见 https://www.domosekai.com/reader/faq.html https://support.domosekai.com/bugs/my_view_page.php
    zsqduke
        22
    zsqduke  
       14 天前
    原理跟地铁一样
    tidzhang
        23
    tidzhang  
       14 天前
    我在北京刷卡,钱包 app 里没有公交的站点信息,只有地铁的
    billgong
        24
    billgong  
       14 天前
    @Dispatcher #6 曾经有一部分地区用过 Felica ,但交联以后大陆已经没有系统还在用 Felica ,全面换用自有协议了。空口是标准的 NFC 但实现不太一样,有点像银行卡的 EMV 和 PBOC 那种关系。交联 Apple Pay Transit 是单独定制了协议支持。现在除了日本,比较出名的 Felica 系统也就剩下八达通了。不过不论哪个系统,这些卡片都有足够的扇区写入行程信息,iPhone 端则是单独解码了这些信息显示到 app 里面方便用户使用。
    wangxiaoer
        25
    wangxiaoer  
       14 天前 via iPhone
    @ruimz 这个就不懂了,我见过的公交车票价都是固定的。 如果计费不一样的话,是不是要上下车各刷一次,类似地铁那种。

    但是考虑到公交车上下都是同一辆车,站点信息直接存在车上的刷卡机也能实现,不一定要传给手机等刷卡设备吧。

    地铁支持换乘,如果闸机也要支持离线作业,似乎只能把地铁站点信息存到刷卡设备里面。不过不知道公交卡、手机 nfc 支持写入信息不?
    P945
        26
    P945  
       14 天前 via iPhone
    公交车有定位(每到一个站都会播报),NFC 有互交,联网推送等好几种实现方式。
    qwertyssp
        27
    qwertyssp  
       14 天前 via iPhone
    首先说报站器,最早的报站器是手动报站,后面 gps 普及后早就是自动报站了(十年前都已经普及了)。再来说扣费卡机,现在市面上的储值卡都是 CPU 卡,cpu 卡在刷卡时候会与卡机交互,卡机会读写 cpu 卡 ,卡片会存入交易记录,当然卡机也会将交易通过移动网络传输到后台(用来统计客流以及联网移动支付等等),卡机具备联网以及定位功能。
    julyclyde
        28
    julyclyde  
       14 天前
    无非是查表或直接传输了站名这两种呗
    不是这个就是那个


    @kyor0 内地基本上都 A 卡。内地没听说有公交和地铁分离的卡片
    YaakovZiv
        29
    YaakovZiv  
    OP
       13 天前
    @Pazakui1259 感谢分享,这个也很清晰
    zohar727
        30
    zohar727  
       13 天前
    好奇你是哪个城市的?我在北京和深圳的公交都刷过,并不会记录站点信息啊。只有地铁才会
    lovelylain
        31
    lovelylain  
       13 天前 via Android
    跟上车刷卡下车刷卡一个原理呗,既然上下车刷卡能实现分段收费,那么这个数据也可以回传到你的手机上显示,所以你去搜一下公交上下车刷卡分段收费的原理就行了
    bao3
        32
    bao3  
       13 天前
    是服务端告诉给了你的公交卡,而不是你的公交卡知道是哪个点。
    hfl1995
        33
    hfl1995  
       13 天前
    Apple pay 上的公交卡你可以理解成发卡公司的简易第三方客户端。api 前后端数据交互直接由发卡公司提供。
    不然,你点开交通卡的详情看一下,会显示对应的发卡方的 app ,可以直接跳转下载或者打卡。
    比如北京的交通卡,对应的就是北京一卡通 app 。
    Avedge
        34
    Avedge  
       12 天前
    @fsq 现在还是这样的
    lzyroot
        35
    lzyroot  
       10 天前
    @Avedge 现在有地磁感应
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2634 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:43 · PVG 17:43 · LAX 02:43 · JFK 05:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.