Kaufen Sie von US | Kaufen Sie von UK | Kaufen Sie von DE | Kaufen Sie von FR | Kaufen Sie von IT | Kaufen Sie von ES | ここでご購入を! |
Um unsere Dinge mit dem Internet zu verbinden, müssen wir ein Internet-Kommunikationsprotokoll auswählen, damit verschiedene Internet-Geräte miteinander kommunizieren können. Einige häufig verwendete IoT-Protokolle sind HTTP, MQTT usw.
In dieser Lektion werden wir lernen, wie man das HTTP-Protokoll verwendet und wie man einen einfachen HTTP-Webserver mit dem Osoyoo MEGA-IoT Shield und dem MEGA2560-Mikrocontroller erstellt und eine “Hello World!”-Webseite in einem entfernten Browser anzeigt. Die Webseite zeigt auch die Eingangsspannung des A0-Pins, die von den Arduino analogRead()-Funktionen erkannt wird.
1).please plug OSOYOO MEGA-IoT Extension Board into OSOYOO Advanced Board for MEGA2560 Board:
2) Benutzen Sie die Jumper-Kappe, um ESP8266 RX mit A8 und TX mit A9 zu verbinden.)
Installation der Software
Open-source Software(IDE) |
Download IDE here: https://www.arduino.cc/en/Main/Software?setlang=en |
|
7 zip is a free zip utility that un-zips zip files |
Download 7zip here for free https://www.7-zip.org/ |
Schritt 1 Installieren Sie die neueste IDE (Wenn Sie eine IDE-Version nach 1.1.16 haben, überspringen Sie bitte diesen Schritt).
IDE herunterladen von https://www.arduino.cc/en/software, installieren Sie dann die Software.
Schritt 2 OSOYOO MEGA-IoT Erweiterung TX/RX Pin zu A9/A8 Pin als Standard. So in Ihrem Sketch-Code, müssen wir Software Serial Port verwenden, um mit ESP8266 zu kommunizieren (setzen Sie A9 als TX und A8 als RX in SoftwareSerial Objekt).wir müssen WiFiEsp-master Bibliothek von folgenden Link zuerst herunterladen:https://osoyoo.com/driver/WiFiEsp-master.zip
Schritt 3 Öffnen Sie die IDE ->Sketch ->Include Library ->Add ,Zip library, um die oben genannten Zip-Dateien in die Arduino IDE zu laden.
Schritt 4 Nach der Installation der oben genannten Bibliothek, laden Sie bitte den Hauptcode von folgendem Link herunter. Entpacken Sie die heruntergeladene Zip-Datei lesson3.zip, Sie werden einen Ordner namens smarthome-lesson3 sehen.
https://osoyoo.com/driver/smarthome/smarthome-lesson3.zip
Schritt 5 Nachdem die obigen Schritte abgeschlossen sind, schließen Sie das OSOYOO MEGA2560 Board mit dem USB-Kabel an den PC an.
Schritt 6 Öffnen Sie die IDE und wählen Sie den entsprechenden Boardtyp und Porttyp für Ihr Projekt.
Schritt 7 IDE: Klicke auf Datei -> klicke auf Öffnen -> wähle den Code “smarthome-lesson3”, lade den Sketch auf dein Board.
Hinweis: In der Skizze finden Sie folgende Zeilen:
char ssid[] = "******"; // your network SSID (name) char pass[] = "******"; // your network password
Bitte ersetzen Sie ****** durch Ihre korrekte Wifi-SSID und Ihr Passwort, sonst kann Ihr Projekt keine Verbindung zum Internet herstellen.
Nachdem Sie den Sketch in die IDE geladen haben, öffnen Sie den seriellen Monitor in der oberen rechten Ecke der IDE und Sie werden folgendes Ergebnis sehen:
Auf dem seriellen Monitor können Sie die IP-Adresse Ihres MEGA2560-Boards im Lesekreis sehen (im obigen Bild 192.168.50.102).
Rufen Sie dann mit Ihrem Browser die Website http://mega2560-ip-address (im obigen Fall http://192.168.50.102) auf, und Sie werden folgendes Ergebnis sehen:
Das obige Ergebnis zeigt auch die Eingangsspannung des A0-Pins durch die Funktion analogRead(0) in Zeile 94. analogRead() kann die Eingangsspannung von 0-5V lesen und einen Wert zwischen 0 und 1023 zurückgeben, der für die Spannung steht.
Wenn wir A0 über eine Drahtbrücke mit GND verbinden, zeigt der Analogeingang A0: 0
Wenn wir A0 über eine Drahtbrücke mit 5 V verbinden, zeigt der Analogeingang A0: 1023 an.
Manchmal, wenn das Lektion3 Projekt läuft, könnte ESP8266 ein Initialisierungsproblem mit den MEGA2560 A8, A9 Pins haben und dies verursacht einen WifiESP Initialisierungsfehler, der im seriellen Monitor wie folgt angezeigt wird:
[WiFiEsp] Initializing ESP module [WiFiEsp] >>> TIMEOUT >>> [WiFiEsp] >>> TIMEOUT >>> [WiFiEsp] >>> TIMEOUT >>> [WiFiEsp] >>> TIMEOUT >>> [WiFiEsp] >>> TIMEOUT >>> [WiFiEsp] Cannot initialize ESP module
Um das Problem zu lösen, müssen wir den stabilen Pin D10, D11 verwenden, um ESP8266 zu initialisieren und dann auf A8, A9 zurückzuschalten:
Die ursprüngliche Zeile 15 lautet :
SoftwareSerial softserial(A9, A8); // RX, TXPlease change above line to:
SoftwareSerial softserial(10, 11); // RX, TX
Schritt 3) Laden Sie den Sketch in die IDE und die Initialisierung wird normalerweise durchlaufen und angezeigt
[WiFiEsp] Initilization successful - 1.5.4 SSI
DownLoad Url osoyoo.com
You must be logged in to post a comment.
I am getting this error on the serial monitor:
[WiFiEsp] Initializing ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] Cannot initialize ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] No tag found
WiFi shield not present
Does this mean that my ESP shield is bad?
Nevermind. I solved the problem. The diagram showing the jumper cap connection is not very descriptive.
Hi Cbales!
I’m running into the same problem but I am sure I have the jumpers right.
What did you end up doing exactly?
Do I need a third jumper on Tx0 and Rx0 or something?
Check if your hotspot name and password are correct
Nevermind Cbales:
I had some bent pins on the board.
This is the message I am getting – what could I be doing wrong. I checked to make sure the ssid and password are correct and the pins are entered correctly.
[WiFiEsp] Initializing ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] Cannot initialize ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] No tag found
WiFi shield not present
tienes que descargarte la carpeta que te dan de wifiESP-master.zip y adjuntarla a la librería . Y después , cambiar el código a :
/* ___ ___ ___ _ _ ___ ___ ____ ___ ____
* / _ \ /___)/ _ \| | | |/ _ \ / _ \ / ___) _ \| \
*| |_| |___ | |_| | |_| | |_| | |_| ( (__| |_| | | | |
* \___/(___/ \___/ \__ |\___/ \___(_)____)___/|_|_|_|
* (____/
* Use browser and OSOYOO MEGA-IoT extension shield to control LED from remote browser
* Tutorial URL http://osoyoo.com/?p=28284
* CopyRight http://www.osoyoo.com
*/
#include “WiFiEsp.h”
// Emulate softserial on pins 6/7 if not present
//#ifndef HAVE_HWSERIAL1
#include “SoftwareSerial.h”
SoftwareSerial softserial (10, 11); // RX, TX
//#endif
char ssid[] = “vodafone3418”; // your network SSID (name)
char pass[] = “RJSPSB7TVU78R8”; // your network password
int status = WL_IDLE_STATUS;
int reqCount = 0; // number of requests received
WiFiEspServer server(80);
void setup()
{
// initialize serial for debugging
Serial.begin(9600);
// initialize serial for ESP module
softserial.begin(115200);
softserial.write(“AT+CIOBAUD=9600\r\n”);
softserial.write(“AT+RST\r\n”);
softserial.begin(9600);
// initialize ESP module
WiFi.init(&softserial);
// check for the presence of the shield
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println(“WiFi shield not present”);
// don’t continue
while (true);
}
// attempt to connect to WiFi network
while ( status != WL_CONNECTED) {
Serial.print(“Attempting to connect to WPA SSID: “);
Serial.println(ssid);
// Connect to WPA/WPA2 network
status = WiFi.begin(ssid, pass);
}
Serial.println(“You’re connected to the network”);
printWifiStatus();
// start the web server on port 80
server.begin();
}
void loop()
{
// listen for incoming clients
WiFiEspClient 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) {
Serial.println(“Sending response”);
// send a standard http response header
// use \r\n instead of many println statements to speedup data send
client.print(
“HTTP/1.1 200 OK\r\n”
“Content-Type: text/html\r\n”
“Connection: close\r\n” // the connection will be closed after completion of the response
“Refresh: 20\r\n” // refresh the page automatically every 20 sec
“\r\n”);
client.print(“\r\n”);
client.print(“\r\n”);
client.print(“Hello World!\r\n”);
client.print(“Requests received: “);
client.print(++reqCount);
client.print(“\r\n”);
client.print(“Analog input A0: “);
client.print(analogRead(0));
client.print(“\r\n”);
client.print(“\r\n”);
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(10);
// close the connection:
client.stop();
Serial.println(“Client disconnected”);
}
}
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 where to go in the browser
Serial.println();
Serial.print(“To see this page in action, open a browser to http://“);
Serial.println(ip);
Serial.println();
}
y ya esta . Y ademas quitar los jumpers y conectar lo de un cable macho hembra a los dos pines que te dice .
I’m running into the same problem. The pins are OK.
What shall I do ?
Hi gents
I get the same problem and jumpers seem to be ok
How did you solve yours?
The wifi module works when I do the troubleshooting steps for connecting to 10, 11. However, when I try to roll back to the A8, A9 it is not working.
can anyone help by showing a picture of how the cables should be connected to A8, A9 — do i use the pnp jumpers or do i use the regualr jumper cables. Please help.
I’ll reply you by email
Hi David,
I havent received the reply yet.
Thanks
have you sent it yet?
The mailbox prompts that the mail was delivered successfully
can someone help me!
Hi everyone i´m trying to start wifi ESP with the following code
/* ___ ___ ___ _ _ ___ ___ ____ ___ ____
* / _ \ /___)/ _ \| | | |/ _ \ / _ \ / ___) _ \| \
*| |_| |___ | |_| | |_| | |_| | |_| ( (__| |_| | | | |
* \___/(___/ \___/ \__ |\___/ \___(_)____)___/|_|_|_|
* (____/
* Use browser and OSOYOO MEGA-IoT extension shield to control LED from remote browser
* Tutorial URL http://osoyoo.com/?p=28284
* CopyRight http://www.osoyoo.com
*/
#include “WiFiEsp.h”
// Emulate softserial on pins 6/7 if not present
//#ifndef HAVE_HWSERIAL1
#include “SoftwareSerial.h”
SoftwareSerial softserial(10, 11); // RX, TX
//SoftwareSerial softserial(A9, A8); // RX, TX
//#endif
char ssid[] = “TEST”; // your network SSID (name)
char pass[] = “0001234”; // your network password
int status = WL_IDLE_STATUS;
int reqCount = 0; // number of requests received
WiFiEspServer server(80);
void setup()
{
// initialize serial for debugging
Serial.begin(9600);
// initialize serial for ESP module
softserial.begin(115200);
softserial.write(“AT+CIOBAUD=9600\r\n”);
softserial.write(“AT+RST\r\n”);
softserial.begin(9600);
// initialize ESP module
WiFi.init(&softserial);
// check for the presence of the shield
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println(“WiFi shield not present”);
// don’t continue
while (true);
}
// attempt to connect to WiFi network
while ( status != WL_CONNECTED) {
Serial.print(“Attempting to connect to WPA SSID: “);
Serial.println(ssid);
// Connect to WPA/WPA2 network
status = WiFi.begin(ssid, pass);
}
Serial.println(“You’re connected to the network”);
printWifiStatus();
// start the web server on port 80
server.begin();
}
void loop()
{
// listen for incoming clients
WiFiEspClient 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) {
Serial.println(“Sending response”);
// send a standard http response header
// use \r\n instead of many println statements to speedup data send
client.print(
“HTTP/1.1 200 OK\r\n”
“Content-Type: text/html\r\n”
“Connection: close\r\n” // the connection will be closed after completion of the response
“Refresh: 20\r\n” // refresh the page automatically every 20 sec
“\r\n”);
client.print(“\r\n”);
client.print(“\r\n”);
client.print(“Hello World!\r\n”);
client.print(“Requests received: “);
client.print(++reqCount);
client.print(“\r\n”);
client.print(“Analog input A0: “);
client.print(analogRead(0));
client.print(“\r\n”);
client.print(“\r\n”);
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(10);
// close the connection:
client.stop();
Serial.println(“Client disconnected”);
}
}
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 where to go in the browser
Serial.println();
Serial.print(“To see this page in action, open a browser to http://“);
Serial.println(ip);
Serial.println();
}
but the serial monitor shows me the following message:
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] Cannot initialize ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] No tag found
WiFi shield not present