当前位置: 首页 > news >正文

河北省住房和城乡建设厅网站查灵台县门户网

河北省住房和城乡建设厅网站查,灵台县门户网,上海哪家做网站关键词排名,网站开发后端用什么ESP32是一款由乐鑫科技(Espressif Systems)推出的双核、低功耗、集成Wi-Fi和蓝牙的单芯片微控制器。它采用了Tensilica Xtensa LX6高性能处理器,具有大量的GPIO引脚、模数转换器、SPI、I2S、UART、PWM、I2C和SD卡接口等功能,可以满…

ESP32是一款由乐鑫科技(Espressif Systems)推出的双核、低功耗、集成Wi-Fi和蓝牙的单芯片微控制器。它采用了Tensilica Xtensa LX6高性能处理器,具有大量的GPIO引脚、模数转换器、SPI、I2S、UART、PWM、I2C和SD卡接口等功能,可以满足各种物联网(IoT)应用的需求。由于其高度集成和低功耗特性,ESP32广泛应用于智能家居、智能城市、工业自动化、智能健康、车联网等领域。

1.1 准备

软件:Arduino IDE
硬件:esp32-dev-module

1.2 esp32_Arduino的MQTT库安装

esp32通过MQTT协议连接到物联网平台,我们需要一个mqtt client的库,帮助我们发布订阅相关的topic。我们还需要一个JSON库,帮我们解析JSON,用来序列化和反序列化物模型的JSON数据。
在工具>管理库中,查找PubSubclient、ArduinoJSON和EspMQTTclient,并安装。

1.3 MQTT连接腾讯云的相关配置

这里使用腾讯云平台,创建物联网公共实例。
(1)填写域名和端口
${productid}.iotcloud.tencentdevices.com:1883
(2)生成username和password
要注意的是username和password是在连接到云端mqtt broker的时候需要填入的,可以通过这个在线工具生成。Hmac签名算法选择【HMAC-SHA1】。
(3)填写订阅和发布的消息,可从云平台中获得。
发送的消息指令,具体数据格式可通过云端的调试功能发送一条消息进行测试。
在这里插入图片描述

1.4 编写代码

