Arduino - SERIAL - PC - WEB

Тема в разделе "Arduino & Shields", создана пользователем Decole, 27 ноя 2017.

Метки:
  1. Decole

    Decole Нуб

    Посоветуйте пожалуйста, как связать Ардуино с ПК, чтобы некая программа могла получать данные в ОС Windows без ARDUINO IDE?

    Затея вот какая: Есть Ардуино с dht11 и реле для умной вентиляции, хочется связать с сервером для статистики \ анализа и возможно в будущем для удаленного включения проветривания через WEB\Internet

    По хорошему, скорее всего, нужен модуль wi-fi для взаимодействия. Тогда можно будет с ардуино JSON отправлять на вэб ресурс ? Что посоветуете почитать.

    Если через USB, то подскажите как это сделать и что посмотреть и почитать для этого.
     
  2. rkit

    rkit Гуру

    читайте про работу с COM портом
    и документацию ардуино
     
  3. Airbus

    Airbus Радиохулиган Модератор

    Esp8266 Вам в помощь!И веб и статистика и график температуры и влажности там же и без ардуино.И дешевле.
     
    ORLENOK нравится это.
  4. Decole

    Decole Нуб

    у Джереми Блума есть видео - 6.2, там он использует процессинг язык на пк и на ардуино, связывает их через инициализированное serial соединение. попробую так обратиться к web ресурсу
     
  5. ORLENOK

    ORLENOK Гик

    Что-то мне подсказывает, что вы хотите сделать велосипед, да ещё и 5ти колёсный. И все колёса разные.
    Если вы действительно хотите сделать то, что описали, то советовал бы присмотреть к более известным ЯП. C#, Java, Pyton и т.д. (Сам пишу на C#, по-этому он первый в списке)). Эти языки имеют кучу библиотек, как для работы с com портами, так и для работы с веб сервисами (ваша конечная цель, насколько я понял)
    В любом случае у вас на ПК будет монитор порта, который собирает данные и отправляет их в интернет. Да, это возможно и в обратном направлении, но для этого нужно будет пробрасывать порты на роутере до компьютера, делать или статический белый ип или привязывать какой нибудь dynamic DNS сервис.
    Как по мне, лучше убрать компьютер из этой цепочки.
    Или купить Ethernet шилд и выводить ардуино в интернет по кабелю или купить esp8266, который стоит не намного дороже arduino nano (200р. с округлением в большую сторону). Там будет полноценное подключение к интернету по wifi.
    Можно вообще сделать так: несколько arduino nano с датчиками + NRF24L01 которые отправляют данные ESP8266 так же на NRF24L01, а он в свою очередь всё отправляет по wifi во всемирную паутину, ну или на домашний сервер.
     
  6. Decole

    Decole Нуб

    Спасибо большое! Решил модуль wi-fi приобрести и через него все реализовать.
    На Processing у меня получилось сделать программку, которая мониторит порт и отправляет данные на сервер.
    Немного знаю Python, попробую и на нем мониторинг порта сделать.
     
  7. qwone

    qwone Гик

    Код (C++):
    /**/
    //----------------------------------------
    char buff[50];
    int ii = 0;
    char *argv[10];
    int argc;
    bool fbs = false;
    //----------------------------------------
    void setup() {
      Serial.begin(9600);
      ii = 0;
      buff[ii] = 0;
      argc = 0;
      argv[argc++] = buff;

    }

    void loop() {
      if (Serial.available() != 0) {
        char value = Serial.read();
        switch (value) {
          case ' ':
            if (fbs == false) {
              fbs = true;
              buff[ii++] = 0;
              buff[ii] = 0;
              argv[argc++] = &buff[ii];
            }
            break;
          case '\n':
            for (int i = 0; i < argc; i++) {
              Serial.println(argv[i]);
            }
            ii = 0;
            buff[ii] = 0;
            argc = 0;
            argv[argc++] = buff;
            fbs = false;
            break;
          default:
            fbs = false;
            buff[ii++] = value;
            buff[ii] = 0;
        }
      }
    }
    /**/