接上一篇

接上一篇称重模块

​ 显示处理 ,我是采用的在手机显示的方式,作为一个预警模式,手头上没有IOT模块,这里就先用一个WIFI模块先写了一个,上位机采用的安卓软件。WIFI模块的话采用的8266,

​ 关于esp8266开发的目前我见过 LUA,SDK,arduino,我在此处采用的是arduino开发模式,在下载arduino开发环境后需要配置,关于esp8266的配置可以去看<

这篇文章,也可以去arduino中文社区去看《博哥ESP8266系列》还有关于8266的案例,关于配置我就不在一一举例了。

在这里插入图片描述

在开发的时候一定要先了解一下引脚定义,因为我偷懒了采用的烧录器,这里就不解释了arduino主板连接8266的烧写方式了。

采用的是MQTT协议通讯方式,先上代码吧

#include <ESP8266WiFi.h>
#include <PubSubClient.h>


#define wifi_ssid "****"//wifi账号
#define wifi_password "****"//wifi密码

#define mqtt_server "****"//MQTT服务器地址
#define mqtt_user "***"  //账号
#define mqtt_password "***" //密码



//用于解码接收到的MQTT消息的缓冲区
char message_buff[100];

long lastMsg = 0;   //在MQTT上发布的最后消息的时间戳
long lastRecu = 0;
bool debug = true;  // 在控制台显示为True

char h ;
char t;
char i;
float msgString;


WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
  Serial.begin(9600);
  setup_wifi();           // 连接到wi - fi网络
  client.setServer(mqtt_server, 1883);    // MQTT连接到MQTT服务器的配置
}

void setup_wifi() {
  delay(10);
  Serial.println();
  Serial.print("Connexion a ");
  Serial.println(wifi_ssid);

  WiFi.begin(wifi_ssid, wifi_password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("Connexion WiFi etablie ");
  Serial.print("=> Addresse IP : ");
  Serial.print(WiFi.localIP());

}


void reconnect() {
  //循环到重新连接
  while (!client.connected()) {
    Serial.print("Connexion au serveur MQTT...");
    if (client.connect("ESP8266Client", mqtt_user, mqtt_password)) {
      Serial.println("OK");
    } else {
      Serial.print("KO, erreur : ");
      Serial.print(client.state());
      Serial.println(" On attend 5 secondes avant de recommencer");
      delay(5000);
    }
  }
}

void loop() {
  if (!client.connected()) {
    reconnect();
  }

  client.loop();

  while (Serial.available() > 0) {

    i = Serial.read();

    if ('A' == i)
    {
      Serial.println("A");
      t = i;
        client.publish("ju/test","A");
    }
     else if('B' ==i)
      {
        t = i;
         client.publish("ju/test","B");
        Serial.println("B");
      }

    delay(1000);

  }

}

wifi与8266通讯时采用的串口通讯方式,在arduino开发8266的时候一定要利用库文件

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

}


wifi与8266通讯时采用的串口通讯方式,在arduino开发8266的时候一定要利用库文件

#include <ESP8266WiFi.h>
#include <PubSubClient.h>


这两个库文件都可以在arduino找到并安装在项目里有加载库在里面搜索库文件就好
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值