摘要:
串行和并行通信 串行通信和并行通信都是计算机科学中的概念,指的都是计算机内部或者计算机与外设之间的通信方式。 串行通信:Serial communication,是指使用一条数据线(另外需要地线,可能还需要控制线),将数据一位一位地依次传输。 并行通信:Parallel communication, 阅读全文
摘要:
一、函数指针 函数指针:指向存放函数空间首地址的指针变量 函数指针的定义方式: 函数返回值类型(*指针变量名)(函数参数列表); 为了方便使用:typedef 函数返回值类型(*指针变量名)(函数参数列表); typedef int (*ptrFunc)(int, int);//typedef定义了 阅读全文
摘要:
一、项目介绍 树莓派上通过一线协议连接DS18B20,然后采用网络socket编程同时实现客户端和服务器端程序,其中客户端主要实现定时上报的功能,服务器端用来采集客户端上报的数据并存储到数据库中。 1、客户端介绍 连接服务器的主机名和端口号可以通过命令行参数修改; 客户端程序需要定时采样上报 一次数 阅读全文
摘要:
一、MQTT协议简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT协议是为工作在低带宽、 阅读全文
摘要:
介绍 程序没有任何配置文件,那么它对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,为了让程序出厂后还能根据需要进行必要的配置,所以要用配置文件。 INI(Initialization)配置文件是一种简单的文本文件,一般用于存储配置信息。INI配置文件经常用于存储项目的全局变 阅读全文
摘要:
引入 在使用sqlite3插入数据时,我使用了sqlite3_mprintf()把语句放到sql中,但是后面发现会导致内存泄漏 int insert_database(void *pack, int size) { int rc = 0; char *sql; sql = sqlite3_mprin 阅读全文
摘要:
void类型指针 void 指针是一种特殊的指针,表示为“无类型指针”,。由于 void 指针没有特定的类型,因此它可以指向任何类型的数据。也就是说,任何类型的指针都可以直接赋值给 void 指针,而无需进行其他相关的强制类型转换 void *p1; int *p2; p1 = p2; 但是,将 v 阅读全文
摘要:
一、 Makefile 描述了整个工程的编译、链接规则。当源码文件比较多的时候就不适合通过输入 gcc 命令来编译,Makefile 文件描述了编译哪些源码文件、如何编译,每次需要编译工程时只需要使用这个文件就行了。 1.makefile的基本语法 makefile功能强大,makefile的语 阅读全文
摘要:
1、说明 客户端需要实现一下功能 如果网络socket异常(如网络断线、服务器端退出),在网络故障恢复后客户端程序能够自动重连; 在网络故障出错期间,定时采样正常进行,在此瞬间所有采样的数据(临时存储到SQLite数据库中; 网络故障恢复之后,客户端程序自动将之前暂存到数据库中的数据上报销服务器上去 阅读全文
摘要:
网络通信 大部分网络应用系统可分为两部分:客户(Client)和服务器(Server),网路服务程序架构又两种:CS模式和BS模式。 CS:Client/Server(客户机/服务器)结构,特点:交互性强,具有安全的存取模式,网络通信量低,响应速度快,利于处理大量数据。 BS:Browser/S 阅读全文