小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 9683|回复: 4

关于IOS WIFI控制小车

[复制链接]
发表于 2016-6-16 21:28:47 | 显示全部楼层 |阅读模式
为什么用AsynSocket发送数据,小车没反应?
socket是能连上的,但是不能写数据,
比如说:
我用一个按钮触发这个事件
-(IBAction)forward:(id)sender{
NSString *tmpStr=@"FF0001FF";
NSData *tmpDat=[tmpStr dataUsingUTF8StringEncoding];
[socket writeData:tmpDat withTimeout:-1 tag:0];
[socket readDataWithTimeout:-1 tag:0];
}

为啥小车不动,我还差什么步骤?
(小车用授权的论坛里的软件可以跑起来)

回复

使用道具 举报

发表于 2016-6-17 21:00:17 | 显示全部楼层
你下位机用的代码是怎样的?
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2016-6-16 21:41:00 | 显示全部楼层
我是小白,可能少了很多步骤,请尽情指出。。。
上代码
//
//  ViewController.m
//  SocketDemo
//
//  Created by shen on 15/6/12.
//  Copyright (c) 2015年 shen. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController


//连接Socket 服务器
- (void)viewDidLoad {
    [super viewDidLoad];
    asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];
    NSError *err = nil;
   
//    if(![asyncSocket connectToHost:@"localhost" onPort:12345 error:&err])
//    {
//        NSLog(@"Error: %@", err);
//    }
    if(![asyncSocket connectToHost:@"192.168.1.1" onPort:2001 error:&err])
    {
        NSLog(@"Error: %@", err);
    }

}

// 连接成功回调
#pragma mark  - 连接成功回调
- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port
{
    NSLog(@"onSocket:%p didConnectToHost:%@ port:%hu", sock, host, port);
    [sock readDataWithTimeout:-1 tag:0];
   
//    NSData* aData= [@"Fuck you" dataUsingEncoding: NSUTF8StringEncoding];
//   NSData* aData= [@"ff000100ff" dataUsingEncoding: NSUTF8StringEncoding];
   
//   [asyncSocket writeData:aData withTimeout:-1 tag:1];
}
- (IBAction)frowardBtn:(id)sender{
  //  NSString *message=@"FF000100FF";
    NSString *tmpStr=@"FF0001FF";
    NSData *tmpDat=[tmpStr dataUsingEncoding:NSUTF8StringEncoding];
   // Byte *message=(Byte*)[tmpDat bytes];
   
    //[asyncSocket writeData:[message dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:0];
   // [asyncSocket writeData:message withTimeout:-1 tag:0];
    [asyncSocket writeData:tmpDat withTimeout:-1 tag:0];
    [asyncSocket readDataWithTimeout:-1 tag:0];

}

//收到数据,解析,并返回
-(void) onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
{
    NSString* aStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"Receive string:%@",aStr);
    [sock readDataWithTimeout:-1 tag:0];

}


- (void)onSocket:(AsyncSocket *)sock didSecure:(BOOL)flag
{
    NSLog(@"onSocket:%p didSecure:YES", sock);
}

- (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err
{
    NSLog(@"onSocket:%p willDisconnectWithError:%@", sock, err);
}

//断开连接
- (void)onSocketDidDisconnect:(AsyncSocket *)sock
{
    //断开连接了
    NSLog(@"onSocketDidDisconnect:%p", sock);
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}
- (void)viewDidUnload {
    asyncSocket=nil;
}
@end

回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-19 23:58:45 | 显示全部楼层
liuviking 发表于 2016-6-17 21:00
你下位机用的代码是怎样的?

下位机的代码我没有动过,因为暂时还没有烧程序用的器件,我现在不知道是三次握手没连上还是下位机解析不了指令,或是串口线不能传指令。
我的下位机是在淘宝买的DS版Wi-Fi小车,而且我用论坛提供的ios控制软件可以控制我的小车,
小车的“前进”指令是 FF000100FF,因为调试不了下位机,现在不知道该怎么办了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-20 00:00:50 | 显示全部楼层
小车里有关于处理TCP/IP的协议的代码吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-11-22 23:58 , Processed in 1.107753 second(s), 21 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表