This is required where WiFi Support or Router is not in place. For example if we go for any Manufacturing factory automation, I personally saw that there will be no WiFi/Router support inside the factory where machinery is running. If we want to check the temp for any motors or machinery wirelessly, then how we will connect MQTT broker with Arduino if we want to read the realtime data from the machinery?
As I personally feel even for a small factory which is in radius of 500 meters there is no point of installation of hardware. Moreover this is not a permanent solution, where one cannot able to monitor or get the machine status if he will be out of company radius or will be travelling somewhere for official purpose.
I feel this is a genuine requirement for the mqtt library for gsm.
@Erel , Thanks for your advice.
We have installed the MQTT server/broker at Windows Cloud server. And we are sending data by using the IP address like below
B4X:
Private Sub AppStart
Serial1.Initialize(115200)
mtimer.Initialize("mtimer_Tick",1000)
mtimer.Enabled=True
Log("AppStart")
'Connecting to WIFI Router
'mywifi.Connect2("XXX","XXX")
mywifi.Connect2("XXX","XXX")
If mywifi.IsConnected Then
Log("Router Connected!!")
Else
Log("Not able to connect Router!!")
Return
End If
mqttclient.Initialize(client.Stream,Array As Byte(148,xxx,xxx,xxx),1883,"esp","Mqtt_MessageArrived", "Mqtt_Disconnected")
At the above code we are using for WiFi router and we are successful. Now the requirement is for GSM.
Could you please advice how we can use the IP address for Http request? Should I use AT+CIPSEND?
i think it is possible to make something simple in an other way :
- to create a MQTT server in CloudMQTT : it is free if less than 5 connexions and it is enough for tests
- it is possible" to use "fixe" android mobile for interface CloudMQTT with 8266
- if this "fixe"android mobile is configured in wifi wateway, 8266 can be connected on it and connect to CloudMQTT
and all mobiles connected on CloudMQTT will send and receive message with 8266