Hallo, ich bin noch Anfänger was Arduino und die Welt der Mikrocontroller angeht und experimentiere momentan in der Frühphase meines Projekts.
Ich benutze das Programm Connectify Hotspot, um das Verhalten meines Mikrocontrollers live zu überwachen und mir ist etwas merkwürdiges aufgefallen. Ich möchte Strom sparen und das Board soll sein Wifi-Modul nur anschalten, wenn ich einen Alarm an mein Handy senden möchte.
Die Libraries, die ich für den MKR WiFi 1010 nutze:
// Libraries
#include <SPI.h>
#include <WiFiNINA.h>
Hier verbinde ich mein Board in void setup():
WiFi.begin(ssid, pass); // Powersave, only allowed to use WIFI, if intruder is detected
delay(10000);
if (WiFi.status() != WL_CONNECTED) {
Serial.println("Not connected to Wifi.");
}
if (WiFi.status() == WL_CONNECTED) {
Serial.println("Connected to Wifi");
}
Hier möchte ich das WiFi-Modul meines Boards abschalten in void setup():
WiFi.end();
delay(60000);
// check for the WiFi module:
if (WiFi.status() != WL_NO_MODULE) {
Serial.println("WiFi module is not disabled!");
}
// check for the WiFi module:
if (WiFi.status() == WL_NO_MODULE) {
Serial.println("WiFi module is disabled!");
}
if (WiFi.status() == WL_IDLE_STATUS) {
Serial.println("WIFI module is idling");
I sehe live, wie mein MKR Wifi 1010 die Verbindung verlässt, wenn ich Wifi.end() nutze, aber ich bekomme den folgenden Output auf meinem seriellen Monitor ausgegeben:
15:04:30.587 -> Connected to Wifi
15:05:31.285 -> WiFi module is not disabled!
15:05:31.285 -> WIFI module is idling
Mit WiFi.end() trenne ich definitiv die Verbindung, gehe dann aber bloß in einen Idle? Das Modul wird nicht ausgeschalten? Ich verstehe das nicht. Es fühlt sich so an, als ob ich Ströme messen müsste, um den Idle-Strom mit dem Strom zu vergleichen, den ich nach WiFi.end() messe, um zu sehen, ob er wirklich nur in einen Idle geht.
Ihr könnt das Verhalten auch durch die Abbildungen im Anhang nachvollziehen, denke ich.
Wenn Ich WiFi.end() auskommentiere, trennt das Board nie die Verbindung zum WiFi-Netzwerk.
P.S. Den Strom sollte ich so wie im Anhang messen, richtig (fritzing_blueprint)?
Hat jemand eine Ahnung, woher dieses Verhalten kommt?