#!/bin/sh # handle_sms.sh - CGI script to handle SMS web requests # Content type declaration for CGI echo "Content-type: application/json" echo "" # Check if atinout and jq are installed if ! command -v atinout &> /dev/null || ! command -v jq &> /dev/null; then echo '{"error": "Required tools (atinout or jq) are not installed"}' exit 1 fi # Check if the device exists if [ ! -c "/dev/smd7" ]; then echo '{"error": "Device /dev/smd7 not found"}' exit 1 fi # Fetch all SMS messages and update the JSON file if ! echo "AT+CMGL=\"ALL\"" | atinout - /dev/smd7 - | jq -R -s ' split("\n") | map(select(length > 0)) | map( select(startswith("+CMGL:") or (. != "OK" and . != "ERROR")) ) | {messages: .} ' > /tmp/sms_inbox.json; then echo '{"error": "Failed to fetch SMS messages"}' exit 1 fi # Return the contents of the JSON file if [ -f "/tmp/sms_inbox.json" ]; then cat /tmp/sms_inbox.json else echo '{"error": "SMS inbox file not found"}' fi