摘要: 在linux下,一切皆文件。当文件被打开时,会返回文件描述符用于操作该文件,从shell中运行一个进程,默认会有3个文件描述符存在(0、1、2); 0表示标准输入,1表示标准输出,2表示标准错误。一个进程当前有哪些打开的文件描述符可以通过/proc/进程ID/fd目录查看 在文件夹下的系统调用 in 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(56) 评论(0) 推荐(0) 编辑
摘要: socket通信 socket简介socket操作API函数代码实现 socket简介 网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“端口”可以唯一标识主机中的应用程(进程)。这样利用三元组(ip地址,协议, 端口)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 网络socket通信 poll函数epoll函数poll代码实现epoll代码实现 poll函数 poll是Linux中的字符设备驱动中的一个函数,poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,如果设备就绪则在设备等待队列中加入一项并继续遍历 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 文章目录 前言 一、MQTT简介 MQTT特性 MQTT协议原理 MQTT协议数据包结构 二、安装MQTT 1.mosquitto简介 2.安装mosquitto库 2.常用MQTT库函数 三.代码实现 前言 MQTT(Message Queuing Telemetry Transport,消息队列 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(1620) 评论(0) 推荐(0) 编辑
摘要: MQTT环境搭建和测试 物联网环境搭建MQTT.fx使用 物联网环境搭建 1.首先进入阿里云官网注册并登录你的账号。 2.点击控制台。 3.在产品与服务下面搜索物联网平台 4.点击公共实例 5.进去后,点击左边的产品,然后创建产品 6.点击创建产品,可以看到下面图,名称随便,选择自定义品类,节点选择 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(547) 评论(0) 推荐(0) 编辑
摘要: cJSON的使用 cJSON的简介 JSON 名称/值对 JSON 数字 JSON 对象 JSON 数组 cJSON库下载 cJSON库函数 测试代码 cJSON的简介 cJSON是一个超轻巧,携带方便,单文件,简单的可以作为ANSI-C标准的JSON解析器。 我们在使用JSON格式时,如果只是处理 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(253) 评论(0) 推荐(0) 编辑
摘要: iniparser库 iniparser库介绍 下载库 iniparser中的API dictionary中的一些API 测试代码 iniparser库介绍 iniparser是针对INI文件的解析器。ini文件则是一些系统或者软件的配置文件。iniparser库的API可以对ini文件(配置文件) 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(73) 评论(0) 推荐(0) 编辑
摘要: sqlite3 安装sqlite3sqlite3库函数代码实现 安装sqlite3 我们从下载页面,SQLi官网从源代码区下载 然后在Linux下安装sqlite3 #下载 wget https://www.sqlite.org/2020/sqlite-autoconf-3310100.tar.gz 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(84) 评论(0) 推荐(0) 编辑
摘要: MQTT上报温度到阿里云 前言iniparser配置文件cJSONsqlite3数据库流程图配置信息发布端代码实现运行结果 前言 在上几篇文章中我们用MQTT.fx模拟客户端实现了与阿里云物联网平台的双向通信,接下来我们自己动手编程使用mosquitto库实现一个发布端。 iniparser配置文件 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 1.打开腾讯云官网,注册并登录. 2.登录之后点击右上角的控制台点进去 3.在搜索框[物联网通信],点击进入 4.点击创建新产品 5.选择普通产品,名称随便,选择密钥认证,选择json格式 6.在设备列表下,选择添加新设备 拿小本本记下来 7.打开MQTT.fx 目前还不知道端口,ip等等.需要查看 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 进程温度通信 fork系统调用代码实现 fork系统调用 fork()函数又叫计算机程序设计中的分叉函数,fork是一个很有意思的函数,它可以建立一个新进程,把当前的进程分为父进程和子进程,新进程称为子进程,而原进程称为父进程。fork调用一次,返回两次,这两个返回分别带回它们各自的返回值,其中在父 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 线程通信 介绍线程常用线程函数代码实现 介绍线程 线程是一条执行路径,是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(30) 评论(0) 推荐(0) 编辑
摘要: select使用 select函数select流程图服务端代码实现 select函数 select监视并等待多个文件描述符的属性发生变化,它监视的属性分3类,分别是readfds(文件描述符有数据到来可读)、 writefds(文件描述符可写)、和exceptfds(文件描述符异常)。调用后sele 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(41) 评论(0) 推荐(0) 编辑
摘要: socket通信客户端 socket函数代码实现 socket函数 int socket(int domain,int type,int protocol); 参数: domain:指定发送通信的域 可取值:AF_UNIX:本地主机通信,与IPC类似 AF_INET:Internet地址IPV4协议 阅读全文
posted @ 2022-09-25 19:39 西故黄鹤楼 阅读(28) 评论(0) 推荐(0) 编辑