KAREN / WINDOWS + ESP32-S3 / S3-N16R8

WiFi മാറ്റാം.
കാരെൻ വീണ്ടും പരീക്ഷിക്കാം.

മുമ്പ് setup പൂർത്തിയാക്കിയ Karen-ന്റെ WiFi പേര്, password, അല്ലെങ്കിൽ server address മാറുമ്പോൾ പിന്തുടരാനുള്ള മലയാളം ഗൈഡ്. ഈ HTML ഫയൽ Edge/Chrome-ൽ നേരിട്ട് തുറക്കാം; ഗൈഡ് വായിക്കാൻ server വേണ്ട.

AWS cloud server ഉപയോഗിക്കുന്നുണ്ടോ? Cloud ഉപയോഗ ഗൈഡ് പിന്തുടരുക. WiFi മാറിയാലും cloud-ന്റെ HTTPS server address മാറ്റേണ്ടതില്ല; board-ന്റെ WiFi പേര്/password മാറ്റി upload ചെയ്യുക. താഴെയുള്ള laptop IPv4/server നിർദ്ദേശങ്ങൾ local server-നുള്ളതാണ്.
Settings മാറ്റിയാൽ USB വഴി വീണ്ടും firmware upload ചെയ്യണം. File save ചെയ്തതുകൊണ്ടോ board restart ചെയ്തതുകൊണ്ടോ പുതിയ വിവരങ്ങൾ ബോർഡിൽ എത്തില്ല. Python/packages വീണ്ടും install ചെയ്യേണ്ടതില്ല; WiFi മാറ്റാൻ Gemini API key മാറ്റേണ്ടതില്ല.

WiFi പേര്, password, server address എന്നിവ മൂന്നും പഴയതുപോലെ ആണെങ്കിൽ upload വേണ്ട. Server പ്രവർത്തിപ്പിച്ച് ഘട്ടം 8-ലെ question test ചെയ്യാം.

0 / 8 ഘട്ടങ്ങൾ പൂർത്തിയായി

എല്ലാ commands-ഉം app.py ഉള്ള project folder-ൽ തുറന്ന PowerShell-ൽ നൽകുക. ഓരോ command-ഉം ഒന്നൊന്നായി നൽകുക. ആദ്യ setup പൂർത്തിയായിട്ടില്ലെങ്കിൽ ആദ്യ setup ഗൈഡ് ഉപയോഗിക്കുക.

പുതിയ WiFi-യും രണ്ട് windows-ഉം തയ്യാറാക്കുക

Server പ്രവർത്തിക്കുന്ന Windows laptop പുതിയ WiFi/hotspot-ലേക്ക് connect ചെയ്യുക. ബോർഡിന് 2.4 GHz WiFi വേണം. Laptop-നും board-നും പരസ്പരം എത്താൻ കഴിയണം; guest network/client isolation ഉള്ള hotspot പ്രശ്നമാകാം. Live AI മറുപടിക്ക് laptop-ൽ internet വേണം.

Window B-ൽ പഴയ Serial Monitor തുറന്നിരിക്കുകയാണെങ്കിൽ Ctrl+C നൽകി അടയ്ക്കുക. Window A-യിലെ server നിർത്തരുത്.

WiFi മാറ്റാനായി wiring മാറ്റേണ്ടതില്ല. Wiring തൊടണമെങ്കിൽ ആദ്യം എല്ലാ power supplies-ഉം ഊരുക; USB ബന്ധിപ്പിക്കുമ്പോൾ മുമ്പ് പരിശോധിച്ച power ക്രമം തന്നെ പിന്തുടരുക.

പരിശോധിക്കുക: Laptop പുതിയ network-ൽ ഉണ്ട്; internet ലഭിക്കുന്നു; Window A, Window B ഏതാണെന്ന് വ്യക്തമാണ്.

Server laptop-ന്റെ പുതിയ IPv4 കണ്ടെത്തുക

