首页 > 编程语言 >电子纸胸牌NFC小程序

电子纸胸牌NFC小程序

时间:2023-04-04 17:22:06浏览次数:28  
标签:NFC 胸牌 数据 Cmd 程序 0x01 Type

NFC小程序介绍

首先我们通过微信应用进入小程序

按真实情况填写电子纸胸牌需要展示的数据信息,点击处理图像进入下一步。

图像处理通过后将磁卡贴到手机背部,将印有磁条的一侧与手机NFC部分对齐
此时选择小程序点击检测按钮将手机NFC与电子纸胸牌完成数据配对

1.1传输数据修改电子纸显示界面

在小程序检测到电子纸配对信息之后会在边框部显示彩色光条(红色光条表示数据配对错误,绿色光条表示数据配对成功,并且正在实时传输数据)

操纵完成,数据传输完成,电子纸显示屏显示改变

附----电子纸胸牌 NFC 数据通信协议

电子纸胸牌NFC 数据通信协议

一、 通信方式

IsoDep APDU 指令

二、 NFC 帧数据段

Header(2) Cmd(1) Type(3) Order(1) Content CRC(1)

各字段含义如下:
1.Header
常量:0x7F 0xF7
2.Type

Type[23:16] Type[15:8] Type[7:0]
屏幕生产厂家 尺寸及分辨率 单双面
0x01:DKE 0x01: 3.7 寸 416*240 0x01: 单面
0x02:合力泰 0x02: 7.5 寸 640*384 0x02: 双面
0x03: 7.5 寸 800*480

3.Cmd

Cmd[7:0]
0x01:查询设备参数
0x02:查询设备状态
0x03:刷新正面(默认)500ms
0x04:刷新反面 500ms
0x05:发送图片数据

4.Order
分包序号,从 0 开始。

[注]
1.手机发送数据包的时间间隔应大于 60ms。
2.数据包大小:每种颜色的前 56 帧大小为 222 字节,第 57 帧大小为 48字节。

5.Content
用于传输图像数据。
6.CRC: 通信数据校验和,含 Header。

[注 1]CRC 校验和算法

uint8_t get_check_sum(uint8_t *buf, uint8_t len)
{
uint8_t i = 0; uint8_t sum = 0;

for(i = 0; i < len; i++)
{
sum += *(buf++);
}

return ~sum;
}

[注 2]暂时没用到的字段可用 0x00 填充。

三、 串口数据反馈

返回数据均以 0x7F 0xF7 作为数据开始标志。

Head[2] Cmd[1] Res[3]
0x7F 0xF7 0x01 Type*
0x7F 0xF7 Cmd* Res Code

Type: 含义同Type 字段,返回当前设备信息。
Cmd
: 为当前响应的命令。
Res Code 含义如下:
typedef enum {
PANEL_A, /* 刷新正面 /
PANEL_B, /
刷新反面 /
PANEL_D, /
刷新双面 /
CHECK_SUM_PASS, /
校验和成功 /
CHECK_SUM_ERROR, /
校验和错误 /
HEADER_FOUND, /
检测到数据头 /
NO_HEADER_FOUND, /
未检测到数据头 /
FRAME_OUT_RANGE, /
数据帧超出范围 /
FRAME_ORDER_ERR, /
数据帧顺序错误 /
FRAME_INIT_OK, /
面板初始化成功/
FRAME_UPDATE_OK, /
面板刷新成功 /
UNDEFINED_MSG /
其他未定义的行为 */
} Epaper_ResCode;

作者:徐蒙特

标签:NFC,胸牌,数据,Cmd,程序,0x01,Type
From: https://www.cnblogs.com/DTCLOUD/p/17287140.html

