极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5276|回复: 6

乐联网定制的GPRS模块测试

[复制链接]
发表于 2013-3-26 10:28:35 | 显示全部楼层 |阅读模式
本帖最后由 瘦网虫 于 2013-3-26 13:40 编辑

免费拿到一块乐联网定制的GPRS模块,测试了一下功能,给没有用过这种类型产品的同学做个汇报。

也顺便给乐联网的这个模块提点建议。

GPRS模块实物图
IMG_20130326_092629.jpg


GPRS模块接线图:
IMG_20130326_092737.jpg

GPRS模块背面
QQ图片20130326133943.jpg

最左侧(pin1)接电源(5v-12v)(图中未接),紫色的线(pin2)接串口的GND,蓝色线(pin5)接串口的RX,绿色线(pin6)接串口的TX。

功能:
通过GPRS网络给乐联网服务器发送设备测量到的数据值。

使用很简单:插上开通gprs功能的未欠费的sim卡,通电,等待10秒左右,模块初始化完成后,就可以通过内定的命令发数据了。
模块写死了几个函数,通过接收串口发来的字符串来完成数据上传。
例如:
发送字符串 @key=1234567890abcdefghijklmnopqrstuvwxyz即可绑定这个卡的userkey,绑定用户。
发送字符串 @uploading(01,temp,31),就可以保存你的网关“01”上的名字为“temp”的传感器的数值“30”到服务器上。
数值可以为正也可以为负。
数据上传很快,上传完毕后有结果"ok"反馈。

汇报要中立,此GPRS卡也有很多不足。
例如,除了数值型的值,不能保存GPS类型的值。也就是不能保存自定义类型的值,或者多维数据的值,因为程序是写死到模块内的,除非模块升级,否则不能支持。
模块是否能自己通过串口升级?这个问题乐联网工程师沟通后表示,他们正在测试,结果暂时未知。

优点:不需要了解任何网络协议,服务器地址,端口,接线等,只管发特定命令就可以保存数据到服务器,使用相当方便。

评分

参与人数 1 +2 收起 理由
幻生幻灭 + 2 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-3-26 10:30:26 | 显示全部楼层
本帖最后由 瘦网虫 于 2013-6-21 15:07 编辑

另,我直接接arduino的5v电压,模块没有启动起来,接了12v电压工作正常。

GPRS模块不能上传GPS类型数据有些浪费啊,只是软件上的更新既可实现更多功能,何乐不为呢。
可能这个模块出来的早,网站上GPS传感器类型是后来添加的吧。

希望改进以实现更多玩法~



测试了下arduino mega 2560跟这个gprs模块相连,没问题。
连线(接到了2560的tx1,rx1上了):
GPRS模块ACC(pin1)-外接12v电源(外接12v电源的GND接到了2560的GND)
GPRS模块GND(pin2)-arduino mega 2560 GND
GPRS模块TTL TX(pin3)-arduino mega 2560 A19(RX1)
GPRS模块TTL RX(pin4)-arduino mega 2560 A18(TX1)

IMG_20130327_130235.jpg

写一个函数用来调用,往串口1上写值即可。


  1. //发送字符串为@uploading(a,b,c)即可完成数据上传
  2. void sendSensorValueToLeweiViaGPRS(String GWName,String sensorName,int sensorValue)
  3. {
  4.       Serial1.print("@uploading(");
  5.       Serial1.print(GWName);
  6.       Serial1.print(",");
  7.       Serial1.print(sensorName);
  8.       Serial1.print(",");
  9.       Serial1.print(sensorValue);
  10.       Serial1.print(")");
  11.       Serial1.println();
  12. }
复制代码


代码里面有个小技巧,从串口0往串口1发数据,串口1返回的数据再写回串口0。
代码如下(注意Serial和Serial1的区别):
String comdata="";在前面定义过了。


  1. while (Serial1.available() > 0)  
  2.   {
  3.       comdata += char(Serial1.read());
  4.   }
  5.   if (comdata.length() > 0)
  6.   {
  7.       Serial.println(comdata);
  8.       Serial.println("in from 1");
  9.       comdata = "";
  10.   }
  11.   
  12.   while (Serial.available() > 0)  
  13.   {
  14.       comdata += char(Serial.read());
  15.   }
  16.   if (comdata.length() > 0)
  17.   {
  18.       Serial1.println(comdata);
  19.       comdata = "";
  20.       Serial.println("in from 0");
  21.   }
复制代码

  
  
回复 支持 反对

使用道具 举报

发表于 2013-3-26 11:22:00 | 显示全部楼层
GPRS模块在背面?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-3-26 13:41:00 | 显示全部楼层
wangku001wei 发表于 2013-3-26 11:22
GPRS模块在背面?

已更新背面图
回复 支持 反对

使用道具 举报

发表于 2013-3-27 10:42:38 | 显示全部楼层
今天才看见这个帖子,呵呵。现在刚开始稳定性测试,稳定性没问题的话,会把后续的功能都加上去。
回复 支持 反对

使用道具 举报

发表于 2013-7-13 17:51:43 | 显示全部楼层
laoliu1982 发表于 2013-3-27 10:42
今天才看见这个帖子,呵呵。现在刚开始稳定性测试,稳定性没问题的话,会把后续的功能都加上去。

我也来加入测试
回复 支持 反对

使用道具 举报

发表于 2013-10-26 12:37:15 | 显示全部楼层
本帖最后由 jzmno1 于 2013-11-11 15:44 编辑

请教怎样用at调试发送数据到乐联网?
用at命令怎么调试?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2019-8-22 07:31 , Processed in 0.055810 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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