Skip to main content

links


user(sudo -i)
adduser kiosk

sudoapt install libusb-1.0-0-dev
apt install -y curl
curl -fsSL https://www.phidgets.com/downloads/setup_linux | bash -
apt install -y libphidget22 libphidget22extra phidget22networkserver apt install -y libphidget22*
apt install -y phidget22*phidget22admin
apt install -y python3 apt install -y npm aptnodejs installnet-tools -yopenssh-server nodejsssh
systemctl enable --now phidget22networkserverssh
systemctl statusrestart phidget22networkserverssh
--no-pager

#!/usr/bin/env bash
set -euo pipefail

PORT_FILE="/home/recharjme/Desktop/ports.txt"
WEB_ROOT="/home/recharjme/Desktop/APP"
DEFAULT_PHIDGET_PORT="8989"
DEFAULT_WEB_PORT="80"

PHIDGET_BIN="$(command -v phidget22networkserver || true)"ifconfig 


SERVICE_NAME="phidget22networkserver.service"phidget22networkserver"
DROPIN_DIR=INIT_PATH="/etc/systemd/system/init.d/${SERVICE_NAME}.d"
DROPIN_FILE="${DROPIN_DIR}/override.conf"

log(){ printf '%s\n' "$*"; }

get_ports(){
  local p_port="" w_port=""SERVICE_NAME"

if [[ -f "$PORT_FILE"(id -u)" -ne 0 ]]; then
  p_port="$(sed -n '1p'echo "$PORT_FILE"Run |this tras -d '\r' || true)root."
    w_port="$(sed -n '2p' "$PORT_FILE" | tr -d '\r' || true)"
    [[ -z "${p_port:-}" ]] && p_port="$DEFAULT_PHIDGET_PORT"
    [[ -z "${w_port:-}" ]] && w_port="$DEFAULT_WEB_PORT"
  else
    p_port="$DEFAULT_PHIDGET_PORT"
    w_port="$DEFAULT_WEB_PORT"
    mkdir -p "$(dirname "$PORT_FILE")"
  fi
  printf '%s\n%s\n' "$p_port" "$w_port" > "$PORT_FILE"
  PHIDGET_PORT="$p_port"
  WEB_PORT="$w_port"
}

ensure_phidget_server_port(){
  if [[ -z "$PHIDGET_BIN" ]]; then
    log "phidget22networkserver binary not found. Install phidget22networkserver first.";
  exit 1
fi

mkdir -p "$DROPIN_DIR"
  cat > "$DROPIN_FILE"INIT_PATH" <<EOF'EOF'
[Service]#!/bin/sh
Environment=PHIDGET_PORT=### BEGIN INIT INFO
# Provides:          phidget22networkserver
# Required-Start:    ${PHIDGET_PORT}network ExecStart=$remote_fs
ExecStart=# Required-Stop:     ${PHIDGET_BIN}network $remote_fs
# Should-Start:      avahi avahi-daemon
# Should-Stop:       avahi avahi-daemon
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Phidget Network Server
# Description:       Phidget network server for accessing Phidgets over the network.
### END INIT INFO

sudo /usr/local/bin/phidget22networkserver -pc \${PHIDGET_PORT}/etc/phidgets/phidget22networkserver.pc -D
EOF

systemctlchmod daemon-reload+x "$INIT_PATH"
update-rc.d "$SERVICE_NAME" defaults
systemctl enable --now "$SERVICE_NAME"
systemctl restartservice "$SERVICE_NAME" }

start_web_server(){
  if [[ ! -d "$WEB_ROOT" ]]; then
    log "Web root missing: $WEB_ROOT"; mkdir -p "$WEB_ROOT"
  fi
  # kill any existing python http.server on this port
  if command -v ss >/dev/null 2>&1; then
    pids="$(ss -lptn 'sport =' ":${WEB_PORT}" | awk -F',' '/users:/ {print $2}' | sed 's/pid=//g' || true)"
    [[ -n "${pids:-}" ]] && xargs -r kill -9 <<<"$pids" || true
  fi
  nohup bash -c "cd '$WEB_ROOT'; python3 -m http.server '${WEB_PORT}'" >/var/log/kiosk_http.log 2>&1 &
}

open_browser(){
  local url="http://localhost:${WEB_PORT}"
  log "Open: ${url}"
  if command -v xdg-open >/dev/null 2>&1; then
    nohup xdg-open "$url" >/dev/null 2>&1 || true
  fi
}

main(){
  get_ports
  ensure_phidget_server_portstart



systemctl status "$SERVICE_NAME"phidget22networkserver --no-pager || true
  start_web_server
  log "phidget server port: ${PHIDGET_PORT}"
  log "web server port: ${WEB_PORT}"
  log "web root: ${WEB_ROOT}"
  open_browser
}
main "$@"

 

 

root@recharjme-Ubuntu-Linux-1:/home/recharjme/Desktop# bash ./stack_script 
phidget22networkserver.service is not a native service, redirecting to systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable phidget22networkserver
Job for phidget22networkserver.service failed because the control process exited with error code.
See "systemctl status phidget22networkserver.service" and "journalctl -xeu phidget22networkserver.service" for details.
root@recharjme-Ubuntu-Linux-1:/home/recharjme/Desktop# cd ./recharjme