Python Implementations
Sensor Application Catalog
Sensor Network Cost Calculator
Sensor Data Rate Estimator
Multi-Sensor Deployment Optimizer
🔧 Interactive Sensor Selection Wizard
What this tool does: Helps you select appropriate sensor types based on your application requirements, budget, and deployment constraints.
Who it’s for: Beginners designing their first IoT deployment, or anyone needing guidance on sensor selection.
Sensor Selection Wizard
<h4 style="color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px;">
📍 Step 1: Select Your Application Domain
</h4>
<p style="color: #555;">Choose the primary domain for your IoT deployment:</p>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin: 20px 0;">
<button class="domain-btn" data-domain="smart_cities" onclick="selectDomain('smart_cities')">
🏙️ Smart Cities<br><small style="opacity: 0.7;">Parking, Lighting, Waste</small>
</button>
<button class="domain-btn" data-domain="smart_environment" onclick="selectDomain('smart_environment')">
🌍 Environment<br><small style="opacity: 0.7;">Air, Noise, Fire</small>
</button>
<button class="domain-btn" data-domain="smart_water" onclick="selectDomain('smart_water')">
💧 Water<br><small style="opacity: 0.7;">Quality, Leakage</small>
</button>
<button class="domain-btn" data-domain="smart_agriculture" onclick="selectDomain('smart_agriculture')">
🌾 Agriculture<br><small style="opacity: 0.7;">Crops, Irrigation</small>
</button>
<button class="domain-btn" data-domain="smart_retail" onclick="selectDomain('smart_retail')">
🛒 Retail<br><small style="opacity: 0.7;">Inventory, Payment</small>
</button>
<button class="domain-btn" data-domain="smart_industrial" onclick="selectDomain('smart_industrial')">
🏭 Industrial<br><small style="opacity: 0.7;">M2M, Monitoring</small>
</button>
<button class="domain-btn" data-domain="smart_home" onclick="selectDomain('smart_home')">
🏠 Home<br><small style="opacity: 0.7;">Energy, Security</small>
</button>
<button class="domain-btn" data-domain="smart_health" onclick="selectDomain('smart_health')">
❤️ Healthcare<br><small style="opacity: 0.7;">Vitals, Monitoring</small>
</button>
</div>
<h4 style="color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px;">
🌡️ Step 2: Deployment Environment
</h4>
<p style="color: #555;">Where will your sensors be deployed?</p>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 20px 0;">
<button class="env-btn" onclick="selectEnvironment('indoor')">
🏢 Indoor<br><small style="opacity: 0.7;">Controlled conditions</small>
</button>
<button class="env-btn" onclick="selectEnvironment('outdoor')">
⛅ Outdoor<br><small style="opacity: 0.7;">Weather exposed</small>
</button>
<button class="env-btn" onclick="selectEnvironment('harsh')">
⚠️ Harsh<br><small style="opacity: 0.7;">Industrial/extreme</small>
</button>
<button class="env-btn" onclick="selectEnvironment('underwater')">
🌊 Underwater<br><small style="opacity: 0.7;">Submerged</small>
</button>
</div>
<h4 style="color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px;">
🔋 Step 3: Power & Budget Constraints
</h4>
<div style="margin: 20px 0;">
<label style="display: block; margin-bottom: 5px; color: #555; font-weight: 500;">
Power Source:
</label>
<select id="powerSource" style="width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 5px; font-size: 14px;">
<option value="mains">Mains Power (AC Grid)</option>
<option value="battery">Battery Powered</option>
<option value="solar">Solar Powered</option>
<option value="energy_harvesting">Energy Harvesting</option>
</select>
</div>
<div style="margin: 20px 0;">
<label style="display: block; margin-bottom: 5px; color: #555; font-weight: 500;">
Budget per Sensor: $<span id="budgetValue">50</span>
</label>
<input type="range" id="budgetSlider" min="10" max="500" value="50"
oninput="document.getElementById('budgetValue').textContent = this.value"
style="width: 100%; height: 8px; border-radius: 5px; background: #d3d3d3; outline: none;">
<div style="display: flex; justify-content: space-between; font-size: 12px; color: #777; margin-top: 5px;">
<span>$10 (Low-cost)</span>
<span>$500 (Enterprise)</span>
</div>
</div>
<div style="margin: 20px 0;">
<label style="display: block; margin-bottom: 5px; color: #555; font-weight: 500;">
Data Reporting Frequency:
</label>
<select id="dataFrequency" style="width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 5px; font-size: 14px;">
<option value="realtime">Real-time (< 1 second)</option>
<option value="frequent">Frequent (1-60 seconds)</option>
<option value="moderate">Moderate (1-15 minutes)</option>
<option value="occasional">Occasional (hourly/daily)</option>
</select>
</div>
<button onclick="generateRecommendations()"
style="width: 100%; padding: 15px; background: #3498db; color: white; border: none; border-radius: 5px; font-size: 16px; font-weight: 600; cursor: pointer; margin-top: 20px;">
🎯 Get Sensor Recommendations
</button>
<h4 style="color: #2c3e50; border-bottom: 2px solid #27ae60; padding-bottom: 10px;">
✅ Recommended Sensors for Your Project
</h4>
<div id="recommendationsList"></div>
<button onclick="resetWizard()"
style="margin-top: 20px; padding: 12px 24px; background: #95a5a6; color: white; border: none; border-radius: 5px; cursor: pointer; font-weight: 500;">
🔄 Start Over
</button>
How to use this tool:
- Select your application domain (Smart Cities, Agriculture, Healthcare, etc.)
- Choose deployment environment (Indoor, Outdoor, Harsh conditions)
- Set constraints (Power source, budget per sensor, data frequency)
- Get personalized recommendations with specific sensor models, costs, and deployment tips
What you’ll learn:
- Which sensor types fit your specific use case
- Realistic cost expectations per sensor
- Power and connectivity considerations
- Example commercial products you can purchase
- Deployment best practices
Hardware Selection Guide by Application Domain