搜索
bottom↓
回复: 59

开源DTU 支持OTA 空中升级 与 云端服务器

  [复制链接]

出0入0汤圆

发表于 2015-9-15 21:13:22 | 显示全部楼层 |阅读模式
本帖最后由 easyio 于 2015-9-16 10:37 编辑

一年前 发帖 《打造一款开源的 开放API的 云端 DTU , 求关注!》的帖子 由于违反论坛规定被封ID了。大家可以先在阿莫搜索一下这篇帖子(论坛不允许发链接),做一个了解。

上一版本发布不久后由于被封ID所以没有进行持续更新,只是在一年的时间里与台湾一家做定位器产品的公司合作,合作过程中不断优化和完善功能,并以实际产品来对EasyIO的稳定度和一些基于理论的东西做了实际验证。

这一版比上一般的的改进内容:

1,从之前的AT命令方式改为PPP模式,增加了数据传输的稳定度
2,增加CMUX ,使之实现多通道数据处理
3,增加了多平台的支持,MCU支持STM32L和STM32F系类,Modem支持市面上百分之九十的3g/GPRS模块

这一版发布主要包含3个功能
1,TCP连线,一个DTU的雏形,包含keepalive和断线重连功能,开发者只需考虑上层应用实现无需考虑 稳定性和发送心跳包的问题。
2,能够连接openfire服务器,实现云端管理 和控制
3,空中升级,这次由于更新了底层数据传输,才得以完成OTA功能,用户只需调用相关接口即可完成远程OTA功能。
4,增加了自动APN侦测,目前包含 中国,中国台湾省,英国,德国。用户可以自行扩展。

应用场景

传统DTU的替代。使用EasyIO比传统DTU有如下优点:

1,价格优势。传统DTU的使用都需要外挂一颗MCU来完成数据采集和传送的功能,而DTU的价格便宜的也需要200元左右,而EasyIO是直接使用MCU驱动Modem模块,模块价格只有30元左右,价格十分便宜。
2,开发优势。传统DTU都是提供一个串口透传的功能,这样用户只能发送简单的数据到服务器,数据可靠性传输很难保证。空中升级功能更是难上加难。EasyIO提供各种服务接口API,用户在网络数据传送方面的开发,更加灵活可靠。
3,体积与性能优势。传统DTU一般体积比较大,而且对功耗基本上没有什么控制。而EasyIO是直接驱动Modem模块所以体积做到很小,由于MCU的直接控制,可以针对不同型号的Modem模块进行功耗控制和休眠策略的开发。


EasyIO 的目标:做3G/GPRS 领域的Ardiuno ,提供方便可靠地API接口,简化开发者对底层的细节考虑,快速开发出产品级应用。并以从设备到服务端一体化的解决方案服务于使用者。
EasyIO力争开源,也不要问我为什么要开源,因为现在人们看不懂开源就像十年前传统行业看不懂互联网一样!

EasyIO 会坚持每周做优化和功能升级,欢迎各位及时提出需要改进的地方和BUG,我们会及时修复。


由于源码是以git方式发布的而我又不能贴网址,我把附件中上传了一个文本文件,里面包含GitOSC 的地址。

EasyIO 下载地址
说明文档及其教程现在还不是很完整,更新中。。。

本帖子中包含更多资源

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

x

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2015-9-15 21:33:25 | 显示全部楼层
刚刚看到,,帮顶,

出0入0汤圆

发表于 2015-9-15 21:38:20 | 显示全部楼层
问下楼主,现在你这里you模块链接吗,????

出0入0汤圆

 楼主| 发表于 2015-9-15 21:40:08 | 显示全部楼层
seeyou2013 发表于 2015-9-15 21:38
问下楼主,现在你这里you模块链接吗,????

用STM32开发板 + SIM900开发板即可。我后面会补充上 用STM32+SIM900搭建的教程 我自己也有模块。但是不知道这里能不能发淘宝链接。

出0入8汤圆

发表于 2015-9-15 23:29:08 | 显示全部楼层
PPP模式是不是需要比较多的资源啊??

出0入8汤圆

发表于 2015-9-15 23:29:35 | 显示全部楼层
PPP模式是不是需要比较多的资源啊??

出0入0汤圆

 楼主| 发表于 2015-9-16 09:18:34 | 显示全部楼层
lindabell 发表于 2015-9-15 23:29
PPP模式是不是需要比较多的资源啊??

是的PPP所需资源是比较多的,但是PPP带来的好处比要大于坏处。而且现在MCU的价格已经比较低了,选型一个高资源的也还不算太贵

