หน้านี้จะอธิบายวิธีควบคุม Wi-Fi ในอุปกรณ์ Cuttlefish
ใช้ Wmediumd
ฟีเจอร์ Wi-Fi ของ Cuttlefish ใช้ Wmediumd ซึ่งเป็นเครื่องมือจำลองเพื่อจำลองสื่อไร้สาย Wmediumd จัดการการนำส่งแพ็กเก็ต Wi-Fi ระหว่างอินสแตนซ์ Cuttlefish 2 อินสแตนซ์หรือระหว่างอินสแตนซ์ Cuttlefish กับอินสแตนซ์ OpenWRT Wmedium สําหรับ Cuttlefish มีการใช้งานใน /platform/external/wmediumd/
หากต้องการควบคุมอินเทอร์เฟซ Wmediumd ให้ใช้เครื่องมือ WmediumdService
(Android 14 ขึ้นไป) หรือ wmedium_control
(Android 13 หรือต่ำกว่า)
WmediumdService
สำหรับอุปกรณ์ที่ใช้ Android 14 ขึ้นไป ให้ใช้ WmediumdService
เพื่อควบคุมเครื่องมือ Wmedium โปรดดูรายละเอียดเกี่ยวกับวิธีควบคุมบริการนี้โดยใช้ REST API หรืออินเทอร์เฟซบรรทัดคำสั่ง (CLI) ที่หัวข้อ Cuttlefish: การควบคุมสภาพแวดล้อม
ตารางต่อไปนี้แสดงเมธอดใน WmediumdService
ดูข้อมูลโดยละเอียดเกี่ยวกับวิธีการได้ที่ wmediumd.proto
วิธีการ | คำอธิบาย |
---|---|
ListStations |
แสดงรายการสถานีทั้งหมดที่แนบอยู่กับ Wmediumd |
LoadConfig |
โหลดการกำหนดค่า Wmediumd ด้วยไฟล์ที่กำหนด |
ReloadConfig |
โหลดไฟล์การกําหนดค่า Wmediumd ที่โหลดอยู่ในปัจจุบันอีกครั้ง |
SetCivicloc
|
กำหนดสถานที่ตั้งของพลเมือง (เช่น ที่อยู่ไปรษณีย์) ของสถานีที่ต้องการ |
SetLci
|
ตั้งค่า LCI (ละติจูด ลองจิจูด ความสูง) ของสถานีที่เฉพาะเจาะจง |
SetPosition |
กำหนดตำแหน่งของสถานีในพื้นที่ 2 มิติ |
SetSnr
|
ตั้งค่าอัตราส่วนสัญญาณต่อสัญญาณรบกวน (SNR) (0-255) ระหว่างสถานี 2 แห่ง |
SetTxpower |
ตั้งค่ากำลังส่ง (กำลัง TX) ของสถานีที่ต้องการ |
StartPcap
|
เริ่มจับภาพเฟรมทั้งหมดที่ส่งไปยังอากาศและจัดเก็บไว้ในไฟล์ .pcap |
StopPcap |
หยุดและสรุปการบันทึกแพ็กเก็ตปัจจุบัน |
wmediumd_control
สำหรับอุปกรณ์ที่ใช้ Android 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 |
กำหนดตำแหน่งของสถานี ในพื้นที่ 2 มิติ |
set_snr MAC_ADDR1
MAC_ADDR2
SNR_VALUE |
ตั้งค่าอัตราส่วนสัญญาณต่อสัญญาณรบกวน (SNR) (0-255) ระหว่าง 2 สถานี |
start_pcap
PCAP_FILE_PATH
|
เริ่มจับภาพเฟรมทั้งหมดที่ออกอากาศและจัดเก็บไว้ในไฟล์ .pcap |
stop_pcap
|
หยุดและดักจับแพ็กเก็ตปัจจุบันให้เสร็จสมบูรณ์ |
ใช้ OpenWRT
ฟีเจอร์ Wi-Fi ของ Cuttlefish รองรับการใช้ OpenWRT สําหรับการทำให้จุดเข้าใช้งาน Wi-Fi (AP) เสมือน การใช้งาน OpenWRT สำหรับ Cuttlefish อยู่ที่ platform/external/openwrt-prebuilts/
หากต้องการเชื่อมต่อกับ OpenWRT ให้ใช้ข้อมูลในตารางต่อไปนี้ หากคุณไม่ได้เพิ่มตัวเลือกใดๆ เมื่อเปิด Cuttlefish รหัสอุปกรณ์จะเป็น cvd-1
และที่อยู่ IP WAN ของ OpenWRT คือ 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: การควบคุมสภาพแวดล้อม
ตารางต่อไปนี้แสดงเมธอดใน OpenwrtControlService
ดูข้อมูลโดยละเอียดเกี่ยวกับวิธีการได้ที่ openwrt_control.proto
วิธีการ | คำอธิบาย |
---|---|
LuciRpc |
ส่งการเรียกใช้ RPC ไปยังอินเทอร์เฟซเว็บของ Luci ใน OpenWRT |
OpenwrtIpAddr
|
รับที่อยู่ IP ของ OpenWRT WAN ใช้ที่อยู่นี้เพื่อเชื่อมต่ออินสแตนซ์ OpenWRT ผ่าน SSH หรืออินเทอร์เฟซเว็บ |