【2020意法半导体开发大赛】+NFC在工业物联网中的应用
1、开发板介绍
首先很高兴能参加这次比赛,先介绍一下我的开发板,收到的是开显示的第一款开发板,ST配置了5个标签,和五个25R3916,


2、参赛项目介绍:
本次参赛的项目是NFC在工业物联网中的应用,主要是实现工厂产品的生产流程跟踪也分析,替代原来的产品流程卡,实现物料、生产工艺、生产、检验、出厂的追踪。每个物料进厂分配一个标签,在检验、测试、组装、发货均需采集该标签,并对检测、测试、组装和发货信息进行记录,并放入数据库,当需要查询时,可以通过零件、部件、整机的标签读取就可以识别出该产品的入厂、生产、库存、检验和发货等信息。
整体方案如下图所示:

3、开发板程序介绍:
3.1、程序流程图:
开始—硬件初始化(HAL_Init)--- 系统校验(BoardCheck)---配置系统时钟(SystemClock_Config_st25r3916)---初始化触控IC 811(BSP_TS_Init())—初始化ST24R3916—初始化液晶屏及接口、背光(BSP_LCD_Init,LCD_IO_Ini)--初始化按键(BSP_PB_Init)--初始化LED(BSP_LED_Init)---初始化数据电位计5122(BSP_DPOT_Init)-- 外部中断初始化(MX_GPIO_Init)--初始化ST25R3916的SPI(MX_SPI1_Init)-- 初始化NFC的射频抽象层( abstraction layer)--- 初始化ST25R3916的RF参数(InitializeRFAL)----初始化USB(MX_USB_DEVICE_Init) --- 初始化USB数据Buffer(StreamDispatcherInit())--- 初始化显示 (SplashScreen) 进入主循环,--检测标签(-DetectionRFID_RfalPollerRun) --- 检测USB数据(ProcessIO)--处理标签中断(dispatcherInterruptHandler)---RF抽象层处理rfalWorker。
3.2、程序工作流程介绍
开发板读取标签,并通过USB将读取标签的UID传到上位机程序,然后由上位机进行处理。
开发板主要是读取标签和显示读取的标签,用于提示用户读取到标签。
4、上位机程序功能介绍:
4.1:登陆界面

对用户登陆进行管理,用于后续记录。

4.2、测试界面
如下图所示,可以读取当前USB设备,并选定NFC读取设备,然后输入产品编号,就可以查看当前的工序,选择要测试的工序


测试完成后,如下图所示:


读取到了RSSI的结果,标签的UID。并记录到数据库,如果选中维修,也可以在维修说明中记录维修内容。
4.3、装配界面:
当打开设备,选中装配工序后,就可以扫描零部件的标签UID,点吉装配,将所有零部件的UID全部添加完成后,点击装配完成,就可以写入数据库。


4.4、用户查询界面:
如下图所示,打开NFC标签读写设备后,放上标签,点击产品溯源,就可以查询出产品的历史记录,不用去翻资料。


5、总结
通过初步验证,配合测试制具,是可以实现的。