前言

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

一、设计云端可视化页面

1. 编辑设备信息

在设计可视化页面之前,需要修改下开关为开关类型,用户可操作,也就是说用户可以平台点击开关,下发命令。

编辑设备:

将开关设置为可操作性的开类型

可以看到此时开关显示为一个switch按钮,可以通过按钮下发命令

通过设置连接进入如下页面:

然后设置开关传感器下发开和关的指令分别为{“switch”:1}、{“switch”:0}

2. 设计云组态

新建云组态:

增加一个开关:

增加一个表盘:

设置开关参数:

设置表盘参数:

保存后预览

预览效果:

二、修改设备端代码

代码:

#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 port = 8647;
const char * host = "tcp.tlink.io"; // ip or dns
WiFiClient client;//创建一个tcp client连接
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;
}// 复位或上电后运行一次:
void setup() {//在这里加入初始化相关代码,只运行一次:Serial.begin(115200);WiFi.mode(WIFI_STA);WiFi.begin(ssid, passwd);Serial.println("connecting to router... ");//等待wifi连接成功while (WiFi.status() != WL_CONNECTED) {Serial.print(".");delay(500);}Serial.println("");Serial.print("WiFi connected, local IP address:");Serial.println(WiFi.localIP());delay(500);Serial.print("connecting to ");Serial.println(host);if (!client.connect(host, port)) {Serial.println("connection failed");Serial.println("wait 5 sec...");delay(5000);return;}else{Serial.println("connect to tcp server success.");Serial.println("Send this data to tcp server");client.print(DEVICE_ID);delay(500);client.print(DEVICE_DATA);// call time_coming_cicyle_cb every 30stk.attach(5, time_coming_cicyle_cb);}
}void loop() {if (1 == heartbeart_flag){if (temp_value >= 30){temp_value = 20;  }else{temp_value = temp_value + 1;  }switch_value = !switch_value;sprintf(send_data, "#%d,%d#", temp_value, switch_value);client.print(send_data);Serial.print("send data : ");Serial.println(send_data);heartbeart_flag = 0;}String recv_data = client.readString(); //   client.readStringUntil('r');if (recv_data != NULL){Serial.print("Receive data : ");Serial.println(recv_data);}delay(20);
}

相校上一篇,主要增加了如下代码:

if (1 == heartbeart_flag){if (temp_value >= 30){temp_value = 20;  }else{temp_value = temp_value + 1;  }switch_value = !switch_value;sprintf(send_data, "#%d,%d#", temp_value, switch_value);client.print(send_data);Serial.print("send data : ");Serial.println(send_data);heartbeart_flag = 0;}

将上一篇的每隔5秒发送一次心跳,修改为发送一次数据,并且温度值在20-30变化,开关值每次取反,这样做可以解决云端设备状态显示异常问题。

三、运行

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

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

云端显示如下:

点击开关按钮:

点击开关后,设备收到云端下发数据。

​本文由一叶孤沙原创,欢迎关注,和我们一起成长!

寄语:世界上最远的距离是鱼与飞鸟的距离,一个在天上,一个却深浅海底!

