remove llm md files

This commit is contained in:
Travis Shears 2026-02-23 15:47:32 +01:00
parent 0fa4d7824f
commit 5c7c24e7fc
Signed by: travisshears
GPG key ID: CB9BF1910F3F7469
2 changed files with 0 additions and 210 deletions

View file

@ -1,176 +0,0 @@
# TCP Client Integration Complete ✓
The `node1.c` file has been successfully updated to use the TCP client library to send sensor data to your Go backend server.
## Changes Made
### 1. node1.c
**Added:**
- WiFi and backend server configuration defines
- `wifi_init()` function to connect to WiFi
- TCP client initialization in `main()`
- Actual message sending in `cb_30` callback (replaced commented-out code)
- Error handling for WiFi/TCP failures
**Key Features:**
- WiFi connects on startup with 30-second timeout
- If WiFi fails, sensor readings continue but data isn't sent
- Every 5 minutes (10 readings × 10 seconds), sends JSON to your Go server
- Comms LED blinks on successful sends
- Prints status messages to serial output
### 2. CmakeLists.txt
**Added:**
- `tcp_client.c` to node1 executable sources
- Backend server configuration variables
- Compile definitions for `BACKEND_SERVER_IP` and `BACKEND_SERVER_PORT`
## Message Format
The Pico sends JSON messages to `192.168.1.153:8080`:
```json
{"temperature":23.50,"pressure":1013.25,"humidity":45.00,"pm1":10.00,"pm2_5":25.50,"pm10":50.00}
```
Your Go server will receive this in the `handleConnection` function and log it with structured logging.
## Building
```bash
cd build
cmake .. \
-DWIFI_SSID="your_ssid" \
-DWIFI_PASSWORD="your_password" \
-DMQTT_SERVER="your_mqtt_server" \
-DMQTT_USERNAME="mqtt_user" \
-DMQTT_PASSWORD="mqtt_pass" \
-DBACKEND_SERVER_IP="192.168.1.153" \
-DBACKEND_SERVER_PORT=8080
make node1
```
Or if you have a build script that sets environment variables, just run it.
## Testing
1. **Start the Go server:**
```bash
cd event_proxy
go run main.go
```
You should see:
```
{"time":"...","level":"INFO","msg":"Starting TCP server","address":"192.168.1.153:8080"}
```
2. **Flash the Pico W:**
```bash
# Use your flash.sh script or:
cp build/node1.uf2 /Volumes/RPI-RP2/
```
3. **Monitor the Pico:**
```bash
# Use your screen.sh script or:
screen /dev/tty.usbmodem* 115200
```
4. **Watch for connection messages:**
**On Pico serial output:**
```
Initializing WiFi...
Connecting to WiFi 'your_ssid'...
WiFi connected successfully
TCP client ready: 192.168.1.153:8080
Making BME280 Reading
cb_30: 0
...
cb_30: 9
Preparing data to send
Temperature: 23.50
Pressure: 1013.25
Humidity: 45.00
PM1: 10.00
PM2.5: 25.50
PM10: 50.00
Sending data to backend server...
tcp_client: connecting to 192.168.1.153 port 8080
tcp_client: connected, sending message
tcp_client: sent 108 bytes
tcp_client: message sent completely
tcp_client: send success
✓ Data sent successfully
COMMS LED BLINK COUNT: 10
```
**On Go server output:**
```json
{"time":"...","level":"INFO","msg":"New connection","remote_addr":"192.168.1.xxx:xxxxx"}
{"time":"...","level":"INFO","msg":"Received message","message":"{\"temperature\":23.50,\"pressure\":1013.25,\"humidity\":45.00,\"pm1\":10.00,\"pm2_5\":25.50,\"pm10\":50.00}\n","bytes":108}
{"time":"...","level":"INFO","msg":"Error reading from connection","error":"EOF"}
```
## Configuration
All configuration is in CMake variables or defines:
| Variable | Default | Description |
|----------|---------|-------------|
| `WIFI_SSID` | - | Your WiFi network name |
| `WIFI_PASSWORD` | - | Your WiFi password |
| `BACKEND_SERVER_IP` | `192.168.1.153` | Your Go server IP |
| `BACKEND_SERVER_PORT` | `8080` | Your Go server port |
| `LOOP_INTERVAL_MS` | `10000` | Time between readings (10 sec) |
## Timing
- **Reading interval:** 10 seconds (configured by `LOOP_INTERVAL_MS`)
- **Readings per batch:** 10
- **Send interval:** 100 seconds (~1.7 minutes)
- **Connection timeout:** 10 seconds
- **Watchdog timeout:** 60 seconds
- **Auto-restart:** 24 hours
## Troubleshooting
### WiFi not connecting
- Check SSID and password in build command
- Ensure WiFi is 2.4GHz (Pico W doesn't support 5GHz)
- Monitor serial output for detailed error messages
### TCP connection fails
- Verify Go server is running: `go run event_proxy/main.go`
- Check server IP is correct: `192.168.1.153`
- Ensure both devices are on same network
- Check firewall settings on server machine
### Data not arriving at server
- Verify `wifi_connected` is true in serial output
- Check for "✓ Data sent successfully" messages
- Look for connection logs in Go server output
- Increase timeout if network is slow (change 10000 to 20000)
## Next Steps
1. **Run it!** Flash the Pico and start the Go server
2. **Monitor both** to verify data flow
3. **Process the data** in your Go server (parse JSON, store to DB, forward to Home Assistant, etc.)
4. **Adjust timing** if needed by changing `LOOP_INTERVAL_MS`
## Files Reference
- `tcp_client.h` - TCP client header
- `tcp_client.c` - TCP client implementation
- `node1.c` - Main application (updated)
- `CmakeLists.txt` - Build configuration (updated)
- `TCP_CLIENT_README.md` - Detailed API documentation
- `event_proxy/main.go` - Your Go TCP server
## Success! 🎉
Your Pico W weather station now sends sensor data over WiFi to your Go backend server every ~1.7 minutes!

View file

@ -1,34 +0,0 @@
# WiFi Initialization Fixes - 2026-01-18
## Problem
Intermittent WiFi connection failures on Raspberry Pi Pico running node1.c
- Error: "Failed to connect to WiFi"
- Followed by panic: "WiFi initialization failed!"
- Issue only occurred sometimes, not consistently
## Root Causes
1. Insufficient startup delay before WiFi initialization
2. Watchdog timeout (60s) conflicting with WiFi connection timeout (60s)
3. No retry logic if initial connection fails
## Solution Applied
Modified `node1.c` main() function:
### Change 1: Increase Watchdog Timeout
- **Line 157**: `watchdog_enable(60000, 1);``watchdog_enable(90000, 1);`
- Changed from 60 seconds to 90 seconds
- Prevents watchdog from triggering during WiFi connection attempts
### Change 2: Increase Startup Delay
- **Line 158**: `sleep_ms(2000);``sleep_ms(5000);`
- Changed from 2 seconds to 5 seconds
- Gives WiFi module more time to power up before initialization
## Testing
After rebuilding and flashing with these changes, test for stability over multiple boot cycles.
## Next Steps if Still Unstable
1. Add WiFi connection retry logic instead of panic on first failure
2. Further increase watchdog timeout to 120s
3. Reduce WiFi timeout to 30s with retry attempts
4. Check WiFi module power supply stability