基于python的4G DTU设备温度数据的仿真并传输

编程入门 行业动态 更新时间:2024-10-26 20:23:39

基于python的4G DTU设备<a href=https://www.elefans.com/category/jswz/34/1769107.html style=温度数据的仿真并传输"/>

基于python的4G DTU设备温度数据的仿真并传输

塔石4G DTU设备温度数据的仿真传输

  • 数据编码模块
    • OneNet平台设备开发文档
    • 数据编码代码如下:
  • 串口模块
  • 源代码

数据编码模块

OneNet平台设备开发文档


开发文档链接:ONeNet设备开发文档

数据编码代码如下:

class Converter(object):def to_hex(data):# onenet平台 .Json数据类型byte_list = '\x03'# 获取ANSI编码及长度list = data.encode('mbcs')len_list = len([format(i, 'X') for i in list])#塔石4G DTU编码格式byte_list += chr(0) + chr(len_list)for i in list:byte_list += chr(i)byte_list += '\r\n'# 串口使用比特流传输s_byte_list = bytes(byte_list, encoding='UTF-8')return s_byte_list

串口模块

class mSerial:def __init__(self, com, bps, timeout):self.port = comself.bps = bpsself.timeout = timeoutglobal Rettry:# 打开串口,得到串口对象self.main_serial = serial.Serial(self.port, self.bps, timeout=self.timeout)# 判断是否打开成功if (self.main_serial.is_open):Ret = Trueexcept Exception as error:print("---Error---:", error)# 打开串口def Open_serial(self):self.main_serial.open()# 发送数据def Send_data(self, data):self.main_serial.write(data)# 关闭串口def Close_serial(self):self.main_serial.close()print(self.main_serial.is_open)  # 检验串口是否打开

源代码

# -*- coding: utf-8 -*-
"""
@author: 浅笑醉红楼.(3303295829@qq)
"""
import serial
import serial.tools.list_ports
import time
import randomclass Converter(object):def to_hex(data):# 数据类型byte_list = '\x03'# 获取ANSI编码及长度list = data.encode('mbcs')len_list = len([format(i, 'X') for i in list])#塔石4G DTU编码格式byte_list += chr(0) + chr(len_list)for i in list:byte_list += chr(i)byte_list += '\r\n'# 串口使用比特流传输s_byte_list = bytes(byte_list, encoding='UTF-8')return s_byte_listclass mSerial:def __init__(self, com, bps, timeout):self.port = comself.bps = bpsself.timeout = timeoutglobal Rettry:# 打开串口,得到串口对象self.main_serial = serial.Serial(self.port, self.bps, timeout=self.timeout)# 判断是否打开成功if (self.main_serial.is_open):Ret = Trueexcept Exception as error:print("---Error---:", error)# 打开串口def Open_serial(self):self.main_serial.open()# 发送数据def Send_data(self, data):self.main_serial.write(data)# 关闭串口def Close_serial(self):self.main_serial.close()print(self.main_serial.is_open)  # 检验串口是否打开if __name__ == '__main__':count=1myserial=mSerial('COM5',9600,0.5)if (Ret):while (1):Chang = random.uniform(-5, 15)temperature = 20 + Changtemperature = round(temperature, 2)data = {"Temperature": temperature}a = Converter.to_hex(str(data))myserial.Send_data(a)time.sleep(3)print('数据序号:',count)print('温度值:',temperature)count+=1

更多推荐

基于python的4G DTU设备温度数据的仿真并传输

本文发布于:2024-03-06 10:32:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1715096.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:温度   数据   设备   python   DTU

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!