请教如何压缩12字节的唯一ID到6个字节,压缩后尽量少重复

2019-12-14 12:44发布

如题

请教如何压缩12字节的唯一ID到6个字节,压缩后尽量少重复
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
applededipan
1楼-- · 2019-12-17 22:44
感觉像是用ID做MAC
think_a_second
2楼-- · 2019-12-18 01:43
做IP 的Mac地址的吗?是的话,观察下芯片序列号哪些是重复的,可以忽略,然后做个算法,甚至直接采用某6个字节
bitter
3楼-- · 2019-12-18 02:50
 精彩回答 2  元偷偷看……
longforljy
4楼-- · 2019-12-18 08:10
本帖最后由 longforljy 于 2018-12-17 09:56 编辑

目的是为了提高通信效率,降低发射时间和功耗

产品对低功耗要求很高,通信上,带的mac地址,12byte太浪费

因为很多时候,数据段都是一些单字节的命令
如:包头 0xAA + 0x55,mac = 12字节,命令字 1字节,校验和 1字节

后来采用了类似异或的简单办法,压缩了12字节的mac(这个mac来自STM32的 unique id)  到  6个字节
后来小批量量产的时候发现,重复的概率很高(200个,两两重复了5~7对,具体忘记了)

有考虑md5算法来弄,但是比较浪费代码空间,也不知道具体碰撞率怎样
hash的话,没用过,好像有很多种hash算法,具体碰撞率也不清楚

STM32的unique  id,我不太清楚有什么规律。。。。下面我贴个图

1545011499(1).jpg (33.66 KB, 下载次数: 0)

下载附件

2018-12-17 09:52 上传







一周热门 更多>