NFC物联网智能购物车设计方案

智能购物车是综合利用计算机网络、射频识别技术、数据库技术、单片机于一体的设备具有先进性、便于管理性、经济性、普适性。基于NFC (Near Field Communication,近场通信)技术的智能购物车,能够大幅缩短结账排队时间,实现“无感支付”。NFC是一种非接触式自动识别技术,当NFC 标签靠近阅读器的工作范围之后,通过线圈获得感应电流,感应电流经过升压电路作为电源,将储存器寄存的信息发送给阅读器,阅读器再根据接收的信息进行解码处理。这样大大减少人员成本,同时方便了超市管理,提高顾客的购物体验。

1购物车工作原理(Working principle of shopping cart)

智能购物车

1.1基本原理和技术

智能购物车就是物联网应用的一个实例,智能购物车综合运用嵌入式开发,数据库技术无线网络通信,以及射频识别技术。单片机在购物车上作为信息处理的模块,同时兼备网络传输功能。实现购物数据实时传输,方便超市工作管理,也可以利用实时数据来实现智能超市的感知,包括优化库存,调整供应链等。

智能购物车最大的特点就是使用了树莓派和NFC技术。树莓派是一种基于Arm架构的微型电脑,具备标准的冯·诺伊曼结构。内置CPU和内存,需要连接 Micro SD卡作为外存同时具有连接IEEE 802.11标准协议的无线网络模块。支持Java、CPython等编程语言,可以使用 SPI驱动。利用树莓派,可以很快地完成对硬件驱动的开发,对超市数据库的连接,而不需要专门学习单片机的编程语言。

NFC 技术即射频识别技术,通过非接触的方式实现双向通信,NFC发起设备提供射频场,NFC目标设备运用负载调制技术,可以和调整至与发起设备一样的传递速率进行数据传输。目前 NFC广泛用于公交卡、身份证,以及物流系统和手机中。通过 NFC 可以对资源进行快速定位,信息传输。

NFC与 RFID 区别:NFC 是由 RFID 发展而来,NFC工作频率仅在 13.56MHz,而RFID工作频段分为低频,高频和特高频,频率从120kHz至5.8GHz,执行不同的ISO/IEC18000标准都有不同的工作频率。NFC 可以内置安全芯片,有效防范黑客读取破解。

1.2工作原理

供货商将所有的商品都需要贴上 NFC不干胶贴,超市只需要在收货的时候,用扫描器扫描NFC 标签,就可以完成入库的操作。同时会将商品数据采集到超市的数据库,超市可以继续录入完善商品的信息。当所有商品信息都上传至中心服务器之后,就可以使用智能购物车进行购物了。智能购物车是在传统购物车的基础上进行改造,拥有树莓派+NFC 阅读器组成的系统。顾客的智能手机与智能购物车通过超市 WLAN 或购物车蓝牙,以及 NFC 连接的方式,与智能购物车进行配对。树莓派接入超市的 WLAN,NFC 阅读器读取商品上面NFC标签的内容,返回给树莓派数据,树莓派对数据只对数据进行合法性校验,比如奇偶校验、校验和等NFC标签使用EPC(Electronic Product Code,电子产品编码),并且使用锁位式双前缀探针防碰撞算法,可以减少冗余信息传输,提高算法搜索效率。为了降低中心服务器的工作负荷,树莓派将使用异步传输的方式来与超市服务器进行数据交换。此时顾客的智能手机将出现购物车中所存在的商品信息。

2工作流程(Workflow)

NFC物联网智能购物车

将购物车推至结算区域,当树莓派接收到结算区域的安全网络时,进入结算程序。NFC阅读器反复读取数次存在于购物车的商品上的 NFC 标签,将商品信息发送到超市服务器,超市服务器与支付网关连接,进行安全认证,对顾客账户进行扣款。

3程序实现(Program realization)

3.1程序架构

