接上一篇称重模块
显示处理 ,我是采用的在手机显示的方式,作为一个预警模式,手头上没有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找到并安装在项目里有加载库在里面搜索库文件就好