ทดสอบการเชื่อมต่อของอุปกรณ์หลายเครื่อง

ฉากหลัง

คุณเรียกใช้อุปกรณ์เสมือน Cuttlefish หลายเครื่องได้โดยการเรียกใช้คำสั่งต่อไปนี้

launch_cvd --num_instances=n

เมื่อเรียกใช้ 2 อินสแตนซ์ขึ้นไปโดยใช้แฟล็ก --num_instances อินสแตนซ์จะแชร์สื่อกลางการเชื่อมต่อสำหรับ Wi-Fi และบลูทูธ การตั้งค่านี้ช่วยให้อินสแตนซ์ Cuttlefish ค้นพบและเชื่อมต่อกันผ่านบลูทูธและ Wi-Fi ได้โดยไม่ต้องดำเนินการเพิ่มเติม

อย่างไรก็ตาม หากคุณเรียกใช้อินสแตนซ์หลายรายการโดยใช้แฟล็ก --base_instance_num และการเรียกใช้ launch_cvd หลายครั้ง คุณต้องระบุเส้นทางเซิร์ฟเวอร์ vhost ของ wmediumd เพื่อแชร์สื่อกลาง Wi-Fi และป้องกันไม่ให้มีการเปิดใช้อินสแตนซ์ VM หลายรายการสำหรับ AP

ตัวอย่างการเปิดใช้หลายอุปกรณ์

คำสั่งต่อไปนี้แสดงวิธีเปิดใช้อินสแตนซ์ Cuttlefish 2 รายการที่แชร์สื่อกลาง Wi-Fi โดยใช้การเรียกใช้ launch_cvd แบบอนุกรม

launch_cvd
launch_cvd --base_instance_num=2 \
  --vhost_user_mac80211_hwsim=$HOME/cuttlefish_runtime.1/internal/vhost_user_mac80211 \
  --ap_kernel_image="" --ap_rootfs_image="" #Prevent launching multiple VM instances for AP

บลูทูธ

การใช้งานบลูทูธของ Cuttlefish ได้รับการสนับสนุนโดย rootcanal และสามารถควบคุมได้ด้วยคอนโซลบรรทัดคำสั่งของ UI บนเว็บ

ในคอนโซลมีคำสั่งหลายรายการที่ช่วยให้คุณควบคุมบลูทูธในอุปกรณ์ Guest ได้ ดังนี้

คำสั่ง คำอธิบาย
list แสดงรายการอุปกรณ์และ phys ปัจจุบัน
add DEVICE_TYPE [ARGS] สร้างอุปกรณ์ใหม่ประเภท DEVICE_TYPE
del DEVICE_INDEX ลบอุปกรณ์
add_phy PHY_TYPE เพิ่ม phy ใหม่ด้วย PHY_TYPE
del_phy PHY_INDEX ลบ phy
add_device_to_phy DEVICE_INDEX PHY_INDEX เพิ่มอุปกรณ์ลงใน phy
del_device_from_phy DEVICE_INDEX PHY_INDEX ลบ `อุปกรณ์ออกจาก phy
add_remote HOSTNAME PORT PHY_TYPE เพิ่ม Rootcanal ระยะไกลเป็นอุปกรณ์และลงทะเบียนกับ phy
ประเภทอุปกรณ์และอาร์กิวเมนต์
beacon [MAC_ADDRESS] [ADVERTISE_INTERVAL]
scripted_beacon [MAC_ADDRESS] [CONFIG_PATH] [EVENTS_PATH]
keyboard [MAC_ADDRESS] [ADVERTISE_INTERVAL]
loopback [MAC_ADDRESS] [ADVERTISE_INTERVAL]
sniffer

Wi-Fi

wmediumd_control

wmediumd_control เป็นเครื่องมือบรรทัดคำสั่งที่ควบคุมสื่อกลางการเชื่อมต่อ Wi-Fi เครื่องมือนี้มีคำสั่งต่อไปนี้เพื่อจัดการ Wi-Fi

คำสั่ง คำอธิบาย
set_snr MAC_ADDR1 MAC_ADDR2 SNR_VALUE ตั้งค่า SNR (0~255) ระหว่าง 2 สถานี
start_pcap PCAP_FILE_PATH เริ่มดักจับเฟรมทั้งหมดที่ส่งไปยังอากาศและจัดเก็บไว้ในไฟล์ .pcap
stop_pcap หยุดและสิ้นสุดการดักจับแพ็กเก็ตปัจจุบัน
list_stations แสดงรายการสถานีทั้งหมดที่แนบกับ wmediumd
reload_config [CONFIG_FILE_PATH] โหลดการกำหนดค่า wmediumd ใหม่ด้วย CONFIG_FILE_PATH หากไม่ระบุ CONFIG_FILE_PATH ให้โหลดไฟล์การกำหนดค่าที่โหลดอยู่ในปัจจุบันใหม่
set_position MAC_ADDR X_POSITION Y_POSITION กำหนดตำแหน่งของสถานีในพื้นที่ 2 มิติ

OpenWRT

หากต้องการเชื่อมต่อกับ OpenWRT (จุดเข้าถึง) คุณสามารถใช้ ssh หรือหน้าเว็บของผู้ดูแลระบบก็ได้

ประเภทการเชื่อมต่อ วิธีการ
ssh
ssh root@192.168.96.2
หน้าเว็บของผู้ดูแลระบบ https://192.168.96.2