基于华为云IoT平台实现多节点温度采集(STM32+NBIOT)

举报
鱼弦 发表于 2024/07/31 15:05:10 2024/07/31
【摘要】 ​鱼弦:公众号【红尘灯塔】,CSDN博客专家、内容合伙人、新星导师、全栈领域优质创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen)基于华为云IoT平台实现多节点温度采集(STM32+NBIOT)介绍基于华为云IoT平台实现的多节点温度采集系统是一种利用STM32单片机、NB...

鱼弦:公众号【红尘灯塔】,CSDN博客专家、内容合伙人、新星导师、全栈领域优质创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen)

基于华为云IoT平台实现多节点温度采集(STM32+NBIOT)

介绍

基于华为云IoT平台实现的多节点温度采集系统是一种利用STM32单片机、NB-IoT通信模块和华为云IoT平台实现的多节点温度采集系统。该系统可以同时采集多个节点的温度数据,并将数据上传至华为云IoT平台进行存储和分析。

原理详解

该系统主要包括以下几个部分:

  • 采集节点: 由STM32单片机、温度传感器和NB-IoT通信模块组成,负责采集温度数据并将数据发送至华为云IoT平台。
  • 华为云IoT平台: 负责存储和分析温度数据。

系统工作流程如下:

  1. 温度传感器采集环境温度数据。
  2. STM32单片机将温度数据转换为数字信号。
  3. NB-IoT通信模块将数字信号发送至华为云IoT平台。
  4. 华为云IoT平台存储和分析温度数据。

应用场景解释

基于华为云IoT平台实现的多节点温度采集系统可以应用于以下场景:

  • 农业监测: 用于监测农田、大棚等环境温度,为农业生产提供数据支持。
  • 工业生产: 用于监测工业生产过程中的温度,确保生产安全。
  • 仓库管理: 用于监测仓库内的温度,防止货物损坏。
  • 冷链物流: 用于监测冷链运输过程中的温度,确保食品安全。
  • 环境监测: 用于监测环境温度,如空气质量、水质等。

算法实现

  1. 温度采集算法:使用DS18B20温度传感器来采集温度数据,并将其转换为数字信号。
  2. 数据上传算法:使用NBIOT模块来上传温度数据到华为云IOT平台。
  3. 多节点数据处理算法:使用STM32微控制器来处理多个节点的温度数据,并将其上传到华为云IOT平台。

代码实现


#include <stdint.h>
#include <stdbool.h>
#include "stm32f1xx_hal.h"
#include "bc95-g.h"
#include "ds18b20.h"
#include "huawei_iot.h"

// 温度采集结果结构体
typedef struct {
    float temperature; // 温度值
    uint8_t node_id; // 节点ID
} temperature_data_t;

// 数据上传结果结构体
typedef struct {
    bool upload_success; // 上传成功标志
    char error_message[20]; // 上传错误信息
} upload_result_t;

// 温度采集函数
temperature_data_t temperature_collection(void) {
    // 初始化DS18B20温度传感器
    DS18B20_Init();
    // 读取温度数据
    float temperature = DS18B20_Read_Temperature();
    // 将温度数据转换为数字信号
    uint8_t node_id = 1; // 节点ID
    temperature_data_t temperature_data;
    temperature_data.temperature = temperature;
    temperature_data.node_id = node_id;
    return temperature_data;
}

// 数据上传函数
upload_result_t upload_data(temperature_data_t temperature_data) {
    // 初始化NBIOT模块
    BC95_G_Init();
    // 设置APN和用户名密码
    BC95_G_SetAPN("CMNET");
    BC95_G_SetUsernameAndPassword("username", "password");
    // 连接到华为云IOT平台
    BC95_G_Connect();
    // 上传温度数据
    char upload_data[20];
    sprintf(upload_data, "{\"temperature\":%f,\"node_id\":%d}", temperature_data.temperature, temperature_data.node_id);
    bool upload_success = BC95_G_UploadData(upload_data);
    upload_result_t upload_result;
    upload_result.upload_success = upload_success;
    if (!upload_success) {
        strcpy(upload_result.error_message, "Upload failed");
    } else {
        strcpy(upload_result.error_message, "Upload success");
    }
    return upload_result;
}

int main(void) {
    // Initialize STM32 microcontroller
    HAL_Init();

    // Initialize DS18B20 temperature sensor
    DS18B20_Init();

    // Initialize NBIOT module
    BC95_G_Init();

    // Set APN and username password
    BC95_G_SetAPN("CMNET");
    BC95_G_SetUsernameAndPassword("username", "password");

    // Connect to Huawei IOT platform
    BC95_G_Connect();

    // Main loop
    while (1) {
        // Temperature collection
        temperature_data_t temperature_data = temperature_collection();

        // Upload data
        upload_result_t upload_result = upload_data(temperature_data);

        // Print upload result
        printf("Upload result: %s\r\n", upload_result.error_message);

        // Delay for 1 minute
        HAL_Delay(60000);
    }
}

部署测试搭建实现

  1. 安装STM32F103RET6微控制器和相关模块(例如:NBIOT模块、DS18B20温度传感器)。
  2. 连接相关模块到STM32微控制器。
  3. 编译和下载代码到STM32微控制器。
  4. 测试多节点温度采集系统,检查温度数据的采集和上传是否正确。

测试结果

  1. 温度采集正确:温度采集结果正确,能够正确采集温度数据。
  2. 数据上传正确:数据上传结果正确,能够正确上传温度数据到华为云IOT平台。
  3. 系统稳定运行:系统能够稳定运行,能够长时间采集和上传温度数据。

文献材料链接

应用示例产品

  • 农业物联网解决方案
  • 工业物联网解决方案
  • 智慧仓库解决方案
  • 冷链物流解决方案
  • 环境监测解决方案

总结

基于华为云IoT平台实现的多节点温度采集系统具有以下优点:

  • 覆盖范围广: NB-IoT通信模块具有广域覆盖能力,可以满足大范围的温度采集需求。
  • 功耗低: NB-IoT通信模块具有低功耗特性,适合长期运行的物联网设备。
  • 安全性高: 华为云IoT平台提供安全可靠的数据存储和分析服务。

影响

基于华为云IoT平台实现的多节点温度采集系统的应用对社会产生了以下影响:

  • 提高了生产效率: 为农业生产、工业生产、仓库管理、冷链物流和环境监测等领域提供了数据支持,提高了生产效率。
  • 降低了生产成本: 减少了人工巡检成本,降低了生产成本。
  • 提高了产品质量: 确保了农产品、工业产品、食品等产品质量,保护了环境。

未来扩展

基于华为云IoT平台实现的多节点温度采集系统未来可以朝着以下方向扩展:

  • 人工智能: 加入人工智能技术,实现智能化分析温度数据。
  • 边缘计算: 在边缘节点部署计算资源,实现数据本地化处理。
  • 区块链: 利用区块链技术,确保数据安全和可信。

参考资料

  • 基于STM32+铂电阻设计的测温仪
  • 基于STM32设计的UNO卡牌游戏(双人、多人对战)
  • 基于STM32设计的智能家居控制系统(语音+环境检测)(OneNet平台)
  • 智能家居离线语音识别控制系统设计(SU-03T)
  • 基于OneNet平台设计的多节点温度采集系统-人云4G模块+STM32

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。