搜索
bottom↓
回复: 21

GPRS数据包压缩难题-求帮助

[复制链接]

出0入0汤圆

发表于 2016-12-4 18:14:11 | 显示全部楼层 |阅读模式
最近做项目,单片机是用的MSP430F5438A,采集终端数据,然后通过GPRS上传到服务器,数据上传时要求压缩,压缩方式如图片所示。查了一下资料发现,gzip的库在430上根本无法应用,查了不少资料,都讲的是如何应用gzip的库,没有找到如何能让它在430这样的单片机上运行,是我的方向错了?还是……
完全蒙逼了,到底要如何实现呢?求帮助啊?求建议……

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入46汤圆

发表于 2016-12-4 18:41:46 | 显示全部楼层
光这个流程图哪行啊

出0入0汤圆

发表于 2016-12-5 09:14:40 | 显示全部楼层
楼主用的什么方案的gprs模块啊,我用的sim928a

出0入0汤圆

发表于 2016-12-5 09:25:05 | 显示全部楼层
跑压缩算法的话,对内存要求挺高的,一般单片机的内存很难实现的

出0入0汤圆

发表于 2016-12-5 09:36:56 来自手机 | 显示全部楼层
minilzo,楼主可以去看看,一般来说,压缩所需的内存要被压缩数据的两倍

出0入0汤圆

 楼主| 发表于 2016-12-5 10:20:34 | 显示全部楼层
jasonzhu8888 发表于 2016-12-4 18:41
光这个流程图哪行啊

就给了个这个流程图,我问过他们,人家服务器上是直接调用GZIP的库进行的解压和压缩。要求我这边压缩的数据包他们可以直接解压,并能解压他们发过来的数据包。可是我这单片机上用不成那个库,库说明需要分配最小32kb的窗口,我单片机总共才16k,正在分析库源码,看能不能改一下,在单片机上用。大侠可有什么建议?期待……

出0入0汤圆

 楼主| 发表于 2016-12-5 10:23:02 | 显示全部楼层
河图洛书 发表于 2016-12-5 09:14
楼主用的什么方案的gprs模块啊,我用的sim928a

我用的是M6310,中移的模块。

出0入0汤圆

 楼主| 发表于 2016-12-5 10:29:07 | 显示全部楼层
lou0908 发表于 2016-12-5 09:36
minilzo,楼主可以去看看,一般来说,压缩所需的内存要被压缩数据的两倍

服务器用的是gzip,我只能去兼容他们的格式。其它格式人家不认可呢……

出10入18汤圆

发表于 2016-12-5 10:50:53 来自手机 | 显示全部楼层
估计没戏

出0入46汤圆

发表于 2016-12-5 11:25:48 | 显示全部楼层
1、要么自己写个优化的算法,使得当前cpu可以支持
2、要么换cpu
3、还有一种自己搞个网关,把下位的数据接收后gzip压缩,发送给对方接口。

感觉第三种最合适

出10入61汤圆

发表于 2016-12-5 11:28:05 | 显示全部楼层
数据量小的话压缩没太大意义, 数据多你内存肯定不够

出215入118汤圆

发表于 2016-12-5 12:13:14 | 显示全部楼层
弄个OPENWRT 模块装上,把GPRS交由OPENWRT处理

出0入4汤圆

发表于 2016-12-5 18:22:04 | 显示全部楼层
gzip是UNIX下的一种数据格式。
gzip是在zlib之上,包了一层,在头和尾添加了一些额外的信息。
找到zlib的开源库 移植到你的mcu上。
mcu资源不一定够。。。

出0入0汤圆

发表于 2016-12-5 18:31:05 | 显示全部楼层
最好是后台配合改协议,单片机搞压缩不可能实现的!

出0入0汤圆

发表于 2016-12-5 20:23:25 | 显示全部楼层
换单片机吧

出0入0汤圆

发表于 2016-12-5 20:26:50 | 显示全部楼层
把你的压缩率设为1.  

也就是根本不压缩,只是打个gzip格式的包。



我也不太懂哈。我觉得应该可行。

出0入0汤圆

发表于 2016-12-5 20:27:36 | 显示全部楼层
这个要求好奇葩。。。。

出300入477汤圆

发表于 2016-12-5 21:12:11 来自手机 | 显示全部楼层
xpstudio2011 发表于 2016-12-5 20:26
把你的压缩率设为1.  

也就是根本不压缩,只是打个gzip格式的包。

对,手写个正确的但实际完全没压缩的格式就行了。应该不耗你内存,肯定能符合标准。

出300入477汤圆

发表于 2016-12-5 21:16:46 来自手机 | 显示全部楼层
wangsen 发表于 2016-12-5 10:29
服务器用的是gzip,我只能去兼容他们的格式。其它格式人家不认可呢……

正常http就是自带gzip压缩的,但要你客户端特别说明自已支持gzip才行。普通浏览器肯定都支持了,但你如果只是个小单片机,不支持也没事,服务器会给你不压缩的内容。
这才是正道。

出0入0汤圆

 楼主| 发表于 2016-12-6 22:08:41 | 显示全部楼层
jasonzhu8888 发表于 2016-12-5 11:25
1、要么自己写个优化的算法,使得当前cpu可以支持
2、要么换cpu
3、还有一种自己搞个网关,把下位的数据接 ...

打算试试你说的第一种方法,研究算法中……

出0入0汤圆

发表于 2016-12-6 22:19:51 | 显示全部楼层
不用想也不用搞了 mcu搞不定的
换个跑嵌入式linux的才是正道,现在成品的百十元可以拿下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 17:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表