-Both SMD11 and SMD7 are now used to create 2 separate AT command flows/streams -SMD11 is linked to ttyOUT -SMD7 is linked to ttyOUT2 -ttyOUT is intended for use with automated AT commands like the modem status parse script -ttyOUT2 is intended for user initiated AT commands like the AT Commands page in simpleadmin or the new atcmd shell command -Entware installation has been improved for better compatibility and smoother install. -Added the option to try out TTYd -This is a web based shell console you can access via http on port 443 -More improvements to come
56 lines
1.3 KiB
Bash
56 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
DEVICE=/dev/ttyOUT2
|
|
BAUD=115200
|
|
|
|
# Function to setup device communication parameters
|
|
setup_device() {
|
|
stty -F $DEVICE cs8 $BAUD ignbrk -brkint -icrnl -imaxbel \
|
|
-opost -onlcr -isig -icanon -iexten -echo -echoe -echok \
|
|
-echoctl -echoke noflsh -ixon -crtscts
|
|
}
|
|
|
|
# Prepare the device for communication
|
|
setup_device
|
|
|
|
echo -e "\033[0;36mType 'exit' to end the session.\033[0m"
|
|
while true; do
|
|
echo -en "\033[0;36mEnter AT Command: \033[0m"
|
|
read user_input
|
|
|
|
if [[ "$user_input" == "exit" ]]; then
|
|
echo -e "\033[0;32mExiting...\033[0m"
|
|
break
|
|
fi
|
|
|
|
# Clear the device buffer before sending a new command
|
|
echo -n > $DEVICE
|
|
|
|
# Send the AT command
|
|
echo -e "$user_input\r" > $DEVICE
|
|
|
|
# Use a temporary file to capture the command output
|
|
tmpfile=$(mktemp)
|
|
|
|
# Start reading the device output to the temporary file
|
|
cat $DEVICE > "$tmpfile" &
|
|
CAT_PID=$!
|
|
|
|
# Monitor the output file for "OK" or "ERROR"
|
|
while ! grep -qe "OK" -e "ERROR" "$tmpfile"; do
|
|
sleep 1
|
|
done
|
|
|
|
# Kill the `cat` process after capturing the response
|
|
kill $CAT_PID
|
|
wait $CAT_PID 2>/dev/null
|
|
|
|
# Display the response
|
|
cat "$tmpfile" | while IFS= read -r line; do
|
|
echo -e "\033[0;32m$line\033[0m"
|
|
done
|
|
|
|
# Clean up
|
|
rm "$tmpfile"
|
|
done
|