add Xiaomi MJSXJ03HL with JXQ03

This commit is contained in:
cronyx
2024-02-14 15:10:47 +03:00
parent 15ddf67170
commit 735363dd47
7 changed files with 309 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
#!/bin/sh
AUTOLED_ARGS=""
AUTOLED_PID_FILE=/var/run/autoled.pid
start() {
printf "Starting automatic LED control: "
umask 077
start-stop-daemon -b -m -S -q -p $AUTOLED_PID_FILE \
--exec /usr/sbin/autoled.sh -- $AUTOLED_ARGS
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
printf "Stopping automatic LED control: "
start-stop-daemon -K -q -p $AUTOLED_PID_FILE
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart | reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit $?

View File

@@ -0,0 +1,62 @@
#!/bin/sh
#
# Automatic LED control for Xiaomi MJSXJ03HL
streamerProcess="majestic"
serviceProcess="sysupgrade"
pollingInterval=1
show_help() {
echo "Usage: $0 [-p process] [-s process] [-i value] [-h]
-p process Monitored streamer process (default = ${streamerProcess}).
-s process Monitored service process (default = ${serviceProcess}).
-i value Polling interval in seconds (default = ${pollingInterval}).
-h Show this help."
exit 0
}
# override config values with command line arguments
while getopts H:L:i:h flag; do
case ${flag} in
p)
streamerProcess=${OPTARG}
;;
s)
serviceProcess=${OPTARG}
;;
i)
pollingInterval=${OPTARG}
;;
h | *)
show_help
;;
esac
done
echo "Streamer process: ${streamerProcess}"
echo "Service process: ${serviceProcess}"
echo "Polling interval: ${pollingInterval} sec"
led_state=0
/usr/sbin/led_control.sh -o 0 -b 0
while true; do
if killall -q -0 $serviceProcess; then
if [ $led_state -ne 3 ]; then
echo "$serviceProcess is running, turn white LED on"
/usr/sbin/led_control.sh -o 1 -b 1
led_state=3
fi
else
if [ $led_state -ne 1 ] && ! killall -q -0 $streamerProcess; then
echo "$streamerProcess is not running, turn orange LED on"
/usr/sbin/led_control.sh -o 1 -b 0
led_state=1
elif [ $led_state -ne 2 ] && killall -q -0 $streamerProcess; then
echo "$streamerProcess is running, turn blue LED on"
/usr/sbin/led_control.sh -o 0 -b 1
led_state=2
fi
fi
sleep $pollingInterval
done

View File

@@ -0,0 +1,36 @@
#!/bin/sh
#
# LED control for Xiaomi MJSXJ03HL
show_help() {
echo "Usage: $0 [-o <0|1>] [-b <0|1>]
-o <0|1> Switch state for orange LED.
-b <0|1> Switch state for blue LED."
exit 0
}
led_control() {
echo "Switching LED with GPIO${1} to state ${2}"
if [ ! -d /sys/class/gpio/gpio${1}/ ]; then
echo ${1} > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio${1}/direction
fi
echo ${2} > /sys/class/gpio/gpio${1}/value
}
if [ $# -eq 0 ]; then show_help; fi
while getopts o:b: flag; do
case ${flag} in
o)
[ ${OPTARG} -eq 0 -o ${OPTARG} -eq 1 ] || show_help
led_control 39 ${OPTARG}
;;
b)
[ ${OPTARG} -eq 0 -o ${OPTARG} -eq 1 ] || show_help
led_control 38 ${OPTARG}
;;
*)
show_help
;;
esac
done

View File

@@ -0,0 +1,35 @@
#!/bin/sh
#
# Perform basic settings on a known IP camera
#
#
# Set custom upgrade url
#
fw_setenv upgrade 'https://github.com/OpenIPC/builder/releases/download/latest/t31_lite_xiaomi-mjsxj03hl-jxq03-nor.tgz'
#
#
# Set custom majestic settings
#
cli -s .system.webAdmin disabled
cli -s .system.staticDir /var/www/majestic
cli -s .isp.blkCnt 1
cli -s .nightMode.enabled true
cli -s .nightMode.irCutPin1 49
cli -s .nightMode.irCutPin2 50
cli -s .nightMode.backlightPin 60
cli -s .video0.codec h264
#
#
# Set wlan device and credentials if need
#
fw_setenv wlandev rtl8189fs-generic
#fw_setenv wlanssid Router
#fw_setenv wlanpass 12345678
#
#
# Set osmem and rmem
#
fw_setenv osmem 39M
fw_setenv rmem 25M@0x2700000
#
exit 0