13、监测数据采集物联网应用开发步骤(9.2)

这篇具有很好参考价值的文章主要介绍了13、监测数据采集物联网应用开发步骤(9.2)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 监测数据采集物联网应用开发步骤(9.1)

TCP/IP Server开发

新建TCP/IP Server线程类com.zxy.tcp.ServerThread.py

#! python3
# -*- coding: utf-8 -
'''
Created on 2017年05月10日
@author: zxyong 13738196011
'''

import socket,threading,time
from com.zxy.tcp.TcpServer import TcpServer
from com.zxy.z_debug import z_debug

#监测数据采集物联网应用--TCP/IP Server线程
class ServerThread(z_debug):

    attDtTimeOut = 60
    attInput = ""
    attNum = ""
    attPort = 0
    attThreadSize = 500
    
    def __init__(self, temInput, temNum, temPort):
        self.attInput = temInput
        self.attNum = temNum
        self.attPort = temPort
    
    def run(self):
        global dServThreadList        
        try:            
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.bind(('0.0.0.0', self.attPort))
            s.listen(self.attThreadSize)                               
            while True:
                try:
                    sock, addr = s.accept()
                    ckeys = sock.getpeername()[0] + '|' + str(sock.getpeername()[1])             
                    ts = TcpServer(ckeys)
                    t = threading.Thread(target=ts.server_link, args=(sock, addr), name="ServerClient" + ckeys)
                    t.start()
                except Exception as en:
                    if str(type(self)) == "<class 'type'>":
                        self.debug_in(self,repr(en)+"=>"+str(en.__traceback__.tb_lineno))#打印异常信息
                    else:
                        self.debug_in(repr(en)+"=>"+str(en.__traceback__.tb_lineno))#打印异常信息
                finally:
                    time.sleep(0.1)
        except Exception as e:            
            if str(type(self)) == "<class 'type'>":
                self.debug_in(self,repr(e)+"=>"+str(e.__traceback__.tb_lineno))#打印异常信息
            else:
                self.debug_in(repr(e)+"=>"+str(e.__traceback__.tb_lineno))#打印异常信息
            Pass

新建作为TCP Server接收数据拦截器插件类com.plugins.usereflect.testServerReflectInClass1.py

#! python3
# -*- coding: utf-8 -
'''
Created on 2017年05月10日
@author: zxyong 13738196011
'''
from com.zxy.z_debug import z_debug

#监测数据采集物联网应用--作为TCP Server接收数据拦截器插件,可做设备反控操作程序
class testServerReflectInClass1(z_debug):
    #接收到数据
    strResult        = ""
    #需要发送到客户端数据
    strSend          = ""
    #是否继续执行 1:继续执行 0:中断执行
    strContinue      = "1"     
    #所连接的远端IP
    strIP            = ""
    #端口号            
    strPort          = ""
    
    def __init__(self, params):
        pass
    
    def init_start(self):
        #作为服务端接收数据拦截器
        if self.strResult == "001":
            self.strSend = "#send to client data:client"
        print("AAAA作为服务端接收数据拦截器:"+self.strResult)
        self.strResult = "ok"

新建作为TCP Server接收数据拦截器插件类com.plugins.usereflect.testServerReflectInClass2.py

#! python3
# -*- coding: utf-8 -
'''
Created on 2017年05月10日
@author: zxyong 13738196011
'''
from com.zxy.z_debug import z_debug

#监测数据采集物联网应用--作为TCP Server接收数据拦截器插件,可做设备反控操作程序
class testServerReflectInClass2(z_debug):
    #接收到数据
    strResult        = ""
    #需要发送到客户端数据
    strSend          = ""
    #是否继续执行 1:继续执行 0:中断执行
    strContinue      = "1"     
    #所连接的远端IP
    strIP            = ""
    #端口号            
    strPort          = ""
    
    def __init__(self, params):
        pass
    
    def init_start(self):
        #作为服务端接收数据拦截器
        if self.strResult == "002":
            self.strSend = "#send to client data:client"
        print("BBB作为服务端接收数据拦截器:"+self.strResult)
        self.strResult = "ok"

com.zxy.main.Init_Page.py中添加代码

from com.zxy.tcp.ServerThread import ServerThread

    @staticmethod
    def Start_Server():
        st = ServerThread("", "", int(Com_Para.AccSocketPort))
        # TCP服务端案例
        t2 = threading.Thread(target=st.run, name="ServerMainThread")
        t2.start()

TCP Server测试案例MonitorDataCmd.py主文件中编写:

在    if __name__ == '__main__':下添加

        #TCP Server接收数据拦截器插件
        Com_Para.ServerREFLECT_IN_CLASS = "com.plugins.usereflect.testServerReflectInClass1"
        #TCP Server配置端口参数 
        Com_Para.AccSocketPort = "8099"
        #TCP/IP Server初始化
        Init_Page.Start_Server()
        #暂停120秒,等待client连接
        time.sleep(120)
        #遍历已经连接到本设备的tcp client并发送数据包
        for key in Com_Para.dServThreadList.keys():
            temSck = Com_Fun.GetHashTableNone(Com_Para.dServThreadList, key)
            temValue = "Server往Client端发送数据包:"+Com_Fun.GetTimeDef()
            Com_Fun.SendSocket(temValue, temSck)
            print("=>"+key+"=>"+temValue)

