首页 > 其他分享 >APUE-树莓派温度监控

APUE-树莓派温度监控

时间:2024-04-20 14:46:59浏览次数:21  
标签:采样 树莓 https APUE 服务器端 监控 上报 com 客户端

一、项目介绍

树莓派上通过一线协议连接DS18B20,然后采用网络socket编程同时实现客户端和服务器端程序,其中客户端主要实现定时上报的功能,服务器端用来采集客户端上报的数据并存储到数据库中。

1、客户端介绍

  • 连接服务器的主机名和端口号可以通过命令行参数修改;
  • 客户端程序需要定时采样上报 一次数据,该时间也可以通过命令行参数来调整;
  • 客户端上报数据包含设备序列号、采样时间、采样温度值,并以字符串形式上报;
  • 如果网络socket异常(如网络断线、服务器端退出),在网络故障恢复后客户端程序能够自动重连;
  • 在网络故障出错期间,定时采样正常进行,在此瞬间所有采样的数据临时存储到SQLite数据库中;
  • 网络故障恢复之后,客户端程序自动将之前暂存到数据库中的数据上报销服务器上去, 并从里面删除。

2、服务器端介绍

  • 服务器端程序要能够通过命令行指定该程序监听的端口号;
  • 服务器端要采用多进程、多线程或多路复用等机制中的某一种实现多客户端并发上报;
  • 服务器端在接受到客户端上报的数据并解析成功之后,应该将数据永久存储到数据库中。

三、问题

1、断线重连如何实现:
使用getsocketopt() 可以确认连接状态
https://www.cnblogs.com/LiBlog--/p/18072747

2、使用makefile运行程序时找不到动态库:
makefile里每一个指令是一个独立的进程,export这一行是一个进程,export是临时改变环境变量,它结束了以后,对于下一行执行的这个进程来说,环境变量其实并没有改变。
https://www.cnblogs.com/LiBlog--/p/18072903

3、使用开源库sqlite3导致内存泄漏:
使用valgrind检查内存泄漏
https://www.cnblogs.com/LiBlog--/p/18127171

四、项目代码

https://github.com/SheaLiao/APUE_Project

标签:采样,树莓,https,APUE,服务器端,监控,上报,com,客户端
From: https://www.cnblogs.com/LiBlog--/p/18146703

相关文章

  • 性能测试——性能测试-linux监控工具-Centos7.x安装Prometheus
    此处参考小菠萝文档:https://www.cnblogs.com/poloyy/p/12375039.html 下载安装PrometheusPROM_PATH='/data/prometheus'mkdir-p${PROM_PATH}mkdir-p${PROM_PATH}/{data,conf,logs,bin}useraddprometheuscd/usr/local/srcwgethttps://github.com/prometheus/prom......
  • 性能测试——性能测试-linux监控工具——Jmeter插件之ServerAgent服务器性能监控工具
    安装插件1、在Jmeter官网:https://jmeter-plugins.org/wiki/PluginsManager/下载插件管理器Plugins-manager.jar  参考博客地址:https://blog.csdn.net/qq_45664055/article/details/105979481              需要先安装java,设置环境变量: ......
  • 树莓派wiringPi库详解
      树莓派wiringPi库详解 WiringPi/wiringPi/wiringSerial.c串口通信使用时需要包含头文件:#include<wiringSerial.h>intserialOpen(char*device,intbaud) device:串口的地址,在Linux中就是设备所在的目录。默认一般是"/dev/ttyAMA0",我的是这样的。baud:波特率返......
  • 树莓派命令
    切换root用户:sudo su        ......
  • 性能测试——性能测试-linux监控工具nmon的安装与使用
    安装;  显示截图:    简单使用命令:                                             参考文档:https://blog.csdn.net/m0_61066945/article/details/12679959......
  • 网络监控:交换机监控新姿势
    编者荐语:本文是社区用户写的文章,通过Categraf的SNMP插件给网络监控提供了一个新的选择,转给大家参考。大家好,我是小斐呀。关于网络监控领域前面文章主要是基于SNMPExporter+Prometheus+Grafana的架构中介绍如何使用和部署,往期文章。接下来我们基于前面的文章做......
  • 写一个监控采集公众号文章的插件
    原文链接:https://mp.weixin.qq.com/s/f8zbM6wMld3koqjaFbCuxw前言微信关注了很多技术类的公众号,但是一直都没看,所以想先把文章下载下来,放着以后可能一定会看。之前写的Python微信机器人系列文章里提到了如何hook微信的实时消息,实时消息里也包含了公众号文章的推送,可以获取到......
  • 性能测试——性能测试-常见linux性能指标监控命令
    vmstat命令:           top命令:            free-h命令:             df-h命令:         mpstat命令:             sar–收集和报告系统活动 ......
  • 【Python微信机器人】写一个监控采集公众号文章的插件
    原文链接:https://mp.weixin.qq.com/s/f8zbM6wMld3koqjaFbCuxw前言弄了个视频号下载后,同一个问题每天都会被问,回答的有点烦了。想了想根本原因还是缺少一个交流平台,微信群的话,刚进群的看不到之前的聊天记录。想整个知识星球,发现只能弄个收费的,免费的需要激活码才能创建。而有......
  • 在Linux中,如何使用Grafana和Prometheus进行网络监控和可视化?
    Grafana和Prometheus是两个强大的开源工具,经常一起使用来进行网络监控和数据可视化。Prometheus是一个监控和警报工具,它可以收集和存储时间序列数据。Grafana则是一个开源的数据可视化和分析平台,它可以连接到Prometheus并创建丰富的仪表板来展示和分析数据。1.安装和配置Prometh......