在我开始之前,我意识到这个问题以前在这个论坛上被提出过,因为我找到了这个帖子。然而,这个问题没有得到回答。
我正在构建一个使用iPhones作为工人机器的系统。我这样说是因为我想强调的是,手机不是苹果的产品,而是一种能够或不能执行特定任务的设备。
我已经越狱了我正在使用的两部手机,并将专门使用它们来实现系统所要解决的问题的解决方案。我的系统将由我和我一个人使用,所以苹果公司打算如何使用这些设备,用户体验等问题与我无关。
好了,说完所有这些,我将简要概述一下系统。两台iPhones,其中一台装在一个电子项目的盒子里,钉在我的前门上方,摄像头正对着访客。其他的iPhone完好无损地在我口袋里。我已经将引脚1和11钩在门铃按钮上,并通过监控音频路由的变化来提醒手机按下了它。我需要一个应用程序在我的袖珍手机,将唤醒由门禁电话发送的通知。一旦我在我的袖珍手机上接受了通知,门禁电话也会发送一个图像。这里根本没有互联网,但是我有一个wifi路由器,两部手机都连接到它上。
这就是我的系统,我到处寻找可以帮助我让门禁电话生成推送通知并将其发送到我的袖珍手机的代码,到目前为止,我所找到的就是这个https://github.com/stefanhafeneger/PushMeBaby,它是我需要的,它是为mac编写的,而不是iPhone,而且我对Objective C还不熟悉,所以移植起来真的很难。
我知道苹果并不打算让我像我一样使用它的产品,但许多制造商也不打算这样做,但爱好者们仍然设法以更具创造性和创新性的方式使用它们。我目前正在使用PC和网络摄像头来查看谁在门口,它使用了大量的电子设备,新系统要好得多,如果我能让它工作,所以请,如果你有能力/知识来帮助我,然后张贴回复,我将永远感激。谢谢你理查德。
发布于 2012-04-29 16:16:16
使用GameKit将电话与蓝牙配对。
这里有一个关于如何蓝牙配对两个iPhones的问题:How to use bluetooth to connect two iPhone?
最简单的方法是使用高度不透明的GameKit。这里有一个苹果的示例应用程序实现了这一点:http://developer.apple.com/library/ios/#samplecode/GKTank/Introduction/Intro.html
在该示例中,发送数据包的代码片段(在TankViewController.m中):
- (void)sendNetworkPacket:(GKSession *)session packetID:(int)packetID withData:(void *)data ofLength:(int)length reliable:(BOOL)howtosend {
// the packet we'll send is resued
static unsigned char networkPacket[kMaxTankPacketSize];
const unsigned int packetHeaderSize = 2 * sizeof(int); // we have two "ints" for our header
if(length < (kMaxTankPacketSize - packetHeaderSize)) { // our networkPacket buffer size minus the size of the header info
int *pIntData = (int *)&networkPacket[0];
// header info
pIntData[0] = gamePacketNumber++;
pIntData[1] = packetID;
// copy data in after the header
memcpy( &networkPacket[packetHeaderSize], data, length );
NSData *packet = [NSData dataWithBytes: networkPacket length: (length+8)];
if(howtosend == YES) {
[session sendData:packet toPeers:[NSArray arrayWithObject:gamePeerId] withDataMode:GKSendDataReliable error:nil];
} else {
[session sendData:packet toPeers:[NSArray arrayWithObject:gamePeerId] withDataMode:GKSendDataUnreliable error:nil];
}
}
}发布于 2012-04-19 12:41:05
我想不出一种简单的方法将消息直接从一部手机发送到另一部手机。(尽管我不习惯越狱的东西,所以谁知道呢……)在任何情况下,我都会这样做:
设置一台简单的web服务器作为两台设备之间的接口。你说你没有互联网,所以只需在网络上的本地计算机上运行Apache或其他任何程序就可以了。每当你想发送一条信息时,发送电话就会向服务器发送一些信息。不幸的是,如果你不能/不想使用苹果的推送通知服务,我认为接收手机将不得不不断地监控服务器,看看是否有新的消息。:(
https://stackoverflow.com/questions/10218960
复制相似问题