#include <Arduino.h>
#include <WiFi.h>
#include "PubSubClient.h"
#include <ArduinoJson.h>
DynamicJsonDocument doc(1024);const char *ssid = "climbot";
const char *pwd  = "climbot903B";
const char *mqtt_server = "E3TGIRQYNA.iotcloud.tencentdevices.com";
const char *mqtt_username = "E3TGIRQYNA01;12010126;CT9W4;1690882370";
const char *mqtt_userpwd  = "72b711c5d7f7e1c76cfca1a785fbddfd3f744163;hmacsha1";
const char *mqtt_clientid = "E3TGIRQYNA01";
const char *mqtt_pub_topic = "$thing/up/property/E3TGIRQYNA/01";
const char *mqtt_sub_topic = "$thing/down/property/E3TGIRQYNA/01";bool power_switch;
float longtitude; 
float latitude;   
int power_percent = 0;#define REPORT_DATA_TEMPLATE "{\"method\":\"report\",\"clientToken\":\"00000001\",\"params\":{\"power_switch\":%d,\"GPS_Info\":{\"longtitude\":%f,\"latitude\":%f},\"_mesh_generic_power_percent\":%d}}"WiFiClient espClient;
PubSubClient mqttclient(espClient);
long lastMsg = 0;
char report_buf[1024];void callback(char* topic, byte* payload, unsigned int length)
{Serial.print("--->Message arrived [");Serial.print(topic);Serial.print("] ");Serial.println();Serial.print("payload [");for (int i=0;i<length;i++) {Serial.print((char)payload[i]);}Serial.println();//处理上位机的控制指令DeserializationError error = deserializeJson(doc, payload);// Test if parsing succeeds.if (error) {Serial.print("deserializeJson() failed: ");Serial.println(error.f_str());return;}else{if (doc["clientToken"]!="00000001") {if (doc["params"]["power_switch"] == 1) {Serial.print("Power On ");power_switch=1;} else {Serial.print("Power Off ");power_switch=0;}}}}void setup_wifi()
{Serial.printf("Connect to %s ", ssid);WiFi.begin(ssid, pwd);while (WiFi.status() != WL_CONNECTED) {Serial.printf(".");delay(500);}Serial.println("Connected!");Serial.print("IP address: ");Serial.println(WiFi.localIP());
}void setup() {Serial.begin(115200);setup_wifi();mqttclient.setServer(mqtt_server, 1883);// connect mqtt servermqttclient.setCallback(callback);mqttclient.setKeepAlive(65535);while (!mqttclient.connect(mqtt_clientid, mqtt_username, mqtt_userpwd)) {Serial.println("mqtt connect fail, reconnect");delay(2000);}Serial.println("mqtt connected!");// sub topicboolean ret = mqttclient.subscribe(mqtt_sub_topic);if (ret != true) {Serial.printf("mqtt subscribe topic [%s] fail\n", mqtt_sub_topic);}Serial.printf("mqtt subscribe topic [%s] ok\n", mqtt_sub_topic);
}void loop() {// client loopmqttclient.loop();// pub topiclong now = millis();if (now - lastMsg > 10000) {lastMsg = now;memset(report_buf, 0, 1024);sprintf(report_buf, REPORT_DATA_TEMPLATE, power_switch,longtitude,latitude,power_percent);Serial.println(report_buf);if (++power_percent > 100) {//模拟传感器数据power_percent = 0;}if (++longtitude > 100) {longtitude = 0;}if (++latitude > 100) {latitude = 0;}if (mqttclient.publish(mqtt_pub_topic, report_buf)) {Serial.printf("mqtt publish topic [%s] ok\n", mqtt_pub_topic);} else {Serial.printf("mqtt publish topic [%s] fail\n", mqtt_pub_topic);}}
}

1.5 烧录和测试

点击下载按钮,待下载完成后,打开串口监视器可看到打印的数据。打开腾讯云平台可查看设备在线状态。
在这里插入图片描述

http://www.yayakq.cn/news/594128/

相关文章:

  • 怎么找网站后台自己 做网站
  • 上传到网站去的文档乱码广告公司网站开发
  • 网站首页建设海口网站建设好
  • 鞋图相册网站怎么做58首码项目网
  • 做办公用品的招聘网站移动建站模板
  • 怎么建设手机网站开封搜索引擎优化
  • 常州微网站建设文档wordpress 定制搜索
  • 基于asp网站开发 论文网络新闻发布平台
  • 网站后期维护需要注意什么松原建设网站
  • 河南省建设培训中心网站浏览学校网站的做介绍
  • 株洲市建设网站静态网站怎么制作
  • 信宜做网站设置网页qq怎么登录
  • 如何做一网站首页莞城微信网站建设
  • 网页制作与网站建设策划书案例国家高新技术企业认定申请条件
  • 招代理的网站建设公司网页游戏公益服平台
  • 涿州市查建设局网站高级网站建设
  • 制作好的网站必须申请设计网站需要什么条件
  • 石家庄做网站公司的电话哪个网站是vue做的
  • google的网站优化工具山西响应式网页建设哪家有
  • 2021不良正能量免费网站房产信息网510
  • 中国排建设银行悦生活网站wordpress pdf 免费下载
  • 西安高新区网站建设南京网站制作公司招聘
  • 木鱼的网站网站建设公司选择意见书
  • 安徽网新网站建设哪儿有网络推广培训
  • 重庆建站多少钱一年wordpress视频自适应代码
  • 舟山网站建设有限公司升级wordpress另一更新正在进行
  • 网站建设伍金手指下拉8微信商城网站建设视频
  • 网站建设需要注意的企业网络营销推广方案策划
  • 如何做论文网站wordpress附件插件下载
  • 做HH网站三亚旅游攻略