- 博客(155)
- 资源 (7)
- 收藏
- 关注

原创 欢迎进入杰杰的博客导航一站式搜索(所有博客的汇总帖)
网络的好朋友,你好,我是杰杰!如果我的博客有什么不足的地方,欢迎向我反馈;如果我的博客对你有帮助,那是我的荣幸!如果觉得文章很好,欢迎动动小手指,点个赞或者转发 -----杰杰。网络协议栈lwip源码下载地址TCP/IP协议栈扫盲班网络底层知识ARP协议原理LwIP中的ARP实现(1)之ARP缓存表的数据结构LwIP中的ARP实现(2)之ARP缓存表的超时处理L...
2019-04-07 18:16:33
3087
1
原创 智元机器人岗位内推
官网: https://www.agibot.com/岗位职责:职位要求:职位描述职位要求职位描述职位要求职位描述职位要求职位描述职位要求岗位职责:职位要求:
2023-11-21 09:37:58
1021
原创 Ubuntu20 安装微信
1. 安装deepin-winegit clone "https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git"cd deepin-wine-for-ubuntu #切换到下载目录sudo ./install.sh #执行安装2. 安装微信wget -O- https://deepin-wine.i-m.dev/setup.sh | shsudo apt-get instal
2021-04-23 11:10:55
1294
1
原创 MQTT连接到阿里云物联
连接到阿里云物联既然懂得专门连接百度天工物接入,那么连接阿里云物联其实也是一样的,因为都是基于MQTT协议进行通信的,首先打开阿里云物联:https://iot.console.aliyun.com/product,创建账号并登陆,而且阿里云物联是需要通过实名认证才能使用的。相对于百度天工物接入,阿里云物联的安全性更好,因为即使是客户端连接服务器都需要各种验证,还使用哈希加密算法进行加密。使用阿里云物联下面开始使用阿里云物联,首先在“产品”信息中创建一个产品,每个产品下允许有多个设备,产品就是设备的
2020-10-24 10:37:48
6413
4
原创 select、poll、epoll的原理与区别
文章目录前言同步I/O异步I/O阻塞I/O非阻塞I/O多路复用I/Oselectselect整个处理过程如下select函数原型:select的缺点pollepollepoll的原理epoll的操作模式epoll的函数epoll_create()epoll_ctl()epoll_wait()epoll为什么更高效前言本文讨论的开发环境是 Linux 网络io同步I/O在操作系统中,程序运行的空间分为内核空间和用户空间,用户空间所有对io操作的代码(如文件的读写、socket的收发等)都会通过系统调用
2020-07-02 14:32:21
3670
3
原创 深入了解C++多态的原理及实现方式
文章目录前言关于多态函数承载方式虚函数方式前言需要深入了解C/C++语言的基础之上再看此文章。关于多态具有多种形态,调用同一个方法会随上下文不同而产生不同的结果,多态有静态多态与动态多态两种。函数承载方式函数重载是让同一个函数(函数名字是相同的)可以根据参数不同从而实现不同的处理,之所以称之为函数重载,是因为它有多个同名的函数,而编译器进行了重载,编译器根据实参与形参的类型及个数,自动确定调用那一个函数。这是通过函数重载的方式实现多态,这种实现的方式是静态的多态,因为在编译阶段就已经知道了的。
2020-06-30 12:01:06
1257
1
原创 MQTT移植到stm32开发板——使用FreeRTOS操作系统
手把手教你将MQTT客户端移植到stm32开发板上,使用野火stm32f429官方开发板作为移植实验,使用lwip+以太网连接到云平台。
2020-06-26 21:10:03
10570
9
原创 MQTT移植到stm32开发板——使用TencentOS tiny操作系统
手把手教你将MQTT客户端移植到stm32开发板上,使用TencentOS tiny官方开发板——TencentOS_tiny_EVB_MX_Plus开发板作为移植实验,使用wifi模块连接到云平台。
2020-06-23 23:51:08
6341
4
原创 MQTT移植到stm32开发板——使用RT-Thread操作系统
文章目录ENV介绍env工具下载安装通过env移植MQTT客户端打开 env 控制台打开env并更新软件包列表移植MQTT客户端导出独立的MQTT客户端工程ENV介绍env 是 RT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。其内置的 menuconfig 提供了简单易用的配置剪裁工具,可对内核、组件和软件包进行自由裁剪,使系统以搭积木的方式进行构建。env 工具包含了 RT-Thread 源代码开发编译环境和
2020-06-21 22:41:09
5432
原创 mqttclient连接到OneNET云平台
文章目录mqttclient连接到OneNET云平台使用OneNET测试连接手动安装相关的依赖包拉取mqttclient仓库简单介绍mqttclient仓库文件夹编译运行代码使用到的APImqttclient连接到OneNET云平台有了前面连接百度云的经验,废话不多说,直接使用OneNET,OneNET平台应该是最开放,对开发者最友好的平台了。使用OneNET首先注册与登陆OneNET,然后进入开发者中心:https://open.iot.10086.cn/develop/global/produc
2020-06-15 23:07:02
6458
8
原创 mqtt连接百度天工物接入平台
mqtt连接到百度天工物接入百度天工物接入简介物接入(IoT Hub)是面向物联网领域开发者的全托管云服务,通过主流的物联网协议(如MQTT)进行通信,可以在智能设备与云端之间建立安全的双向连接,快速实现物联网项目。支持亿级并发连接和消息数,支持海量设备与云端安全可靠的双向连接,无缝对接天工平台和百度云的各项产品和服务。物接入分为设备型和数据型两种项目类型,我们在这里使用数据型项目类型,传输一些温湿度数据,同时可以无缝对接时序数据库TSDB、物可视等,将数据实时显示出来,同时我们采用MQTT协议与云端
2020-06-15 23:05:09
4843
1
原创 一个高性能、高稳定性的跨平台MQTT客户端——mqttclient设计与实现方式
文章目录mqttclient设计与实现方式设计思想API接口MQTT客户端的核心结构mqttclient实现申请一个mqtt客户端释放已申请的mqtt客户端设置MQTT客户端的信息连接服务器订阅报文取消订阅发布报文内部线程核心的处理函数发布应答与发布完成报文的处理订阅应答报文的处理取消订阅应答报文的处理来自服务器的发布报文的处理发布收到与发布释放报文的处理mqttclient设计与实现方式设计思想整体采用分层式设计,代码实现采用异步设计方式,降低耦合。消息的处理使用回调的方式处理:用户指定订
2020-06-15 23:01:15
6698
4
原创 一个高性能、高稳定性的跨平台MQTT客户端——mqttclient配置及裁剪工具
文章目录mqttclient配置及裁剪工具salof相关的配置使用mqttclient裁剪配置工具mqttclient配置及裁剪工具MQTT_TOPIC_LEN_MAX配置客户端支持最大的主题名长度,主题是支持通配符的,如果主题太长则会被截断,默认值为64。 #define MQTT_TOPIC_LEN_MAX 64MQTT_ACK_HANDLER_NUM_MAX配置mqtt等待应答列表的最大记录个数,对于qos1、qos2服务质量有要求
2020-06-15 22:59:25
2004
原创 一个高性能、高稳定性的跨平台MQTT客户端——mqttclient代码生产工具介绍
文章目录mqttclient代码生产工具介绍连接参数配置订阅主题相关的代码配置发布消息相关的代码配置生成代码mqttclient代码生产工具介绍mqttclient代码生产工具主要是用于配置MQTT的参数,并且生成相应的代码,因为是可视化的配置,极易使用。地址:https://jiejietop.gitee.io/mqtt/index.html与此同时改工具页面还包含了mqttclient的API接口介绍及示例,通过它们就能知道这个工具应该配置了什么内容。连接参数配置首先连接参数代表着MQT
2020-06-15 22:55:44
1517
原创 一个高性能、高稳定性的跨平台MQTT客户端——mqttclient简介与使用
【开源】一个高性能、高稳定性的跨平台MQTT客户端——mqttclient简介与使用
2020-06-14 11:12:04
8969
5
原创 我是如何彻底解决嵌入式HTTP客户端痛点的?
文章目录前言高性能、跨平台的HTTP客户端发布http-client整体架构优势文档&说明开发的历程一些测试的例子效果解析URL(超快的,性能杠杠的)GET请求数据POST数据到服务器自动重定向处理下载109M的文件,速度杠杠的项目开源地址:前言你还在自己写HTTP协议吗?你还在找好用的HTTP客户端吗?你还在用难用移植的HTTP客户端吗?你还在苦逼的移植安全加密库吗?你还在用难用的API接口吗?你还 …高性能、跨平台的HTTP客户端发布今天,它它它它它它来了,解决所有的痛点,一个
2020-05-27 20:46:28
3880
10
原创 【libuv高效编程】libuv学习超详细教程11 —— libuv stream 流句柄解读 下
文章目录libuv系列文章stream handle 的外部APIuv_shutdown()uv_listen()uv_accept()uv_read_start()uv_read_stop()uv_write()uv_write2()函数参考例程代码获取libuv系列文章【libuv高效编程】libuv学习超详细教程1——libuv的编译与安装【libuv高效编程】libuv学习超...
2020-05-07 01:32:41
2784
2
原创 curl安装使用【超级无敌简单】
文章目录下载安装cmake编译curl安装简单使用下载从GitHub下载最新版本的 curl 源码:git clone https://github.com/curl/curl.git安装cmake一句话的事情:sudo apt-get install cmake编译curl进入curl目录下,创建一个build文件夹,用于存放编译产生的中间文件、动态库、头文件等内容:c...
2020-05-01 13:37:44
3437
1
原创 【libuv高效编程】libuv学习超详细教程10 —— libuv stream 流句柄解读
文章目录libuv系列文章stream handle数据结构内部APIuv__stream_init()uv__read()uv__write()uv__stream_io()uv__write_callbacks()外部API参考例程代码获取libuv系列文章【libuv高效编程】libuv学习超详细教程1——libuv的编译与安装【libuv高效编程】libuv学习超详细教程2—...
2020-04-28 21:52:53
2574
原创 【libuv高效编程】libuv学习超详细教程9——libuv async异步句柄解读
libuv系列文章【libuv高效编程】libuv学习超详细教程1——libuv的编译与安装【libuv高效编程】libuv学习超详细教程2——libuv框架初窥【libuv高效编程】libuv学习超详细教程3——libuv事件循环【libuv高效编程】libuv学习超详细教程4——libuv idle空闲句柄解读【libuv高效编程】libuv学习超详细教程5——l...
2020-04-24 19:37:46
4321
原创 【libuv高效编程】libuv学习超详细教程8——libuv signal 信号句柄解读
文章目录libuv系列文章linux信号Linux信号种类与描述信号的处理libuv的信号数据类型回调函数:APIuv_signal_init()uv_signal_start()uv_signal_start_oneshot()uv_signal_stop()信号的处理过程信号通知信号处理example参考例程代码获取libuv系列文章【libuv高效编程】libuv学习超详细教程1——...
2020-04-23 21:27:07
2880
原创 【libuv高效编程】libuv学习超详细教程7——libuv thread 线程句柄解读
从linux线程处理到libuv的线程实现,因为libuv是一个跨平台的框架,它的底层处理可以在Windows、可以在linux,所以线程的实现它也是视平台而定的。
2020-04-22 19:49:49
3552
原创 【libuv高效编程】libuv学习超详细教程6 ——libuv check 检查句柄解读
check handle可以被译为检查句柄,如果程序中启动了check handle后,在事件循环中,每当I/O循环退出阻塞的时候都会被执行一遍,它与prepare刚好是相互呼应的,prepare是在I/O循环进入阻塞前,check是在I/O循环退出阻塞后被调用。
2020-04-22 19:47:58
1871
2
原创 【libuv高效编程】libuv学习超详细教程5——libuv prepare 准备句柄解读
prepare handle可以被译为准备句柄,如果程序中启动了prepare handle后,那么它在每次事件循环的时候都会被执行一遍,并且在I/O轮询之前被执行,注意,虽然它的原理与idle handle差不多,但是还是有一些差别的。
2020-04-22 19:46:14
2164
1
原创 【libuv高效编程】libuv学习超详细教程4——libuv idle空闲句柄解读
文章目录libuv系列文章idle handle数据类型idle handle的回调函数APIexampleuv_idle_init()参考例程代码获取libuv系列文章【libuv高效编程】libuv学习超详细教程1——libuv的编译与安装【libuv高效编程】libuv学习超详细教程2——libuv框架初窥【libuv高效编程】libuv学习超详细教程3——libuv事件...
2020-04-21 22:58:03
3533
3
原创 【libuv高效编程】libuv学习超详细教程3——libuv事件循环
事件循环是 libuv 功能的核心部分。它的主要职责是对 I/O 进行轮询然后基于不同的事件源执行它们的回调函数。
2020-04-19 21:19:16
7308
5
原创 【libuv高效编程】libuv学习超详细教程2——libuv框架初窥
libuv的设计框架,从网络I/O看,在linux(unix)平台它可以通过网络的底层epoll作为异步的I/O处理,它的中间有一层抽象层uv__io_t;而在Windows平台可以通过IOCP...
2020-04-18 23:29:56
6439
1
原创 【libuv高效编程】libuv学习超详细教程1——libuv的编译与安装
libuv 是一个高性能的,事件驱动的I/O,并且支持多平台的网络库,接下来就手把手带你进入libuv编译安装的学习...
2020-04-17 19:11:45
13870
4
原创 【ROS入门-7】ROS自定义消息
文章目录引言ROS系列文章ROS 消息文件自定义消息添加源码文件添加依赖修改编译规则尝试编译查看生成的消息源码文件使用自定义的消息关于ros::Time例程源码运行效果参考引言这篇文章讲解我们自己按需定义消息。ROS系列文章【ROS入门-1】手把手教你在Ubuntu18.04安装ROS Melodic【ROS入门-2】带你看ROS文件系统及其工具【ROS入门-3】嘴对嘴讲解...
2020-04-12 23:43:27
6859
1
原创 【ROS入门-6】ROS工作空间、package 及 catkin 编译系统
文章目录引言ROS系列文章ROS 工作空间创建工作空间编译工作空间导出环境变量创建功能包添加源代码修改构建规则编译功能包验证参考引言其实从前几篇文章中我也有提及过ROS 工作空间,而且代码也是在工作空间中编译、运行的。其实在 ROS 中,我们创建的软件代码,都会被组织成功能包的形式,所以在我们开始代码之前,第一步是创建一个容纳我们的工作空间。因此本文将介绍ROS工作空间、package 及...
2020-04-09 20:04:43
2306
2
原创 【ROS入门-5】深入了解ROS话题通信机制的过程
文章目录前言ROS系列文章节点的连接①发布者`Talker`注册②订阅者`Listener`注册③节点管理器`ROS Master`进行话题匹配④订阅者`Listener`向`Talker`发送连接请求⑤发布者`Talker`确认连接请求⑥`Listener`尝试与`Talker`建立网络连接⑦`Talker`向`Listener`发布消息引用说明参考前言在上一篇文章中简单了解了ROS话题通信...
2020-04-07 22:21:13
3511
2
原创 【ROS入门-4】嘴对嘴讲解ROS的核心概念——ROS话题通信机制
文章目录前言ROS系列文章ROS的通信机制话题(topic)发布者订阅者消息(Message)用C++来写话题通信的代码发布者:订阅者使用rqt_graph源码附录引用说明参考:前言我要给大家来介绍一下ROS当中一些核心的概念,帮助大家去在后面的ROS学习当中更快地吸收这些概念,今天讲解的是ROS中的通信机制——话题通信。ROS系列文章【ROS入门-1】手把手教你在Ubuntu18.0...
2020-04-06 19:44:20
1733
原创 【ROS入门-3】嘴对嘴讲解ROS的核心概念——节点与节点管理器
文章目录前言ROS系列文章ROS的通信机制节点(Node)节点管理器(Master)简单运行引用说明参考前言我要给大家来介绍一下ROS当中一些核心的概念,帮助大家去在后面的ROS学习当中更快地吸收这些概念。ROS系列文章【ROS入门-1】手把手教你在Ubuntu18.04安装ROS Melodic【ROS入门-2】带你看ROS文件系统及其工具ROS的通信机制ROS的通信机制是一个 松...
2020-04-05 17:37:23
2083
原创 【ROS入门-2】带你看ROS文件系统及其工具
文章目录ROS系列文章ROS的架构本章的准备工作ROS文件系统的概念PackagesManifestMetapackageMetapackage Manifest文件系统工具rospackroscdrosls参考:ROS系列文章【ROS入门-1】在Ubuntu18.04安装ROS MelodicROS的架构ROS的架构经过设计并划分成了三部分, 每一部分都代表一个层级的概念:文件系统级...
2020-04-05 10:46:46
1791
2
原创 【ROS入门-1】手把手教你在Ubuntu18.04安装ROS Melodic
引言先来一张ROS的美照:参考官方wiki安装:http://wiki.ros.org/melodic/Installation/Ubuntu在Ubuntu的【软件和更新】配置如下:添加软件源sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/...
2020-04-04 18:52:51
3837
4
原创 RT-Thread之mqttclient软件包
关于mqttclient软件包这是一个基于socket API之上的跨平台MQTT客户端,拥有非常简洁的API接口,以极少的资源实现QOS2的服务质量,并且无缝衔接了mbedtls加密库。优势:基于标准BSD socket之上开发,只要是兼容BSD socket的系统均可使用。稳定:无论是掉线重连,丢包重发,都是严格遵循MQTT协议标准执行,除此之外对大数据量的测试无论是收是发,都是非常...
2020-02-27 22:09:23
4557
8
代码大全(第二版超高清文字版)——文字版
2019-03-04
LwIP+freertos工程(LwIP2.1.2最新版本)
2019-01-27
RT-Thread学习笔记,思维导图
2018-09-06
stm32串口缓冲区源码
2018-08-27
C#上位机源码串口调试助手
2018-05-29
stm8l系列单片机教程与源码
2018-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人