Управление Arduino Uno с мобильного приложения

Тема в разделе "Проводная и беспроводная связь", создана пользователем imJustik, 30 окт 2015.

Метки:
  1. imJustik

    imJustik Нуб

    Добрый день, обзавелся набором Матрешка Z.
    Поигрался и захотелось управлять моей ардуино с мобильного приложения.
    Сам я ios-разработчик и c написанием клиента проблем не возникнет.
    Вопрос по ардуино, что к ней необходимо докупить для подключения к интернету, подойдет ли
    Ethernet Shield W5100?
    Нужно ли будет развертывать сервер для этого?
    Прошу прощения за элементарные вопросы)
     
  2. Vetrinus

    Vetrinus Гик

    Здравствуйте. Для работы с ардуино через интернет есть не только шилды на базе чипов серии W5XXX(W5100 подойдет, у самого такой). Есть и другие, как enc28j60, например. Нужно ли вам развертывать сервер сторонний сервер - зависит от ваших задач. Для управления ардуиной просто из интернета нужно сделать сервер напрямую на ней. А теперь непосредственно по сабжу. Чем ваc не устраивает Blynk?
     
    Последнее редактирование: 31 окт 2015
  3. imJustik

    imJustik Нуб

    Blynk не устроит т.к. как раз пишу подобную систему в качестве дипломного проекта, но вот в arduino пока - полный ноль(
    Хотел еще спросить, для чего вообще нужен интернет шилд? разве нельзя отправлять информацию непосредственно с самого ардуино, подключенному к компу? или этот шилд нужен, если ардуино подключен к другому источнику питания?
     
  4. Vetrinus

    Vetrinus Гик

    Честно говоря, я даже немного растерялся от такой постановки вопроса. Ардуино общается с ПК посредством последовательного порта, физических уровень которого преобразует чип FTDI(оригинал) или CH340(95% китайских плат). Как вы будете интерпретировать то, что вам туда пришло? Как вы будете обрабатывать приходящие пакеты? Как будете перенаправлять предназначенные ардуино пакеты из ПК? И таких проблем, которые вам в любом случае придется решать, будут десятки, если использовать инструменты не по назначению.
    С шилдом же вы получите устройство со своим IP и MAC адресом, с чипом для аппаратной обработки входящих пакетов, и прочее, прочее, прочее. Шилд питается от самой платы ардуино, занимаемые контакты можете посмотреть в спецификациях.
     
  5. bulldozaur

    bulldozaur Нуб

    А есть какая-нибудь конкретика по данному вопросу?
    Допустим:
    у нас есть Arduino, ПК (Win/Mac/Linux - не важно) и смартфон (iOS/Android - по вкусу)
    Что хочется получить:
    Приложение на телефоне, которое соединяется с Arduino. Допустим в приложении есть кнопка при нажатии на которую на Arduino должен загораться диод.

    Что для этого нужно?
    - Какой шилд?
    - Какой тип связи? WiFi/BT? Еще варианты?
    - Что еще нужно?
     
  6. Vetrinus

    Vetrinus Гик

    Ну, лично у меня по этому поводу конкретики нет, но, возможно, этот канал может рассказать и показать то, что вас интересует.
     
  7. kiticonbit

    kiticonbit Нерд

    Можно обойтись и без шилдов, я обошёлся используя сервер python , сначала на пк, а потом прикупил бу дир 320 от длинка и поднял сервер на нем на опенврт. Суть в чем, на сервере располагаются cgi скрипты, которые управляют
    ардуиной. В инете полно информации об этом . Очень удобное решение, с клиента достаточно только дергать соответствующий скрипт
     
    DIYMan нравится это.
  8. DIYMan

    DIYMan Гуру

    Присоединяюсь в предыдущему оратору. Самое технологичное и удобное - это либо openWRT на роутере, либо - локальный web-сервер на любом ПК. Если нужен доступ извне - тоже решается: либо белый IP, либо - сам контроллер тыкается периодически вовне, запрашивая скрипт для выдачи всяких задач. В моём проекте в подписи именно так и сделано: веб-интерфейс писан под PHP+SQLite, плюс прошивка умеет тыкаться на ThingSpeak и другие сервисы для выдачи данных.

    По поводу железа - имхо, лучше всё через ESP, проводные W5100 и всякие ENC28J60 - нафик, не так удобно, как с ESP.

    По поводу клиента: да не надо щас уже писать ничего - делаете поддержку MQTT в прошивке для ардуины, устанавливаете MQTT dashboard - и всё, вот вам клиент для управления микроконтроллером. Можно установить mosquitto, можно юзать облака для MQTT, коих сейчас есть в наличии. Технологично и удобно.