7-2-2-1 ESP8266代码

本文介绍了如何使用 ESP8266 通过 WebSocket 实现与服务器的数据交互。内容包括 ESP8266 的代码结构,如何初始化 ADXL345 传感器,设置传感器范围,从 SPIFFS 读取配置,以及如何处理连接、发送和接收数据。同时,文章还提到了服务器端使用 Node.js 和 ExpressJS 的实现,并给出了启动服务器的步骤,展示了如何在浏览器中查看实时加速度图表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于工程代码中还有一些额外的 WebSocket 连接类,显示的 .ino 文件中一部分是必不可少的。对于整个项目,请参阅以下GitHub地址:https://github.com/bcatalin/esp8266-book/tree/master/Chapter7

必要的包含文件是:

#include "Wire.h"
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
#include <FS.h>
#include <ESP8266WiFi.h>
#include "SocketIOClient.h"
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>
#include <ArduinoJson.h>
#include <Wire.h>
#include <ESP8266HTTPClient.h>
#include <ESP8266httpUpdate.h>
#include <SPI.h>

实例化一个 accel 对象并创建一个唯一标识作为类构造函数的参数:

Adafruit ADXL345_Unified accel = Adafruit_ADXL345_Unified(121212);

 

为服务器名称或IP地址分配空间,并将默认端口设置为 1234 稍后,用户可以在Wi-Fi设置过程中选择一个:

char acc_server[40];
characcport[6]="1234";

声明将使用的全局变量:

#define ACC_CLIENT_ID  "RAM%06X"
#define INFO Serial.printf 
char dev_name[50];

如果要格式化 SPIFFS 并将工程代码再次闪存到 ESP8266,请将 clean_g 设置为1:

int clean_ g = 0;
//用于保存数据的标志
bool ShouldSaveConfig = false ;

客户端对象将用于通过 websocket 协议发送和接收数据。类实现在此文件的外部,可以在 SocketIOClient.cpp SocketIOClient.h 文件中找到:

SocketIOClient client; 
StaticJsonBuffer<300> jsonBuffer;
extern String RID;
extern String Rname;
//extern String Rcontent;
unsigned long previousMillis = 0;
long interval = 100;
unsigned long lastreply = 0;
unsigned long lastsend = 0;

用于通知我们需要将配置保存到 SPIFFS 上的 config.json 文件的回调函数是:

void saveConfigCallback() {
  Serial.println("Should save config");
  shouldSaveConfig = true; 
}

setup()函数中,它将初始化并设置 ADXL345 芯片:

voi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值