{privateIMqttClient _mqttClient;privatestring_brokerAddress ="";//设置EMQX服务器地址privateint_brokerPort =1883;//默认MQTT端口privatereadonlySemaphoreSlim _mqttLock =newSemaphoreSlim(1,1);//线程锁publicMqttService() {varmqttFactory =newMqttFactory(); _mqttClient=mqttFactory.CreateMqttClient(); }/...
前言 如果对于 MQTT 协议有一点了解的话,应该知道设备既可以推送消息给 MQTT 代理,也可以从 MQTT 代理那里订阅消息,而在之前的教程中,因为我们连接的设备都是传感器,仅需要将数据发送给 MQTT 代理即可,这时 …
mqtt连接状态:connectmqtt,如果连接失败,到mqtt error状态(进行mqtt断开或其他清理工作), 5次以后wifi重连,wifi失败后重新init working状态:mqtt连接成功,errtimes清零,loop查看是否有mqtt下发消息,检测mqtt状态 wifi状态进行状态跳转。 */ void loop() { int ret = 0; int mqtt_err_times = 0; serial_data_ha...
如果GSM模块正常工作,将返回"OK"作为响应。 使用以下代码发送短信:void sendSMS(String phoneNumber, String message) { gsmSerial.println("AT+CMGF=1"); // 设置短信模式为文本模式 delay(1000); gsmSerial.println("AT+CMGS=\"" + phoneNumber + "\""); // 设置接收短信的手机号码 delay(1000...
在前面的博文中,博哥介绍了 PubSubClient 这个使用率很高的Arduino MQTT库,具体可以参考 玩转PubSubClient MQTT库。 然而,博哥这里重点讲解另一款使用率也非常高的Arduino MQTT库 —— Adafruit_MQTT。 当然,博哥这里不会重点讲解MQTT协议(毕竟以前的博文已经花了很大篇幅讲解),需要了解的同学请仔细阅读 玩转PubSub...
既然我们使用了MQTT服务,那么其中为了方便调试,我们安装个MQTT客户端即可。提供MQTT FX 下载地址:MQTTFX下载地址 五、编码测试 Arduino端: 我这里直接上传了官方提供的例程并加了注释方便大家理解: #include <ESP8266WiFi.h> #include <PubSubClient.h>
15 16 17 18 19 20 21 22 $GPRMC,055430.00,A,2256.25353,N,11343.15605,E,2.440,177.00,080119,,,A*69 055430.00, <1> UTC 时间,hhmmss(时分秒)格式 A, <2> 定位状态,A=有效定位,V=无效定位) 2256.25353, <3>纬度ddmm.mmmm(度分)格式(前面的0也将被传输22°+56.25353 ...
Arduino WiFi Shield - if you want to send packets > 90 bytes with this shield, enable the MQTT_MAX_TRANSFER_SIZE define in PubSubClient.h. Sparkfun WiFly Shield – library TI CC3000 WiFi - library Intel Galileo/Edison ESP8266 ESP32 ...
//Make 128 bytes send bufferMqttClient::Buffer *mqttSendBuffer =newMqttClient::ArrayBuffer<128>();//Make 128 bytes receive bufferMqttClient::Buffer *mqttRecvBuffer =newMqttClient::ArrayBuffer<128>(); Provide class implementing theMqttClient::MessageHandlersinterface to keep subscription callback fu...
{webServer.send(200,"text/html",mainPageString);webServer.client().stop();}voidhandleNotFound(){webServer.send(404,"text/html","404 File Not Found!");webServer.client().stop();}voidsetup(){Serial.begin(115200);initWifi();if(!MDNS.begin("esp8266")){Serial.println("Error setting ...