- 博客(335)
- 资源 (12)
- 收藏
- 关注
原创 modbus-utils工具使用教程
安装依赖:sudo apt install libmodbus-dev协议是一种PLC协议,目的当然是为了方便主控制器与从PLC外设之间的通信。为了避免重复编写,以下链接详细介绍了modbus rtu和modbus tcp协议报文的格式,有需要请自行阅读。slave id。
2025-01-13 16:35:42
370
原创 EdgeX Application Service 应用服务
第一个和第二个是HTTPPost/HTTPut函数,它将把提供的数据POST/PUT到指定的服务,第三个是MQTTSecretSend()函数,它会将提供的数据发布到配置中指定的MQTT Broker。这将存储数据以供以后重试。第三个是FilterBySourceName函数,它将删除与配置的SourceName匹配或不匹配的事件,如果筛选后没有剩余事件,管道的执行将停止。如前所述,应用程序服务是围绕函数管道的思想构建的。有了编写自己的自定义管道函数的能力,您的自定义应用程序服务就可以满足您的用例需求。
2024-12-30 19:13:42
835
原创 EdgeX Core Service 核心服务之 Configuration and Registry Providers配置和注册
EdgeX Core Service 核心服务之配置和注册一、概述Register& config 微服务是用来集中处理配置和注册表的,可以让配置和设定的参数贯穿整个架构,以及探测框架内微服务的位置和状态。作为配置管理器,配置和注册表微服务在启动微服务时向每个微服务提供配置信息,EdgeX Foundry微服务可以在没有配置和注册表微服务的情况下运行。在API中提供了服务注册,服务注销,服务发现,健康检查的功能的功能,1.1 配置。
2024-12-26 18:05:25
984
原创 EdgeX Core Service 核心服务之 Core Command 命令
收到请求后,Core Command 服务会尝试从请求主题级别解析 和 , 并将响应发送回,并将 、 和 附加到配置中定义的 CommandResponseTopicPrefix 文件。可以添加额外的安全性,不允许与设备进行未经授权的交互(通过设备服务)。还可以调节设备上的请求数量,以免设备负载过重,如果有特殊需要,甚至可以缓存请求的响应,以避免唤醒设备。
2024-12-22 17:12:36
1288
原创 EdgeX Core Service 核心服务之 Meta Data 元数据
EdgeX Core Service 核心服务之 Meta Data 元数据一、概述核心元数据微服务管理有关设备和传感器的知识。其他服务(设备、命令等)使用此信息与设备进行通信。具体来说,元数据具有以下能力:管理有关连接到 EdgeX Foundry 并由 EdgeX Foundry 操作的设备的信息了解设备上报的数据的类型和组织知道如何命令设备尽管元数据具有知识,但它不执行以下活动:它不负责从设备实际收集数据,这是由设备服务和核心数据执行的。
2024-12-21 16:23:50
917
原创 EdgeX Message Bus 消息总线
EdgeX Message Bus 消息总线一概述内部消息总线,用于 EdgeX 服务之间的内部通信。EdgeX 服务是指来自 EdgeX 的任何核心/支持/应用程序/设备服务或使用 EdgeX SDK 构建的任何自定义应用程序或设备服务。EdgeX MessageBus 用于内部 EdgeX服务与服务之间的通信。它并不意味着作为外部服务与内部 EdgeX 服务通信的入口点。eKuiper 规则引擎是一个例外,因为它与 EdgeX 紧密集成。
2024-12-20 14:48:24
769
原创 EdgeX Core Service 核心服务之 Core Data 核心数据
一概述一概述CoreData微服务主要为手机的设备数据进行持久性存储默认采用PostgreSQL数据库进行存储其他的数据库也可支持。其他服务和系统(包括 EdgeX 特定服务和外部服务系统)通过核心数据服务访问传感器数据。Core Data 还为数据位于边缘收集的数据提供一定程度的安全性和保护。CoreData微服务是可选的如果Device服务数据通过消息总线直接传递给Application服务,不需要本地存储该服务可不搭建。
2024-12-20 09:07:35
927
原创 EdgeX物联网平台
一、概述一、概述EdgeX Foundry是一个由Linux基金会支持的边缘计算开源平台。它的定位是作为通用工业物联网边缘计算通用框架,部署在路由器和交换机等边缘设备上。EdgeX Foundry为各种传感器、设备或其他物联网器件提供即插即用功能,并管理它们,进一步收集和分析它们的数据,或者导出至边缘计算应用或云计算中心做进一步处理。EdgeXFoundry 可被视为硬件与软件之间的中间件,它南向连接各种设备和传感器,北向连接应用程序。
2024-12-20 09:01:02
807
原创 【情景设计】手写智能指针
对其持有的堆内存具有唯一拥有权,也就是说引用计数永远是 1,std::unique_ptr 对象销毁时会释放其持有的堆内存。
2024-05-20 10:19:26
473
原创 【leetcode】缓存淘汰策略题目总结
我们使用了一个双向链表cache来存储数据,同时使用一个哈希表hash_map来映射键和链表节点的迭代器。当调用get(key)函数时,我们首先检查hash_map中是否存在该key,如果存在则将之前位置移到链表头部并返回值;当调用函数时,我们先检查hash_map中是否存在该key,存在的话将该节点从链表中删除,不管存在与否都需要考虑是否需要删除旧数据(缓存已满的情况)。我们定义两个哈希表,
2024-05-02 12:44:03
859
原创 【leetcode】滑动窗口题目总结
滑动窗口算法是在给定特定窗口大小(当然也可以是动态可变窗口)的数组或者字符串上进行操作的算法,该算法主要的用途就是在于将嵌套循环时间复杂度的效率优化成为线性时间复杂度。简而言之,滑动窗口算法在一个特定大小的字符串或数组上进行操作,而不在整个字符串和数组上操作,这样就降低了问题的复杂度,从而也达到降低了循环的嵌套深度。窗口: 窗口大小并不是固定的,可以不断扩容直到满足一定的条件;也可以不断缩小,直到找到一个满足条件的最小窗口;当然也可以是固定大小。滑动: 说明这个窗口是移动的,也就是移动是按照一定方向来的。
2024-04-29 17:23:15
485
原创 【leetcode】快慢指针相关题目总结
判断链表中环的起点:当我们判断出链表中存在环,并且知道了两个指针相遇的节点,我们可以让其中任一个指针指向头节点,然后让它俩以相同速度前进,再次相遇时所在的节点位置就是环开始的位置。判断链表是否有环:如果链表中存在环,则在链表上不断前进的指针会一直在环里绕圈子,且不能知道链表是否有环。先让其中一个指针向前走k步,接着两个指针以同样的速度一起向前进,直到前面的指针走到尽头了,则后面的指针即为倒数第k个元素。快指针一次前进两步,慢指针一次前进一步,当快指针到达链表尽头时,慢指针就处于链表的中间位置。
2024-04-27 17:34:34
418
原创 【leetcode】数组和相关题目总结
直接利用hashmap存储值和对于索引,利用target-nums[i]去哈希表里找对应数值。返回下标。排序+双指针。
2024-04-27 11:07:04
251
转载 DESIGN PATTERNS - ABSTRACT FACTORY PATTERN
Abstract Factory PatternAbstract Factory - Provide an interface for creating families of related or dependent objects without specifying their concrete classes.Abstract Factory pattern lets a class ...
2020-03-25 16:21:50
358
转载 C++对象模型详解
C++对象模型详解点击打开链接https://www.cnblogs.com/tgycoder/p/5426628.htmlhttps://www.cnblogs.com/tgycoder/p/5426628.html
2018-03-30 16:57:34
569
原创 7_TwoDimensionalArray
//二维数组的创建、查询、销毁int **create(int m,int n){ int **arr=new int*[m]; for(int i=0;i<m;i++) { arr[i]=new int[n]; } return arr;}int search(int **arr,int m,int n,int...
2018-03-26 19:42:48
447
原创 6_BinarySearch
//[2 4 5 6 8 10 12 14 17 19] 5#include<iostream>using namespace std;int search(int array[], int len, int value){ int low=0,high=len-1; while(low<=high) { //int m...
2018-03-16 21:35:38
361
原创 5_JumpOutArrary
/*DP动态规划一个数组,每个位置的数字代表当前位置可以向前走的步长,判断该数组能否跳出数组之外case1 :[1,3,1,1,1,2] true// [1,4,4,4,5,5]case2 :[1,2,1,1,0,2] falsecase3 :[1,3,1,3,0,2] true*/#include<iostream>using namespace std...
2018-03-16 21:23:07
364
原创 4_Longest Substring Without Repeating Characters
//abcabcbb abc 3//bbbbb b 1//pwwkew wke 3#include<iostream>#include<string>#include<vector>using namespace std;int lengthOfLongestSubstring(string s...
2018-03-14 20:27:54
366
原创 3_Add Two Numbers
//Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)//Output: 7 -> 0 -> 8//Explanation: 342 + 465 = 807.#include<iostream>using namespace std;struct ListNode { int val; ListN...
2018-03-10 08:25:06
287
原创 2_shift_left
//0 1 2 3 4 5 6 7//1 2 3 4 5 6 7 0//2 3 4 5 6 7 0 1#include<iostream>#include<vector>using namespace std;void reverse_arr(vector<int>&vec,int start,int end){ for(;st...
2018-03-10 08:23:52
813
原创 1_two_sum
//数组:2 6 7 11 4 3 目标:9//下标:0 1 2 3 4 5//位置:1 2 3 4 5 6//当前元素依次往后遍历,在前边元素中找(target-当前元素)/*2 76 32 06 1*/#include<iostream>#include<vector>#include<map>using n...
2018-03-10 08:21:14
273
原创 C 语言字符数组的定义与初始化
C 语言字符数组的定义与初始化1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。 char str[10]={ ‘I’,’ ‘,’a’,’m’,’ ‘,‘h’,’a’,’p’,’p’,’y’}; 即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组 长度,则只将这些字符数组中前
2017-05-14 22:01:50
1310
转载 使用事件驱动模型实现高效稳定的网络服务器程序
几种网络服务器模型的介绍与比较围绕如何构建一个高效稳定的网络服务器程序,本文从一个最简单的服务器模型开始,依次介绍了使用多线程的服务器模型、使用非阻塞接口的服务器模型、利用select()接口实现的基于事件驱动的服务器模型,和使用libev事件驱动库的服务器模型。通过比较各个模型,得出事件驱动模型更适合构建高效稳定的网络服务器程序的结论。前言事件驱动
2016-08-30 21:24:39
600
原创 草原坝上滑梯
草原坝上滑梯 只能从上下左右侧移动 输入:行数R 列数C 输出:最长区域的长度 样例: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 输出:25#include <iostream>#include <algorithm>using namespace std;
2016-08-28 22:25:45
1052
1
原创 字符串合法性长度
题目: 仅由三个自负A、B、C构成字符串,切字符串任意连续三个元素不能完全相同。如“ACCCAB”不合法,“ABBCBCA”合法。求满足条件的长度为n的字符串个数。假定不考虑整数溢出,要求时间和空间复杂度不高于O(N)。 提示:使用动态规划、滚动数组、矩阵乘幂#include <iostream>#include <string>using namespace std;int NumO
2016-08-28 13:41:03
1045
原创 构造回文
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000. 输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子:abcdagoogle
2016-08-25 22:50:36
739
原创 线索二叉树
一、线索二叉树的原理 通过考察各种二叉链表,不管儿叉树的形态如何,空链域的个数总是多过非空链域的个数。准确的说,n各结点的二叉链表共有2n个链域,非空链域为n-1个,但其中的空链域却有n+1个。如下图所示。 因此,提出了一种方法,利用原来的空链域存放指针,指向树中其他结点。这种指针称为线索。 记ptr指向二叉链表中的一个结点,以下是建立线索的规
2016-08-13 14:59:20
624
STL源码讲解文档
2016-06-05
STL源码剖析 候捷配套
2016-06-05
STL source code
2016-06-05
SX1278模块
2015-11-18
BLE-CC41-A蓝牙模块
2015-11-18
SX1276/1278LoRa模块测试程序
2015-11-18
BLE-CC41-A蓝牙模块驱动程序
2015-11-18
虚拟化知识
2015-08-18
操作系统:精髓与设计原理02(读书笔记)
2015-07-26
操作系统:精髓与设计原理01(读书笔记)
2015-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人