Tôi muốn viết một ứng dụng iPhone/iPad có thể giao tiếp thông qua kết nối USB với chương trình Mac hoặc PC (mà tôi cũng sẽ viết). Có ai biết làm thế nào tôi có thể đi về việc này? (Tôi nhận ra rằng tôi có thể phải bẻ khóa iPad của mình)Giao tiếp USB giữa iPad và Mac hoặc PC
Trả lời
Nó có phải là kết nối USB không?
Nếu không, thì GCDAsyncSocket của Robbie Hanson rất phù hợp để kết nối tất cả các loại thiết bị Apple. Tôi đã sử dụng nó vào năm ngoái để kết nối một loạt các iPad với một ứng dụng duy nhất chạy trên Mac mini.
Truyền thông qua cổng USB (USBMux) có thể đáp ứng nhu cầu của bạn. Khi một iPad hoặc iPhone cắm vào máy Mac, sẽ có một mô tả thiết bị/var/run/usbmuxd. Bạn có thể tạo một socket và kết nối nó với/var/run/usbmuxd và gửi/nhận dữ liệu đóng gói đến/hoặc từ thiết bị iOS. Dữ liệu nên được bao bọc.
Dưới đây là tham khảo ngắn gọn từiphonewiki http://theiphonewiki.com/wiki/index.php?title=Usbmux. Những gì tôi có thể cung cấp là mã mẫu để kết nối với usbmuxd.
struct sockaddr_un endpoint;
size_t size;
_usbMuxSocket = socket(PF_LOCAL, SOCK_STREAM, 0);
endpoint.sun_family = AF_LOCAL;
strncpy(endpoint.sun_path, "/var/run/usbmuxd", 17);
size = (offsetof (struct sockaddr_un, sun_path)
+ strlen (endpoint.sun_path) + 1);
connect(_usbMuxSocket, (struct sockaddr *) &endpoint, size);
Sau đó bạn phải "kết nối" với cổng mà ứng dụng của bạn nghe trên iPad. Quá trình "kết nối" được thảo luận trong danh sách trang wiki ở trên trong phần Chuỗi sự kiện. Sau khi hoàn thành công việc chuẩn bị, bạn có thể sử dụng ổ cắm để gửi và đọc dữ liệu.
Có lý do gì mà bạn không thể gọi là 'open' và sử dụng kết quả fd đó không? – Dustin
- 1. Giao tiếp giữa Android với PC
- 2. Giao tiếp WiFi-Trực tiếp giữa Mac/Windows và Android
- 3. Giao tiếp bằng USB Android
- 4. API giao tiếp USB
- 5. PC với PC Truyền thông USB
- 6. Google Chrome - Sự khác biệt giữa Mac và PC
- 7. Tương tác iPhone giữa ứng dụng PC và ứng dụng iPhone bằng USB
- 8. Giao tiếp Bluetooth giữa OSX và iOS
- 9. Giao tiếp nối tiếp với Arduino UNO và Mac bằng cách sử dụng bluetooth mate
- 10. Giao tiếp FTDI với thiết bị USB - Mục tiêu C
- 11. Giao tiếp giữa C++ và ActionScript 3
- 12. MVVM: Giao tiếp giữa Model và ViewModels
- 13. Giao tiếp giữa SAP và C#
- 14. Giao tiếp giữa iPhone và iPhone
- 15. Giao tiếp giữa iFrames?
- 16. Giao tiếp OS X tới iOS qua USB?
- 17. Truy cập Linux/dev/USB làm tệp chuẩn để giao tiếp với thiết bị USB
- 18. Làm thế nào để giao tiếp với modem USB 3G?
- 19. Làm thế nào để giao tiếp với thiết bị USB?
- 20. Giao diện giữa DSP/Vi điều khiển và ứng dụng PC
- 21. Kết nối máy chủ lưu trữ nối tiếp USB USB?
- 22. Giao tiếp giữa Node.Js và ASP.NET MVC Application
- 23. Truy cập USB hoặc Cổng nối tiếp trong C#
- 24. Giao tiếp giữa chuỗi gốc và con trong Java
- 25. USB đến Cổng nối tiếp
- 26. Giao tiếp giữa Mô hình và Bộ điều khiển - iOS
- 27. Giao tiếp SSL giữa các ứng dụng Java và C#
- 28. phát triển một ứng dụng giao tiếp thiết bị đặc biệt kết nối qua cổng USB trên Android
- 29. Gỡ lỗi USB Android với kết nối Internet PC
- 30. gửi dữ liệu từ Android đến PC qua USB
Nếu có thể, bạn chắc chắn sẽ phải bẻ khóa: Tôi biết bạn không thể làm điều này với SDK thông thường. –
Một ý tưởng sẽ là thử sử dụng cổng nối tiếp (UART hoặc /dev/tty.iap). Tôi không chắc chắn nếu bạn có thể làm điều đó mà không có bất kỳ phần cứng bổ sung, nhưng đây là một số liên kết về chủ đề: http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial http://hcgilje.wordpress.com/2010/02/15/iphone-serial-communication/ – adig