Тупые сообщения

Тема в разделе "Флудилка", создана пользователем UserDefUno, 20 дек 2016.

?

Вы бы хотели окрывать файлы с флешки на arduino uno?

Голосование закрыто 7 июн 2018.
  1. ДА!

    1 голосов
    16,7%
  2. Нет.

    5 голосов
    83,3%
  1. UserDefUno

    UserDefUno Нерд

    Заказал R3 ATmega328P UNO + Wi-Fi + ESP8266 (8 МБ памяти).
    Arduino Uno работает но проблемы при работе Wi-Fi (чип ESP8266), не получается его прошить и заставить Arduino Uno видеть модуль Wi-Fi, буду очень благодарен за любую информацию по плате и как заставить Wi-Fi работать

    Вот ссылка на плату (документации по самой плане не нашел):
    https://ru.aliexpress.com/item/UNO-...4767.html?detailNewVersion=&categoryId=400103
     
  2. rkit

    rkit Гуру

    Шить там ничего не должно быть надо.
     
  3. UserDefUno

    UserDefUno Нерд

    Допустим он прошит все работает из коробки но тогда как заставить Arduino видеть модуль WiFi?
     
  4. UserDefUno

    UserDefUno Нерд

    Код (C++):
    /*
      WiFi Web Server

    A simple web server that shows the value of the analog input pins.
    using a WiFi shield.

    This example is written for a network using WPA encryption. For
    WEP or WPA, change the Wifi.begin() call accordingly.

    Circuit:
    * WiFi shield attached
    * Analog inputs attached to pins A0 through A5 (optional)

    created 13 July 2010
    by dlf (Metodo2 srl)
    modified 31 May 2012
    by Tom Igoe

    */


    #include <SPI.h>
    #include <WiFi.h>


    char ssid[] = "yourNetwork";      // your network SSID (name)
    char pass[] = "secretPassword";   // your network password
    int keyIndex = 0;                 // your network key Index number (needed only for WEP)

    int status = WL_IDLE_STATUS;

    WiFiServer server(80);

    void setup() {
      //Initialize serial and wait for port to open:
      Serial.begin(9600);
      while (!Serial) {
        ; // wait for serial port to connect. Needed for native USB port only
      }

      // check for the presence of the shield:
      if (WiFi.status() == WL_NO_SHIELD) {
        Serial.println("WiFi shield not present");
        // don't continue:
        while (true);
      }

      String fv = WiFi.firmwareVersion();
      if (fv != "1.1.0") {
        Serial.println("Please upgrade the firmware");
      }

      // attempt to connect to Wifi network:
      while (status != WL_CONNECTED) {
        Serial.print("Attempting to connect to SSID: ");
        Serial.println(ssid);
        // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
        status = WiFi.begin(ssid, pass);

        // wait 10 seconds for connection:
        delay(10000);
      }
      server.begin();
      // you're connected now, so print out the status:
      printWifiStatus();
    }


    void loop() {
      // listen for incoming clients
      WiFiClient client = server.available();
      if (client) {
        Serial.println("new client");
        // an http request ends with a blank line
        boolean currentLineIsBlank = true;
        while (client.connected()) {
          if (client.available()) {
            char c = client.read();
            Serial.write(c);
            // if you've gotten to the end of the line (received a newline
            // character) and the line is blank, the http request has ended,
            // so you can send a reply
            if (c == '\n' && currentLineIsBlank) {
              // send a standard http response header
              client.println("HTTP/1.1 200 OK");
              client.println("Content-Type: text/html");
              client.println("Connection: close");  // the connection will be closed after completion of the response
              client.println("Refresh: 5");  // refresh the page automatically every 5 sec
              client.println();
              client.println("<!DOCTYPE HTML>");
              client.println("<html>");
              // output the value of each analog input pin
              for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
                int sensorReading = analogRead(analogChannel);
                client.print("analog input ");
                client.print(analogChannel);
                client.print(" is ");
                client.print(sensorReading);
                client.println("<br />");
              }
              client.println("</html>");
              break;
            }
            if (c == '\n') {
              // you're starting a new line
              currentLineIsBlank = true;
            } else if (c != '\r') {
              // you've gotten a character on the current line
              currentLineIsBlank = false;
            }
          }
        }
        // give the web browser time to receive the data
        delay(1);

        // close the connection:
        client.stop();
        Serial.println("client disonnected");
      }
    }


    void printWifiStatus() {
      // print the SSID of the network you're attached to:
      Serial.print("SSID: ");
      Serial.println(WiFi.SSID());

      // print your WiFi shield's IP address:
      IPAddress ip = WiFi.localIP();
      Serial.print("IP Address: ");
      Serial.println(ip);

      // print the received signal strength:
      long rssi = WiFi.RSSI();
      Serial.print("signal strength (RSSI):");
      Serial.print(rssi);
      Serial.println(" dBm");
    }
     
     
    Последнее редактирование: 20 дек 2016
  5. rkit

    rkit Гуру

    Вайфай-шилд тут не причем. Гуглите, как подключается esp8266. Плюс на плате переключатели есть, надо выставить соответственно.
     
  6. UserDefUno

    UserDefUno Нерд

    Я причем тут коментарий?
     
  7. rkit

    rkit Гуру

    Его там "чисто поржать" гаписали, видимо. Удачно разобраться.
     
  8. UserDefUno

    UserDefUno Нерд

    Я плохо понимаю что вы написали
     
  9. ИгорьК

    ИгорьК Давно здесь

    Там есть таблица, что все объясняет:
    003_.jpg
    Но объясняет тому, ко в теме.

    Ардуино общается с модулем пор UART. Соответственно, надо этот UART выявить. Он или железный - то есть где-то соединение с 0 и 1 ногой в виде перемычек, или софтверный - тогда надо тыкать тестером, искать что куда соединяется. В кружочке - выводы ног. Их можно соединять с ногами Ардуины. Все несложно.
    0041.jpg
    Тестер, даташит на ESP-8266, полчаса - все прояснится.
     
    Последнее редактирование: 20 дек 2016
  10. UserDefUno

    UserDefUno Нерд

    Вообще вроде как есть переключатели с чем по USB работать, и думал что есть кто заказывал данную платку и знает как работать с ней, просто решение WiFi+UNO удобно.
     
    MESS нравится это.
  11. ИгорьК

    ИгорьК Давно здесь

    Сомнительно. Для 85-90% поделок достаточно самой единственной ESP-8266.
    А если использовать модуль только для связи, то ESP-01 - за глаза.
     
  12. UserDefUno

    UserDefUno Нерд

    А если передавать данные между Arduino и Raspberry Pi вообще кроме WiFi есть еще способы?
    И что лучше использовать?
    Извиняюсь что немного не по теме вопроса
     
  13. ИгорьК

    ИгорьК Давно здесь

    UART - проще всего, если рядом. Если дальше - RS-485, что тоже, в целом, UART, но посложнее.
    А также все иные протоколы. Малина поддерживает те же виды связи что и Ардуино.
    НО помним, что малина - 3.3 вольтовая и напрямую ее соединять нельзя с 5-вольтовой платой.
    А...
    есть еще nRF24L01+, HC-11 и HC-12,
    RFM69HW


     
  14. UserDefUno

    UserDefUno Нерд

    Речь о беспроводных способах передачи, UART и RS-485 немного не то.
     
  15. ИгорьК

    ИгорьК Давно здесь

    Дополнил выше. Я бы занялся HC-12.
     
  16. UserDefUno

    UserDefUno Нерд

    Спасибо.

    Как проблема будет решена дополню вопрос ответом.
     
  17. ИгорьК

    ИгорьК Давно здесь

    Не сдавайтесь. ESP-8266 вполне устойчив. У меня их много. Не стоит бросать его. Плата на вид хорошо придумана.
     
  18. UserDefUno

    UserDefUno Нерд

    Как раз речь о том что плату еще помучаю и потом напишу как получилось зависти Wi-Fi, просто стараюсь на форумах делать вопросы как на stackoverflow (Ну на сколько это позволяет формат форума)
     
  19. UserDefUno

    UserDefUno Нерд

    Как выяснил данные переключатели отвечают, как вы и написали, с чем будет работать COM порт и еще за то что ESP8266 будет подключен к Arduino, и на данный момент проблема в коде и не знаю как можно отправить запрос на UART порт.

    И на данный момент проверяю порты так :
    Код (C++):
     #include <SoftwareSerial.h>

    const int COM_BAUD = 9600;
    void setup() {
      espSerial.begin(COM_BAUD);
      Serial.begin(COM_BAUD);
      Serial.println("Setup done");
    }
    void loop() {
      if ( espSerial.available() )
        Serial.write( espSerial.read() );
      if ( Serial.available() )
        espSerial.write( Serial.read() );
    }
    И вот как раз вопрос вообще я с тем работаю или нет?
    И проблема в основном в том что пока с платформой Arduino знаком пару недель и пока не знаю даже где найти документацию по данной плате или примеры кода
     
  20. ИгорьК

    ИгорьК Давно здесь

    Это проблема. И Вы к ней добавили плату очень высокой сложности.
    Только тестер.
    Вот кода - полно. Ищите запросом "esp-8266 & Arduino". Миллион ответов. Считайте что это не одна плата а две.