使用PubSubClient库必须使用esp8266wifi库,这两个库是高度关联的;
    使用方法
    1、导入esp8266wifi库,和PubSubClient库
    2、使用esp8266链接wifi,确保wifi链接完成
    3、初始化wifi客户端 WiFiClient espClient
    4、初始化mqtt客户端 PubSubClient client(espClient);
    5、链接mqtt服务器 client.setServer(mqtt_server, 1883);
    6、链接成功后,调用回调函数 client.setCallback(callback);
    7、在loop函数中判断mqtt是否处于链接状态,如未连接,调用重连函数;
    8、设置事件间隔 事件超过5秒上传数据:

    1. unsigned long now = millis();
    2. if (now - lastMsg > 2000) {
    3. lastMsg= now;
    4. }

    unsigned 无符号整形
    unsigned的作用就是将数字类型无符号化
    long 有符号整形,关键字,定义整数类型。