大象笔记

知者行之始,行者知之成

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 ...

阅读全文...

Antd Form 一行多个 Form.Item 组件

在使用 Antd Form 时,当 Form 的宽度很宽,一行只显示一个 input 时,感觉空间有点浪费。 一行能同时显示两个 input 输入框就好了,例如,同时显示: 姓名 电话 Form 中的示例 <Row gutter={24}>{getFields()}</Row> <Row> <Col span={24} style={{ textAlign: 'right' }}> <Button type="primary" htmlType="submit ...

阅读全文...

对您的 AdMob 帐号设置了临时性的广告投放限制

早上起床收到一封 Google Admob 的邮件: 对您的 AdMob 帐号设置了临时性的广告投放限制 我们会继续评估您的流量,并自动审核和更新此限制。通常,广告投放限制对发布商的影响不会超过 30 天,但在某些情况下,影响时间可能会更长。很遗憾,我们无法确定具体需要多长时间。 在此期间,您的帐号仍然可以正常使用,您可以在合作规范中心查看这一帐号级问题的详细信息。 登录 Google Admob 后台会看到醒目的提示: 广告投放受到限制 您可以展示的广告数量受到限制。要了解详情,请前往合作规范中心。 悲剧了,这个月好不容易挤出来时间上线了两个 Android APP,看来是没法赚广 ...

阅读全文...

Antd Pro 列表页 ProTable 自定义搜索字段

例如,我想在 Antd Pro 列表页的查询区域去掉一些字段,不希望这些字段参与搜索。 参考 ProTable 组件的文档: https://procomponents.ant.design/components/table 实际上在设置 columns 时,就可以通过 column 配置来设置一个字段是否可以被搜索。 代码示例 const columns: ProColumns<API.Article>[] = [ { title: "标题", dataIndex: "title", valu ...

阅读全文...