整个软件分为三个部分,由超市服务器系统,智能购物车系统,支付网关组成。其中,上位机是树莓派、超市服务器和智能手机,树莓派主要使用Python语言进行软件开发,超市服务器使用PostgreSQL数据库,下位机是RFID-RC522A读卡器。

3.2调试读卡器与树莓派连接

将树莓派的系统读写到 MicroSD卡,并且在根目录下新建SSH目录,配置好WIFI连接然后使用数据线与树莓派连接,使用5V/2A 直流电供电,插上即可开机。

在终端里输入 sudo raspi-config,然后再弹出页面选择Interfacing Options->SPI->确认。

出处 软件工程

原标题 基于NFC的智能购物车设计

作者 韦雨轩 陈祥苗 尹浩翔 贾兴东 吴静

参考资料

https://www.hooketech.com/smart-shopping-cart.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2662031.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【黑产攻防道04】利用pow工作量证明降低黑产的破解效率

上一期我们提到,黑产有三种常见的破解方式: 1.通过识别出验证码图片答案实现批量破解验证,即图片答案识别; 2.在了解通讯流程之后直接携带相关参数发请求,即协议破解; 3.使用各种客户端模拟器来模拟真人…

高校实验室安全管理视频监控系统设计:AI视频识别技术智能分析网关V4的应用

一、背景 实验室作为科研与教学的核心场所,其重要性不言而喻。高校实验室由于其开放性与多样性,安全管理尤为重要。高校实验室的安全管理,不仅是保障科研与教学质量的基础,更是校园安全的重要组成部分。一旦发生安全事故&#xf…

FPGA 底层资源介绍

Xilinx FPGA底层资源介绍 本文转载自:瓜大三哥微信公众号 XILINX FPGA 芯片整体架构如下所示,整个芯片是以BANK进行划分的,不同的工艺、器件速度和对应的时钟具有不同的BANK数量(下面截图是以K7325tffg676为例)&…

外汇天眼:仿冒OANDA安达──诓称分析师带领稳赚不赔,恶意爆仓再三骗入金

最近有考虑做美股、期货、外汇的投资人请注意,近期外汇天眼收到一位台湾投资人爆料,分享自己误用仿冒OANDA安达的假券商而损失新台币50万元,以下让我们一起了解这个诈骗案件的详细经过与手法。 今年7月底,受害者在社交平台IG上被…

解决Github无法上传>100M文件——只需两行代码

文章目录 合作推广,分享一个人工智能学习网站。计划系统性学习的同学可以了解下,点击助力博主脱贫( •̀ ω •́ )✧ 废话不多说,如果在githubpush文件太大时,会报错:this exceeds GitHub’s file size limit of 100.…

SLAM PnP问题以及相关基础知识

目标泛函 目标泛函是在优化问题中使用的一种数学工具,目标泛函是一个函数,它将一个或多个函数映射到一个实数。它常用于描述需要最小化或最大化的函数。在优化问题中,我们通常希望找到使得某个特定函数取得最大值或最小值的变量值。目标泛函…

喜讯|极狐GitLab 通过信通院汽车软件研发效能成熟度模型能力

12 月 27 日,在由中国信息通信研究院(下称信通院)、中国通信标准化协会联合主办的2023系统稳定性与精益软件工程大会-汽车云质效专场峰会上,信通院发布了“2023年下半年汽车云评估结果”,极狐GitLab 一体化 DevOps 平台…

c 语言, 随机数,一个不像随机数的随机数

