记录4:Python3 第三方库的安装

一,安装:pyserial模块 

  1. pyserial模块封装了对串口的访问
  2. pip3 install pyserial
    import serial #导入模块
    
    import serial.tools.list_ports
    port_list = list(serial.tools.list_ports.comports())
    print(port_list)
    if len(port_list) == 0:
       print('无可用串口')
    else:
        for i in range(0,len(port_list)):
            print(port_list[i])

     

二,安装:modbus_tk模块安装

  1. modbus_tk支持modbus通信
  2. pip install modbus_tk
  3. ModbusRTU_Master.py
    import serial
    import modbus_tk
    import modbus_tk.defines as cst
    from modbus_tk import modbus_rtu
    import time
    
    # 数据接收端
    def ModbusRTU_Master():
        try:
            # 设定串口为从站
            # 外置参数包括端口 port = "COM3" 波特率:115200
            master = modbus_rtu.RtuMaster(serial.Serial(port="com4",baudrate=115200, bytesize=8, parity='N', stopbits=1))
            master.set_timeout(1.0)
            master.set_verbose(True)
            # 读保持寄存器
            for i in range(30):
                read = master.execute(1, cst.HOLDING_REGISTERS, 0, 81)  # 这里可以修改需要读取的功能码
                print(read)
                time.sleep(1)
        except Exception as exc:
            print(str(exc))
    
    ModbusRTU_Master()

     

  4. ModbusRTU_Slave.py
    import serial
    import modbus_tk
    import modbus_tk.defines as cst
    from modbus_tk import modbus_rtu
    import time
    
    def ModbusRTU_Slave():
        try:
            # 设定串口为从站
            # 外置参数包括端口 port = "COM3" 波特率:9600
            server= modbus_rtu.RtuServer(serial.Serial(port="com3",baudrate=9600, bytesize=8, parity='N', stopbits=1))
            server.start()
            print("runing...")
            SLAVE1 = server.add_slave(1)
            SLAVE1.add_block('A', cst.HOLDING_REGISTERS, 0, 4)  # 地址0,长度4
            increase_num = 17000
            for i in range(30):
                SLAVE1.set_values('A', 0, [17000-i, i + 1, i + 2, i + 3])  # 改变在地址0处的寄存器的值
                time.sleep(1)
                """
            for i in range(150):
                increase_num = increase_num - 1
                SLAVE1.set_values('A', 0, [increase_num, i + 1, i + 2])  # 改变在地址0处的寄存器的值
                time.sleep(1)
            for i in range(80):
                SLAVE1.set_values('A', 0, [10000, i + 1, i + 2])  # 改变在地址0处的寄存器的值
                time.sleep(1)
            for i in range(80):
                SLAVE1.set_values('A', 0, [17000, i + 1, i + 2])  # 改变在地址0处的寄存器的值
                time.sleep(1)
                """
            print("ending...")
        except Exception as exc:
            print(str(exc))
    
    ModbusRTU_Slave()

     

 三,安装:psutil 模块安装

  

  1. psutil 是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU ,内存,磁盘,网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps ,top ,lsof ,netstat ,ifconfig ,who ,df ,kill ,free ,nice ,ionice ,iostat ,iotop ,uptime ,pidof ,tty ,taskset ,pmap 等。目前支持Linux的32 位和64 位的Windows ,OS X ,FreeBSD 和Sun Solaris 等操作系统。
  2. psutil 下载地址(官网):https://pypi.python.org/pypi/psutil/
  3. psutil 下载地址(github ):https://github.com/giampaolo/psutil/
  4. pip install psutil

 

posted @ 2020-09-15 10:08  北岸星空  阅读(796)  评论(0)    收藏  举报