I used MLwifi 3.07 to make wifi connection in B4A but found the following problem
- B4A app shows connected successfully but Android phone's wifi setting is still showing old ssid
- then in 2-3 seconds Android phone disconnect wifi and start searching to saved prefered ssid
Any one help?
B4A code as below
ESP8266 (NodeMCU) code as below
- B4A app shows connected successfully but Android phone's wifi setting is still showing old ssid
- then in 2-3 seconds Android phone disconnect wifi and start searching to saved prefered ssid
Any one help?
B4A code as below
B4X:
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim wifi As MLwifi
Dim scan As MLScan
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Private btn_connect As Button
Private edt_pass As EditText
Private edt_ssid As EditText
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
Activity.LoadLayout("main")
If Not (wifi.isWifiConnected) Then
wifi.EnableWifi(True)
End If
scan.startScan("wifiscan", True)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub btn_connect_Click
wifi.disconnectWifiAP()
Sleep(1000)
Msgbox("Start connecting", "wifi")
If wifi.saveWifiAP(edt_ssid.Text, 2, edt_pass.Text, False) = True Then
If wifi.connectWifiAP(edt_ssid.Text ) = True Then
'If wifi.isWifiConnected() Then
Msgbox("Connected", edt_ssid.Text )
Else
Msgbox("Failed to connect", edt_ssid.Text)
End If
Else
Msgbox("Failed to save AP", edt_ssid.text)
End If
Msgbox(wifi.WifiSSID, "Current SSID")
End Sub
Sub wifiscan_ScanDone(results() As String, count As Int)
Dim lstr_ap As String
For i = 0 To count - 1
lstr_ap = lstr_ap & ":" & results(i).Replace(","," ")
Next
Msgbox(lstr_ap, count)
End Sub
ESP8266 (NodeMCU) code as below
B4X:
#include <ESP8266WiFi.h>
// WiFi Definitions
const char* ssid = "Esp01-1901";
const char* password = "Esp01-1901";
const char* value = "";
WiFiServer server(80); // default ip http://192.168.4.1:80
void setup() {
Serial.begin(115200);
delay(10);
WiFi.mode(WIFI_AP);
WiFi.softAP(ssid, password, 1, 1);
server.begin();
}
void loop() {
// Check of client has connected
WiFiClient client = server.available();
if(!client) {
return;
}
// Read the request line
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
}