有人知道如何使用Arduino和SIM900进行三角定位吗?

4

我有一台SIM900和Arduino Leonardo。使用SIM900.h库,我已经可以接收短信等信息,但我想知道如何使用它来获取所有本地塔的信息或从这些信息中获取LAT,LONG等信息并进行三角定位。

3个回答

1
以下是获取模块位置所需的AT指令序列:
AT+SAPBR=3,1,"CONTYPE","GPRS" // set bearer parameter
OK

AT+SAPBR=3,1,"APN","internet" // set apn
OK

AT+SAPBR=1,1 // activate bearer context
OK

AT+SAPBR=2,1 // get context ip address
+SAPBR: 1,1,"10.151.43.104"
OK

AT+CIPGSMLOC=1,1 // triangulate
+CIPGSMLOC: 0,19.667806,49.978185,2014/03/20,14:12:27

OK

尽管位置不是很准确,但第一次测试将我的坐标定位在距离我位置约4公里的地方。通常情况下,这并不太糟糕,对于简单的应用程序已经足够了。


最后的位置是塔的坐标,而不是模块的坐标。 - Chebhou

1
你可以使用AT+CENG=2命令获取本地基站(以及一些邻近基站)的信息,包括基站ID和信号强度等。你需要知道这些基站的地理位置并自行进行三角定位。
我建议您查看此项目:http://www.open-electronics.org/mini-gsm-localizer-without-gps/。它有一个开源固件,您可能会发现它有用。

0
你可以使用AT+COPS?命令来获取基站的位置信息。4位数字表示基站的位置,要解码这个数字,你需要使用LAC。
例如:+CGREG: 1, A9F0, 200D6E (第二个参数A9F0是基站的位置号码)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接