打印
[STC单片机]

MCU上能否实现二维码编码功能,具体实现思路及资源讨论

[复制链接]
1679|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
幸福至上|  楼主 | 2014-11-25 13:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 幸福至上 于 2014-11-26 09:52 编辑

二维码是近年来比较流行的一种数据编码以及存储方式,因其扫描快速,扫描设备简单,存储信息量大且支持多种类的数据,从单一的汽车制造追踪功能演变为现在的普遍使用。在微信,商城上到处都是“扫一扫”。因此我想设计一款基于MCU的二维码编码并通过驱动后级的打印机实现二维码输入输出的系统。在网上我查看了一下,供Java,Linux等调用的二维码库有很多,而且功能都实现的很好:只需要串入一个要编码的字符串或者数据,设置纠错等级,版本等信息后,就能自动得到编码后的二维码数据,然后作为其他用途。但是可供MCU调用的库貌似没有,可能的原因是单片机型号,开发平台各异,如果一一移植,实在是很费力且不讨好的事情。我在网上找到了QR Encode的开源二维码编码方式,但该二维码库是为Linux系统移植的,底层的图像处理是调用的PNG处理函数,很难移植到MCU中去。如果说是自己编写二维码编码方式函数,那里面的工作量和算法复杂程度对我个人来说实在是太大了。所以比较倾向于移植或者调用吧。我使用的是MSP430或STC这类8位,16位单片机。大家不知道有什么思路或者已有的参考能推荐或者讨论一下的?:):P:P:P

相关帖子

沙发
lxyppc| | 2014-11-25 13:13 | 只看该作者
你把png那层剥离出来就行了

使用特权

评论回复
板凳
幸福至上|  楼主 | 2014-11-25 13:21 | 只看该作者
lxyppc 发表于 2014-11-25 13:13
你把png那层剥离出来就行了

PNG那一层如果剥离了,首先要面对的一个问题就是怎么来替代里面的功能函数。这个比较纠结,二就是因为QR Encode是为类Unix系统调用的,里面的语法不完全符合MCU开发平台的编译要求。所以如果自己移植的话,会任务繁重,是最后没得法了才会选择的。~~~~(>_<)~~~~

使用特权

评论回复
地板
lxyppc| | 2014-11-25 13:30 | 只看该作者
本帖最后由 lxyppc 于 2014-11-25 13:31 编辑
幸福至上 发表于 2014-11-25 13:21
PNG那一层如果剥离了,首先要面对的一个问题就是怎么来替代里面的功能函数。这个比较纠结,二就是因为QR  ...


逻辑上讲png那一层就是输出图片用的
你的mcu中要不要都无所谓了
至于其他的unix调用,可以根据函数功能模拟出来
编译要求至少还是c语法,无非就是一些宏,类型,头文件没有

现在开源代码这么多,要想为我所用,这些都是基本要做的

使用特权

评论回复
5
幸福至上|  楼主 | 2014-11-25 14:25 | 只看该作者
lxyppc 发表于 2014-11-25 13:30
逻辑上讲png那一层就是输出图片用的
你的mcu中要不要都无所谓了
至于其他的unix调用,可以根据函数功能模 ...

是的,PNG那一层可能可以直接不要,但是其他方面的移植内容也是很多的,说起来是一些关键词,宏定义的修改,但那么多个文件,要达到修改调试成功,实在是路漫漫啊。。。看看其他网友还有什么策略或参考吗~~

使用特权

评论回复
6
zengxinhuang| | 2014-11-26 17:36 | 只看该作者
我最近也有想做这个的想法,看过相关的资料后,打算先做一个只生成含数字和字母信息、只有版本1—4的QR Encode程序,计划是读懂生成原理后自己写算法。我觉得如果支持过多的内容和版本信息的话,这个程序就太复杂了。楼主如果做出来了或者有新的想法的话可以分享一下。

使用特权

评论回复
7
幸福至上|  楼主 | 2014-11-26 18:31 | 只看该作者
zengxinhuang 发表于 2014-11-26 17:36
我最近也有想做这个的想法,看过相关的资料后,打算先做一个只生成含数字和字母信息、只有版本1—4的QR Enc ...

呵呵,有想法啊,看来是准备大干一场。我还是倾向于移植的方式,按照我已经读懂的基于Linux C的二维码编码库,我觉得这样会功能完善一些,主要的移植关键在于一些结构体和编码算法上。我觉得自己写也是不错的方式,移植实现功能之后我也可能要重写,使之比较适合嵌入式MCU调用,在资源占用,语法方面再进行优化修改。我们多交流下哈。

使用特权

评论回复
8
zengxinhuang| | 2014-11-28 09:00 | 只看该作者
幸福至上 发表于 2014-11-26 18:31
呵呵,有想法啊,看来是准备大干一场。我还是倾向于移植的方式,按照我已经读懂的基于Linux C的二维码编 ...

我侧重的方向是实用和低成本,想把它封装成一个小模块。功能强大好是好,但是对低价、资源有限的MCU来讲就太折腾了。就实用性来讲,我觉得有几个版本就已经足够了。

使用特权

评论回复
9
幸福至上|  楼主 | 2014-11-28 09:05 | 只看该作者
zengxinhuang 发表于 2014-11-28 09:00
我侧重的方向是实用和低成本,想把它封装成一个小模块。功能强大好是好,但是对低价、资源有限的MCU来讲 ...

是的,我也是要在实际应用中实现该功能。估摸也就用V0、V1的二维码版本,只是想要多研究下,要研究就尽量一次做足,以后如果还要用就不用再来折腾了。其实目的是一样的,只是方法不太一样,但终归到最后实现功能的时候,都会对二维码的编码一整套方式有一个了解的。:)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

854

帖子

10

粉丝