出0入0汤圆

发表于 2015-9-16 09:28:45 | 显示全部楼层
等了好就终于等到今天!LZ很给力!

出0入0汤圆

发表于 2015-9-16 09:31:04 | 显示全部楼层
PPP模式64K RAM就可以跑的很欢了,lz的cmux部分完整不啊

出0入0汤圆

发表于 2015-9-16 09:43:55 | 显示全部楼层
关于APN可以参考如下博文(转载 cn0086)

APN 设置技巧

如果产品不涉及出国,仅在国内使用,那么以下内容不合适。

我们要讨论的是产品发出去后,有可能在不同国家使用,有不同的运营商。

曾经请教过朋友,他们建议使用短信,更新APN参数。
这个方法也不错,不过遇到数据卡时,国外叫 M2M,machine to machine,
这种卡连号码都没有,没办法使用这种方法更新。

后来参考手机的做法,根据插入SIM card 的 IMSI:International Mobile SubscriberIdentification Number 来设置APN

具体做法如下:
1, 先把有可能用到的运营商资料,做成一个2维数组:
结构是 MMC+MNC,然后是 APN,user name, password

//IMSI共有15位,其结构如下:MCC+MNC+MIN
//MCC:Mobile Country Code,移动国家码,共3位,中国为460;
//MNC:Mobile Network Code,移动网络码,共2位,
const unsigned char *apn_list[][4]= {\
//MCC+MNC,apn,user,passwd
//apn carrier="China-Mobile"
"46000","CMNET","","",\
//apn carrier="China-Mobile"
"46002","CMNET","","",\
//apn carrier="China-Mobile"
"46007","CMNET","","",\
//apn carrier="Vodafone NL"
"20404","live.vodafone.com","vodafone","vodafone",\
//apn carrier="T-Mobile Internet"
"20416","internet","","",\
//apn carrier="Orange NL"
"20420","internet","",""\
};

2, 取得SIM card 的 IMSI 后,根据前5位,搜索数组,找到正确的 index:
for ( i = 0 ; i < apn_count ; i++ ) { if ( cmpmem(respond_str,(unsigned char *)apn_list[i][0],5 )) { my_gsm.apn_index = i ; return true; } } 3, 在设置 APN 时,通过 index,找到对应的 apn, user, passwd,逐一设置好即可。 附:全球 apn 列表

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2015-9-16 09:44:49 | 显示全部楼层
关于APN可以参考如下博文(转载 cn0086)

APN 设置技巧

如果产品不涉及出国,仅在国内使用,那么以下内容不合适。

我们要讨论的是产品发出去后,有可能在不同国家使用,有不同的运营商。

曾经请教过朋友,他们建议使用短信,更新APN参数。
这个方法也不错,不过遇到数据卡时,国外叫 M2M,machine to machine,
这种卡连号码都没有,没办法使用这种方法更新。

后来参考手机的做法,根据插入SIM card 的 IMSI:International Mobile SubscriberIdentification Number 来设置APN

具体做法如下:
1, 先把有可能用到的运营商资料,做成一个2维数组:
结构是 MMC+MNC,然后是 APN,user name, password

//IMSI共有15位,其结构如下:MCC+MNC+MIN
//MCC:Mobile Country Code,移动国家码,共3位,中国为460;
//MNC:Mobile Network Code,移动网络码,共2位,
const unsigned char *apn_list[][4]= {\
//MCC+MNC,apn,user,passwd
//apn carrier="China-Mobile"
"46000","CMNET","","",\
//apn carrier="China-Mobile"
"46002","CMNET","","",\
//apn carrier="China-Mobile"
"46007","CMNET","","",\
//apn carrier="Vodafone NL"
"20404","live.vodafone.com","vodafone","vodafone",\
//apn carrier="T-Mobile Internet"
"20416","internet","","",\
//apn carrier="Orange NL"
"20420","internet","",""\
};

2, 取得SIM card 的 IMSI 后,根据前5位,搜索数组,找到正确的 index:
for ( i = 0 ; i < apn_count ; i++ ) { if ( cmpmem(respond_str,(unsigned char *)apn_list[i][0],5 )) { my_gsm.apn_index = i ; return true; } } 3, 在设置 APN 时,通过 index,找到对应的 apn, user, passwd,逐一设置好即可。 附:全球 apn 列表

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2015-9-16 09:57:31 | 显示全部楼层
EasyIO 开发环境搭建 中的git地址 不能下载

出0入0汤圆

 楼主| 发表于 2015-9-16 10:25:35 | 显示全部楼层
