در این صفحه نحوه کنترل Wi-Fi در دستگاه Cuttlefish توضیح داده شده است.
از Wmediumd استفاده کنید
ویژگی Wi-Fi Cuttlefish از Wmediumd، یک ابزار شبیه سازی، برای شبیه سازی رسانه بی سیم استفاده می کند. Wmediumd تحویل بسته های Wi-Fi را بین دو نمونه Cuttlefish یا بین یک نمونه Cuttlefish و یک نمونه OpenWRT مدیریت می کند. Wmedium for Cuttlefish در /platform/external/wmediumd/
پیاده سازی شده است.
برای کنترل رابط Wmediumd، از ابزار WmediumdService
(اندروید 14 یا بالاتر) یا wmedium_control
(اندروید 13 یا پایین تر) استفاده کنید.
WmediumdService
برای دستگاههایی که اندروید 14 یا بالاتر دارند، از WmediumdService
برای کنترل ابزار Wmedium استفاده کنید. برای جزئیات در مورد نحوه کنترل این سرویس با استفاده از REST API یا رابط خط فرمان (CLI)، به Cuttlefish: Environment Control مراجعه کنید.
جدول زیر روش های موجود در WmediumdService
را فهرست می کند. برای اطلاعات دقیق در مورد روش ها، به wmediumd.proto
مراجعه کنید.
روش ها | توضیحات |
---|---|
ListStations | لیست تمام ایستگاه های متصل به Wmediumd. |
LoadConfig | پیکربندی Wmediumd را با یک فایل مشخص بارگیری کنید. |
ReloadConfig | فایل پیکربندی Wmediumd بارگیری شده در حال حاضر را دوباره بارگیری کنید. |
SetCivicloc | مکان مدنی (به عنوان مثال، آدرس پستی) ایستگاه خاص را تنظیم کنید. |
SetLci | LCI (طول، طول و عرض جغرافیایی، ارتفاع) ایستگاه خاص را تنظیم کنید. |
SetPosition | تنظیم موقعیت ایستگاه در فضای دو بعدی. |
SetSnr | مقدار نسبت سیگنال به نویز (SNR) (0-255) را بین دو ایستگاه تنظیم کنید. |
SetTxpower | تنظیم توان انتقال (قدرت TX) ایستگاه خاص. |
StartPcap | شروع به گرفتن تمام فریم های ارسال شده به هوا کنید و آن را در یک فایل .pcap ذخیره کنید. |
StopPcap | ضبط بسته فعلی را متوقف و نهایی کنید. |
wmediumd_control
برای دستگاههایی که اندروید 13 یا پایینتر دارند، از ابزار wmediumd_control
برای کنترل رسانه بیسیم در دستگاههای Cuttlefish استفاده کنید. جدول زیر دستورات فرعی را در wmediumd_control
فهرست می کند.
دستورات فرعی | توضیحات |
---|---|
list_stations | لیست تمام ایستگاه های متصل به Wmediumd. |
reload_config [ CONFIG_FILE_PATH ] | بارگیری مجدد پیکربندی Wmediumd با CONFIG_FILE_PATH . اگر CONFIG_FILE_PATH حذف شده است، فایل پیکربندی بارگیری شده فعلی را دوباره بارگیری کنید. |
set_civicloc MAC_ADDR CIVICLOC | مکان مدنی (به عنوان مثال، آدرس پستی) ایستگاه خاص را تنظیم کنید. |
set_lci MAC_ADDR LCI | LCI (طول، طول و عرض جغرافیایی، ارتفاع) ایستگاه خاص را تنظیم کنید. |
set_position MAC_ADDR X_POSITION Y_POSITION | تنظیم موقعیت ایستگاه در فضای دو بعدی. |
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE | مقدار نسبت سیگنال به نویز (SNR) (0-255) را بین دو ایستگاه تنظیم کنید. |
start_pcap PCAP_FILE_PATH | شروع به گرفتن تمام فریم های ارسال شده به هوا کنید و آن را در یک فایل .pcap ذخیره کنید. |
stop_pcap | ضبط بسته فعلی را متوقف و نهایی کنید. |
از OpenWRT استفاده کنید
ویژگی Cuttlefish Wi-Fi از OpenWRT برای مجازی سازی نقاط دسترسی Wi-Fi (APs) پشتیبانی می کند. اجرای OpenWRT برای Cuttlefish در platform/external/openwrt-prebuilts/
است.
برای اتصال به OpenWRT از اطلاعات جدول زیر استفاده کنید. اگر هنگام راه اندازی Cuttlefish هیچ گزینه ای اضافه نکنید، شناسه دستگاه cvd-1
است و آدرس IP OpenWRT WAN 192.168.94.2
یا 192.168.96.2
است.
نوع اتصال | مقصد |
---|---|
SSH | root@ OPENWRT_WAN_IP_ADDRESS |
صفحه وب | https://localhost:1443/devices/ DEVICE_ID /openwrt |
صفحه وب (میراث) | https:// OPENWRT_WAN_IP_ADDRESS |
OpenwrtControlService
برای دستگاههای دارای Android 14 یا بالاتر، برای کنترل و پیکربندی APهای Wi-Fi مجازی شده، از سرویس OpenwrtControlService
استفاده کنید. برای جزئیات در مورد نحوه کنترل این سرویس با استفاده از REST API یا CLI، به Cuttlefish: Environment Control مراجعه کنید.
جدول زیر متدهای موجود در OpenwrtControlService
را فهرست می کند. برای اطلاعات دقیق در مورد روش ها، به openwrt_control.proto
مراجعه کنید.
روش ها | توضیحات |
---|---|
LuciRpc | تماس RPC را به رابط وب Luci در OpenWRT ارسال کنید. |
OpenwrtIpAddr | آدرس IP OpenWRT WAN را دریافت کنید. از این آدرس برای اتصال یک نمونه OpenWRT از طریق SSH یا یک رابط وب استفاده کنید. |