算起来我现在毕业已经有7年的时间了,在学校的时候从做的项目主要都是单片机来完成,在学校使用过的单片机也有好几种了,51、AVR、430、stm32的f0、f1、f3都多少玩过一些。毕业以后去做了BSP系统开发,前后接触了wince、linux、android,单片机接触的就很少了,除了平时会自己玩玩以外,基本上都不在接触了,这次用单片机来搞,发现对环境都有些陌生了。之前,有参加过两次这种社区中的比赛,结果都因为各种事情给耽误了,都是半途而废,希望这次能够把比赛完成了。
1.方案设计
我想做一个智能门锁,现在的手机已经基本上支持NFC功能,作为业界风向标的Apple在iphone 6开始所有的手机都增加了NFC,在ios 13之后也增加读标签功能和API向第三方开放,从此NFC基本上就作为了手机标配。我的想法是将手机作为我们的车钥匙,方便用户使用,不需要再使用携带车辆的钥匙进行解锁操作。
这个设计主要实现的功能是;
1)、手机作为模拟卡:接触ST25R进行解锁,我将手机作为模拟卡原因是因为目前多数手机是支持作为卡片被NFC唤醒,此外,作为备用钥匙一定是不带电NFC卡片,这样才能保证备用钥匙的长时间有效;此处,要注意的是作为停车后使用的车身电子设备一定要节电,经过咨询ST的吴刚工程师,作为Reader的ST25R可以做到5uA的低功耗模式,是可以满足要求的;
2)、使用一个加密的NFC卡片和身份证作为备用卡片:加密的NFC卡片作为备用钥匙就不多说了,使用使用身份证作为备用卡的原因是在外面我们很少会带备用钥匙,如果,我们的手机没有电了,那么就无法使用车辆了,但是身份证却是我们经常随身携带的,而且这个卡片是很难被复制的,这样也起到了一定的防盗的作用;
3)、使用点对点通信功能实现保养等信息的同步:现在我们开车去4S店做保养,主要都是人工对车辆信息进行判断,我的想法是,由于13693协议可达到1M的通信距离,那么就还用这个ST25R智能的实现保养信息的同步,同时,随着车身检测传感器的增加,我们还可以将车身的一些小毛病同步到4S店,自动形成一个保养清单,减少了人工和车主对4S店人员不信任。
现在想到的就这么多,后面做的时候再慢慢加和修改啦。
2.开发板功能体验
这次大赛提供芯片都是ST25家族的,按照我的设计方案需要带有读卡器功能的IC,查了一下只用ST25R3916是满足我的设计需求的。
当时,申请的时候,我只说了要用ST25R的板子,我想申请的人那么多带屏,应该会发给我NUCLEO板子,没想到给到我的居然是Discovery的板子,这里有点小高兴哈。
打开开发板可以看到功能主要分为卡读写模式、模拟卡模式、点对点模式,最后一个是图标是天线调试是使用的。
首先先测试一下,读写模式:
点击R/W图标进入,我将赠送的多个NFC标签都放在上面则会将所有的标签都列出来了。
在屏幕上点击标签,就可以看见标签的信息了,点击NDEF就可以看见标签内的数据了。
按照之前说的,测试一下身份证使用效果,发现读出来了ID都是0,我咨询了ST的工程师,原来身份证使用特殊处理的,要读ID需要先发一条指令,而且读取其他内容是要备案获取芯片的,因为只是个实验就无法备案了,后面就用身份证的卡ID作为识别身份证吧
点击Emulate进入卡模拟模式,里里面提供了网址模拟卡和名片模拟卡的demo
我是用的是iphone 11,这里只能支持获取网站地址,名片无法读取,应该是iPhone没有做名片的支持。当手机接触NFC标签时就能获取到ST官网的地址了。
当然名片模式也不是无法使用iphone进行测试的,使用st提供的NFC Tap手机应用(可以在App Store中下载)可以测试名片模式,进入App后点击Read NDEF,在进行读取名片,在App中可以获取到名片内容了,点击读到Vcard就可以看到里面的内容了。
卡模拟模式下,也是可以获取手机中发过来的数据的,就在刚才那个读NDEF的界面点击Write to Tag,就可以进行写操作了,如果写入成功,邮箱图标将变成蓝色,点击后就可以看到您发的数据了。
在app中除了可以写入网址和名片外,还提供了许多功能的测试,如上图,这里就不展开,大家可以自己试一试。
点对点模式,由于iphone手机不支持这个共能,我暂时也没有其他手机,并且只有一个开发板,这里就先不做测试了。
3.Part1部分总结
这里就先对方案进行一下说明,以及对demo进行一些测试,目前来看demo板是大大满足开发需求的。
这次比赛预计分为3-4个part进行发表,今天是第一部分,下一部分,想对API进行一些分析,这个预计要使用1-2个part,最后一个part在介绍一下方案如何实现的。由于我的PC上软件还有些问题,暂时没有多少测试,后面有时间的话,对PC上的软件也进行一下测评吧。
写的有些急,不对的地方请大家多多拍砖了。
下一章节:
智能车锁开发--part 2 UI开发
智能车锁开发--part 3 最总完成1
智能车锁开发--part 4 最总完成2