当前位置: 首页 > news >正文

大连电子商务网站建设软件技术和软件工程有什么区别

大连电子商务网站建设,软件技术和软件工程有什么区别,子域名在线查询,杭州建设网站平台的哪些企业比较好云迹机器人底盘调用还是比较友好的,就是纯socket收发指令就能实现,今天实现一个底盘移动到指定点位功能。底盘的默认IP是192.168.10.10通讯端口是31001,测试机与底盘接入统一网络后直接发指令即可。本文给出两种语言调用源码,选择…

云迹机器人底盘调用还是比较友好的,就是纯socket收发指令就能实现,今天实现一个底盘移动到指定点位功能。底盘的默认IP是192.168.10.10通讯端口是31001,测试机与底盘接入统一网络后直接发指令即可。本文给出两种语言调用源码,选择一种使用即可。

python调用源码:

import socket
import jsonyunji_ip = "192.168.10.10"#设定地盘ip地址,需要根据机器人实际ip地址修改#底盘-移动到指定为止
def YunjiGo(target):print(f"---------------------YunjiGo:{target}---------------------")port = 31001command = "/api/move?marker=" + target + "&distance_tolerance=0&theta_tolerance=0"client = socket.socket()client.connect((yunji_ip, port))print(f"command:{command}")client.send(command.encode())while True:try:data = client.recv(1024)if not data:print("Socket closed by peer.")return Nonestr_data = data.decode('utf-8')split_data = [s for s in str_data.split('\n') if s]for s in split_data:try:json_data = json.loads(s)print(json_data.get("description"))# 检查条件:任务完成且目标匹配if (json_data.get("description") == "The move task is finished."and "data" in json_dataand "target" in json_data["data"]and json_data["data"]["target"] == target):print("Task finished successfully!")client.close()  # 关闭 socketreturn True     # 返回成功except json.JSONDecodeError:print("Invalid JSON data, continue waiting...")continueexcept socket.timeout:print("Timeout reached, no matching data received.")return Noneexcept Exception as e:print(f"Error occurred: {e}")client.close()  # 确保异常时关闭 socketreturn None
YunjiGo("huahua")#移动到点位huahua

JAVA调用源码:(需要下载org.json-20161124.jar)

package examples;
import java.io.*;
import java.net.*;
import org.json.JSONObject;
import org.json.JSONException;/*
依赖安装:
sudo apt update
sudo apt install language-pack-zh-hans  # 简体中文
sudo apt install fonts-noto-cjk        # 中文字体
sudo apt install default-jdk*///make:
/*
cd /home/java
javac -encoding UTF-8 -cp .:\
org.json-20161124.jar \
examples/RobotControl.java
*/
//run : 
/*
cd /home/java
java -Dfile.encoding=UTF-8 -cp .:\
org.json-20161124.jar \
examples.RobotControl
*/public class RobotControl {String yunji_ip  = "192.168.10.10";  // 底盘ip地址int yunji_port = 31001;//底盘通讯端口private static RobotControl mInstance =null;public static synchronized RobotControl getInstance() {if (mInstance == null) {mInstance = new RobotControl();}return mInstance;}//底盘移动public void YunjiGo(String target) throws Exception{String command = "/api/move?marker=" + target + "&distance_tolerance=0.01&theta_tolerance=0.01";try {Socket client = new Socket(yunji_ip, yunji_port);//System.out.println("command:" + command);OutputStream out = client.getOutputStream();out.write(command.getBytes());out.flush();InputStream in = client.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(in));String strData;while ((strData = reader.readLine()) != null) {//System.out.println("strData:" + strData);try {JSONObject jsonData = new JSONObject(strData);System.out.println(jsonData.optString("description"));// 检查条件:任务完成且目标匹配if (jsonData.optString("description").equals("The move task is finished.")&& jsonData.has("data")&& jsonData.getJSONObject("data").has("target")&& jsonData.getJSONObject("data").getString("target").equals(target)) {System.out.println("Task finished successfully!");client.close(); // 关闭 socketreturn;    // 返回成功}} catch (JSONException e) {System.out.println("Invalid JSON data, continue waiting...");continue;}}throw new Exception("Socket closed by peer.");} catch (SocketTimeoutException e) {throw new Exception("Timeout reached, no matching data received.");} catch (Exception e) {throw new Exception("Error occurred: " + e.getMessage());}}public static void main(String[] args) {  RobotControl robotControl = RobotControl.getInstance();try{System.out.println("------------YunjiGo------------");robotControl.YunjiGo("huahua");} catch (Exception e) {System.out.println("YunjiGo Error occurred: " + e.getMessage());}System.out.println();}
}

运行输出:


------------YunjiGo------------The move task is started.
Start to leave charging pile..
Charge status off.
Succeed to leave charging pile.
traffic turn right.
traffic turn right.
The move task is finished.
Task finished successfully!

http://www.dtcms.com/a/560195.html

相关文章:

  • 深圳可以做网站的公司所见即所得的网页设计软件
  • 域名虚拟服务器做网站wordpress分类显示文章
  • 做网站需要具备哪些条件中国工程建设工程造价管理协会网站
  • 虹口区网站开发广告设计师是做什么的
  • 网站建设 中企动力 常州赞皇建站建设
  • 网站开发技术服务费合同范本个人申请公司流程
  • 童装东莞网站建设只有域名如何做网站
  • 免费大空间网站一般小型教育网站的建设和开发
  • 九江的网站建设公司久久韩剧网
  • 石碣镇网站仿做a 朝扬网络网站建设
  • 南宁做网站 的百度链接收录
  • 境外网站服务器工商登记信息查询平台
  • 商丘做微信网站sqwyy网站建设面试
  • 在线做网站图标网站数据分析表格
  • 网站建设版面分几页合适互联网广告投放代理公司
  • 家具能在什么网站上做东莞人才服务中心官网
  • 新圩做网站公司科技尽头
  • 设计公司企业网站详情wordpress修改地址后网站打不开
  • 网站空间公司寿光网站建设优化
  • 网站建设网站软件有哪些内容阿里巴巴网站开发工具
  • 艺术学校网站模板禁止粘贴的网站
  • 备案的网站有什么好处短网址生成防屏蔽
  • 爱站工具包的模块有哪些如何做美食的视频网站
  • 网站关键词查询网址乌镇镇住房建设局网站
  • 郑州专业网站优化python基础教程这本书怎么样
  • 防城港网站制作公众号运营平台
  • 网站设计一般会遇到哪些问题wordpress.org账号
  • 安徽专业网站制作公司太原心诺做网站
  • 国内出名的校园文化建设网站有哪些房产信息网查不到楼盘信息
  • 做网站可以挣钱吗公司用于做网站的费用怎么做账