Skip to main content

Getting Started with Nettemp

Welcome to Nettemp! This guide will help you set up your first IoT sensor monitoring system in under 10 minutes.

Choose Your Architecture

Nettemp is flexible and supports multiple deployment architectures. Choose the one that fits your needs:

Local devices → Nettemp Client → Nettemp Cloud

  • Sensors connected via I2C, GPIO, USB, or 1-Wire
  • Nettemp Client runs on Raspberry Pi/Linux
  • Data sent directly to Nettemp Cloud
  • ✅ Simplest setup, no server management
  • ✅ Access from anywhere

Option 2: Local Server Bridge

Local devices → Nettemp Client → Local Server (Docker) → Nettemp Cloud

  • Same as Option 1, but data flows through your local Docker server first
  • Useful for local data storage or processing
  • Can work offline and sync later

Option 3: Wireless Devices Without SSL

Wireless devices (ESP8266/ESP32) → Nettemp Client Bridge → Local Server (Docker) → Nettemp Cloud

  • For devices that can't handle HTTPS/SSL encryption
  • Nettemp Client acts as HTTP-to-HTTPS bridge
  • Secures data before sending to cloud

Option 4: Direct Wireless to Cloud

Wireless devices with SSL → Nettemp Cloud

  • ESP32 or similar with SSL/TLS support
  • Send data directly via HTTPS API
  • No Raspberry Pi needed

Option 5: Custom Scripts

Your scripts → Local Server (Docker) or Cloud API

  • Use Nettemp API from any programming language
  • Python, Node.js, Go, Java examples available
  • Full control over data collection

Option 6: Self-Hosted Only

Local devices → Nettemp Client → Local Server (Docker)

  • No cloud connection required
  • Complete privacy and data ownership
  • LAN-only operation

Super Quick Start (No Hardware Needed!)

Want to try Nettemp without any sensors? You can test the platform in under 2 minutes:

1. Create Account & Get API Key

  1. Go to app.nettemp.pl and register (free)
  2. Navigate to Settings → API Tokens
  3. Click Generate New Token
  4. Copy your token (starts with ntk_)

2. Send Test Data via curl

# Replace YOUR_API_TOKEN with your actual token
curl -X POST https://app.nettemp.pl/api/v1/readings \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-device",
"sensor_id": "temp-1",
"sensor_type": "temperature",
"value": 22.5,
"unit": "°C"
}'

3. View Your Data

Go back to the dashboard at app.nettemp.pl and you'll see:

  • Your test device in the device list
  • Real-time temperature reading
  • Interactive chart with your data point

Try More Sensors

# Send humidity data
curl -X POST https://app.nettemp.pl/api/v1/readings \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-device",
"sensor_id": "humid-1",
"sensor_type": "humidity",
"value": 65.0,
"unit": "%"
}'

# Send CPU usage
curl -X POST https://app.nettemp.pl/api/v1/readings \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"device_id": "test-device",
"sensor_id": "cpu-1",
"sensor_type": "cpu",
"value": 45.2,
"unit": "%"
}'

That's it! You now understand how Nettemp works. When you're ready, continue with the full installation below.


What You'll Need

  • Raspberry Pi (any model) or Linux device
  • Sensors (DHT22, BME280, DS18B20, or any supported sensor)
  • Internet connection
  • Nettemp account (free tier available)

Full Installation Guide

1. Install Client on Raspberry Pi / Linux

📖 For detailed installation instructions with interactive setup tool, see Nettemp Client Installation

Quick install:

# Clone the client repository
git clone https://github.com/sosprz/nettemp_client.git
cd nettemp_client

# Run interactive configuration tool (recommended)
python3 nettemp_config.py

The interactive tool will:

  • Install Python dependencies automatically
  • Create configuration files
  • Discover connected sensors
  • Set up auto-start via cron
  • Add your user to the I2C group

2. Configure Your Device

Edit config.conf:

group: living-room-1              # Your device name
cloud_server: https://app.nettemp.pl
cloud_api_key: ntk_xxxxx # Get from dashboard
cloud_enabled: true

Get your API key:

  1. Go to app.nettemp.pl
  2. Register/login
  3. Navigate to Settings → API Tokens
  4. Generate new token

3. Configure Sensors

💡 Tip: Use the interactive tool (python3 nettemp_config.py) for guided sensor configuration with hardware discovery.

Manual configuration in drivers_config.yaml:

system:
enabled: true # CPU/RAM monitoring
read_in_sec: 60

dht22:
enabled: true
read_in_sec: 60
gpio_pin: 4 # GPIO4 on Raspberry Pi

bme280:
enabled: true
read_in_sec: 60
i2c_address: "0x76"

See Client Installation Guide for 22+ available sensor drivers.

4. Test the Setup

# Activate virtual environment
source venv/bin/activate

# Test with fake data
python3 demo_all_sensors.py

# Or run real client
python3 nettemp_client.py

5. Reboot to Enable Auto-Start

sudo reboot

After reboot, the client will automatically start and send data every minute.

Next Steps

View Your Data

Visit app.nettemp.pl and you'll see:

  • Overview dashboard with device tiles
  • Latest sensor readings
  • Interactive charts

Set Up Alarms

  1. Go to Alarms tab
  2. Click "New Alarm"
  3. Configure trigger conditions
  4. Add notification channels

Create Custom Dashboard

  1. Go to "My View" tab
  2. Click "Edit Mode"
  3. Add widgets (gauges, charts, floor plans)
  4. Drag to position, resize as needed
  5. Save your layout

Supported Sensors

Temperature

  • DHT11/DHT22 - Cheap, GPIO-based
  • DS18B20 - 1-Wire, waterproof available
  • BME280 - I2C, also humidity & pressure
  • BMP180 - I2C, also pressure

System Monitoring

  • system - CPU, RAM usage
  • rpi - Raspberry Pi CPU temperature
  • lm_sensors - Linux hardware sensors

And 15+ more drivers

Check example_drivers_config.yaml for the full sensor list

Troubleshooting

No data in dashboard?

  • Check config.conf - verify API key
  • Check drivers_config.yaml - ensure sensors enabled
  • Run python3 nettemp_client.py to see errors

Sensor not detected?

  • I2C sensors: Run i2cdetect -y 1 to see addresses
  • GPIO sensors: Verify pin number in config
  • 1-Wire: Check /sys/bus/w1/devices/

Permission errors?

# Add user to I2C group
sudo usermod $USER -aG i2c
sudo reboot

Hardware Setup

Connecting DHT22 (GPIO)

DHT22    Raspberry Pi
----- ------------
VCC → Pin 1 (3.3V)
DATA → Pin 7 (GPIO4)
GND → Pin 6 (Ground)

Connecting BME280 (I2C)

BME280   Raspberry Pi
------ ------------
VCC → Pin 1 (3.3V)
GND → Pin 6 (Ground)
SCL → Pin 5 (SCL)
SDA → Pin 3 (SDA)

Enable I2C

sudo raspi-config
# Interface Options → I2C → Enable

What's Next?

Explore more features in the dashboard:

  • Configure additional sensors
  • Set up alarms and notifications
  • Create custom dashboard layouts
  • Export your data

Need Help?


Congratulations! 🎉 You now have a working IoT sensor monitoring system!