Skip to content

End-to-End Validation

Terminal window
export AWS_REGION=ap-southeast-2
aws logs tail /aws/iot/esp32-demo/telemetry --follow
aws logs tail /aws/iot/esp32-demo/events --follow

Query recent entries:

Terminal window
START=$(($(date +%s) * 1000 - 600000))
aws logs filter-log-events --log-group-name /aws/iot/esp32-demo/telemetry --start-time "$START"
aws logs filter-log-events --log-group-name /aws/iot/esp32-demo/events --start-time "$START"
Terminal window
echo "$AWS_REGION"
aws logs tail /aws/iot/esp32-demo/errors --since 1h
aws iot get-topic-rule --rule-name esp32_demo_telemetry_rule --query 'rule.ruleDisabled'
aws iot get-topic-rule --rule-name esp32_demo_events_rule --query 'rule.ruleDisabled'

Expected diagnostics:

  • Rule disabled checks return false
  • Error log group is empty or only transient entries

This completes Phase 1 (the PRETEST
Phase 1 verification flow — Prerequisites through Cloud Verification in the sidebar (includes AWS Provisioning). Proves device-to-cloud connectivity in CloudWatch before full Terraform rollout.
flow):

  • Upload succeeds with ESP32-S3 detection and verified hash
  • Serial output shows telemetry publish activity
  • BOOT press emits an event publish log
  • CloudWatch
    Amazon CloudWatch Logs — stores IoT rule output for Phase 1 verification (`/aws/iot/esp32-demo/telemetry` and `/events`).
    receives telemetry with device_id, ts, and type=connectivity
  • CloudWatch
    Amazon CloudWatch Logs — stores IoT rule output for Phase 1 verification (`/aws/iot/esp32-demo/telemetry` and `/events`).
    receives events with device_id, ts, type=button, and event=press
  • Telemetry entries include device_id, ts, type, and metric fields
  • Event entries include device_id, ts, type=button, and event=press

Continue with Terraform Provisioning for Phase 2.