send tcp char far_wemos D1 arduino项目实战1-TCP协议连接Tlink平台③相关推荐

  1. wemos D1 arduino项目实战2-设备连接Tlink平台

    前言 上一节,我们完成了Tlink云端创建项目,并使用网络助手连接Tlink云服务器,本节,我们开始学习使用Wemos D1连接Tlink平台. 一.实例 1.通信流程 首先连接tcp.tlink.i ...

  2. wemos D1 arduino项目实战1-Tlink平台创建一个产品

    前言 本节,我们开始学习连接Tlink平台,通过TCP协议将数据传输到Tlink平台,同时通过Tlink平台下发命令远程控制设备,本节目表示通过网络助手和TLink平台进行数据调试. 一.基础知识 1 ...

  3. wemos D1 arduino项目实战3-Tlink平台web表盘监听数据

    前言 上一节,我们使用Wemos D1连接Tlink云服务器,本节,我们开始使用Tlink平台创建可视化监控页面. 一.设计云端可视化页面 1. 编辑设备信息 在设计可视化页面之前,需要修改下开关为开 ...

  4. Arduino项目实战——基于Arduino【智能垃圾桶】设计

       Arduino项目实战        -基于Arduino[智能垃圾桶]设计 第一次接触Arduino是在大一的时候,距离现在已经五年,当时一个简单的"电子琴"项目就让我抓耳 ...

  5. 【课题总结】OpenCV 抠图项目实战(11)算法实验平台

    Python 小白的课题报告-OpenCV 抠图项目实战(11)抠图算法实验平台 本系列是 Python 小白的课题作业<基于OpenCV 的图像分割和抠图>. 需要说明的是,本系列并不能 ...

  6. 【PBL项目实战】户外智慧农场项目实战系列——1.阿里云物联网平台的开通与云端可视化应用的新建

    岭师人工智能素养教育共同体PBL项目教程系列之1:户外智慧农场项目实战系列 原文链接  https://mp.weixin.qq.com/s/avKWJHNvnPeFsdEXUBByjw 本系列以户外 ...

  7. 【slighttpd】基于lighttpd架构的Server项目实战(5)—TCP的TIME_WAIT状态

    转载地址:https://blog.csdn.net/jiange_zh/article/details/50637549 上一节我们已经开发了一个简单的echo服务器,在这里我们先不急着继续下去,先 ...

  8. java o2o_Java项目实战篇之校园O2O商铺平台-开发准备一

    校园O2O商铺平台 一. 项目介绍 校园o2o平台是一个新兴的电子商务平台,主要是为了广大学生群体建立一个实用性,广泛性,快捷性的消费平台.就大学生的消费的状况,市场份额相当巨大,消费潜力也是非常可观 ...

  9. 【乐鑫ESP32】腾讯云平台项目创建以及MQTT协议连接

    目录 一.腾讯云平台项目创建 1.新建项目 2.新建产品 3.新建设备 二.基于TCP的MQTT接入 1.接入介绍 2.用户名格式 3.密码格式 4.通过python生成用户名和密码 三.ESP32代 ...

  10. 【课题总结】OpenCV 抠图项目实战(12)源程序代码

    Python 小白的课题报告-OpenCV 抠图项目实战(12)源程序代码 本系列是 Python 小白的课题作业<基于OpenCV 的图像分割和抠图>. 需要说明的是,本系列并不能算是 ...

最新文章

  1. 关于选择哪些村庄试点新农村建设的讨论
  2. django 文档生成器
  3. VMware安装MacOSx系统
  4. Andriod开发技巧——Fragment的懒载入
  5. 计算不规则图形周长_7.2三年级上册数学《周长》同步练习,附答案
  6. jzoj4673,CF578D-LCS again【统计,字符串,容斥】
  7. linux 运行 chom,Hadoop安装-单节点/伪分布(2.7.3)
  8. [剑指offer]面试题第[48]题[Leetcode][JAVA][第3题][无重复字符的最长字串][滑动窗口][HashSet/Map]
  9. c#equals方法源码_C#中的Int32.Equals()方法示例
  10. Linux安全手册(转载)
  11. Windows Server 2008 Server Core模式
  12. js实现json转excel的npm包
  13. 如何做一个基于python电影院售票系统毕业设计毕设作品(Django框架)
  14. lpx寒假作业案例8
  15. Echarts饼图自定义颜色配置(图色、选择颜色、字体颜色)
  16. 使用MOno Cecil 的相关开源项目
  17. win10系统的深度清理方法
  18. 初学者之蚂蚁蜜蜂分类报错记录
  19. 用GEPHI绘制的 我的微博 好友 关系 与 好友的好友关系图
  20. DCC - Photoshop - Nvidia NormalMapFilter - 法线生成工具 - 顺便测试 Unity URP 12.1 中的 Decal System

热门文章

  1. 机器学习入门二 ----- 机器学习术语表
  2. vue -- v-cloak解决刷新或者加载出现闪烁(显示变量)
  3. spring与jpa整合 简化persistence.xml配置文件 使用属性文件 数据源dbcp访问数据库...
  4. javascript中模仿接口(interface)
  5. 客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较[转]...
  6. 深度学习pytorch基础入门教程(1小时)-自动梯度
  7. 图灵专栏微信小程序上线
  8. ENVI5.1中Landsat 8数据大气校正
  9. 使用序列标注方法进行关系抽取的相关论文推荐
  10. 设计模式-02-创建型模式详解