[РЕШЕНО] Wi-Fi (Troyka-модуль) и Arduino Uno. Для новичка.

Тема в разделе "Arduino & Shields", создана пользователем Rand0m, 23 фев 2017.

  1. Rand0m

    Rand0m Нерд

    Уважаемые форумчане,
    Купил troyka slot shield и wi-fi troyka module. Соединил, загорелся синий светодиод pwoer на wifi module, что делать дальше? На Амперке есть описание и простые скетчи для Iskra JS, но нет ничего для Arduino.

    Может кто-нибдуь поделиться простейшим скетчем для передачи данных через wi-fi? Хоть куда-нибудь, хоть как-нибудь. Чтобы было с чего начать....?
     
    Последнее редактирование: 23 фев 2017
  2. Rand0m

    Rand0m Нерд

    Для начала понятна вот эта статья:
    http://tim4dev.com/arduino-esp8266-true-start/

    Рассказывает какой скетч нужно залить в ардуино, чтобы через serial monitor с компа сквозь Ардуино передавать команды в wi-fi troyka module.

    Подключил wifi troyka module через troyka shield на 10 и 11 пины (как в скетче прописано). Дополнил скетч парой строчек, чтобы видеть в serial monitor что уходит и что приходит по serial port.

    Отправляю с компа команду АТ и вижу, что она уходит в виде четырёх значений: 65 84 13 10, при этом wifi troyka module моргает диодом RX, то есть получает эти значения, но при этом ничего не возвращает в ответ, и даже не моргает при этом диодом TX.

    Если нажать на wifi troyka module кнопку reset - то wifi troyka module моргает диодом TX, причём данные летят в Ардуино и я в serial monitor на компе вижу, что идёт какой-то набор символов.

    Получается, что общение с wifi troyka module с компа сквозь Ардуино получилось, но команды AT wifi troyka module не распознаёт.

    Значит ли это, что прошивка в моём wifi troyka module какая-то не та?

    Может я AT команды как-то не так шлю?
     
    Последнее редактирование: 23 фев 2017
  3. NikZig

    NikZig Нерд

    Посмотри для начала на какой тип строки используется в мониторе (нужен CR+LF) и бод (тройка из коробки работает на 115200). На других бод будет приходить абракадабра.
     
  4. Rand0m

    Rand0m Нерд

    Спасибо, всё заработало при переходе на скорость 115200, только надо в скетче поменять тип переменной, которая используется для бод с int на long, а то 115200 за пределами int :)

    Только на команду AT+RST приходит вот такой ответ:

    Код (C++):
    OK

    ets JБn  8 2013,rгt cause:2, Вoot mode:(3,0)

    load 0xt0100000, ldn 1856, rool 16
    tбСl 0
    ,kНХµ 8|73
    load `x3ffe8000, len 776, rooН 8
    t`iv 0
    ,kлЧЇЃБбБ’u
    noab 0x3ffe8310, len 552, rПom 8
    tБiv 0
    ,kлЧЇЃ‚бЭКj
    csul 0x79

    2nД boot versiЯn : 1.5
      ЈPI Speed   @  : 40MHz
    SPI Mode       : DIO
      SPI Flash@Size & Map: 8Mbit(512KC+512KB)
    julp to run usdr1 @ 1000

    don't use rtc mem data
    slЏђoЊџcclю
    Ai-Thinkeт Technolog^Ѕ№bС‘№j


    qdadѕ
    Смесь нормального текста и абракадабры. Это нормально?

    Причём, если настроить Arduino в режим моста UART (GND на REST, RX-RX, TX-TX), то ответ приходит нормальный:

    Код (C++):
    OK

    ets Jan  8 2013,rst cause:2, boot mode:(3,0)

    load 0x40100000, len 1856, room 16
    tail 0
    chksum 0x63
    load 0x3ffe8000, len 776, room 8
    tail 0
    chksum 0x02
    load 0x3ffe8310, len 552, room 8
    tail 0
    chksum 0x79
    csum 0x79

    2nd boot version : 1.5
      SPI Speed      : 40MHz
      SPI Mode       : DIO
      SPI Flash Size & Map: 8Mbit(512KB+512KB)
    jump to run user1 @ 1000

    don't use rtc mem data
    rlЏ‚slЊџвЊblю
    Ai-Thinker Technology Co. Ltd.

    ready
    Почему через пины ответ кривой? Скорость та же...
     
    Последнее редактирование: 24 фев 2017
    Kayumi_101010 нравится это.
  5. Rand0m

    Rand0m Нерд

    Всё решилось очень просто. Поменял скорость работы wifi troyka module с 115200 на 9600 и всё стало работать стабильно. Делается это одной командой:

    Код (C++):
    AT+UART=9600,8,1,0,0
     
    arkadyf нравится это.