c 语言, 随机数,一个不像随机数的随机数 使用两种方式获取随机数,总感觉使用比例的那个不太像随机数。 方法一: rand() 获取一个随机数,计算这个随机数跟最大可能值 RAND_MAX(定义在 stdlib.h 中&#xf…

C++初阶(十七)模板进阶

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、非类型模板参数二、模板的特化1、概念2、函数模板特化3、类模板特化1、全特化2、偏特化 三…

k8s的陈述式资源管理(命令行操作)

(一)k8s的陈述式资源管理 1、命令行:kubectl命令行工具——用于一般的资源管理 (1)优点:90%以上ce场景都可以满足 (2)特点:对资源的增、删、查比较方便,对…

7+衰老+WGCNA+机器学习+实验,非肿瘤领域的衰老相关研究

今天给同学们分享一篇生信文章“Identification of aging-related biomarkers and immune infiltration characteristics in osteoarthritis based on bioinformatics analysis and machine learning”,这篇文章发表在Front Immunol期刊上,影响因子为7.3…

C语言——小细节和小知识7

一、逆序字符串 1、递归1 #include <stdio.h> #include <string.h>void ReverseArray(char *str) {char temp *str;//1int len (int)strlen(str);*str *(str len - 1);//2*(str len - 1) \0;//3if(strlen(str 1) > 2)//只要字符串还大于2&#xff0c;就…

解锁小程序UI设计的奥秘:必须知晓的相关事项

一、什么是小程序 2016年张小龙首次提出小程序概念&#xff0c;全称为“微信小程序”&#xff0c;英文名为“微信小程序”MiniProgram它是一种基于微信生态系统、开发周期短、成本低、无需下载安装、即用即走的应用。 到目前为止&#xff0c;小程序不仅是微信独有的&#xff…

4-链表-合并两个有序链表

这是链表的第4题&#xff0c;来个简单算法玩玩。力扣链接。 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff…

Android Studio 如何实现软件英文变中文教程

目录 前言 一、确认版本号 二、下载汉化包 三、汉化包安装 四、如何实现中英文切换 五、更多资源 前言 Android Studio是一款功能强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;用于开发Android应用程序。默认情况下&#xff0c;Android Studio的界面和…

移动机器人规划、控制算法初识

规划与控制PNC(PlanningandControl) 1 路径规划算法&#xff1a; 移动机器人路径规划算法总结_机器人运动轨迹算法-CSDN博客 2 控制算法&#xff1a; 机器人控制算法综述_机器人控制技术综述-CSDN博客 机器人控制算法简要概述_智能控制算法-CSDN博客 学习资源&#xff1a; …

绝地求生:大逃杀,鼠标灵敏度设置教程及枪法练习技巧 鼠标灵敏度怎么设置

《绝地求生大逃杀》鼠标灵敏度怎么设置&#xff1f;作为一款FPS游戏&#xff0c;如何调整鼠标参数是大家急需掌握的&#xff0c;今天闲游盒带来“院长尼克”分享的《绝地求生大逃杀》鼠标灵敏度设置教程及枪法练习技巧&#xff0c;废话不多说&#xff0c;下面我们一起来看吧。 …

Vue2+element-ui 实现select选择器结合Tree树形控件实现下拉树效果

效果&#xff1a; DOM部分 &#xff1a; // 设置el-option隐藏的下拉选项&#xff0c;选项显示的是汉字label&#xff0c;值是value // 如果不设置一个下拉选项&#xff0c;下面的树形组件将无法正常使用 <el-form-item label"报警区域" prop"monitorId"…

DM达梦数据库表占用空间大小

问题描述&#xff1a; 项目涉及用户量大且数据量大&#xff0c;为提高查询性能采用分表方式处理数据&#xff1b;根据业务要求总共4张业务表&#xff0c;每张业务表扩展成100张表&#xff0c;系统中总共400张表。部署至测试环境发现测试环境占用的磁盘空间是开发环境的8倍。 问…

智慧工地云平台源码 支持二次开发、支持源码交付

智慧工地利用移动互联、物联网、云计算、大数据等新一代信息技术&#xff0c;彻底改变传统施工现场各参建方的交互方式、工作方式和管理模式&#xff0c;为建设集团、施工企业、监理单位、设计单位、政府监管部门等提供一揽子工地现场管理信息化解决方案。 通过人员管理、车辆管…