Add onvif_simple_server daemon (#1752)

pull/1756/head
Charlie 2025-03-14 09:23:05 -05:00 committed by GitHub
parent 1280422da0
commit 835eb29bc3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,59 @@
#!/bin/sh
ONVIF_CONFIG="/etc/onvif.conf"
HTTPD_CONFIG="/etc/httpd_onvif.conf"
WWW_PATH="/var/www"
ONVIF_PORT=$(awk -F= '/^port=/{print $2}' ${ONVIF_CONFIG})
DAEMON="httpd"
PIDFILE="/var/run/httpd_onvif.pid"
DAEMON_ARGS="-p $ONVIF_PORT -h $WWW_PATH -c $HTTPD_CONFIG -f"
start() {
echo -n "Starting ONVIF HTTPD server: "
fw_version="OpenIPC $(grep "OPENIPC_VERSION" /etc/os-release | cut -d= -f2 | tr -d '"')"
network_interface=$(ip route | awk '/default/ {print $5}' | head -n1)
network_macaddr=$(cat /sys/class/net/${network_interface}/address | sed 's/://g')
soc=$(ipcinfo --chip-name)
sed -i "s/^firmware_ver=.*/firmware_ver=$fw_version/" $ONVIF_CONFIG
sed -i "s/^hardware_id=.*/hardware_id=$soc/" $ONVIF_CONFIG
sed -i "s/^serial_num=.*/serial_num=$network_macaddr/" $ONVIF_CONFIG
sed -i "s/^ifs=.*/ifs=$network_interface/" $ONVIF_CONFIG
echo -e "A:*\n/cgi-bin*:*\n" > $HTTPD_CONFIG
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- $DAEMON_ARGS
if [ $? -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
}
stop() {
echo -n "Stopping ONVIF HTTPD server: "
start-stop-daemon -K -q -p "$PIDFILE"
if [ $? -eq 0 ]; then
rm -f "$PIDFILE"
echo "OK"
else
echo "FAIL"
fi
}
case "$1" in
start|stop)
$1
;;
restart)
stop
sleep 3
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac

View File

@ -21,6 +21,8 @@ define ONVIF_SIMPLE_SERVER_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 -t $(TARGET_DIR)/usr/sbin $(@D)/wsd_simple_server
$(INSTALL) -m 0755 -d $(TARGET_DIR)/etc
$(INSTALL) -m 0644 -t $(TARGET_DIR)/etc $(ONVIF_SIMPLE_SERVER_PKGDIR)/files/onvif.conf
$(INSTALL) -m 0755 -d $(TARGET_DIR)/etc/init.d
$(INSTALL) -m 0755 -t $(TARGET_DIR)/etc/init.d $(ONVIF_SIMPLE_SERVER_PKGDIR)/files/S96onvifserver
$(INSTALL) -m 0755 -d $(TARGET_DIR)/var/www/onvif/device_service_files
$(INSTALL) -m 0644 -t $(TARGET_DIR)/var/www/onvif/device_service_files $(@D)/device_service_files/*
$(INSTALL) -m 0755 -d $(TARGET_DIR)/var/www/onvif/generic_files