Comments (4)
@cloudxxx8 @weichou1229 Any updates on this?
from device-onvif-camera.
@ajcasagrande
Not sure how to handle the device name and other information properly. If we can't query the GetDeviceInformation API, the device name is just a UUID and hard to identify by the label.
https://github.com/edgexfoundry-holding/device-onvif-camera/blob/a683f0edb2f5badebbf413b4efd12f153319264c/internal/driver/driver.go#L332-L335
Or we might need to change the mechanism to provide the credential. For example, using secretPath list for matching the credential like below:
[Driver]
DefaultSecretPathes= ["credentials001", "credentials002"]
from device-onvif-camera.
@ajcasagrande let's adopt your proposal. We can change here
https://github.com/edgexfoundry-holding/device-onvif-camera/blob/a683f0edb2f5badebbf413b4efd12f153319264c/internal/driver/driver.go#L321-L324
to:
devInfo, edgexErr := d.getDeviceInformation(dev)
endpointRef := onvifDevice.GetDeviceParams().EndpointRefAddress
var discovered sdkModel.DiscoveredDevice
if edgexErr != nil {
d.lc.Warnf("failed to get the device information for the camera %s, %v", endpointRef , edgexErr)
dev.Protocols[OnvifProtocol][SecretPath] = endpointRef
discovered = sdkModel.DiscoveredDevice{
Name: endpointRef,
Protocols: dev.Protocols,
Description: "Auto discovered Onvif camera",
Labels: []string{"auto-discovery"},
}
} else {
dev.Protocols[OnvifProtocol][Manufacturer] = devInfo.Manufacturer
dev.Protocols[OnvifProtocol][Model] = devInfo.Model
dev.Protocols[OnvifProtocol][FirmwareVersion] = devInfo.FirmwareVersion
dev.Protocols[OnvifProtocol][SerialNumber] = devInfo.SerialNumber
dev.Protocols[OnvifProtocol][HardwareId] = devInfo.HardwareId
discovered = sdkModel.DiscoveredDevice{
Name: fmt.Sprintf("%s-%s-%s", devInfo.Manufacturer, devInfo.Model, endpointRef),
Protocols: dev.Protocols,
Description: fmt.Sprintf("%s %s Camera", devInfo.Manufacturer, devInfo.Model),
Labels: []string{"auto-discovery", devInfo.Manufacturer, devInfo.Model},
}
d.lc.Debugf("Discovered camera from the address '%s'", onvifDevice.GetDeviceParams().Xaddr)
}
discoveredDevices = append(discoveredDevices, discovered)
Is it ok with you?
from device-onvif-camera.
@ajcasagrande Could you help review the PR? #10
from device-onvif-camera.
Related Issues (20)
- Failed to invoke device service device-onvif-camera call back from core-metadata when tried to discovery onvif camera HOT 2
- Geo vision- Get stream URI not working with Multicast HOT 2
- Geo vision - set network gateway not working correctly HOT 3
- Document how to disable Axis replay attack prevention
- Remove code that loads static provision watchers (functionality now in latest SDK)
- Hikvision-DS-2DE2A404IW-DE3- Get device capabilities gives an error HOT 4
- Hikvision-DS-2DE2A404IW-DE3- Get device service capabilities API gives an error HOT 4
- Hikvision-DS-2DE2A404IW-DE3- Set scopes API gives an error HOT 3
- Hikvision-DS-2DE2A404IW-DE3 camera- Configuration of Analytics profile - Add Configuration API not working HOT 5
- onvif camera + example app service HOT 9
- Get command should return server error instead of timeout error HOT 4
- Remove obsolete code for type-safety
- refactor: Change configuration and provision watcher file format to YAML
- Implement Start API to resolve Device SDK cache inconsistency, causing device not found errors HOT 15
- Fail to start service with error "registry is not available" HOT 9
- Swagger file is missing definitions for some schemas
- Replace credential scripts with curl commands
- SEO: Certain Google searches lead to the now defunct device-camera-go HOT 1
- Replace gorilla/mux with echo library
- The Hikvision NVR device (model: IDS-7816NX) has enabled Onvif, but the device-onvif-camera cannot be automatically discovered. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from device-onvif-camera.