Window B · PowerShell
ipconfig

പുതിയ WiFi-യുമായി connect ചെയ്ത adapter-ന്റെ IPv4 Address എഴുതിവയ്ക്കുക. ഉദാഹരണം: 192.168.1.50. നിങ്ങളുടെ address വ്യത്യസ്തമായിരിക്കാം.

Default Gateway എടുക്കരുത്. VPN/virtual adapter, localhost, 127.0.0.1, 0.0.0.0 എന്നിവയും board-ന്റെ server address ആയി ഉപയോഗിക്കരുത്.

Server മറ്റൊരു Windows computer-ലേക്ക് മാറ്റിയെങ്കിൽ ipconfig ആ computer-ലാണ് നൽകേണ്ടത്. അതിൽ Karen setup, API key, server എന്നിവ നേരത്തേ തയ്യാറായിരിക്കണം. ഈ ഗൈഡ് local HTTP server-നും port 8080-നും വേണ്ടിയുള്ളതാണ്; മറ്റൊരു port ആണെങ്കിൽ എല്ലാ server URLs-ലും അതേ port ഉപയോഗിക്കുക.

ആദ്യം laptop-ൽ Karen പരീക്ഷിക്കുക

Window A-യിൽ server നേരത്തേ പ്രവർത്തിക്കുന്നുണ്ടെങ്കിൽ അത് ഉപയോഗിക്കാം. WiFi മാറിയതുകൊണ്ടുമാത്രം server restart ചെയ്യേണ്ടതില്ല. Server നിർത്തിയിരിക്കുകയാണെങ്കിൽ മാത്രം:

Window A · server തുടങ്ങുക
.\start-windows.cmd

Server computer-ൽ തന്നെ Chrome/Edge ഉപയോഗിച്ച് http://localhost:8080 തുറക്കുക.

  1. മഴ എങ്ങനെയാണ് ഉണ്ടാകുന്നത്? എന്ന് type ചെയ്ത് അയക്കുക. അർത്ഥമുള്ള മലയാളം മറുപടി ലഭിക്കണം.
  2. Record a question അമർത്തി microphone permission അനുവദിക്കുക. അഞ്ച് സെക്കൻഡിനുള്ളിൽ ചെറിയ ചോദ്യം ചോദിക്കുക.
  3. ചോദ്യം തിരിച്ചറിഞ്ഞിട്ടുണ്ടോ, പൂർണ്ണമായ ശബ്ദമറുപടി ലഭിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക.
തുടരാം: യഥാർഥ text, voice മറുപടികൾ ലഭിച്ചു. Apology/provider error അല്ലെങ്കിൽ scripted demo reply ലഭിച്ചാൽ live test വിജയിച്ചിട്ടില്ല; ആദ്യം server പ്രശ്നം പരിഹരിക്കുക.

മറ്റൊരു device-ൽ നിന്ന് server എത്തുന്നുണ്ടോ?

അതേ WiFi-യിൽ connect ചെയ്ത മറ്റൊരു phone/laptop-ന്റെ browser-ൽ നിങ്ങളുടെ യഥാർഥ IPv4 ഉപയോഗിച്ച് ഈ രീതിയിൽ തുറക്കുക:

http://192.168.1.50:8080/health

192.168.1.50 ഉദാഹരണം മാത്രമാണ്. Page-ൽ "status": "ok" ഉള്ള JSON ലഭിക്കണം. ഇത് server-ലേക്ക് network വഴി എത്തുന്നു എന്ന് മാത്രം തെളിയിക്കുന്നു; AI പ്രവർത്തിക്കുന്നു എന്നുറപ്പിക്കാൻ ഘട്ടം 3-ലെ tests വേണം.