运行测试结果如下图:

13、监测数据采集物联网应用开发步骤(9.2),python,物联网

监测数据采集物联网应用开发步骤(10)文章来源地址https://www.toymoban.com/news/detail-684937.html

到了这里,关于13、监测数据采集物联网应用开发步骤(9.2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 3、监测数据采集物联网应用开发步骤(3)

    源码将于最后一遍文章给出下载 监测数据采集物联网应用开发步骤(2) 系统整体结构搭建 新建项目 输入项目名称:MonitorData 所谓兵马未动粮草先行,按下图创建好对应的模块备用: com.plugins                     业务插件模块 com.zxy.adminlog            日志或文本

    2024年02月11日
    浏览(50)
  • 7、监测数据采集物联网应用开发步骤(5.3)

    监测数据采集物联网应用开发步骤(5.2) 静态配置库数据库调用,新建全局变量初始化类 com.zxy.main.Init_Page.py 数据库操作测试 MonitorDataCmd.py 主文件中编写: if __name__ == \\\'__main__\\\' : 下编写 程序执行成功结果:自动生成center_data.db 打印出数据库数据 小测试:把上文的sql语句故意语法

    2024年02月10日
    浏览(29)
  • 11、监测数据采集物联网应用开发步骤(8.2)

    监测数据采集物联网应用开发步骤(8.1) 新建TCP/IP Client线程类 com.zxy.tcp.ClientThread.py 新建tcp client数据接收插件类1 com.plugins.Usereflect.testClientReflectClass1.py 新建tcp client数据接收插件类2 com.plugins.Usereflect.testClientReflectClass2.py 在 com.zxy.main.Init_Page.py 中添加代码 TCP Client测试案例 Monit

    2024年02月10日
    浏览(32)
  • 物联网数据采集网关在工厂数字化转型中的应用

    物联网数据采集网关能将各种传感器、执行器等设备连接在一起,通过收集、处理和传输来自各种物理设备的信息,实现数据的集成和分析,同时可通过云平台进行数据交互。它具有数据转换、数据处理、数据传输等功能,是工厂数字化转型的核心组件。随着科技的飞速发展

    2024年02月22日
    浏览(34)
  • iNeuOS工业互联网操作系统,高效采集数据配置与应用

    1. 概述 2. 通讯原理 3. 参数配置  1.   概述 某生产企业世界500强的集团能源管控平台项目建设,通过专线网络实现异地厂区数据集成, 每个终端能源仪表都有 IP 地址,总共有1000 多台能源表计,总共有将近10000 个数据点 。在集团端部署iNeuOS工业互联网操作系统,终端能源表

    2024年02月05日
    浏览(37)
  • 【雕爷学编程】MicroPython手册之 ESP32-CAM 物联网图像数据采集应用

    MicroPython是为了在嵌入式系统中运行Python 3编程语言而设计的轻量级版本解释器。与常规Python相比,MicroPython解释器体积小(仅100KB左右),通过编译成二进制Executable文件运行,执行效率较高。它使用了轻量级的垃圾回收机制并移除了大部分Python标准库,以适应资源限制的微控制

    2024年02月20日
    浏览(28)
  • 【IoT物联网】IoT小程序在展示中央空调采集数据和实时运行状态上的应用

      利用前端语言实现跨平台应用开发似乎是大势所趋,跨平台并不是一个新的概念,“一次编译、到处运行”是老牌服务端跨平台语言Java的一个基本特性。随着时代的发展,无论是后端开发语言还是前端开发语言,一切都在朝着减少工作量,降低工作成本的方向发展。  

    2024年02月16日
    浏览(31)
  • 水库安全监测方案(实时数据采集、高速数据传输)

    ​ 一、引言 水库的安全监测对于防止水灾和保障人民生命财产安全至关重要。为了提高水库安全监测的效率和准确性,本文将介绍一种使用星创易联DTU200和SG800 5g工业路由器部署的水库安全监测方案。 二、方案概述 本方案主要通过使用星创易联DTU200和SG800 5g工业路由器实现

    2024年02月08日
    浏览(34)
  • 桥梁安全监测系统中数据采集上传用 什么?

    背景 2023年7月6日凌晨时分,G5012恩广高速达万段230公里加80米处6号大桥部分桥面发生垮塌,导致造成2车受损后自燃,3人受轻伤。目前,四川省公安厅交通警察总队高速公路五支队十四大队民警已对现场进行双向管制。 作为世界第一桥梁大国,目前我国公路桥梁数量超过100万

    2024年02月12日
    浏览(30)
  • 工程监测振弦采集仪采集到的数据如何进行分析和处理

    工程监测振弦采集仪采集到的数据如何进行分析和处理 振弦采集仪是一个用于测量和记录物体振动的设备。它通过测量物体表面的振动来提取振动信号数据,然后将其转换为数字信号,以便进行分析和处理。在实际应用中,振弦采集仪是广泛应用于机械、建筑、航空航天和汽

    2024年02月12日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包