Ios 在iPhone和Google Glass之间传输数据

Ios 在iPhone和Google Glass之间传输数据,ios,bluetooth,google-glass,Ios,Bluetooth,Google Glass,我希望将手机连接到谷歌眼镜,并在两者之间传输数据(照片、文本等) 我曾考虑使用蓝牙LTE,但据我所知,Glass不支持它,因为它只运行Android的4.0.3版(或类似版本) 我知道你可以通过myGlass应用程序连接手机和glass,所以很明显,我希望做的事情是可能的。然而,我想知道是否有人能为我指出正确的方向开始?具体来说,如果不是iOS端的CoreBooth,我应该研究哪些技术?还有其他人这样做吗 此外,如果使用Bonjour更好,或者甚至可以在我的iPhone上创建热点并以这种方式连接

我希望将手机连接到谷歌眼镜,并在两者之间传输数据(照片、文本等)

我曾考虑使用蓝牙LTE,但据我所知,Glass不支持它,因为它只运行Android的4.0.3版(或类似版本)

我知道你可以通过myGlass应用程序连接手机和glass,所以很明显,我希望做的事情是可能的。然而,我想知道是否有人能为我指出正确的方向开始?具体来说,如果不是iOS端的CoreBooth,我应该研究哪些技术?还有其他人这样做吗

此外,如果使用Bonjour更好,或者甚至可以在我的iPhone上创建热点并以这种方式连接,那么您可以向我推荐的任何教程都将非常棒


提前谢谢。

您尝试过设置Google备份吗?您可以立即从玻璃上获取图片并在手机上查看(但反之亦然)

否则,目前市场上对此没有办法,但这里有几个想法:

  • 您可以将其作为应用程序创意提交给以下人员之一:
  • 或者你可以自己建造。GDK非常强大。你还不能向谷歌提交gdk应用程序,但这对于个人使用来说是非常好的。这家伙开始工作,他的github在这里:

  • 我正在为Apress写一本Google Glass开发书,刚刚完成了网络和蓝牙一章,还有一些工作示例,让Glass与iPhone进行数据传输。您是对的,目前的Glass(API级别15)不支持蓝牙低能耗(BLE)。我实现了三种方法来实现Glass和iOS之间的数据传输:

  • 让Glass通过经典蓝牙或插座与Android设备(如支持BLE的Android 4.3或更高版本的Nexus 7)通话,Nexus 7充当BLE中心,作为BLE外围设备与iOS通话。请注意,不应使用BLE发送照片等大数据

  • 让Glass通过套接字直接与iOS对话——您可以使用作为服务器运行的C套接字代码和Glass Java套接字客户端,反之亦然。这将要求您的Glass和iOS设备位于同一Wifi上,但可以传输大数据

  • 使用基于服务器的解决方案-将数据从Glass上传到服务器,并让iOS通过Apple推送通知获取数据。我用这种方法在WhatsApp和微信上与朋友分享玻璃上的照片,这两种应用都在iOS上运行

  • 充当套接字服务器的iOS代码示例:

    - (void) runSocketServer {
        int listenfd = 0;
        __block int connfd = 0;
        struct sockaddr_in serv_addr;
    
        __block char sendBuff[1025];
    
        listenfd = socket(AF_INET, SOCK_STREAM, 0);
        memset(&serv_addr, '0', sizeof(serv_addr));
        memset(sendBuff, '0', sizeof(sendBuff));
    
        serv_addr.sin_family = AF_INET;
        serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
        serv_addr.sin_port = htons(6682);
    
        bind(listenfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr));    
        listen(listenfd, 10);
    
        dispatch_async(dispatch_get_global_queue(0, 0), ^{        
            connfd = accept(listenfd, (struct sockaddr*)NULL, NULL);
            int count = 1;
            while (count++ < 120) {
                char rate[100];
                sprintf(rate, "%i\n", bpm);            
                write(connfd, rate, strlen(rate));            
                sleep(1);
            }
    
            close(connfd);
        });
    }
    

    这应该是可能的。这可以通过android应用程序和glass实现。您是否有方法2(套接字)的示例代码?看起来这很可能是我必须要做的。谢谢你的帮助。我应该提到使用云不是一个真正的选择——它需要一个iphone到玻璃的通信。谢谢你的github链接,我会查出来的。
    public void run()
    {
        String serverName = "192.168.1.11"; 
        int port = 6682;
        try
        {
            socket = new Socket(serverName, port);
            BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            do {
                result = input.readLine();
                runOnUiThread(new Runnable() {
                    public void run() {
                        mTvInfo.setText(result);
                    }
                });                 
            } while (result != null);
    
            });                  
        }
        catch(Exception e) {
            try { socket.close(); }
            catch (Exception e2) {};
            e.printStackTrace();
        }
    }