Page തുറക്കുന്നില്ലെങ്കിൽ IPv4, server Window A, trusted Private network-ലെ Python firewall permission, hotspot client isolation എന്നിവ പരിശോധിക്കുക. Firewall മുഴുവനായി off ചെയ്യരുത്. Hotspot നൽകുന്ന phone-ൽ നിന്ന് test നടക്കണമെന്നില്ല; കഴിയുമെങ്കിൽ അതിൽ connect ചെയ്ത മറ്റൊരു device ഉപയോഗിക്കുക.

മറ്റൊരു device ലഭ്യമല്ലെങ്കിൽ ഈ പരിശോധന ബാക്കിയാണെന്ന് കുറിക്കുക. താഴെയുള്ള local check വിജയിച്ചാലും, മറ്റൊരു device-ൽ നിന്ന് എത്തുന്നു എന്ന് തെളിയില്ല; അവസാനം board question test വിജയിക്കണം.

ആവശ്യമെങ്കിൽ local doctor check: Window B-ൽ ആദ്യം server origin നൽകുക:

Window B · actual server origin നൽകുക
$karenServer = Read-Host "Type the server origin, for example http://192.168.1.50:8080"

ചോദിക്കുമ്പോൾ യഥാർഥ IPv4 ഉള്ള URL നൽകി Enter അമർത്തുക. തുടർന്ന്:

Window B · local health check
.\doctor-windows.cmd --controller esp32_s3 --server $karenServer

[PASS] Backend health നോക്കുക; മറ്റ് WARN/FAIL വരികളും വായിക്കുക. ഈ command AI request അയക്കുകയോ firmware upload ചെയ്യുകയോ ചെയ്യുന്നില്ല.

WiFi / server settings മാറ്റി save ചെയ്യുക

Window B · നിലവിലുള്ള private file തുറക്കുക
notepad firmware\karen_ai\config.h

നിലവിലുള്ള ഈ മൂന്ന് വരികളിൽ മാറിയ വിവരങ്ങൾ മാത്രം തിരുത്തുക. Duplicate വരികൾ ചേർക്കരുത്. താഴെയുള്ള block Notepad-നുള്ള ഉദാഹരണമാണ്; PowerShell-ൽ paste ചെയ്യരുത്.

config.h · example values മാറ്റണം
#define WIFI_SSID "YOUR_2_4_GHZ_HOTSPOT"
#define WIFI_PASSWORD "YOUR_HOTSPOT_PASSWORD"
#define SERVER_ORIGIN "http://192.168.1.50:8080"
Notepad പുതിയ blank file സൃഷ്ടിക്കണോ എന്ന് ചോദിച്ചാൽ cancel ചെയ്യുക. ശരിയായ project folder-ലാണോ എന്ന് പരിശോധിക്കുക. നിലവിലുള്ള private file-നെ example file കൊണ്ട് overwrite ചെയ്യരുത്. ഇത് local HTTP ഗൈഡാണ്; cloud HTTPS-ലേക്ക് മാറ്റാൻ ശരിയായ root certificate ഉൾപ്പെടെയുള്ള വേറെ setup വേണം.

USB ബന്ധിപ്പിച്ച് ഇപ്പോഴത്തെ COM port കണ്ടെത്തുക

Board-ന്റെ മുമ്പ് ഉപയോഗിച്ച COM USB socket-ൽ USB data cable ബന്ധിപ്പിക്കുക. പഴയ COM number മാറിയിരിക്കാം. Serial Monitor തുറന്നിട്ടുണ്ടെങ്കിൽ ആദ്യം Window B-ൽ Ctrl+C നൽകുക.

Window B · port list
.\.venv\Scripts\python.exe scripts\board.py ports

List-ൽ കണ്ട യഥാർഥ port തിരഞ്ഞെടുക്കുക. ഒന്നിലധികം ഉണ്ടെങ്കിൽ board unplug/replug ചെയ്ത് list വീണ്ടും പരിശോധിക്കുക; port ഊഹിക്കരുത്.

Window B · യഥാർഥ COM പേര് നൽകുക
$karenPort = Read-Host "Type the controller's COM port shown above"

