خلاصه
با ترکیب ESPHome، ESP32 و ماژولهای ReSpeaker میتوان یک دستیار صوتی کاملاً محلی ساخت که ارزانتر، خصوصیتر و انعطافپذیرتر از Nest Hub یا Echo است؛ همه چیز در شبکهی داخلی میماند، حتی پردازش گفتار با Whisper و پاسخدهی با Ollama.
مقدمه
اگر از بستن دستوپایتان در اکوسیستم گوگل و آمازون خسته شدهاید، این مسیر را امتحان کنید: با کمتر از ۱۰۰ دلار یک دستیار صوتی بسازید که هیچ دادهای بیرون نمیبرد و شکل و صدایش را خودت انتخاب میکنی.
چرا سراغ جایگزین بازمتن رفتم؟
- حفظ حریم خصوصی؛ هیچ صدایی به سرور خارجی نمیرود.
- هزینهی تمامشده زیر ۱۰۰ دلار برای نسخهی صفحهدار.
- امکان تغییر کلید بیدار، صدای پاسخ و حتی شخصیت پاسخگو.
سختافزارهایی که آزمودم
ReSpeaker Lite (۳۰ دلار)
برد کوچک با میکروفون دوربُرد؛ کافی است ESP32 و یک اسپیکر به آن وصل کنی تا اولین دستیار صوتیات زنده شود.
ReSpeaker XVF3800 (۵۵ دلار)
نسخه قویتر با حذف نویز دوسویه؛ برای سالنهای بزرگتر یا آشپزخانه پرسروصدا ایدهآل است.
Elecrow 7-inch Display (۴۰ دلار)
صفحهی لمسی با ESP32 داخلی؛ همان Nest Hub خودساختهی توست؛ فقط بدون تبلیغات و بدون تماس با گوگل.
نرمافزار؛ نقشهی راه ESPHome
مرحله ۱: نصب ESPHome
در Home Assistant افزونه ESPHome را فعال کن؛ یک کلیک است و نیازی به کدنویسی ندارد.
مرحله ۲: YAML اولیه
esphome:
name: voice_assistant_lite
esp32:
board: esp32dev
microphone: i2s
speaker: i2s
voice_assistant:
on_listening: light.turn_on: led_red
on_tts_end: light.turn_off: led_redهمین چند خط کافی است تا میکروفون صدا بگیرد و اسپیکر پاسخ پخش کند.
مرحله ۳: Whisper + Ollama محلی
- Whisper را روی یک سرور Proxmox در خانه بالا بیاور.
- Ollama را نصب کن و مدل «llama3» یا هر LLM دلخواه را دانلود کن.
- در ESPHome یک switch تعریف کن که پیام صوتی را به Whisper بفرستد و متن دریافتی را به Ollama؛ پاسخ نهایی هم توسط صدای GLaDOS خوانده میشود.
پروژهی جذاب جانبی؛ CD-Player ۲۰۰۳ تبدیل به دستیار صوتی
با همان ReSpeaker Liteinside کیس قدیمی TDK OutLoud را باز کردم، باتری کهنه را بیرون انداختم و جای آن ESP32 و یک باتری لیتیومی گذاشتم؛ حاصل یک دستیار قابلحمل با حالوهوای رترو بود.
صفحهنمایش هوشمند؛ جایگزین Nest Hub
چرا LVGL انتخاب شماست؟
کتابخانهی LVGL رندر متن و دکمه را ۱۰ برابر سریعتر از کتابخانهی پیشفرض ESPHome انجام میدهد؛ پس انیمیشنهای روان و صفحهی ساعت همیشهروشن بدون لگ خواهی داشت.
امکاناتی که همین حالا کار میکنند
- نمایش متن فرمان و پاسخ
- صفحهی ساعت و تاریخ همیشهروشن
- دکمهی مجازی برای روشنکردن چراغها
در GitHub ریپو کامل پروژه قرار دادهام؛ کافی است فایل YAML را دانلود کنی و آدرس IP سرور Whisper و Ollama را عوض کنی.
مزیتهای پنهان کنترل محلی
۱. بدون اینترنت هم کار میکند
وقابلی خاموشی اینترنت، فرمان «چراغ اتاق را روشن کن» همچنان اجرا میشود چون همه چیز در خانه است.
۲. آپدیت زمانی که خودت میخواهی
هیچ اپلی به زور آپدیت شب نصب نمیکند؛ هر تغییری را خودت زمانبندی میکنی.
۳. بازیافت سختافزار
وقتی از دستیار صوتی خسته شدی، همان برد را میتوانی تبدیل به سنسور دما یا کلید هوشمند کنی؛ چیپ دور نمیافتد.
سخن آخر
مسیر یادشده اولین قدم است؛ هرچه بیشتر بازی کنی، ایدههای بیشتری میسازی. همین امروز یک ReSpeaker Lite سفارش بده، ESPHome را نصب کن و ببین چقدر زود صدایت در خانه فرمانبردار میشود—بدون گوگل، بدون آمازون، فقط با قدرت خودت.
