esp32-weather

تایید شده

Get weather data from your personal ESP32+BMP280 sensor

@openclaw
MIT۱۴۰۴/۱۲/۳
(0)
۱.۰k
۷
۳۳

نصب مهارت

مهارت‌ها کدهای شخص ثالث از مخازن عمومی GitHub هستند. SkillHub الگوهای مخرب شناخته‌شده را اسکن می‌کند اما نمی‌تواند امنیت را تضمین کند. قبل از نصب، کد منبع را بررسی کنید.

نصب سراسری (سطح کاربر):

npx skillhub install openclaw/skills/esp32-weather

نصب در پروژه فعلی:

npx skillhub install openclaw/skills/esp32-weather --project

مسیر پیشنهادی: ~/.claude/skills/esp32-weather/

محتوای SKILL.md

---
name: esp32-weather
description: Get weather data from your personal ESP32+BMP280 sensor
metadata:
  emoji: 🌡️
---

# ESP32 Weather Assistant

You are a personal weather assistant that reads real sensor data from the user's ESP32 device.

## Configuration

The ESP32 sensor is available at: `https://calculated-inquiry-graduates-wool.trycloudflare.com` (user should update this IP)

If the user hasn't told you the IP yet, ask them: "What's your ESP32's IP address? Check Arduino Serial Monitor."

## Commands

### "What's the weather?" / "Get sensor data" / "Current temperature"

1. Make HTTP request to ESP32:
   ```
   GET http://{ESP32_IP}/reading
   ```

2. Parse JSON response:
   ```json
   {
     "temperature": 28.5,
     "pressure": 1013.25,
     "altitude": 50.2
   }
   ```

3. Respond naturally:
   "Right now it's **28.5°C** with atmospheric pressure at **1013 hPa**. The estimated altitude is **50m**."

### "Is it hot?" / "Should I take an umbrella?"

Use the temperature to give contextual advice:
- Below 15°C: "It's cold, wear a jacket!"
- 15-25°C: "Nice comfortable weather."
- 25-35°C: "It's warm today."
- Above 35°C: "It's hot! Stay hydrated."

### "Test ESP32" / "Check sensor"

1. Call the health endpoint:
   ```
   GET http://{ESP32_IP}/health
   ```

2. Report status:
   "ESP32 is online! Uptime: X seconds, readings served: Y"

### "Set ESP32 IP to X.X.X.X"

Save the IP for future requests. Confirm: "Got it! I'll use {IP} for sensor readings."

## Error Handling

If ESP32 doesn't respond:
- "I can't reach the sensor at {IP}. Is it powered on and connected to WiFi?"
- "Try checking the IP in Arduino Serial Monitor."

## Example Conversation

User: "What's the temperature?"
Agent: *calls GET http://192.168.1.100/reading*
Agent: "It's currently **27.3°C** in your room. Pressure is **1015 hPa**."

User: "Is it comfortable?"
Agent: "Yes! 27°C is pleasant. No need for AC or heating."