利用飞书来实现信息存储和在线远程预览
文章目录
- 利用飞书来实现信息存储和在线远程预览
- 1. 需求
- 2. 实现方法
- 2.1 创建表格
- 2.2 创建飞书捷径
- 2.3 客户端上传数据
- 3. 实现远程预览
1. 需求
在传统的远程监控和存储数据的项目中,我们需要一台有公网IP的服务器来存储设备发上来的数据,同时为了让人能更好的预览数据,我们还需要一个预览的客户端程序,这是一种非常成熟的方案,对于企业来说也非常简单。
但是有的时候,我们不需要搞那么复杂,我们的需求就是定时记录一下设备数据,然后还可以简单的预览它们,这时候我们就需要去找现成的服务来搞这件事,比如用腾讯云、阿里云、华为云,都为个人提供些免费的服务。
本文要说的是利用飞书来实现实时记录的效果,即:实现用户程序向飞书发送报文,飞书将其记录到飞书表格,被授权的用户可以打开这个表格,来通过web查看被记录的信息,这样飞书既充当了服务器,用充当了可以被访问的web显示界面,成本极低,操作简单。
2. 实现方法
2.1 创建表格
首先在飞书中新建一个表格,这个表格将充当服务器的表,如下:
正如我们在服务器创建表一样,创建的表格也需要填充每个列的含义,要写在表格的第一行,后面会为每一列添加一个JSON里面的选项,如下:
2.2 创建飞书捷径
在创建表格完成后,下面我们在飞书上创建捷径。
方法是,点击左边列表内的工作台-》找到飞书捷径打开,如下:
点击创建飞书捷径,如下:
然后会出现下面界面,然后点击触发器的加号,如下:
按下图进行设置
选择应用选项选择webhook,选择触发器勾选catch hook,设置选项这个是重点,其中这个webhook地址就是你上传信息所使用的目的地址,而参数就是你用来传输数据的格式。
上图中这个参数的设置是有固定格式的,它是一个json格式,如下就是我当时填选的内容:
{
"data":{
"file_name": "---",
"file_ver": "---",
"time": "---",
"APIVer": "---",
"cDevID": "---" ,
"CSoftVer": "---" ,
"cHardVer": "---",
"sDevID": "---",
"bleSoftVer": "---"
}
}
然后点击确定,就会回到创建飞书捷径的界面,然后点击选择操作,如下:
按如下操作,在设置选项中选择前面创建的表格,这时候再创将表格的时候写好的title就会被列出来,通过点击右边的加号,将标题和json中的参数进行绑定,如下:
上一步绑定完成后,点击下面的确认,就会进入下面界面,点击创建,并给这个飞书捷径一个名字,在开启就可以了,如下:
2.3 客户端上传数据
上传数据的方法是通过http的post来实现的,因此只要是能联网的设备,不管是ESP32等支持wifi设备,还是4G网络等其它嵌入式,实现这个应该都不难,本文就是用python在pc机上来模拟http的post请求来实现,如下:
# pip install requests
import requests
if __name__ == '__main__':
# url是创建飞书捷径的webhook地址
url = "https://www.feishu.cn/flow/api/trigger-webhook/854a21cbc6757c9bf8141d690f934504"
# 要发送的json串,这个要和创建捷径时候的参数格式一致,下面略是没写(保护我隐私)
data = '''{
"data":{
"file_name": "1234346.txt",
"git_ver": "hash",
"time": "2022-02-17",
"APIVer": "略",
"cDevID": "略" ,
"CSoftVer": "略" ,
"cHardVer": "略",
"sDevID": "略",
"bleSoftVer": "略",
"file_path": "略",
"N_G": "略"
}
}'''
headers = {'content-type': "application/json"}
# 使用http的post请求将表单发送上去
res = requests.post(url=url, data=data, headers=headers)
# 打印上传成功和失败
print(res.text)
pass
在电脑上运行这个脚本,就可以在飞书的那个表格上面创建一条数据。
3. 实现远程预览
只要在飞书上面打开那个表格就可以看见数据了。
当然你也可以将这个分享给其他人,在飞书上找到文档,如下:
然后点击分享-》复制链接,发给需要发送的人就可以了,但是要记住发送后要设置权限,一般它们都是只读。