ฉันมีคำถามนี้เกี่ยวกับ Stack Overflow แต่แนะนำว่าให้ย้ายที่นี่ มันถูกตั้งค่าสถานะเพื่อให้ผู้ดูแลให้ความสนใจ แต่ฉันไม่แน่ใจว่ากระบวนการทำงานอย่างไรและฉันไม่ได้รับข้อเสนอแนะใด ๆ ดังนั้นฉันจึงคิดว่าฉันจะถามคำถามที่นี่:
ฉันพยายามสร้างการเชื่อมต่อ Bluetooth Smart ระหว่าง Raspberry PIs สองแห่งที่ฉันสามารถใช้ IPSP (โปรไฟล์การสนับสนุนโพรโทคอลอินเทอร์เน็ต) เพื่อให้ฉันสามารถสื่อสารกับโปรโตคอล IPv6 โดยใช้ 6LoWPAN
ฉันสามารถประสบความสำเร็จในการสร้างการสื่อสารระหว่าง Raspberry Pis และชุดพัฒนา nRF51 ของ Nordic แต่เป็นข้อพิสูจน์ถึงแนวคิดที่ว่าตอนนี้ฉันพยายามที่จะสร้างการเชื่อมต่อระหว่าง Raspberry Pi สองกล่องที่ไม่มีชุดพัฒนา nRF51 ของ Nordic
ดังนั้นขั้นตอนแรกของฉันคือการตั้งค่า Raspberry Pis ฉันทำสิ่งนี้ด้วยขั้นตอนใน nRF5 IoT SDK ของ Nordic ( https://developer.nordicsemi.com ) ฉันรู้ว่า Raspberry Pis ได้รับการตั้งค่าอย่างถูกต้องเพราะทั้งคู่ทำงานกับบอร์ด nRF51 ฉันสามารถสร้างการเชื่อมต่อระหว่าง Raspberry Pi กับบอร์ด nRF51 และ ping6 กับบอร์ด nRF51 จาก Raspberry Pi
ตอนนี้เพื่อสร้างการเชื่อมต่อบลูทู ธ ของฉันระหว่าง Raspberry Pis ฉันทำงานแม้ว่าขั้นตอนต่อไปนี้: บนอุปกรณ์หลักฉันใช้คำสั่งต่อไปนี้:
#need root access
sudo su
#enable 6lowpan over Bluetooth le
echo 1 > /sys/kernel/debug/bluetooth/6lowpan_enable
#start advertising Bluetooth LE service
hciconfig hci0 leadv
บนอุปกรณ์ Slave ฉันรันคำสั่งต่อไปนี้:
#need root access
sudo su
#enable 6lowpan over Bluetooth le
echo 1 > /sys/kernel/debug/bluetooth/6lowpan_enable
#establish le connection to master
hcitool lecc 5C:F3:70:XX:XX:XX
hcitool leccคำสั่งเสมอกลับ“การเชื่อมต่อมือจับ 64” ณ จุดนี้ฉันมีการเชื่อมต่อที่มั่นคงระหว่างอุปกรณ์ทั้งสองที่ฉันสามารถตรวจสอบได้โดยใช้คำสั่งhcitool con
ตอนนี้ฉันสามารถเรียกใช้คำสั่งต่อไปนี้ได้ทั้งต้นแบบหรือทาสโดยที่ที่อยู่ mac เป็นที่อยู่สำหรับอุปกรณ์ Bluetooth ที่ฉันกำลังเชื่อมต่อด้วย:
echo “connect 5C:F3:70:XX:XX:XX 1” > /sys/kernel/debug/bluetooth/6lowpan_control
Raspberry Pi ใดที่ฉันรันคำสั่งในการสร้างการเชื่อมต่อ 6lowpan และถ้าฉันรันคำสั่ง ifconfig ฉันเห็นอุปกรณ์ bt0 ใหม่ Raspberry Pi อื่น ๆ ไม่ได้รับอุปกรณ์ bt0 ฉันได้ลองใช้คำสั่ง ifconfig bt0 upและยังรันคำสั่ง echo เดียวกัน (เปลี่ยนที่อยู่ mac) แต่ไม่มีหนึ่งในนั้นที่ให้อุปกรณ์ bt0 แก่ฉัน
อุปกรณ์ bt0 ที่ปรากฏบน Raspberry Pi ที่ฉันรันคำสั่งจะหายไปหลังจากผ่านไป 39 วินาที ในไฟล์บันทึกการทำงาน / var / log / syslog จะปรากฏว่า ntpd daemon เริ่มฟังบนอินเตอร์เฟส bt0 เมื่อมันเกิดขึ้นจากนั้น 39 วินาทีหลังจากนั้นจะตรวจพบว่าอินเตอร์เฟสหายไปและปล่อยออกมา ฉันได้ลองกำหนดที่อยู่ IPv6 ให้กับอุปกรณ์เมื่อใช้งานโดยใช้คำสั่งต่อไปนี้:
ifconfig bt0 inet6 add 2001:db8::5cf3:70ff:feXX:XXXX/64
จากนั้นฉันก็วิ่ง ping6 เพื่อทำการ ping อย่างต่อเนื่องโดยหวังว่าจะรักษาส่วนต่อไปให้สั้น ๆ แต่อินเทอร์เฟซยังคงลดลงหลังจากผ่านไป 39 วินาที
ฉันใช้ Raspberry Pi 2 รุ่น B และอะแดปเตอร์ Bluetooth ทั้งสองตัวคือ Broadcom Corp BCM20702A0 อุปกรณ์บลูทู ธ 4.0 (ใช้lsusbเพื่อรับข้อมูลเกี่ยวกับอะแดปเตอร์) แม้ว่าอแด็ปเตอร์จะอยู่ในรายการ Bluetooth 4.0 แต่ฉันก็สามารถใช้มันกับชุดพัฒนา nRF51 ของ Nordic เพื่อสร้างการเชื่อมต่อ 6LoWPAN
หลังจากการทดลองทั้งหมดของฉันนี่คือคำถามที่ฉันมี:
- เป็นไปได้ไหมที่จะทำสิ่งที่ฉันพยายามจะทำ?
- มีใครเคยสามารถสร้างการเชื่อมต่อ 6LoWPAN ระหว่างอุปกรณ์ Linux สองเครื่องที่สามารถบอกได้ว่าฉันพลาดขั้นตอนใดบ้าง
- ฉันต้องมีอุปกรณ์บลูทู ธ ตัวใดตัวหนึ่งที่เข้ากันได้กับบลูทู ธ สมาร์ท 4.2 เพื่อสร้างการเชื่อมต่อที่ถูกต้องหรือไม่?
- ใครบ้างที่คุ้นเคยกับบลูซ์ที่สามารถแนะนำขั้นตอนเพิ่มเติมให้ลอง?
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.
จอน
แก้ไข 1:
ฉันสามารถเชื่อมต่อนี้ได้ระหว่างกล่อง Ubuntu 14.04 และ Raspberry Pi โดยการติดตั้งเคอร์เนลที่สร้างไว้ล่วงหน้า 3.19 ดาวน์โหลดจากที่นี่: http://kernel.ubuntu.com/~kernel-ppa/mainline/linux-3.19 YZ คิว / 2016/01/07-Vivid /
ฉันยังไม่เข้าใจว่าทำไมมันไม่ทำงานระหว่าง Raspberry Pis สองอัน แต่ถ้าฉันหาวิธีแก้ปัญหาฉันจะโพสต์ไว้ที่นี่
แก้ไข 2:
Ubuntu 14.04 รัน Bluez 4 ในขณะที่ Raspberry Pis ทำงาน Bluez 5 เนื่องจากฉันไม่สามารถเชื่อมต่อ Raspberry Pis สองตัว (ทำงาน Bluez 5) ฉันคิดว่าฉันจะพยายามเชื่อมต่อสอง Fedora 23 อินสแตนซ์ที่ใช้ Bluez 5 เพื่อดูว่ามีบางอย่างผิดปกติหรือไม่ Bluez หรือ Raspberry Pis ในการทดลองของฉันฉันกำลังประสบกับพฤติกรรมเดียวกันกับอินสแตนซ์ Fedora 23 สองตัวที่ฉันทำกับ Raspberry pis สองอัน (ที่การเชื่อมต่อ 6lowpan ลดลงในเวลาน้อยกว่า 30 วินาทีหลังจากเชื่อมต่อ)
เวอร์ชัน bluez ที่รันบนอินสแตนซ์ของ Fedora 23 คือ 5.35 และเวอร์ชัน bluez ที่รันบน Raspberry Pis คือ 5.23
ใครมีความคิดว่าทำไมสิ่งนี้ถึงเกิดขึ้นกับ Bluez 5.x
ขอบคุณ