在云端獲取STM32L4 Discovery Kit开发板資訊

0

【以下的问题经过翻译处理】 我已经按照AWS FreeRTOS的前置条件指南https://docs.aws.amazon.com/freertos/latest/userguide/freertos-prereqs.html,成功地将消息发送到AWS云中。然而,现在我希望将板子上的传感器数据,尤其是温度,显示在云端,该如何实现呢?

profile picture
专家
已提问 5 个月前24 查看次数
1 回答
0

【以下的回答经过翻译处理】 嗨Obinex。您可以使用BSP中的功能访问传感器数据,然后构建JSON文档进行发布。

您正在使用的演示在此处发布明文消息:https://github.com/aws/amazon-freertos/blob/main/demos/coreMQTT/mqtt_demo_mutual_auth.c#L981-L993

您可以在此处找到各种传感器的BSP驱动程序:https://github.com/aws/amazon-freertos/tree/main/vendors/st/stm32l475_discovery/BSP/B-L475E-IOT01

因此,您需要类似于以下代码来创建JSON文档而不是明文字符串:

int16_t accel[3], magneto[3];
float gyro[3];
BSP_ACCELERO_AccGetXYZ(accel);
BSP_GYRO_GetXYZ(gyro);
BSP_MAGNETO_GetXYZ(magneto);

++publishCount;

snprintf(publishPayload, sizeof(publishPayload), "{\"sequence\":%ld"
    ",\"payload\": {"
    "\"temperature\":%.2f"
    ",\"humidity\":%.2f"
    ",\"pressure\":%.2f"
    ",\"accelerometer\":{\"x\":%d,\"y\":%d,\"z\":%d}"
    ",\"gyroscope\":{\"x\":%.2f,\"y\":%.2f,\"z\":%.2f}"
    ",\"magnetometer\":{\"x\":%d,\"y\":%d,\"z\":%d}"
    "}}",
       publishCount,
       BSP_TSENSOR_ReadTemp(),
       BSP_HSENSOR_ReadHumidity(),
       BSP_PSENSOR_ReadPressure(),
       accel[0], accel[1], accel[2],
       gyro[0], gyro[1], gyro[2],
       magneto[0], magneto[1], magneto[2]
       );

如果您想知道如何在云端显示它,建议您阅读以下博客。 Pattern 4是最简单的入门方式之一。

https://aws.amazon.com/blogs/iot/7-patterns-for-iot-data-ingestion-and-visualization-how-to-decide-what-works-best-for-your-use-case/

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则