android+wifi物联网,物联网(ESP2866+MQTT+android)

#include

#include

const char* ssid = "TP-workS"; //修改

const char* password = "HC201902"; //修改

const char* mqtt_server = "........"; //修改 EMQX 服务地址

WiFiClient espClient;

PubSubClient client(espClient);

unsigned long lastMsg = 0;

#define MSG_BUFFER_SIZE (50)

char msg[MSG_BUFFER_SIZE];

int value = 0;

void setup_wifi() {

delay(10);

Serial.println();

Serial.print("Connecting to ");

Serial.println(ssid);

WiFi.mode(WIFI_STA);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

}

randomSeed(micros());

Serial.println("");

Serial.println("WiFi connected");

Serial.println("IP address: ");

Serial.println(WiFi.localIP());

}

void callback(char* topic, byte* payload, unsigned int length) {

Serial.print("Message arrived [");

Serial.print(topic);

Serial.print("] ");

for (int i = 0; i < length; i++) {

Serial.print((char)payload[i]);

}

Serial.println();

}

void reconnect() {

while (!client.connected()) {

Serial.print("Attempting MQTT connection...");

String clientId = "ESP8266Client-";

clientId += String(random(0xffff), HEX);

// Attempt to connect

if (client.connect(clientId.c_str())) {

Serial.println("connected");

client.publish("outTopic", "hello world"); //发布 outTopic主题

client.subscribe("inTopic"); //订阅 inTopic主题

} else {

Serial.print("failed, rc=");

Serial.print(client.state());

Serial.println(" try again in 5 seconds");

delay(5000);

}

}

}

void setup() {

Serial.begin(115200);

setup_wifi();

client.setServer(mqtt_server, 1883); //默认

client.setCallback(callback);

}

void loop() {

if (!client.connected()) {

reconnect();

}

client.loop();

unsigned long now = millis();

if (now - lastMsg > 2000) {

lastMsg = now;

++value;

snprintf (msg, MSG_BUFFER_SIZE, "hello world #%ld", value);

Serial.print("Publish message: ");

Serial.println(msg);

client.publish("outTopic", msg);

}

}

启动EMQX 服务:进入EMQX解压bin路径:emqx start 启动 点击打开服务地址

在监控中(中文在设置 中可修改),即可看到(需新建监控主题:outTopic、inTopic)

21802331549832d7b95083b87ce0508f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值