_yuming 发表于 2015-9-16 09:57
EasyIO 开发环境搭建 中的git地址 不能下载

刚刚地址有变动,现在修改过了,可以下载了

出0入0汤圆

 楼主| 发表于 2015-9-16 10:51:15 | 显示全部楼层
_yuming 发表于 2015-9-16 09:57
EasyIO 开发环境搭建 中的git地址 不能下载

刚刚地址有变动,现在修改过了,可以下载了

出0入0汤圆

 楼主| 发表于 2015-9-16 11:08:51 | 显示全部楼层
tomyqg 发表于 2015-9-16 09:44
关于APN可以参考如下博文(转载 cn0086)

APN 设置技巧

谢谢提供

出0入0汤圆

发表于 2015-9-16 11:19:51 | 显示全部楼层
顶起,是个好东西,现在物联需求旺盛,这个东西有前途。

出0入0汤圆

发表于 2015-9-16 11:28:12 | 显示全部楼层
Mark备用 DTU

出20入0汤圆

发表于 2015-9-16 12:41:23 | 显示全部楼层
  谢谢分享

出0入0汤圆

发表于 2015-9-16 13:29:18 | 显示全部楼层
谢谢搂主分享

出0入0汤圆

发表于 2015-9-16 13:46:39 | 显示全部楼层
支持一下

出0入0汤圆

发表于 2015-9-16 14:11:21 | 显示全部楼层
tomyqg 发表于 2015-9-16 09:31
PPP模式64K RAM就可以跑的很欢了,lz的cmux部分完整不啊

好像被封装了吧

出0入0汤圆

发表于 2015-9-16 15:04:10 | 显示全部楼层
easyio 发表于 2015-9-15 21:40
用STM32开发板 + SIM900开发板即可。我后面会补充上 用STM32+SIM900搭建的教程 我自己也有模块。但是不知 ...

好像如果开源了, 且有价值的话, 应该是能发淘宝配套链接的, 如果有配套硬件,我也想买一套。

出0入0汤圆

 楼主| 发表于 2015-9-16 15:16:19 | 显示全部楼层
ysu533 发表于 2015-9-16 15:04
好像如果开源了, 且有价值的话, 应该是能发淘宝配套链接的, 如果有配套硬件,我也想买一套。 ...

嗯嗯,等我把 云服务 和 ota 部分的教程 和演示视频完成后 再推相应模块

出0入0汤圆

发表于 2015-9-16 15:22:15 | 显示全部楼层
很给力~

出0入0汤圆

发表于 2015-9-16 15:23:16 | 显示全部楼层
可以考虑用消息总线 ActiveMQ 和 mosquitto MQTT协议。

出0入0汤圆

发表于 2015-9-16 15:25:03 | 显示全部楼层
比较Ardiuno ,还可以考虑用 elua ,参考 NODEMCU 模式也挺有意思...

出0入0汤圆

 楼主| 发表于 2015-9-16 15:37:01 | 显示全部楼层
xwiron 发表于 2015-9-16 15:25
比较Ardiuno ,还可以考虑用 elua ,参考 NODEMCU 模式也挺有意思...

跑 LUA 还是比较容易的,只是STM32 资源实在有限了

出0入0汤圆

发表于 2015-9-17 22:21:23 来自手机 | 显示全部楼层
学习了!     

出0入0汤圆

发表于 2015-9-17 22:47:56 | 显示全部楼层
本帖最后由 hyz_avr 于 2015-9-17 23:41 编辑

好像没看到短信部分了?

出0入0汤圆

 楼主| 发表于 2015-9-18 09:07:36 | 显示全部楼层
hyz_avr 发表于 2015-9-17 22:47
好像没看到短信部分了?

因为这版是从产品中抽离出来的,所以短信部分还没完全抽离完,后面会补上

出0入0汤圆

发表于 2015-9-18 09:30:31 | 显示全部楼层
赞!!非常有价值的开源

出0入0汤圆

发表于 2015-9-18 10:18:12 | 显示全部楼层
支持哈,楼主不错,学习一下先。

出0入0汤圆

发表于 2015-9-18 10:22:12 | 显示全部楼层
easyio 发表于 2015-9-18 09:07
因为这版是从产品中抽离出来的,所以短信部分还没完全抽离完,后面会补上 ...

PPP模式有哪些好处,使用PPP模式对短信接收这些有影响吗?

出0入0汤圆

发表于 2015-9-18 10:37:36 | 显示全部楼层
楼主一定是呕心沥血了。搞了多长时间呢

出0入0汤圆

 楼主| 发表于 2015-9-18 10:47:36 | 显示全部楼层
