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

中亿丰建设集团股份有限公司网站企业招标信息发布平台

中亿丰建设集团股份有限公司网站,企业招标信息发布平台,温州做阀门网站公司,电子商务公司注册资金最低多少对于不同的消息类型#xff0c;API 如下#xff1a; 消息类型 HTTP Method HTTP URL 设备上报属性 POST /device/v1//attributes 设备获取属性 GET /device/v1//attributes 设备上报事件 POST /device/v1//event/report 您只需要将以上的 HTTP URL 和接入点拼接即可获得最终…对于不同的消息类型API 如下 消息类型 HTTP Method HTTP URL 设备上报属性 POST /device/v1//attributes 设备获取属性 GET /device/v1//attributes 设备上报事件 POST /device/v1//event/report 您只需要将以上的 HTTP URL 和接入点拼接即可获得最终 API URL例如 https:///device/v1//attributes 包括 HTTP 和 HTTPs 在内调用设备访问 API 时需要通过在 HTTP header 中加入 Project-Key 字段来配合云平台完成设备身份认证。如下 Content-Type: application/json Project-Key: ProjectKey基于以上信息给我编写esp32-s3的idf例程使用post和get两种方式请求数据写出上传和下发的函数代码对下发的json数据进行解析以温度湿度两种数据为例对数据进行输出到端口 以下是基于 ESP32-S3 IDF 的例程示例包括使用 POST 和 GET 请求方式上传和获取数据并解析下发的 JSON 数据将温度和湿度输出到端口。 首先在 main.c 文件中添加以下代码 #include stdio.h #include stdlib.h #include string.h #include esp_wifi.h #include esp_event.h #include esp_log.h #include esp_system.h #include nvs_flash.h #include esp_http_client.h #include cJSON.h// WiFi配置 #define WIFI_SSID YOUR_WIFI_SSID #define WIFI_PASSWORD YOUR_WIFI_PASSWORD// 云平台访问信息 #define ENDPOINT YOUR_ENDPOINT #define ACCESS_TOKEN YOUR_ACCESS_TOKEN #define PROJECT_KEY YOUR_PROJECT_KEY// 上报数据间隔时间毫秒 #define REPORT_INTERVAL 5000static const char *TAG ESP32-S3;// WiFi连接回调函数 static esp_err_t wifi_event_handler(void *ctx, system_event_t *event) {switch(event-event_id) {case SYSTEM_EVENT_STA_START:ESP_LOGI(TAG, Wi-Fi started);esp_wifi_connect();break;case SYSTEM_EVENT_STA_CONNECTED:ESP_LOGI(TAG, Wi-Fi connected);break;case SYSTEM_EVENT_STA_DISCONNECTED:ESP_LOGI(TAG, Wi-Fi disconnected);esp_wifi_connect();break;case SYSTEM_EVENT_STA_GOT_IP:ESP_LOGI(TAG, Obtained IP address);break;default:break;}return ESP_OK; }// HTTP POST请求回调函数 static esp_err_t http_post_event_handler(esp_http_client_event_t *evt) {switch (evt-event_id) {case HTTP_EVENT_ON_DATA:ESP_LOGI(TAG, Received data: %.*s, evt-data_len, (char*)evt-data);// 解析JSON数据cJSON *json cJSON_Parse((char*)evt-data);if (json NULL) {ESP_LOGE(TAG, Failed to parse JSON data);break;}cJSON *temperature cJSON_GetObjectItemCaseSensitive(json, temperature);cJSON *humidity cJSON_GetObjectItemCaseSensitive(json, humidity);if (cJSON_IsNumber(temperature)) {ESP_LOGI(TAG, Temperature: %.2f, temperature-valuedouble);}if (cJSON_IsNumber(humidity)) {ESP_LOGI(TAG, Humidity: %.2f, humidity-valuedouble);}cJSON_Delete(json);break;default:break;}return ESP_OK; }// HTTP GET请求回调函数 static esp_err_t http_get_event_handler(esp_http_client_event_t *evt) {switch (evt-event_id) {case HTTP_EVENT_ON_DATA:ESP_LOGI(TAG, Received data: %.*s, evt-data_len, (char*)evt-data);// 解析JSON数据cJSON *json cJSON_Parse((char*)evt-data);if (json NULL) {ESP_LOGE(TAG, Failed to parse JSON data);break;}cJSON *temperature cJSON_GetObjectItemCaseSensitive(json, temperature);cJSON *humidity cJSON_GetObjectItemCaseSensitive(json, humidity);if (cJSON_IsNumber(temperature)) {ESP_LOGI(TAG, Temperature: %.2f, temperature-valuedouble);}if (cJSON_IsNumber(humidity)) {ESP_LOGI(TAG, Humidity: %.2f, humidity-valuedouble);}cJSON_Delete(json);break;default:break;}return ESP_OK; }// 上报数据函数 void upload_data(void) {// 创建JSON数据cJSON *json cJSON_CreateObject();cJSON_AddNumberToObject(json, temperature, 25.0);cJSON_AddNumberToObject(json, humidity, 50.0);char *json_str cJSON_PrintUnformatted(json);cJSON_Delete(json);// 构建HTTP POST请求URLchar url[128];snprintf(url, sizeof(url), https://%s/device/v1/%s/attributes, ENDPOINT, ACCESS_TOKEN);// 配置HTTP请求参数esp_http_client_config_t config {.url url,.event_handler http_post_event_handler,.method HTTP_METHOD_POST,.timeout_ms 5000,.buffer_size 1024,.headers {.content_type application/json,.project_key PROJECT_KEY,.project_key_len strlen(PROJECT_KEY),},};// 发送HTTP POST请求esp_http_client_handle_t client esp_http_client_init(config);esp_http_client_set_post_field(client, json_str, strlen(json_str));esp_http_client_perform(client);esp_http_client_cleanup(client);free(json_str); }// 获取数据函数 void get_data(void) {// 构建HTTP GET请求URLchar url[128];snprintf(url, sizeof(url), https://%s/device/v1/%s/attributes, ENDPOINT, ACCESS_TOKEN);// 配置HTTP请求参数esp_http_client_config_t config {.url url,.event_handler http_get_event_handler,.method HTTP_METHOD_GET,.timeout_ms 5000,.buffer_size 1024,.headers {.content_type application/json,.project_key PROJECT_KEY,.project_key_len strlen(PROJECT_KEY),},};// 发送HTTP GET请求esp_http_client_handle_t client esp_http_client_init(config);esp_http_client_perform(client);esp_http_client_cleanup(client); }// 主任务 void app_main(void) {// 初始化非易失性存储NVSnvs_flash_init();// 初始化TCP/IP堆栈tcpip_adapter_init();// 注册WiFi事件处理程序ESP_ERROR_CHECK(esp_event_loop_create_default());wifi_init_config_t wifi_init_config WIFI_INIT_CONFIG_DEFAULT();ESP_ERROR_CHECK(esp_wifi_init(wifi_init_config));ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, wifi_event_handler, NULL));ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, wifi_event_handler, NULL));ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));wifi_config_t wifi_config {.sta {.ssid WIFI_SSID,.password WIFI_PASSWORD,},};ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, wifi_config));ESP_ERROR_CHECK(esp_wifi_start());// 等待连接到WiFi网络ESP_LOGI(TAG, Waiting for Wi-Fi connection...);while (1) {vTaskDelay(1000 / portTICK_PERIOD_MS);if (wifi_is_connected()) {ESP_LOGI(TAG, Connected to Wi-Fi);break;}}// 循环上报数据和获取数据while (1) {upload_data();get_data();vTaskDelay(REPORT_INTERVAL / portTICK_PERIOD_MS);} }请确保将代码中的以下占位符替换为您的实际信息 YOUR_WIFI_SSID您的Wi-Fi SSID。YOUR_WIFI_PASSWORD您的Wi-Fi密码。YOUR_ENDPOINT云平台的访问端点。YOUR_ACCESS_TOKEN设备的访问令牌。YOUR_PROJECT_KEY云平台的项目密钥。 这段代码使用了 ESP-IDF 中的 WiFi 和 HTTP Client 组件通过 Wi-Fi 连接到网络然后循环执行上报数据和获取数据的函数。上传数据使用 HTTP POST 请求将温度和湿度作为 JSON 数据发送到指定的 API URL。获取数据使用 HTTP GET 请求从指定的 API URL 获取返回的 JSON 数据并解析出温度和湿度值。最后将温度和湿度值输出到端口。 SS_TOKEN设备的访问令牌。 YOUR_PROJECT_KEY云平台的项目密钥。 这段代码使用了 ESP-IDF 中的 WiFi 和 HTTP Client 组件通过 Wi-Fi 连接到网络然后循环执行上报数据和获取数据的函数。上传数据使用 HTTP POST 请求将温度和湿度作为 JSON 数据发送到指定的 API URL。获取数据使用 HTTP GET 请求从指定的 API URL 获取返回的 JSON 数据并解析出温度和湿度值。最后将温度和湿度值输出到端口。 请注意此例程仅作为参考示例具体实现可能需要根据您的实际需求进行适当修改和调整。 如需指导可私聊适当收费
http://www.hkea.cn/news/14324291/