ചോദിക്കുമ്പോൾ ഉദാ. COM5 എന്ന രീതിയിൽ list-ൽ കണ്ട പേര് നൽകി Enter അമർത്തുക. Upload-നും monitor-നും ഇതേ Window B ഉപയോഗിക്കുക.

പുതിയ settings board-ലേക്ക് upload ചെയ്യുക

ഇത് മുമ്പ് പരിശോധിച്ച ESP32-S3 / N16R8 board-നുള്ള command ആണ്. മറ്റൊരു controller ആണെങ്കിൽ ഈ profile ഉപയോഗിക്കരുത്. Serial Monitor അടച്ചിരിക്കണം.

Window B · compile + upload
.\.venv\Scripts\python.exe scripts\firmware.py --controller esp32_s3 --upload --port $karenPort --verbose

ഈ command പുതിയ private settings ഉപയോഗിച്ച് compile ചെയ്തശേഷം upload ചെയ്യും. വേറെ compile command വേണ്ട. Credentials: private config.h വിവരം മാത്രമാണ്; ഒന്നും type ചെയ്യേണ്ടതില്ല.

Compile-ന് സമയം വേണം; output ശ്രദ്ധിച്ച് പൂർത്തിയാകുന്നതുവരെ കാത്തിരിക്കുക. ഒരേ സമയം മറ്റൊരു build/upload തുടങ്ങരുത്. Error വന്നാൽ തുടർന്നുള്ള ഘട്ടത്തിലേക്ക് പോകരുത്. Log: .tools/firmware.log.

Upload വിജയിച്ച് command അവസാനിച്ചശേഷം:

Window B · Serial Monitor + log
.\.venv\Scripts\python.exe scripts\board.py monitor --port $karenPort --log

Monitor 115200 baud-ൽ തുറക്കും. Startup lines കാണുന്നില്ലെങ്കിൽ board-ന്റെ RESET/EN ഒരിക്കൽ അമർത്തുക. ഇതിൽ താഴെയുള്ളവ പരിശോധിക്കുക:

Controller: esp32_s3
flash: 16777216 bytes | PSRAM: 8388608 bytes
[WIFI] Connected
[READY]
തുടരാം: ശരിയായ memory sizes-ഉം [WIFI] Connected-ഉം കാണണം. [READY] മാത്രം കണ്ടാൽ WiFi/server test വിജയിച്ചതായി കരുതരുത്. WiFi error, wrong memory size, തുടർച്ചയായ reboot എന്നിവ വന്നാൽ നിർത്തി പരിശോധിക്കുക.

Board-ൽ നിന്ന് ഒരു ചോദ്യം ചോദിച്ച് ഉറപ്പാക്കുക

Window A-യിലെ server-ും Window B-യിലെ monitor-ും പ്രവർത്തിക്കണം. Microphone/external button നേരത്തേ പരിശോധിച്ച് ബന്ധിപ്പിച്ചിരിക്കണം.

  1. External question button ഒരിക്കൽ അമർത്തി വിടുക. Onboard BOOT button ഉപയോഗിക്കരുത്.
  2. [MIC] Recording. Speak now. കണ്ടശേഷം മഴ എങ്ങനെയാണ് ഉണ്ടാകുന്നത്? എന്ന് അഞ്ച് സെക്കൻഡിനുള്ളിൽ ചോദിക്കുക.
  3. Reply പൂർത്തിയാകുന്നതുവരെ വീണ്ടും button അമർത്തരുത്. Server response കാത്തിരിക്കുമ്പോൾ request-ന് 160 seconds വരെ സമയം എടുക്കാം.
  4. Monitor-ൽ samples=80000/80000, [HTTP] Result: ok എന്നിവ നോക്കുക. Laptop-ലെ Karen page refresh ചെയ്ത് തിരിച്ചറിഞ്ഞ ചോദ്യവും മറുപടിയും വായിക്കുക.
  5. Amplifier/speaker ബന്ധിപ്പിച്ചിട്ടുണ്ടെങ്കിൽ പൂർണ്ണവും വ്യക്തവുമായ ശബ്ദമറുപടി കേൾക്കണം. തുടർന്ന് മറ്റൊരു ചെറിയ ചോദ്യം കൂടി പരീക്ഷിക്കുക.