本帖最后由 easyio 于 2015-9-18 10:48 编辑
hyz_avr 发表于 2015-9-18 10:22
PPP模式有哪些好处,使用PPP模式对短信接收这些有影响吗?


PPP 可以充分发挥 TCP的可靠传输。 二进制数据传输不会丢帧错帧。

由于是使用Cmux 多通道。所以数据传输和短信不互相影响。

现有的LED控制卡稍加改动即可实现一个 “云版本” 的控制卡。

出0入0汤圆

 楼主| 发表于 2015-9-18 10:48:02 | 显示全部楼层
xinmulan 发表于 2015-9-18 10:37
楼主一定是呕心沥血了。搞了多长时间呢

断断续续将近2年。不过期间也进行过一些商业应用

出0入0汤圆

发表于 2015-9-18 11:19:21 | 显示全部楼层
easyio 发表于 2015-9-18 10:47
PPP 可以充分发挥 TCP的可靠传输。 二进制数据传输不会丢帧错帧。

由于是使用Cmux 多通道。所以数据传输 ...

嗯,LED主要还是TCP,“云版本”TCP传输只是一小部分,更多的还是在用户操作这块,像节目编辑,审核,终端管理,用户和权限的管理等。

这是我们目前实现的。

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2015-9-18 13:20:43 | 显示全部楼层
hyz_avr 发表于 2015-9-18 11:19
嗯,LED主要还是TCP,“云版本”TCP传输只是一小部分,更多的还是在用户操作这块,像节目编辑,审核,终 ...

不错看上去很成熟

出0入0汤圆

发表于 2015-9-18 15:36:54 | 显示全部楼层
PPP拨号只需要RXD,TXD,不需要硬件流控制吗?

出0入0汤圆

发表于 2015-9-18 16:00:46 | 显示全部楼层
PPP拨号只需要RXD,TXD,不需要硬件流控制吗?

出0入0汤圆

 楼主| 发表于 2015-9-18 16:58:11 | 显示全部楼层
coolhorse 发表于 2015-9-18 16:00
PPP拨号只需要RXD,TXD,不需要硬件流控制吗?

是的 不需要的

出0入16汤圆

发表于 2015-9-18 17:01:34 | 显示全部楼层
学习一下!

出0入0汤圆

发表于 2016-1-14 16:48:47 | 显示全部楼层

"EasyIO 会坚持每周做优化和功能升级,欢迎各位及时提出需要改进的地方和BUG,我们会及时修复。"

好像这么久都没更新过吧...

出0入17汤圆

发表于 2016-1-24 23:46:21 来自手机 | 显示全部楼层
什么时候开源呢?

出0入0汤圆

发表于 2016-1-25 12:00:24 | 显示全部楼层
说明文档打不开网页

出0入0汤圆

发表于 2016-1-25 13:59:11 | 显示全部楼层
赞!!非常有价值的开源

出0入10汤圆

发表于 2016-3-16 11:54:52 | 显示全部楼层
支持下楼主,不过楼主好像好久没有动静了!

出60入0汤圆

发表于 2016-3-18 08:57:54 | 显示全部楼层
一直在找DTU替代方案

出0入0汤圆

发表于 2016-5-18 08:29:56 | 显示全部楼层
关注楼主,楼主做出来了,我买上毛爷爷送上支持一块开发板。

出0入0汤圆

发表于 2016-8-24 00:11:33 | 显示全部楼层
gzhmcu 发表于 2015-9-16 09:28
等了好就终于等到今天!LZ很给力!

下载看了吗?提供API接口,以lib形式做的?

出0入0汤圆

发表于 2016-8-24 08:14:27 | 显示全部楼层
MARK 给力的 项目

出0入0汤圆

发表于 2016-8-24 08:29:37 | 显示全部楼层
好东西顶上来

出0入0汤圆

发表于 2016-8-24 08:50:21 | 显示全部楼层
你好,,请问如果使用  openfire   是不是还需要买一台云服务器啊

出0入0汤圆

发表于 2017-4-7 23:28:49 | 显示全部楼层
mark 好东西顶上来

出0入0汤圆

发表于 2017-5-22 16:06:14 来自手机 | 显示全部楼层
Mark,DTU

出0入4汤圆

发表于 2017-5-22 21:14:46 来自手机 | 显示全部楼层
大家有研究过吗?

出0入0汤圆

发表于 2017-12-28 08:45:04 | 显示全部楼层
项目现在什么状态?开源中国上一年也没有提交更新。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-27 10:23

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

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