2015-08-19 5 views
1

Я хочу общаться между ардуино и iPhone. Идея заключается в том, что arduino размещает небольшой сервер, доступный из локальной сети, и iPhone дает ему информацию, подключаясь к нему и выполняя конкретный запрос HTTP GET (надеюсь, что то, что его вызвало, не кусайте, если оно не). Например: 124.566.123 (someIp)/p1 (запрос GET с информацией). «p1», возможно, установит высоту 1-го контакта. Весь процесс должен быть невидимым для пользователя, то есть не нужно открывать браузер. Есть ли способ сделать это (используя цель-c)?Как подключиться к серверу с iPhone (без браузера)

+0

Вам нужно будет написать приложение, в котором вы выполняете запрос. Посмотрите на JSON и 'AFNetworking'. Но приложение должно быть активным, чтобы общаться с ардуином. – rckoenes

ответ

0

Существует множество способов сделать это!

Когда вы говорите «HTTP GET» - вы имеете в виду связь с сервером через порт 80. Итак, есть несколько способов сделать запрос HTTP GET с iPhone - лучший способ использовать cURL - который this question должен получить вас на правильном пути.

Все-в-все --- arduinos не лучшие чипы для веб-сервировки - - - в то время как это возможно, ваш серверный рендеринг и этажерки будут ограничены -

Если вы серьезно такого рода проект, я бы рекомендовал модернизировать Pi или Beagle Bone Black -, который будет не только эффективнее работать, но и позволит вам повысить гибкость -

Удачи!

+0

NSURL * url = [NSURL URLWithString: [NSString stringWithFormat: @ "http: //% @:% @@ www.example.com/myapi/getdata", API_USERNAME, API_PASSWORD]]; NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL: url]; [запрос setURL: url]; [запрос набораHTTPMethod: @ "GET"]; [запрос setValue: @ "application/json" forHTTPHeaderField: @ "Content-Type"]; NSError * error; NSURLResponse * response; NSData * data = [NSURLConnection sendSynchronousRequest: запрос returnResponse: & response error: & error]; – user5227744

+0

Очень сожалею о макете. Я новичок, и мне придется исследовать, как отображать код. В любом случае: как вы думаете, это сработает, если я просто убрал биты пароля? (Я нашел этот код в вопросе, который вы связали). Это все, что вам нужно, чтобы заставить его работать, или мне нужно добавить дополнительный код? – user5227744

+0

В конечном счете вам не нужно «API_USERNAME» или пароль - этот пример немного сложнее запроса - вы просто захотите поиграть с ним и узнать! И я скажу вам: я узнал больше из журналов ошибок, чем я узнал из всего остального - так что вперед! вызывают некоторые сбои и видят, где вы приземляетесь. И вы всегда можете вернуться к SO, чтобы задать новый вопрос. Ура! –

Смежные вопросы