大连网站建设工作室,txt发布wordpress,徐州市建设局网站电话号码,网站建设管理ppt模板数据采集
我们可以通过HTTP/gRPC与deviceShifu进行通信#xff0c;deviceShifu会将我们发送的请求转换成设备所支持协议的形式#xff0c;并发送给设备。
当设备接收到指令之后#xff0c;数据会传输到deviceShifu中#xff0c;之后deviceShifu将数据作为我们请求的返回值…数据采集
我们可以通过HTTP/gRPC与deviceShifu进行通信deviceShifu会将我们发送的请求转换成设备所支持协议的形式并发送给设备。
当设备接收到指令之后数据会传输到deviceShifu中之后deviceShifu将数据作为我们请求的返回值进行返回从而实现数据的采集。
实现自动化数据采集
1.首先我们可编写以下程序来实现自动采集数据。该程序用于对之前运行的edgedevice-thermometer设备进行实时数据采集将温度数据进行解析并输出。该程序可以通过任意语言、任意形式进行编写您可以将数据存入您的数据库中或者存入文件中。
package main import ( log io/ioutil net/http strconv time
) func main() { targetUrl : http://edgedevice-thermometer/read_valuereq, _ : http.NewRequest(GET, targetUrl, nil)for{res, _ : http.DefaultClient.Do(req)body, _ : ioutil.ReadAll(res.Body)temperature, _ : strconv.Atoi(string(body)) if temperature 20 {log.Println(High temperature:, temperature)} else if temperature 15 {log.Println(Normal temperature:, temperature)} else {log.Println(Low temperature:, temperature)}res.Body.Close()time.Sleep(2 * time.Second)}
}
2.使用go mod init high-temperature-detecto生成go.mod文件。
3.对于上述程序我们可以将其打包成docker image并加载到集群中以便其能更好的与deviceShifu进行通信。创建以下Dockerfile文件
# syntaxdocker/dockerfile:1 FROM golang:1.17-alpine
WORKDIR /app
COPY go.mod ./
RUN go mod download
COPY *.go ./
RUN go build -o /high-temperature-detector
EXPOSE 11111
CMD [ /high-temperature-detector ]
4.使用Dockerfile文件生成docker image需执行以下命令
docker build --tag high-temperature-detector:v0.0.1
5.之后我们将docker image加载到集群中需执行以下命令
kind load docker-image high-temperature-detector:v0.0.1
6.运行我们编写的数据采集程序 需执行以下命令
kubectl run high-temperature-detector --imagehigh-temperature-detector:v0.0.1
7.最后我们查看该程序的日志信息获取数据需执行以下命令:
kubectl logs high-temperature-detector -f
得到的数据结果如下
2021/10/18 10:35:35 High temperature: 24
2021/10/18 10:35:37 High temperature: 23
2021/10/18 10:35:39 Low temperature: 15
2021/10/18 10:35:41 Low temperature: 11
2021/10/18 10:35:43 Low temperature: 12
2021/10/18 10:35:45 High temperature: 28
2021/10/18 10:35:47 Low temperature: 15
2021/10/18 10:35:49 High temperature: 30
2021/10/18 10:35:51 High temperature: 30
2021/10/18 10:35:53 Low temperature: 15本文由边无际授权发布