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:
Option 1: Direct to Cloud (Recommended for Beginners)
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
- Go to app.nettemp.pl and register (free)
- Navigate to Settings → API Tokens
- Click Generate New Token
- 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:
- Go to app.nettemp.pl
- Register/login
- Navigate to Settings → API Tokens
- 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
- Go to Alarms tab
- Click "New Alarm"
- Configure trigger conditions
- Add notification channels
Create Custom Dashboard
- Go to "My View" tab
- Click "Edit Mode"
- Add widgets (gauges, charts, floor plans)
- Drag to position, resize as needed
- 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.pyto see errors
Sensor not detected?
- I2C sensors: Run
i2cdetect -y 1to 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?
- Discord: discord.gg/S4egxNvQHM - Live community support
Congratulations! 🎉 You now have a working IoT sensor monitoring system!