小编NSS*_*NSS的帖子

获取有关启用Wifi的设备的Wifi可用性的通知

我有OBD2设备适配器,支持Wifi.现在我想获得有关带OBD2设备的Wifi的通知,因此我可以开始与该设备通信并读取数据,并且无法使用OBD2设备进行Wifi.

当设备连接到OBD2端口时,wifi正在广播.我使用了Reachability类的示例代码.但我无法得到适当的通知.

我尝试使用SimplePingHelper代码.它适用于主线程,但它不与后台线程运行.SimplePingHelper源代码

SimplePingHelper代码实际上使用Apple的SimplePing示例代码. SimplePing Code由Apple提供

你可以帮助我在这个代码中使用后台线程吗?或者我可以通过其他方式来获取此通知?

cfnetwork wifi ios

12
推荐指数
1
解决办法
1107
查看次数

将多个OBD命令一起发送并同时获得响应

我正在研究连接OBD2适配器并获取速度,转速,油门位置等实时数据的应用程序.当我一次读取一个命令时,它就像发送命令"010C\r \n"一样正常,我得到了目前的RPM.

我认为在一个请求中发送多个命令是不可能的.但在其他应用程序如EngineLink HD,Dashcommand中,我们发现多个组件一次更新,就像我们正在驾驶汽车并检查RPM,Sped和Throttle然后他们正在每1秒更新一次.它看起来像实时数据.

我很惊讶它怎么可能?

我们添加了代码,如果用户想要显示3个组件,那么对于每个组件,都会生成一个线程并处理该命令的请求和响应.所以在这种情况下,我们会产生3个线程并得到响应,但是如果我们正在观看3个PID中的速度,则会花费太多时间,然后在3-4秒延迟后更新速度.

我们还需要锁定发送请求的代码并获取响应bcoz OBD2适配器一次处理一个请求和响应.

如果我们不锁定代码,那么我们会得到不可预测的结果,这可能是由于应用程序和obd2适配器之间的套接字通信所使用的公共共享流造成的.

但是现在我想一次读取多个命令.我的意思是在一个时间点,我想知道速度,转速和油门位置等.所以我想在一个请求中发送上述命令并一次得到响应.

这怎么可能 ?有人可以指导我.

sockets iphone ios obd-ii elm327

10
推荐指数
2
解决办法
9233
查看次数

通过在iPhone应用程序中使用GCDAsyncSocket库进行连接后立即断开套接字

我想从OBD2 Wifi启用的适配器读取和写入数据,该适配器用于读取汽车数据和故障代码.为此,我使用GGCDAsyncSocket库进行套接字连接.

您可以下载CocoaAsyncSocket Library源代码

但它几乎保持连接10秒,有时40-50秒,然后终止.

日志显示:

套接字断开连接:错误域= NSPOSIXErrorDomain代码= 57"操作无法完成.套接字未连接"UserInfo = 0x14cd50 {}

任何帮助或想法将不胜感激!

提前致谢 !

请看下面的代码:

- (void)connectObdKeyHost:(NSString*)strHost port:(NSString *)strPort {
        [gcdAsyncSocket connectToHost:strHost onPort:portNo withTimeout:30 error:&error];
}

// GCDAsyncSocket Delegate Methods
- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port {
   NSLog(@"Socket connected : ");
}

- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err
{
    NSLog(@"Socket disconnected : %@",err);
}
Run Code Online (Sandbox Code Playgroud)

sockets ios cocoaasyncsocket gcdasyncsocket

7
推荐指数
1
解决办法
2240
查看次数

获取带有特殊字符的关键字的推文列表时,STTwitter库会返回错误

我想使用Twitter Search API获取推文列表.但是最近twitter推出了新版本1.1,它需要授权.我正在使用STTwitter库与Twitter API进行交互.

我正在使用STTwitter_ios项目,你可以在这里找到:https: //github.com/nst/STTwitter/tree/master/ios

现在,我编写了一个示例函数:fetchTweets.授权工作成功,如果我搜索单词(没有空格或特殊字符),我就会得到列表.但是当我尝试用空格或特殊字符搜索关键字,如"纽约",@"新建或约克"等时,它会返回错误:

在方法中, - (void)connectionDidFinishLoading:(NSURLConnection*)连接
我收到错误:{"errors":[{"message":"无法验证你","代码":32}]}

- (void) fetchTweets {


STTwitterAPIWrapper *twitter = [STTwitterAPIWrapper twitterAPIWithOAuthConsumerName:OAUTH_CONSUMER_NAME  consumerKey:OAUTH_CONSUMER_KEY consumerSecret:OAUTH_CONSUMER_SECRET oauthToken:OAUTH_TOKEN oauthTokenSecret:OAUTH_SECRET_TOKEN];

    NSString *query = @"New york";
    NSString *searchQuery = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    [twitter getSearchTweetsWithQuery:searchQuery successBlock:^(NSDictionary *searchMetadata, NSArray *statuses) {
        NSLog(@"Search data : %@",searchMetadata);
        NSLog(@"\n\n Status : %@",statuses);
    } errorBlock:^(NSError *error) {
        NSLog(@"Error : %@",error);
    }];
}
Run Code Online (Sandbox Code Playgroud)

任何帮助或建议将不胜感激!

谢谢 !

iphone twitter ios sttwitter

4
推荐指数
1
解决办法
1697
查看次数