spoken-error, zero-signal warning, provider error/apology എന്നിവ വന്നാൽ test വിജയിച്ചിട്ടില്ല. [PLAY] Decoder finished വന്നതുകൊണ്ടുമാത്രം speaker-ൽ ശബ്ദം കേൾക്കുന്നു എന്നുറപ്പില്ല. Amplifier/speaker ഇനിയും ബന്ധിപ്പിച്ചിട്ടില്ലെങ്കിൽ dashboard/log വഴി mic + server മാത്രം പരിശോധിക്കാം; speaker test ബാക്കിയാണ്.
വിജയിച്ചു: പുതിയ network-ൽ board connect ചെയ്തു; server യഥാർഥ ചോദ്യം തിരിച്ചറിഞ്ഞു; ശരിയായ മറുപടി ലഭിച്ചു. Speaker ഉണ്ടെങ്കിൽ അത് പൂർണ്ണമായി കേട്ടു.

ഉപയോഗിക്കുമ്പോൾ server window തുറന്നുവയ്ക്കുക; laptop sleep ആകരുത്. അടുത്ത തവണ WiFi വിവരങ്ങളോ laptop IPv4-ഓ വീണ്ടും മാറിയാൽ settings മാറ്റി upload ആവർത്തിക്കുക. വിവരങ്ങൾ മാറിയിട്ടില്ലെങ്കിൽ upload വേണ്ട.

പ്രശ്നം വന്നാൽ

WiFi connect ആകുന്നില്ല
2.4 GHz, exact WiFi പേര്/password പരിശോധിക്കുക. Settings തിരുത്തിയശേഷം upload വിജയിച്ചോ എന്ന് ഉറപ്പാക്കുക.
WiFi connect ആയി; HTTP/server error വരുന്നു
Server Window A പ്രവർത്തിക്കുന്നുണ്ടോ, ഇപ്പോഴത്തെ laptop IPv4 തന്നെയാണോ SERVER_ORIGIN-ൽ, ശരിയായ port ആണോ, firewall/private-network permission ശരിയാണോ എന്ന് നോക്കുക. ഘട്ടം 4-ലെ remote health test ആവർത്തിക്കുക.
Port busy / upload connect ആകുന്നില്ല
എല്ലാ Serial Monitors-ഉം അടയ്ക്കുക. Data cable, ഇപ്പോഴത്തെ COM port എന്നിവ പരിശോധിക്കുക. വീണ്ടും ശ്രമിക്കുന്നതിന് മുമ്പ് ആദ്യ upload command അവസാനിച്ചെന്ന് ഉറപ്പാക്കുക. Flash erase ചെയ്യരുത്.
Compile error / timeout
.tools/firmware.log-ലെ അവസാന error പരിശോധിക്കുക. ഒരേസമയം പല builds തുടങ്ങരുത്. --verbose command output-ന്റെ അവസാന വരികൾ സൂക്ഷിക്കുക.
Reply error അല്ലെങ്കിൽ ശബ്ദം വരുന്നില്ല
മുൻ request-ന്റെ error/request ID നോക്കിയശേഷം മാത്രം വീണ്ടും ചോദിക്കുക. spoken-error ആണെങ്കിൽ Python server logs പരിശോധിക്കുക. HTTP result ശരിയായിട്ടും ശബ്ദമില്ലെങ്കിൽ മുമ്പ് പരിശോധിച്ച amplifier/speaker/power connections മുതിർന്നയാളോടൊപ്പം നോക്കുക; wiring മാറ്റുന്നതിന് മുമ്പ് power off ചെയ്യുക.