我一直想做一个和手机进行通信的家庭物联终端,所以想到GSM通信,当然其实也可以利用家里的WIFI,只是买的WIFI模块还没用就被我上电烧了.SO...找了个GSM模块用用.
GSM 模块一般用的就是GPRS通信,当然有的还会用到里面的短信功能和电话功能,这些功能在实现设备掉线后远程配置其实是比较有用的.
GPRS有TCP UDP 还有什么FTP http 一般用TCP比较多 另外传输有透传和非透传说法,透传的话可以传输数据量上大,但想要再发命令有点麻烦,非透可以通过AT命令透传,也可以在这个期间发送AT命令给模块,数据量来说我测试过1000个字节好像也可以发,但具体多大我找不到哪里有说明.
后期的话,想通过串口对这个模块进行通信,然后达到与服务器进行TCP通信.目前的话是完全没有问题的,但是有一个难题就是如何做一个服务器,如何进行数据库管理,这个是个盲区,头疼啊!!有熟悉的盆友告知下,有没有一个信息透明转发的网站.
手上的GSM模块就是这个,这个是我同学代理的模块,送了我一个,这货带GSM和WFI的模块.原谅我没有天线,因为家里没有天线,另外没有天线信号强度居然神奇的也有21,那么应该也可以通行.链接后,就是写代码了.
写完代码,还有一个问题就是,没有相应的服务器,那么只有自己在电脑上虚拟个服务器端了,这里用到的是网络调整助手,配置好模式和端口,打开就可以了.
这里还有一个重要的一步就是路由器的映射,首先百度找到外网IP,然后进入路由器设置好外网和内网的IP映射还有端口号,不同的路由界面的配置方式可能不一样,这里就要靠中级摸索了,!!如果你路由进不去,那…………………..就算了吧!! 配置好后就可以开动程序进行通信了!
这个是我这里的路由映射方法
这个调试助手收到的数据
调试助手显示的信息就是上面这个东西了.后期我想哪个同学告诉我哪里有一个免费的平台接入,要是能和微信或者QQ免费接入就完美了!!!!
另外说下GSM的TCP 配置 目前大家用得比较多的是SIM900,所以这里说下我在其他板子上测试的过AT命令(也是从其他地网站找到做到自己测试笔记里保存的),可以用的.
1\AT+CGCLASS="B"
2\AT+CGDCONT=1,"IP","CMNET"
3\AT+CGATT=1
4\AT+CIPCSGP=1,"CMNET"
5\发送: AT+CLPORT="TCP","2000", 设置本地 TCP 连接端口为 2000,(可以简化)
然后发送: AT+CIPSTART="TCP","113.111.214.69","8086", 建立 TCP 连接, 连接到 IP: 113.111.214.69,连接端口为:8086。等待 TCP 连接成功建立,模块返回:CONNECT OK。
6\发送:AT+CIPSEND,此时模块返回:>,
然后我们发送字符串(不用发送新行) :ATK-SIM900A TCP 连接测试,最后发送十六进制的:1A,启动数据发送。
也可以发送at+cipsend=xx xx为数据长度,这样数据发送就会发送固定长度的数据而不受0X1A限制。