1. 首页 > 快讯

wemos D1 arduino项目实战1TCP协议连接Tlink平台③

在上一节中,我们使用Wemos D1连接Tlink云服务器。本节我们开始使用Tlink平台来创建一个可视化监控页面。

1.设计云端可视化页面

1.编辑设备信息

在设计可视化页面之前,需要将开关修改为用户可操作的开关类型,即用户可以在平台上点击开关并发出命令。

编辑设备:

将开关设置为可操作类型

可以看到此时开关显示为开关按钮,可以通过按钮发出命令。

通过建立连接进入如下页面:

然后设置开关传感器发出开关指令,如{“switch”:1},{“switch”:0}

wemos D1 arduino项目实战1TCP协议连接Tlink平台③

2.设计云配置

创建新的云配置:

添加一个开关:

添加表盘:

设置开关参数:

设置拨号参数:

保存后预览

预览效果:

2.修改设备代码

wemos D1 arduino项目实战1TCP协议连接Tlink平台③

代码:

#include Arduino.h#include ESP8266WiFi.h#include ESP8266HTTPClient.h#include Ticker.h#define DEVICE_ID 'V36625K243D8ROR1'#define DEVICE_DATA '#25,1#'char* ssid='lxy2305';char* passwd='123456789a ';const uint16_t 端口=8647;const char * 主机='tcp.tlink.io'; //ip 或dnsWiFiClient 客户端; //创建tcp客户端连接int heartbeart_flag=0;char send_data[32];Ticker tk;int temp_value=25;int switch_value=0;void time_coming_cicyle_cb(void){ heartbeart_flag=1;}//复位或上电后运行一次on :void setup() { //此处添加初始化相关代码,仅运行一次: Serial.begin (115200); WiFi.模式(WIFI_STA); WiFi.开始(ssid,密码); Serial.println('正在连接路由器.'); //等待wifi连接成功while (WiFi.status() !=WL_CONNECTED ) { Serial.print('.');延迟(500); } Serial.println(''); Serial.print('WiFi已连接,本地IP地址:'); Serial.println(WiFi.localIP());延迟(500); Serial.print('连接到'); Serial.println(主机); if (!client.connect(host, port)) { Serial.println('连接失败'); Serial.println('等待5 秒.');延迟(5000);返回; }else { Serial.println('连接tcp服务器成功。'); Serial.println('将此数据发送到tcp服务器');客户端.print(DEVICE_ID);延迟(500);客户端.print(DEVICE_DATA); //每30 秒调用一次time_coming_cicyle_cb tk.attach(5, time_coming_cicyle_cb); }} void 循环() { if (1==heartbeart_flag) { if (temp_value=30) { temp_value=20; } else { 临时值=临时值+ 1; } switch_value=!switch_value; sprintf(send_data, '#%d,%d#', temp_value, switch_value);客户端.print(send_data); Serial.print('发送数据:'); Serial.println(send_data); heartbeart_flag=0; } 字符串recv_data=client.readString(); //client.readStringUntil('\r'); if (recv_data !=NULL) { Serial .print('接收数据: '); Serial.println(recv_data); }delay(20);} 与上一篇文章相比,主要增加了以下代码:

if (1==heartbeart_flag) { if (temp_value=30) { temp_value=20; } else { 临时值=临时值+ 1; } switch_value=!switch_value; sprintf(send_data, '#%d,%d#', temp_value, switch_value );客户端.print(send_data); Serial.print('发送数据:'); Serial.println(send_data); heartbeart_flag=0;将上一篇文章从每5秒发送一次心跳改为发送一次数据,并且温度值在20-30之间变化,并且每次切换值都取反。这样可以解决云设备状态显示异常的问题。

3. 操作

将设备端代码下载到wemos D1中,设备开始联网并每5秒发送一次本地数据。

可以看到,每发送一次数据,温度就加1,开关值就取反。

云显示如下:

点击切换按钮:

点击开关后,设备从云端接收数据。

用户评论

墨染天下

想学习TCP协议的应用,这个教程正好合适!

    有18位网友表示赞同!

有阳光还感觉冷

Wemos D1一直很想试试呀,这次要来战Tlink平台了。

    有20位网友表示赞同!

↘▂_倥絔

希望教程可以讲解详细一点儿,包括代码编写和调试步骤什么的。

    有6位网友表示赞同!

将妓就计

D1确实是个好东西,用来做项目很方便。

    有5位网友表示赞同!

玩味

我之前用过Tlink平台,挺不错的,支持各种协议操作。

    有18位网友表示赞同!

爱到伤肺i

Arduino项目实战一直是我想学的重点,希望能从这个教程学到实用的知识。

    有6位网友表示赞同!

夏以乔木

TCP协议有点复杂,这个教程能让我更容易理解。

    有11位网友表示赞同!

发呆

真期待这部分内容!Wemos D1 + Tlink平台的组合很强大。

    有14位网友表示赞同!

珠穆郎马疯@

终于等到实战教程了!

    有13位网友表示赞同!

经典的对白

我准备用D1做一个TCP连接的小项目测试一下,看看这个教程能帮到我多

    有5位网友表示赞同!

青衫故人

希望能从入门到精通全面讲解,一步步带我走

    有15位网友表示赞同!

我的黑色迷你裙

要看实操案例吗?代码注释详细点儿最好!

    有15位网友表示赞同!

为爱放弃

Wemos D1搭配TCP协议真的可以用啊!学习学习。

    有11位网友表示赞同!

余笙南吟

教程能不能提供项目文件下载?方便跟着学!

    有5位网友表示赞同!

搞搞嗎妹妹

D1+Tlink平台 = 厉害的组合!这方面教程太少了!

    有12位网友表示赞同!

沐晴つ

第一次用Arduino做TCP连接,希望这个教程能给我启发!

    有6位网友表示赞同!

心已麻木i

学习新的知识总是很令人兴奋的!期待教程上线。

    有11位网友表示赞同!

三年约

我有一个脑洞,想用Wemos D1和Tlink平台实现…… 不过先看教程吧!

    有16位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/4627.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666