相关文章

  • C# 启动winform程序并传参
    启动程序:stringpath="d:\\test.exe";//外部winform程序stringargs="aabbcc";System.Diagnostics.Process.Start(path,args);//启动程序外部winform程序test.exe接收参数:Program.cs///<summary>///应用程序的主入口点。///</sum......
  • uniapp开发小程序输入框拉起软键盘时,输入框显示不全,被软键盘挡住一半
    在开发过程中,input或者Textarea聚焦时,出现遮挡一半的情况处理方法:(1)在input或者textarea添加:cursorSpacing="20"留出光标到软键盘的距离。 (2)若在弹窗定位中时需要加入:fixed="true"属性,不然拉起软键盘时没有显示在软键盘上面。 (3)若在<u-popup>中时iphone可能还无法解决这个......
  • 使用内网穿透调试微信小程序
    随意购买一个,登陆后台,选择隧道管理下载客户端点击bat批处理文件输入隧道id回车即可进入微信小程序编程工具将这个勾给勾上,然后修改HTTP_REQUEST_URL即可创作不易,如果能够解决您的问题,请给我点个赞,谢谢......
  • #yyds干货盘点# LeetCode程序员面试金典:最接近的三数之和
    题目:给你一个长度为n的整数数组 nums 和一个目标值 target。请你从nums中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。 示例1:输入:nums=[-1,2,1,-4],target=1输出:2解释:与target最接近的和是2(-1+2+1=2)......
  • 直播小程序源码,小程序页面左右滑动如何解决
    直播小程序源码,小程序页面左右滑动如何解决1、css解决//最外层父元素 width:100%;overflow-x:hidden;​2、pages.json中配置     {"path":"platforms/mp-weixin/mine/mine","style":{          //disableScroll:控制当前页面不可滑动"disabl......
  • 软件著作权申请-注意事项(微信小程序)
    开发的硬件环境:PC电脑内存:8GCPU:i565003.2GHz硬盘:1T显卡:GTX1080ti运行的硬件环境:安卓手机开发该软件的操作系统:Windows10专业版软件开发环境/开发工具:UnityC#VisualStudio该软件的运行平台/操作系统:安卓操作系统5.0及以上软件运行支撑环境/支持软......
  • 2020 年百度之星·程序设计大赛 - 测试赛1001 度度熊保护村庄
    ProblemDescription哗啦啦村袭击了喵哈哈村!度度熊为了拯救喵哈哈村,带着自己的伙伴去救援喵哈哈村去了!度度熊与伙伴们很快的就过来占据了喵哈哈村的各个军事要地,牢牢的守住了喵哈哈村。但是度度熊发现,这是一场旷日持久的战斗,所以度度熊决定要以逸待劳,保存尽量多的体力,去迎战哗啦啦......
  • “杭银理财”杯浙江工业大学大学生程序设计竞赛暨全国邀请赛 签到题9题
    ProblemA.GrammyWantstoEarnBigMoney题意:今天是星期天,请计算之后的n天里,有多少天是星期一到星期五的开局太急直接/7*5+余数就交了,WA了一发,没有考虑余数=6的情况#include<bits/stdc++.h>usingnamespacestd;intmain(){intn;cin>>n;n--;intans=(n/7)......
  • 牛客,第二十届北京师范大学程序设计竞赛,签到题7题
    序题号标题已通过代码通过率团队的状态A小凯的疑惑点击查看434/745通过B幻象踩花点击查看121/434通过C跳刀抓人点击查看26/178通过D真正的卡尔点击查看115/714通过E刷新的艺术点击查看31/479通过F最后的战役点击查看1/39未通过G随机数生成器点击......
  • Java使用IntelliJ IDEA创建JavaWeb应用程序并配置Tomcat
    1、创建JavaWeb程序创建一个JavaEE项目,选择Web应用程序。创建好后结果如下2、添加Tomcat服务器首先在官网下载Tomcat对应的操作系统版本。https://tomcat.apache.org/右上角添加Tomcat服务器在服务器里选择本地的Tomcat地址,其他的默认。在部署里点击加号,选择Artifact工件,增加web......