#include <ESP8266WiFi.h> #include <OneWire.h> #include <OneNet.h>

// WiFi 网络设置 const char* ssid = 'your_wifi_ssid'; const char* password = 'your_wifi_password';

// OneNET 平台设置 const char* server = 'api.heclouds.com'; const char* apiKey = 'your_api_key'; const char* deviceId = 'your_device_id'; const char* dataStreamId = 'your_datastream_id';

// 继电器控制引脚 const int relayPin = 5;

// OneNet 客户端 OneNet onenet(apiKey, server);

// WiFi 客户端 WiFiClient client;

void setup() { // 初始化串口 Serial.begin(9600);

// 初始化继电器引脚 pinMode(relayPin, OUTPUT);

// 连接 WiFi 网络 WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println('Connecting to WiFi...'); } Serial.println('Connected to WiFi');

// 连接 OneNET 平台 onenet.connect(client, deviceId); }

void loop() { // 从 OneNET 平台读取控制命令 String command = onenet.readCommand(client, dataStreamId);

// 根据命令控制继电器 if (command == 'on') { digitalWrite(relayPin, HIGH); onenet.writeData(client, dataStreamId, '1'); Serial.println('Relay turned on'); } else if (command == 'off') { digitalWrite(relayPin, LOW); onenet.writeData(client, dataStreamId, '0'); Serial.println('Relay turned off'); }

// 延迟一段时间 delay(1000); }

在这个示例程序中,我们使用了 ESP8266 的 WiFi 库和 OneNet 库来连接 WiFi 网络和 OneNET 平台。我们将继电器控制引脚设置为 5 号引脚,并在 setup() 函数中初始化该引脚。在 loop() 函数中,我们使用 onenet.readCommand() 函数从 OneNET 平台读取控制命令,并根据命令控制继电器。如果命令是 'on',则将继电器引脚设置为高电平,如果命令是 'off',则将继电器引脚设置为低电平。我们还使用 onenet.writeData() 函数将继电器状态反馈给 OneNET 平台。最后,我们使用 delay() 函数延迟一段时间,以便程序能够正常运行。

Arduino 8266 连接 OneNET 控制继电器示例程序

原文地址: https://www.cveoy.top/t/topic/kae5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录