python TCP通信雷达实时解析数据

2023-11-17

雷达解析程序

# -*- coding: cp936-*-
import socket
import re


class jiema:

    def yushe3(self):
        receve_r = []
        receve_av = []
        receve_v = []
        receve_h = []
        while True:
            client = socket.socket()
            client.connect(('192.168.0.100', 6008))
            client.send(b'\x55\xAA\x10\x00\x01\x00\x01\x00\x01\x00\x01\x00\x05\x00\xEE\xEE')
  
            receve_data = client.recv(1024)

            print(receve_data)
            print(receve_data.hex())

            a = receve_data.hex()
            


            if len(receve_data.hex()) == 90:
                # print('方位', a[76:78] + a[74:76])
                # print(int(a[76:78] + a[74:76], 16) / 100)
                if int(a[76:78] + a[74:76], 16) / 100 >= 270:
                    # print(int(int(a[76:78] + a[74:76], 16) / 100 - 360))
                    receve_av.append(int(int(a[76:78] + a[74:76], 16) / 100 - 360))
                else:
                    # print(int(a[76:78] + a[74:76], 16) / 100)
                    receve_av.append(int(a[76:78] + a[74:76], 16) / 100)
                # print('速度', a[68:70] + a[66:68])
                if a[70:74] == 'ffff':
                    # print(-int(a[68:70] + a[66:68], 16) / 100)
                    receve_v.append(-int(a[68:70] + a[66:68], 16) / 100)
                else:
                    # print(int(a[68:70] + a[66:68], 16) / 100)
                    receve_v.append(int(a[68:70] + a[66:68], 16) / 100)

                # print('距离', a[60:62] + a[58:60])
                # print(int(a[60:62] + a[58:60], 16) / 100)
                receve_r.append(int(a[60:62] + a[58:60], 16) / 100)
                # 航迹号
                # print('航迹号',a[52:54] + a[50:52])
                receve_h.append(int(a[52:54] + a[50:52],16))


            elif len(receve_data.hex()) > 90:
                print('数据', receve_data.hex())


            elif len(receve_data.hex()) == 58:
                print('状态2:', receve_data.hex())

            elif len(receve_data.hex()) == 64:
                print('状态3', receve_data.hex())
                print(len(receve_data.hex()))

            client.close()

            if len(receve_r) == 10:
                return receve_h,receve_r,receve_av,receve_v


 这一段是主要的tcp通信程序,网上查一查。我的这款雷达需要先发送一个命令,才会返回目标信息,所以先用send发送一个命令。

 计算机先接到为下面第一行。经十六进制处理为第二行。注意,这里用utf-8编码会报错,要用gbk编码了。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python TCP通信雷达实时解析数据 的相关文章

  • ptb_word_lm中batch_size的含义(tensorflow的LSTM模型)

    我是张量流的新手 我现在对它的含义有点困惑batch size 众所周知 其含义是batch size是每批次的样本数 但是根据中的代码ptb word lm 似乎不是 读者 py data len tf size raw data the
  • 使用 matplotlib 在图像数据之上对线网格进行像素精确定位

    我试图在 python 库 matplotlib 显示的图像网格顶部精确地覆盖 1 像素宽线的网格 不幸的是 我似乎无法对结果进行足够精细的控制 以实现线网格与数据网格的正确对齐 如下面的代码所示 结果似乎总是很接近 但并不完全正确 我尝试
  • Pandas:根据其他多级列对最里面的列进行分组排序

    考虑下面的 df In 3771 df pd DataFrame A a 11 B b 11 C C1 C1 C2 C1 C3 C3 C2 C3 C3 C2 C2 D D1 D2 D1 D3 D3 D2 D4 D4 D1 D2 D3 E v
  • numpy.linalg.inv() 是否给出了正确的矩阵逆?编辑:为什么 inv() 给出数值错误?

    我有一个矩阵形状 4000 4000 我想取逆矩阵 我对逆矩阵的直觉因如此大的矩阵而崩溃 起始矩阵的值大小为e 10 具有以下值 print matrix给出一个输出 2 19885119e 10 2 16462810e 10 2 1306
  • 检查字符串是否以 XXXX 开头

    我想知道如何在Python中检查字符串是否以 hello 开头 在 Bash 中我通常这样做 if string hello then do something here fi 我如何在Python中实现同样的效果 aString hell
  • PySerial 和多个 Python 安装出现问题

    我的 Windows 7 计算机上有 Python 2 4 4 和 3 1 3 我想使用 PySerial 听说是内置的 所以我尝试了一下import serial在两个版本中 两者都造成了Import Error 然后我从以下位置下载了w
  • 使用 selenium 在 python 中切换到弹出窗口

    如何在下面的 selenium 程序中切换到弹出窗口 我已经查找了所有可能的解决方案 但无法解决它们 请帮忙 from selenium import webdriver from splinter import Browser from
  • 如何在 pySpark 数据框中添加行 ID [重复]

    这个问题在这里已经有答案了 我有一个 csv 文件 我在 pyspark 中将其转换为 DataFrame df 经过一番改造后 我想在 df 中添加一列 这应该是简单的行 ID 从 0 或 1 开始到 N 我将 df 转换为 rdd 并使
  • 在OpenCV Python中编写4通道以上图像

    这对我来说是一个持续的挑战 我正在尝试使用 openCV 将两个 3 RGB 图像组合成一个 6 通道 TIFF 图像 到目前为止我的代码如下 import cv2 import numpy as np im1 cv2 imread im1
  • python请求:重试直到收到有效响应

    我想知道是否存在重试请求一定次数的常见模式 可能由于服务器错误或网络不良而失败 我想出了这个 并且我愿意在那里找到更好的实现 cnt 0 while cnt lt 3 try response requests get uri if res
  • 如何读取 sql 查询到 pandas dataframe / python / django

    我在下面使用这个views py获取应用程序 from django db import connection def test request cursor connection cursor sql SELECT x n from ta
  • QTableView 选择已更改

    我有一个QTableView我需要从中获取选择更改事件 我似乎无法让连接工作 我有 MyWidget h protected slots void slotLoadTransaction const QItemSelection selec
  • Django外键:获取相关模型?

    是否可以通过外键字段本身获取外键的相关模型 例如 如果我有 3 个模型 class ModelA models Model field1 models CharField max length 10 class ModelB models
  • 如何使用 Python Flask-Security 使用 bcrypt 加密密码?

    我正在尝试使用 Flask Security 文档中的标准基本示例 并使其正常工作 除了密码以明文形式存储之外 我知道这一行 user datastore create user email email protected cdn cgi
  • 在 matplotlib 中分割图例

    是否有可能将一个大图例分成多个 通常是 2 个 较小的图例 from pylab import t arange 0 0 2 0 0 01 s sin 2 pi t plot t s linewidth 1 0 label Graph1 g
  • Django:上传前调整图像大小

    我想调整图像大小 Pillow 在上传之前 我在下面编写了代码但不起作用 并得到错误 myapp list 处的属性错误 坚定的 请求方式 POST 请求网址 http 127 0 0 1 8000 myapp list http 127
  • Python:如何访问 Lotus Notes 8.5 Inbox 来阅读电子邮件

    我想用 python 创建一个脚本 从 Lotus Notes 8 5 读取电子邮件 然后在 jira 中为每封电子邮件创建一个问题 但当我尝试从 Lotus 读取邮件时 它会返回此错误 Traceback most recent call
  • 纯Python库读写jpeg格式

    伙计们 我正在寻找 jpeg 写入 阅读会很好 但不是必需的 库的纯 python 实现 我只在以下位置创建了 TonyJPEG 库端口 http mail python org pipermail image sig 2004 Novem
  • FileAllowed 不显示错误消息

    我正在使用 WTForms 我正在对文件上传应用验证 并将其限制为仅 jpg png 和 pdf 格式 但是 如果我输入不正确 则不会出现错误消息 我按照这个教程https flask wtf readthedocs io en stabl
  • 媒体文件上的 404 - Django

    昨晚我将项目上传到 pythonanywhere com 我想在那里测试我的项目生产设置 在我允许的模型之一中用户上传JPG 团队徽标 上传过程运行良好 文件位于我的 MEDIA ROOT 中 问题是 当我尝试在模板中访问它 以将其显示在页

