1、配置文件如下
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
name: "Ethernet-Temperature-Sensor" manufacturer: "Audon Electronics" model: "Temperature" labels: - "Web" - "Modbus TCP" - "SNMP" description: "The NANO_TEMP is a Ethernet Thermometer measuring from -55°C to 125°C with a web interface and Modbus TCP communications." deviceResources: - name: "ThermostatL" isHidden: true description: "Lower alarm threshold of the temperature" attributes: { primaryTable: "HOLDING_REGISTERS", startingAddress: 3999, rawType: "Int16" } properties: valueType: "Float32" readWrite: "RW" scale: "0.1" - name: "ThermostatH" isHidden: true description: "Upper alarm threshold of the temperature" attributes: { primaryTable: "HOLDING_REGISTERS", startingAddress: 4000, rawType: "Int16" } properties: valueType: "Float32" readWrite: "RW" scale: "0.1" - name: "AlarmMode" isHidden: true description: "1 - OFF (disabled), 2 - Lower, 3 - Higher, 4 - Lower or Higher" attributes: { primaryTable: "HOLDING_REGISTERS", startingAddress: 4001 } properties: valueType: "Int16" readWrite: "RW" - name: "Temperature" isHidden: false description: "Temperature x 10 (np. 10,5 st.C to 105)" attributes: { primaryTable: "HOLDING_REGISTERS", startingAddress: 4003, rawType: "Int16" } properties: valueType: "Float32" readWrite: "R" scale: "0.1" deviceCommands: - name: "AlarmThreshold" readWrite: "RW" isHidden: false resourceOperations: - { deviceResource: "ThermostatL" } - { deviceResource: "ThermostatH" } - name: "AlarmMode" readWrite: "RW" isHidden: false resourceOperations: - { deviceResource: "AlarmMode", mappings: { "1":"OFF","2":"Lower","3":"Higher","4":"Lower or Higher"} }
2、如果使用串口的话,要加上
3、Docker-compose yaml配置
device-modbus: image: edgexfoundry/device-modbus:2.0.0 ports: - "0.0.0.0:59901:59901" container_name: edgex-device-modbus hostname: edgex-device-modbus networks: - edgex-network environment: EDGEX_SECURITY_SECRET_STORE: "false" REGISTRY_HOST: edgex-core-consul MESSAGEQUEUE_HOST: edgex-redis CLIENTS_CORE_DATA_HOST: edgex-core-data CLIENTS_CORE_METADATA_HOST: edgex-core-metadata CLIENTS_CORE_COMMAND_HOST: edgex-core-command CLIENTS_SUPPORT_NOTIFICATIONS_HOST: edgex-support-notifications CLIENTS_SUPPORT_SCHEDULER_HOST: edgex-support-scheduler DATABASES_PRIMARY_HOST: edgex-redis SERVICE_HOST: edgex-device-modbus depends_on: - consul - data - metadata security_opt: - no-new-privileges:true user: root:root