相关文章:

  • 环保厅网站建设的必要性寿光网站建设价格
  • 音乐网站开发案例电脑上怎么删除wordpress
  • 做网站图片视频加载慢南宁企业网页设计
  • 北京一度网站建设福州市建设工程工料机信息网站
  • 建设外贸公司网站steam交易链接在哪看
  • 黄龙云 加强网站建设网站建设包含图文设计
  • 怎么在百度上搜到自己的网站做英语题目的网站
  • 商标注册 网站建设如何入账徐州自助建站模板
  • 有没有电商设计的网站参考汉中市网站建设公司
  • 石家庄网络营销公司网站的seo优化怎么做
  • 仿腾讯游戏网站源码wordpress多站点统计
  • 淘宝客单页网站怎么做注册公司的流程及手续
  • 广州网站搭建最美珠海app下载
  • 上海优质建筑设计网公司企业网站seo实
  • 定制旅游网站开发域名注册的网站
  • 潍坊学网站建设该企业为暂停开票企业解决方案
  • 怎样创建购物网站浙江建设厅特种作业证查询
  • 网站线框图怎么做手机网站 后台
  • 机械加工网站哪个好商城开源
  • 建设集团网站的作用宁波专业网站建设
  • 晋江企业网站制作徐州模板建站平台
  • 事业单位网站建设费入什么科目百度热搜榜在哪里看
  • 关键词整站排名优化响应式WordPress企业主题
  • 站酷网站源码江苏 建设 招标有限公司网站
  • 软件wap网站资源搜索网站是怎么做的
  • 潢川网站建设安卓优化大师旧版本下载
  • 西安监控系统网站开发天河网站建设哪里好
  • 仿做购物网站wordpress音乐自动播放
  • 网站出现404任县网站建设价格信息
  • 大连公司网站建设抚州南城网站建设