mysql sensor表_使用通量从 MySQL 获取 IoT 传感器元数据

2e2883fc9c8242647c3a0a665d7de7d9.png了解如何使用 Flux。

如果已部署 IoT 解决方案,则必须决定在何处以及如何存储所有数据。至少从我的角度来看,存储传感器数据的最佳和最简单的地方,当然是InfluxDB。

我说这不能令你吃惊。您需要存储的其他数据呢?关于传感器的数据?诸如传感器制造商、投入使用日期、客户 ID、运行平台类型等。你知道,所有的传感器元数据。

您可能还喜欢:

旧通量,新通量

当然,一个解决方案是简单地将所有内容作为标签添加到 InfluxDB 中的传感器数据中,然后继续您的一天。是否要将所有传感器数据与每个数据点一起存储?当时很多事情似乎是个好主意,但当现实袭来时,事情很快就变成了一个可怕的想法。

由于大多数元数据不会经常更改,并且可能与客户信息相关联,因此在传统的 RDBMS 中,它的最佳位置很可能。很可能您已经有了一个包含客户数据的 RDBMS,那么为什么不继续利用该投资呢?

正如我反复说过的,这不是传感器数据的最佳位置。现在,您可以在两个不同的数据库中获得 IoT 数据。如何访问它,并将其合并到一个位置,在那里您可以看到它的所有?

通量是答案

告诉我你看到了你必须看到这一点。好吧,公平地说,你可能有,因为,毕竟,你将如何获得你的基于SQL的数据通过Flux?这就

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码包含了一系列函数调用和任务创建,用于初始化设备并启动相关功能。下面是每个函数调用的简要解释: 1. `xQueueCreate(10, sizeof(D_MsgData))`:创建一个队列 `g_usif_queue`,队列大小为 10,每个元素大小为 `D_MsgData` 的字节大小。 2. `d_ble_register_callback(ble_user_callback)`:注册 BLE 回调函数 `ble_user_callback`。 3. `d_sensor_data_register_callback(sensor_data_user_callback)`:注册传感器数据回调函数 `sensor_data_user_callback`。 4. `d_timer_register_callback(timer_user_callback)`:注册定时器回调函数 `timer_user_callback`。 5. `d_uart_register_callback(uart_user_callback, LOOKUP_STR_OK, LOOKUP_STR_ERR, LOOKUP_STR_NEW_MSG, CAN_SEND_DATA_2_IOT)`:注册 UART 回调函数 `uart_user_callback`,并传递一些字符串参数。 6. `d_iot_timeout_timer_register_callback(iot_timeout_timer_user_callback)`:注册物联网超时定时器回调函数 `iot_timeout_timer_user_callback`。 7. `d_acc_gpiote_interrupt_disable()`:禁用加速度计 GPIO 中断。 8. `d_lcd_display_str(D_LCD_DISPLAY_STR_BOOT, 0)`:在 LCD 上显示启动信息。 9. `d_led_light_on(D_LED_LIGHT_RED)`:点亮红色 LED 灯。 10. `nrf_delay_us(5000000)`:延迟 5000000 微秒(5秒)。 11. `d_led_light_off(D_LED_LIGHT_RED)`:关闭红色 LED 灯。 12. `d_led_uninit()`:关闭 LED 灯。 13. `d_alarm_off()`:关闭报警功能。 14. `d_acc_gpiote_interrupt_enable()`:启用加速度计 GPIO 中断。 15. `d_power_register_callback(power_off_user_callback)`:注册电源关闭回调函数 `power_off_user_callback`。 16. `d_acc_register_callback(acc_user_callback)`:注册加速度计回调函数 `acc_user_callback`。 17. `d_lcd_clean()`:清空 LCD 屏幕。 18. `xTaskCreate(d_usif_task, "d_usif_task", 256*3, g_usif_queue, 2, &xHandle_usif_task)`:创建一个任务 `d_usif_task`,任务名为 "d_usif_task",任务栈大小为 256*3 字节,传递 `g_usif_queue` 给任务作为参数,优先级为 2,并将任务句柄保存在 `xHandle_usif_task` 中。 19. `configASSERT(xHandle_usif_task)`:确保任务创建成功。 20. `d_sensor_data_send_start()`:启动传感器数据发送。 21. `d_uart_clear_data_buf()`:清空 UART 数据缓冲区。 综上所述,这段代码的作用是初始化设备和相关功能,并创建一个名为 "d_usif_task" 的任务。具体的实现细节可能需要参考相关函数的定义和文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值