随机推荐

  • Python 3.打开摄像头,保存AVI视频 OpenCV Linux

    import cv2 import numpy as np from matplotlib import pylab as plt img cv2 imread pic1 png 2 plt imshow img cmap gray int
  • C练题笔记之:Leetcode-565. 数组嵌套

    题目 索引从0开始长度为N的数组A 包含0到N 1的所有整数 找到最大的集合S并返回其大小 其中 S i A i A A i A A A i 且遵守以下的规则 假设选择索引为i的元素A i 为S的第一个元素 S的下一个元素应该是A A i
  • 栈的 创建,入栈,出栈,清空栈,遍历栈 的实现

    数据结构 的学习视频 https www bilibili com video av6159200 from search seid 6709590585276522157 一 算法 栈 数据进出 类向箱子放东西和拿东西 先进后出 或者说后
  • OpenGL Vertex Buffer Objects(VBOs)

    OpenGL Vertex Buffer Objects VBOs 分类 OpenGL2010 05 20 12 53 3714人阅读 评论 13 收藏 举报 buffer float list struct 存储 工作 原创文章转载请注明
  • python 异常之 ValueError: invalid literal for int() with base 10: ‘xxx‘

    文章目录 1 异常例子 2 源代码 3 int x base 的正确使用方法 1 异常例子 代码 if name main print int 123 print int aaa 执行代码 2 源代码 可以看到 在执行 print int
  • LINUX 防火墙iptables常用指令

    封单个IP的命令 iptables I INPUT s 124 115 0 199 j DROP 封IP段的命令 iptables I INPUT s 124 115 0 0 16 j DROP 封整个段的命令 iptables I INP
  • “字符串的展开”【题解】

    字符串的展开 的题目 题目 题目描述 在初赛普及组的 阅读程序写结果 的问题中 我们曾给出一个字符串展开的例子 如果在输入的字符串中 含有类似于 d h 或者 4 8 的字串 我们就把它当作一种简写 输出时 用连续递增的字母或数字串替代其中
  • golang 读取yaml配置文件中的数据 两种方式:yaml.v2 和 Viper

    golang 读取yaml配置文件中的数据 yaml 配置文件 config yaml 中 写数据 app host 127 0 0 1 port 3306 username admin password admin log suffix
  • 110. 平衡二叉树

    给定一个二叉树 判断它是否是高度平衡的二叉树 本题中 一棵高度平衡二叉树定义为 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 Definition for a binary tree node public class Tr
  • VScode设置字体大小

    VScode如何设置字体大小 第一步 首先打开vscode 在vscode的左下角有一个设置按钮 单机打开 选择settings选项 第二步 在设置中查找font 字体 选项 并打开 第三步 在font选项内 选择font size 就可以
  • jQuery验证码插件:jquery.idycode.js

    对于任何一个又评论功能的网站来说 验证码都是重中之重 没有验证码的话 用户就可以肆意刷评论 甚至是通过一些工具来操作 会对网络环境产生极大的危害 验证码这个词最早是在2002年由卡内基梅隆大学的路易斯 冯 安 Manuel Blum Nic
  • 标识符和关键字应该如何理解?

    思考 为什么语言中需要关键字和表示符 程序来源于生活 想想我们人类在生产生活过程中的一些语言使用都有其特定的含义 而每个事物或者事物的一些属性功能也都需要给予特定的语言符号来表示 故java语言的发明者们按照人类的方式创造除了一门值得大家学
  • 分布式、微服务概念

    目录 1 目前软件架构大致分类 2 各种架构技术方法 3 什么是微服务 4 微服务架构特点 5 什么是SOA 6 SOA架构特点 7 SOA架构和微服务架构的区别 8 ESB和微服务API网关 9 什么是分布式 10 什么是集群 11 负载
  • R语言使用cumsum函数计算向量数据的累加和(cumulative sum )

    R语言使用cumsum函数计算向量数据的累加和 cumulative sum 目录 R语言使用cumsum函数计算向量数据的累加和 cumulative sum
  • glsl version 300es 关键字

    参考链接 GLSL ES Specification 3 00 变量名 不能要以gl 开头 注释 或 关键字 void float int uint bool void function name float var name 1 uint
  • JS混淆技术探究及解密方法分析

    随着Web技术的快速发展 JavaScript被广泛应用于网页开发 移动应用开发等领域 然而 JavaScript代码很容易被反编译 解密 这给保护网站和应用程序的安全性带来了严重的挑战 为了解决这个问题 JS混淆技术应运而生 JS混淆就是
  • Redux持久化插件-解决刷新页面数据丢失问题

    最近在使用react的时候有用到redux 对数据进行全局的状态管理 但是发现和vuex一样会出现刷新之后数据丢失的问题 于是在github上面查阅了 redux persist 插件 使用redux persist进行持久化数据存储 通常
  • Rstudio更换主题/样式

    github项目地址 https github com gadenbuie rsthemes 安装 在 rstudio 的控制台console中数据 install packages devtools devtools install gi
  • 为什么会说:程序员年龄越大,越容易失业?

    在程序员的世界里 一直有一个传言 互联网公司没有35岁以上的中年人 从华为辞退34岁以上的员工 到腾讯辞退35 高级员工 似乎老程序员面临着 年龄危机 要时刻警惕在职场被 踢出 的危险 而国内其他很多职业 比如教师 医生 公务员 都在稳步发
  • python TCP通信雷达实时解析数据

    雷达解析程序 coding cp936 import socket import re class jiema def yushe3 self receve r receve av receve v receve h while True