WEB开发手册

概要

小龟小车(小龟机器人)本身就是一台能提供web服务的服务器,因此您可以用传统Web开发的相关技术来操控小龟小车,实现自己的想法,比如一个完全符合自己要求的操控台、全自动的批处理等等。小龟也非常感谢您能分享您的作品。

所有可以进行HTTP访问的编程语言,不限Java、Python、C等等,都可以使用HTTP访问的方式来完整控制小车。


开发流程

您可以按照下面的开发流程来进行Web开发:

第一步:通过访问小龟小车官网(guidan.com)获取当前路由器下的所有小车的信息。

第二步:向指定小车的IP地址,发送您的操控请求。


获取当前路由器下所有小车

首先您需要通过HTTP或HTTPS请求访问以下网址,即可获得当前路由器(局域网)下的所有小车信息:

http://api.guidan.com/my/car.list

注意:只有获得小车的本地IP后,才能通过对这个IP发送各种HTTP请求来控制小车。


请求返回格式如下:

[{"ip": "192.168.5.95", "name": "\u5c0f\u8f661ad9", "model": "A2", "ver": "V211015", "update": 1634533876}]

这是一个符合JSON4规范的字符串,所以您可以用诸如"JSON.parse"来解析。整体是一个数组,数组的每个元素是一辆小车的信息(JSON对象格式),对象内各个字段意义如下:

字段作用说明
ip小车本地IP所有请求都是直接发到这个IP
name小车名称
model小车型号
update小车最新报告时间



操作指定小车

比如,我们想让目标小车(IP 192.168.1.19)播放Hello开机音乐,则如下发送HTTP请求即可:

http://192.168.1.19/py?code=car.hello()


开发范例

JavaScript范例

var xhr = new XMLHttpRequest();
//部分请求会非常耗时,请根据具体情况调整
//xhr.timeout = 5000;
xhr.onreadystatechange = function(){
	if(xhr.readyState!=4){return;}
	if(xhr.status!=200){return;}    //返回的答复报文格式 {"status":"OK", "msg":""}
var json = JSON.parse(xhr.responseText); //在下面处理 }; xhr.open("GET", "http://192.168.5.95/py?code=car.hello()", true); xhr.send(null);



接口说明

Python代码执行接口

Python执行接口支持GET和POST两种请求方式。

GET请求模式:适合较短的Python代码;POST请求模式,适合较长的Python代码。


GET接口
http://小车IP/py?code=Python代码

GET方式只能支持不大于256个字节的短PYTHON代码,超过这个长度的,请使用POST方式。


POST接口
http://小车IP/py
参数: code=Python代码

POST方式提交Python代码,需要按以下浏览器编码规范。

Content-Type: application/x-www-form-urlencoded



运动操作接口

运动操作接口仅支持GET提交方式。


GET接口
http://小车IP/driver?v={运动JSON指令}

关于运动JSON指令,请参考运动指令说明章节。


API操作接口

API操作接口支持GET和POST两种模式,请根据提交的数据量大小自由决定使用那种方式。


GET接口
http://小车IP/api?p=API路径&v={API指令}

API路径与API值请参考API手册。


POST接口
http://小车IP/api
参数p=API路径&v={API指令}

API路径与API值请参考API手册。

POST方式需要按以下浏览器编码规范。

Content-Type: application/x-www-form-urlencoded