Невозможно заставить Wie работать с Wi-Fi с Arduino Uno

Я пытаюсь подключить модуль Wee serial WiFi моего Arduino Uno через XBee shield .

 Wee in XBee shield

Я просто пытаюсь сделать работу пример из библиотека .

Все, что я получаю, это

setup begin
FW Version:
to station err
Join AP failure
setup end

Код, который я использую:

#include <SoftwareSerial.h>
#include <doxygen.h>
#include <ESP8266.h>

SoftwareSerial mySerial(3, 2); /* RX:D3, TX:D2 */
ESP8266 wifi(mySerial);

#define SSID "yuflowoffice"
#define PASSWORD "cashless"

void setup(void) {
  Serial.begin(9600);
  mySerial.begin(115200);
  Serial.print("setup begin\r\n");

  Serial.print("FW Version: ");
  Serial.println(wifi.getVersion().c_str());

  if (wifi.setOprToStation()) {
    Serial.print("to station ok\r\n");
  } else {
    Serial.print("to station err\r\n");
  }
  delay(1500);

  if (wifi.joinAP(SSID, PASSWORD)) {
    Serial.print("Join AP success\r\n");
    Serial.print("IP: ");       
    Serial.println(wifi.getLocalIP().c_str());
  } else {
    Serial.print("Join AP failure\r\n");
  }

  Serial.print("setup end\r\n");
}

void loop(void) {
}

Что я могу сделать?

3 голоса | спросил Gregory Kapustin 30 WedEurope/Moscow2015-12-30T17:02:58+03:00Europe/Moscow12bEurope/MoscowWed, 30 Dec 2015 17:02:58 +0300 2015, 17:02:58

1 ответ


0

Посмотрите https://github.com/itead/ITEADLIB_Arduino_WeeESP8266/blob /master/ESP8266.h показывает, что когда вы передаете объект SoftwareSerial в конструктор ESP8266, скорость передачи по умолчанию 9600 также передается ему. Кроме того, исходный файл библиотеки показывает, что в конструкторе метод begin() для SoftwareSerial, который вы передали (myserial), вызывается с 9600 бод. Таким образом, эта строка в вашем коде:

    mySerial.begin(115200);

является дубликатом, хотя и с другой скоростью передачи в бодах, тем самым делая вызов конструктора mySerial.begin() бесполезным, так как ваш звонок наступает после конструктора. Если вы уверены, что 115200 - это правильная скорость передачи данных для аппаратного обеспечения, то вам следует избавиться от вышеприведенной строки и вместо этого передать скорость передачи в сторону такого конструктора:

    ESP8266 wifi(mySerial, 115200);

Замените 115200 с любой скоростью, которую вы обнаружите, чтобы быть подходящей для AT-команд. Вам также необходимо раскомментировать строку в ESP8266.h в вашей библиотеке:

    //#define ESP8266_USE_SOFTWARE_SERIAL

, а затем сохраните, так как вы используете SoftwareSerial для связи с модулем.

ответил TisteAndii 5 Jam1000000amTue, 05 Jan 2016 00:20:10 +030016 2016, 00:20:10

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132