Go Down

Topic: Modulo Wi-Fi ESP8266 (Read 145025 times) previous topic - next topic

zoomx

La scheda è una nodeMCU? Quella con l'USB?

Il firmware nodeMCU è un interprete LUA. Senza programma LUA non fa ssolutamente nulla.

Mancano parecchie informazioni.

Signfra

#2266
Nov 25, 2016, 12:03 pm Last Edit: Nov 25, 2016, 03:17 pm by Signfra
Salve, sono riuscito a farlo partire, il problema ora si può creare un oggetto Serial dove gli passo i parametri Rs e tx? ecco la figura:

http://www.miupanel.com/portals/0/Projects/hardware_PBEx3.png

collegando rx su rx e su tx su tx parte lo sketch e anche su monitor serial funziona correttamente invocando AT invece con rx-tx,tx-rx lo sketch non funziona e neanche il monitor serial non funziona.

#define RX 1
 #define TX 0

SoftwareSerial bt =  SoftwareSerial(RX, TX);

poi nel setup richiamandolo funziona, il problema mi serve a me il Serial che gli viene passato rx e tx per utilizzare l'esempio scannetwork da examples.

zoomx

Per il software serial bisogna usare pin che non sono usati dalla seriale hardware, ad esempio il 2 e 3

#define RX 2
 #define TX 3


Ovviamente anche lo schema va cambiato, il blu va al 2 e il verde al 3

Signfra

#2268
Nov 25, 2016, 06:00 pm Last Edit: Nov 25, 2016, 07:26 pm by Signfra
Salve, grazie mi può dare un esempio funzionante? perchè non mi parte con AT sul monitor seriale
esempio di default modificato come ha detto con rx 2 e tx 4,  ho scelto 4 perchè 3 e occupata, con blu al 2 e verde al 4.
tanto per avere un esempio come iniziare

Code: [Select]


connect to any network, so no encryption scheme is specified.

 Circuit:
 * WiFi shield attached

 created 13 July 2010
 by dlf (Metodo2 srl)
 modified 21 Junn 2012
 by Tom Igoe and Jaymes Dec
 */

#include <SoftwareSerial.h>

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

#define RX 2
 #define TX 4
 
 SoftwareSerial bt =  SoftwareSerial(RX, TX);

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!bt) {
    ; // 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") {
    bt.println("Please upgrade the firmware");
  }

  // Print WiFi MAC address:
  printMacAddress();
}

void loop() {
  // scan for existing networks:
  Serial.println("Scanning available networks...");
  listNetworks();
  delay(10000);
}

void printMacAddress() {
  // the MAC address of your Wifi shield
  byte mac[6];

  // print your MAC address:
  WiFi.macAddress(mac);
  Serial.print("MAC: ");
  Serial.print(mac[5], HEX);
  Serial.print(":");
  Serial.print(mac[4], HEX);
  Serial.print(":");
  Serial.print(mac[3], HEX);
  Serial.print(":");
  Serial.print(mac[2], HEX);
  Serial.print(":");
  Serial.print(mac[1], HEX);
  Serial.print(":");
  Serial.println(mac[0], HEX);
}

void listNetworks() {
  // scan for nearby networks:
  Serial.println("** Scan Networks **");
  int numSsid = WiFi.scanNetworks();
  if (numSsid == -1) {
    Serial.println("Couldn't get a wifi connection");
    while (true);
  }

  // print the list of networks seen:
  Serial.print("number of available networks:");
  Serial.println(numSsid);

  // print the network number and name for each network found:
  for (int thisNet = 0; thisNet < numSsid; thisNet++) {
    Serial.print(thisNet);
    Serial.print(") ");
    Serial.print(WiFi.SSID(thisNet));
    Serial.print("\tSignal: ");
    Serial.print(WiFi.RSSI(thisNet));
    Serial.print(" dBm");
    Serial.print("\tEncryption: ");
    printEncryptionType(WiFi.encryptionType(thisNet));
  }
}

void printEncryptionType(int thisType) {
  // read the encryption type and print out the name:
  switch (thisType) {
    case ENC_TYPE_WEP:
      Serial.println("WEP");
      break;
    case ENC_TYPE_TKIP:
      Serial.println("WPA");
      break;
    case ENC_TYPE_CCMP:
      Serial.println("WPA2");
      break;
    case ENC_TYPE_NONE:
      Serial.println("None");
      break;
    case ENC_TYPE_AUTO:
      Serial.println("Auto");
      break;
  }
}



zoomx

Quello è un esempio per il vecchio shield WiFi Arduino che non usa l'ESP8266.
https://www.arduino.cc/en/Main/ArduinoWiFiShield

Si potrebbe usare questa libreria
https://github.com/bportaluri/WiFiEsp
Usa la Software serial a cui si dovrà connettere l'ESP8266 tenendo conto di quanto scritto nel primo post.

Signfra

#2270
Nov 25, 2016, 10:26 pm Last Edit: Nov 25, 2016, 11:24 pm by Signfra
come si installa la libreria e inserire "WiFiEsp.h"? lo inserito la cartella estratta in libraries? e corretto? lo messo li e al momento dell'esecuzione mi dice "Trovata libreria non valida in /Users/utente/Documents/Arduino/libraries/test: /Users/utente/Documents/Arduino/libraries/test"

però il caricamento e completato con nessun errore ma non funziona lo stesso con il modulo.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy