Sensor Onboarding Troubleshooting Guide¶
This guide provides solutions for common issues encountered during the sensor onboarding process in CORIOLIX.
General Troubleshooting Approach¶
When troubleshooting sensor onboarding issues:
- Identify the affected step - Determine which stage is failing
- Check system logs - Review relevant log files for error messages
- Verify prerequisites - Ensure previous steps completed successfully
- Test components individually - Isolate the problem area
- Document solutions - Record successful fixes for future reference
Step 1 Issues: Sensor Creation¶
Problem: Sensor ID Already Exists¶
Symptoms: - Error message: "Sensor ID already in use" - Cannot save new sensor record
Solutions: 1. Check existing sensors for duplicates:
2. Modify the sensor ID to be unique 3. Follow the naming convention: 6 alphanumeric + last 6 digits of serialProblem: Regex Parsing Failures¶
Symptoms: - "Verify Format" button shows errors - Parsed values don't match expected results - Sample data doesn't generate expected parameters
Solutions:
- Common Regex Issues:
| Issue | Problem | Solution |
|---|---|---|
| Missing escapes | Special chars not escaped | Use \\. for literal dots |
| Wrong quantifiers | + vs * vs ? |
Use + for one-or-more |
| Case sensitivity | Uppercase/lowercase mismatch | Use [Bb] for both cases |
| Whitespace | Spaces in data | Use \\s* for optional spaces |
-
Test with simple patterns first:
-
Use online regex testers:
- Test patterns with actual sensor data
- Verify named capture groups work correctly
Problem: Required Field Validation¶
Symptoms: - Form won't submit - Missing field error messages
Solutions: - Review all required fields (marked with *) - Ensure dropdown selections are made - Verify numeric fields have valid numbers - Check that text fields aren't empty
Step 2 Issues: Parameter Configuration¶
Problem: Processing Symbol Errors¶
Symptoms: - Data transformation failures - Error: "Unknown processing symbol" - Parameters not appearing in processed data
Solutions:
- For NoTransformation sensors:
- Leave Processing Symbol field blank
-
Ensure transformation module is set to "NoTransformation"
-
For custom transformations:
- Consult transformation module documentation
- Verify symbol names match exactly (case-sensitive)
- Check for typos in symbol names
Problem: Invalid Data Ranges¶
Symptoms: - Quality control flags all data as invalid - Warning: "Value outside expected range"
Solutions: - Review sensor specifications for realistic ranges - Consider environmental conditions at deployment location - Set ranges 10-20% beyond normal operating limits - Use conservative ranges initially, then refine based on real data
Step 3 Issues: Network Logger¶
Problem: Serial Port Access Denied¶
Symptoms: - Error: "Permission denied /dev/ttyUSB0" - Cannot read from serial port
Solutions: 1. Add user to dialout group:
-
Check port ownership:
-
Set proper permissions:
Problem: No Serial Data Received¶
Symptoms: - Empty log files - No data in network transmission - Timeout errors
Solutions:
- Verify physical connections:
- Check RS-232 cable connections
- Verify correct pin wiring (TX/RX, ground)
-
Test with different cable if available
-
Check serial settings:
-
Verify sensor configuration:
- Confirm sensor is powered on
- Check sensor output is enabled
- Verify baud rate, data bits, stop bits, parity
Problem: Network Transmission Failures¶
Symptoms: - Local data visible but not transmitted - Connection refused errors - Network timeout errors
Solutions:
-
Check network connectivity:
-
Verify firewall settings:
-
Check port availability:
Step 4 Issues: Data Logger¶
Problem: Database Connection Failures¶
Symptoms: - Error: "Can't connect to MySQL server" - Authentication failures - Connection timeout errors
Solutions:
-
Check database service:
-
Verify credentials:
-
Check database permissions:
Problem: No Data in Database¶
Symptoms: - Network logger shows data transmission - Database queries return no results - No errors in logs
Solutions:
-
Check table structure:
-
Verify data format:
- Check timestamp formats
- Verify sensor_id matches exactly
-
Confirm parameter names are correct
-
Monitor real-time insertion:
Problem: Data Quality Issues¶
Symptoms: - Data values seem incorrect - All parameters showing same value - Inconsistent parameter parsing
Solutions:
- Verify regex parsing:
- Test message format string with actual data
- Check for parameter order mismatches
-
Validate named capture groups
-
Check transformation modules:
- Review calibration equations
- Verify unit conversions
- Test with known input values
System-Wide Issues¶
Problem: High System Load¶
Symptoms: - Slow response times - Process timeouts - System becoming unresponsive
Solutions:
-
Monitor system resources:
-
Check log file sizes:
-
Optimize configurations:
- Reduce logging verbosity
- Increase buffer sizes
- Consider data sampling rates
Problem: Time Synchronization Issues¶
Symptoms: - Timestamps don't match reality - Data appears in wrong time slots - Synchronization errors
Solutions:
-
Check system time:
-
Synchronize clocks:
-
Configure automatic sync:
Diagnostic Commands¶
Quick System Check¶
#!/bin/bash
# Quick CORIOLIX diagnostic script
echo "=== System Status ==="
uptime
free -h
df -h
echo "=== OpenRVDAS Services ==="
systemctl status openrvdas-logger
systemctl status openrvdas-central
echo "=== Database Status ==="
systemctl status mysql
mysql -u coriolix -p[password] -e "SELECT COUNT(*) FROM coriolix_db.sensors;"
echo "=== Network Connectivity ==="
ping -c 3 [central_system_ip]
echo "=== Recent Logs ==="
tail -20 /var/log/openrvdas/*.log
Data Flow Verification¶
# Check complete data pipeline
echo "1. Serial data:"
timeout 5 cat /dev/ttyUSB0
echo "2. Network transmission:"
sudo tcpdump -i eth0 -c 5 port [configured_port]
echo "3. Database records:"
mysql -u coriolix -p -e "SELECT COUNT(*) FROM sensor_data WHERE timestamp > NOW() - INTERVAL 5 MINUTE;"
Getting Additional Help¶
Log File Locations¶
- OpenRVDAS logs:
/var/log/openrvdas/ - System logs:
/var/log/syslog - MySQL logs:
/var/log/mysql/ - Application logs:
/var/log/coriolix/
Support Channels¶
- Check documentation:
- CORIOLIX User Guide
- API Documentation
-
Contact support:
- Create issue in GitHub repository
- Email CORIOLIX support team
- Check community forums
Escalation Process¶
When issues persist:
- Gather diagnostic information:
- System specifications
- Error messages
- Log file excerpts
- Configuration files
-
Timeline of events
-
Document troubleshooting steps:
- What was tried
- Results observed
-
Current system state
-
Prepare for support contact:
- Sensor specifications
- Network topology
- Custom configurations
- Business impact
Prevention¶
Best Practices¶
- Regular backups of configurations
- Monitor system resources proactively
- Test changes in development environment first
- Document all customizations
- Keep systems updated with security patches
- Regular maintenance schedules
Monitoring Setup¶
# Set up automated monitoring
crontab -e
# Add monitoring jobs
*/5 * * * * /scripts/check_sensor_data.sh
0 */6 * * * /scripts/system_health_check.sh
0 2 * * * /scripts/log_rotation.sh
This comprehensive troubleshooting guide should help resolve most issues encountered during sensor onboarding. Remember to document any new solutions for future reference.