手头有个ESP8266模块,想着用它联网,作为服务端,串口接收Air551G双频定位
开发板的坐标信息,在页面显示。
初步定义服务端页面如上图所示,正好也利用上了ESP8266模块上面的一个输入,一个输出口,可控制模块上的LED,也可采集一个引脚的高低电平,同时把串口接收到的坐标信息显示在网页中。
- if (incomingByte.length() > 0) { //监测串口缓存,当有数据输入时,执行下面语句
- dongjing_x = incomingByte.indexOf(",E");
- beiwei_x = incomingByte.indexOf(",N");
- dongjing = incomingByte.substring(dongjing_x + 1, dongjing_x + 12);
- beiwei = incomingByte.substring(beiwei_x + 1, beiwei_x + 12);
- Serial.println("坐标经纬值");
- Serial.println(dongjing);
- Serial.println(beiwei);
- incomingByte = "";
- }
Arduino代码中主要添加字符串索引和截取函数,通过截取串口中特定字符串,显示其后的坐标信息。
用串口助手发送测试数据如下
目前主题框架已经搭好,并且能够粗略运行,获取有效信息,
具体应用要根据需求定制。
源码上传附件。
Arduino代码中有两个问题待解决,
1.上电后串口能一直收到很多数据,过一会才能正常接收Air551G发送的正确数据。
2.程序中尚有不严谨的地方,比如,目前只是根据“,N”和",E”来判断坐标信息,没有经过判断和计算,也没有做错误机制处理,需要完善。
欢迎善于Arduino以及JS,CS等同学一起合作开发。