dahua-rpc2
v1.0.2
Published
Dahua RPC Client Library
Downloads
55
Readme
Dahua RPC Client Library
This is a Node.js library to interact with Dahua devices using the RPC protocol. The library enables communication with Dahua devices such as cameras and parking systems by handling authentication and providing utility methods for device management.
Installation
To install the package, run:
npm install dahua-rpc2
Usage
Here is a basic example demonstrating how to use the library to log in and retrieve traffic information.
Example
import { DahuaRpc } from "dahua-rpc2";
(async () => {
const dahuaRpc = new DahuaRpc("192.168.1.100", "admin", "your_password");
try {
// Login to the Dahua device
await dahuaRpc.login();
// Get current traffic info
const trafficInfo = await dahuaRpc.getTrafficInfo();
console.log("Traffic Information:", trafficInfo);
// Get current device time
const currentTime = await dahuaRpc.getCurrentTime();
console.log("Device Current Time:", currentTime);
} catch (error) {
console.error("Error:", error.message);
}
})();
Available Methods
login()
: Logs into the device and retrieves a session ID.getProductDefinition()
: Fetches product definitions from the device.keepAlive()
: Sends a keep-alive request to the device to maintain the session.getTrafficInfo()
: Retrieves traffic event information.startFind(objectId)
: Starts a search for traffic events.doFind(objectId)
: Performs a search for traffic events.setConfig(params)
: Sets configuration on the device.reboot()
: Reboots the device.getCurrentTime()
: Gets the current time from the device.ntpSync(address, port, timeZone)
: Synchronizes time with the NTP server.setScreenDisplay(text)
: Sets display text on a connected screen.setVoiceBroadcast(text)
: Sets a voice broadcast message.testSpaceLight()
: Tests the parking space light system.openStrobe(openType, plateNumber)
: Opens the strobe for traffic management.closeStrobe()
: Closes the strobe.
Error Handling
Each method throws errors if the request fails, providing detailed information about the failure. Use try/catch
blocks to handle these errors.
try {
await dahuaRpc.login();
} catch (error) {
console.error("Login failed:", error.message);
}
Contributions
Feel free to contribute by opening issues or submitting pull requests to improve the library.
License
MIT License.