大象笔记

知者行之始,行者知之成

InfluxDB 2.0 数据备份恢复,导出/导入

第一次物联网项目中使用 InfluxDB 2.0,心里最没底的就是数据安全性问题。 而且在 WSL Ubuntu 中有重启之后,永远无法启动的问题,除非清空数据。 所以,必须在线上生产服务器上反复测试数据备份流程。 InfluxDB 数据备份 influx backup 命令格式: influx backup <backup-path> -t <root-token> root token 在哪里获取? 官方文档的说明是: The root authorization token (the token created for the first user in th ...

阅读全文...

InfluxDB 2.0 查询结果,pivot 使一个 table 包含多个 field

我的需求 在 Antd Pro 后台 table 列表,每行数据对应 InfluxDB 一个 measurement tag 一个时间点所有 field 数据。 例如: 一行数据为,一个网站指定网页在某一分钟的 UV,PV。下一行数据为下一分钟的相应数据。 InfluxDB 2.0 默认的返回 table 是怎样的 先写入测试数据,假设 org 为 sunzhongwei.com,bucket 也是 sunzhongwei.com。 里面的: measurement 分为两个 sunzhongwei.com 和 google.com。 tag:page 有两个值 home 和 tool,代表 ...

阅读全文...

InfluxDB 2.0 的数据查询语法

目标 查询最近的50条数据。可以分页,符合 Antd Pro Table 的显示规范。 查询指定时间段内的数据。 在时间跨度大的情况下,可以聚合数据,避免取出的数据过多。 指定 field key 查询数据,单 field,多 field golang sdk 相关的查询方法使用 Flux Flux 是 InfluxDB 2.0 引入的一门查询语言,号称借鉴了 Js 的语法。 相关英文单词 influx: n. 流入;汇集;河流的汇集处 flux: n. 流量;变迁;不稳定;流出; vt. 使熔融;用焊剂处理; vi. 熔化;流出 mean: 平均值 aggregate: 聚合 down ...

阅读全文...

Golang 写入数据到 InfluxDB 2.0

Golang SDK https://github.com/influxdata/influxdb-client-go 生成 Token 在 InfluxDB UI 后台,可以手动生成 Token。而且里面有 Golang 的示例代码。 http://localhost:8086/ 安装依赖 go get github.com/influxdata/influxdb-client-go/v2 阻塞与非阻塞 WriteAPIBlocking: 阻塞 WriteAPI: 非阻塞。即异步写 异步写的机制,数据首先被异步写入到一个 buffer,满足一定条件时才会写入数据库。 条件为: 要么缓 ...

阅读全文...

InfluxDB 2.0 写入数据及查询

目标 了解 InfluxDB 2.0 写入数据格式 Line protocol Influx 命令行写入 如何查看写入的数据 TODO: Golang SDK 写入 写入数据格式 Line protocol https://docs.influxdata.com/influxdb/v2.0/reference/syntax/line-protocol/ 格式: <measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<fi ...

阅读全文...

InfluxDB 2.0 中 bucket 与 measurement 的区别

官方论坛的一个讨论: https://community.influxdata.com/t/whats-the-logical-connection-between-buckets-measurements-retention-policies-in-influxdb-2-0/15900 官方的一篇博客文章: https://www.influxdata.com/blog/data-layout-and-schema-design-best-practices-for-influxdb/ Separate data into buckets when you need to assign d ...

阅读全文...

Ubuntu 上安装 InfluxDB 2.0

环境 Ubuntu 20.04 WSL 开发环境 下载并安装 InfluxDB 到官方下载页: https://portal.influxdata.com/downloads/ 选择版本,及平台类型。例如,我这里选的就是 Ubuntu & Debian: wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.7-amd64.deb sudo dpkg -i influxdb2-2.0.7-amd64.deb 输出信息中,可以看到自动创建了 systemd 的配置: Created symlink /etc/sys ...

阅读全文...

小程序多页面间共享蓝牙连接状态

场景 设备列表页,展示可连接的蓝牙设备列表,并选中指定设备建立连接 数据展示页,自动同步设备上的运行状态数值 (使用设备列表页已建立的连接) 参数设置页,进行设置操作 (也需要用到设备列表页建立的连接) 发送、接收涉及的参数 发送:wx.writeBLECharacteristicValue deviceId serviceId characteristicId 接收: wx.onBLECharacteristicValueChange & wx.notifyBLECharacteristicValueChange deviceId serviceId characteris ...

阅读全文...

小程序蓝牙设备通信逻辑及接口

主要分三大块功能: 开始扫描附近的蓝牙设备列表 建立连接 断开连接 开始扫描:1. 初始化蓝牙模块 接口:wx.openBluetoothAdapter 开始扫描:2. 开始搜寻附近的蓝牙外围设备 接口:wx.startBluetoothDevicesDiscovery 注意事项: 此操作比较耗费系统资源,请在搜索并连接到设备后调用 wx.stopBluetoothDevicesDiscovery 方法停止搜索 参数 services:如果设置此参数,则只搜索广播包有对应 uuid 的主服务的蓝牙设备。建议主要通过该参数过滤掉周边不需要处理的其他蓝牙设备。主服务 uuid 都是四位的。 ...

阅读全文...

桌面工具 XCOM 调试小程序蓝牙通信

首先,需要将蓝牙开发板用 USB 连接到 Windows 主机上,然后使用小程序连接蓝牙设备。 串口选择 COM3 串口操作 打开串口。 注意,如果不打开,就无法接收小程序发送到蓝牙设备的数据。 关闭发送新行 例如,我想模拟向小程序发送数据: 34 34 35 35 31 31 31 31 31 但实际上,从小程序接收到的数据为: 34 34 35 35 31 31 31 31 31 0D 0A 这个 0D0A 是 XCOM 自动加上的换行,需要取消勾选 "发送新行" 配置截图 ...

阅读全文...

Golang Gorm Error 1292: Incorrect datetime value: '0000-00-00' for column

报错内容 在用 Golang Gorm 更新 MySQL 一条数据时,报错: Error 1292: Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1 UPDATE `repair` SET `created_at`='0000-00-00 00:00:00',`updated_at`='2021-06-03 17:03:31.359' WHERE `id` = 2 报错代码 我是将 Antd Pro Web 管理后台的数据通过 API 接口发送给后台 Golang 接口,进行更新。 由于前端不需要 ...

阅读全文...

Ant Design Form.Item 中使用 Select 组件默认值总是显示数字

现象 在 Antd Pro 中使用了 Antd Form 来编辑报修单的进度状态。 但是在选中一条记录,在使用 Select 组件进行编辑时,总是显示状态码,而非状态描述。 看起来是之前遇到过的,select value 的整型与字符串的转换问题。 Warning: children should be Select.Option or Select.OptGroup instead of Option 原始代码: <Form.Item name="status" label="状态"> <Select> <Optio ...

阅读全文...