自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 Wallpaper Engine特性仿制

wallpaper master起源最近一直在折腾一下壁纸的东西,前段时间刚写了一个跨平台桌面(windows/linux kde)的壁纸网络应用,个人使用效果还不错的样子。地址前两天突然发现了wallpaper engine这个软件,然后在创意工坊中打开了新世界,感觉挺炫酷的。于是想着看自己能不能照着实现一些类似的特性。于是就有了这个工程。本项目地址预览特性无干扰的独立壁纸...

2020-03-04 12:30:44 4280 2

原创 基于有道API的命令行词典(golang版)

Godict本项目地址近期一直再使用golang语言开发一些工具,相关的后端技术链(golang+orm+postgresql+gin+jwt+logrus)和对应前端的技术链(vue+iview+axios+vue-router)基本已经打通了,项目地址。但是想到除了这一套前后端的东西外,命令行的一些操作也是不可避免的。因此就找到了cobra这个应用广泛的第三方命令行库,并借这个小项目练一下...

2020-02-02 13:48:31 1684

原创 一个TCP长连接设备管理后台工程(八)---TCP服务器整合

TCP服务器前面的所有内容都是为了实现一个基于jtt808协议的TCP服务器而做的工作,我们现在需要吧上面讲解的内容整合起来,让各个模块协调工作,完成一整套的服务流程。配置加载先说一下配置加载,对于一个应用程序,为了增加其灵活性,不可避免的需要使用配置文件。综合个方面考虑,我选择使用toml格式的配置文件,解析库使用"github.com/BurntSushi/toml"# config...

2020-02-02 13:35:45 476

原创 一个TCP长连接设备管理后台工程(七)---数据库操作

数据库操作数据库部分我使用postgresql,为了简化上层调用,我又使用了xorm。库导入import ( "github.com/go-xorm/xorm" _ "github.com/lib/pq")创建一个全局引擎指针var engine *xorm.Engine定义一个初始化函数,用来初始化数据库相关的一些内容:func xormInit(driverName s...

2020-02-02 13:33:46 273

原创 一个TCP长连接设备管理后台工程(六)---封包器与处理器

封包器上面介绍了过滤器,过滤器实际就是一个能够处理粘包和拆包的解析器,和封包器的作用正好相反。但是封包器会很简单,因为封包没有粘包和拆包的处理。代码如下://Packer is proto Packer apifunc Packer(msg Message) []byte { data := make([]byte, 0) tempbytes := codec.Word2Bytes(m...

2020-02-02 13:31:43 341

原创 一个TCP长连接设备管理后台工程(五)---帧过滤器

帧过滤器帧过滤器的作用就是,从接收到的buff中,过滤出有效的完整jtt808数据包。由于是tcp通讯,那么这其中不可避免的会涉及到数据包的两个常规处理:拆包和粘包。拆包和粘包的简要说明:假设客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到的字节数是不确定的,故可能存在以下4种情况。(1)服务端分两次读取到了两个独立的数据包,分别是D1和D2,没有粘包和拆包;(2)...

2020-02-02 13:29:08 364

原创 一个TCP长连接设备管理后台工程(四)---jtt808协议解析

协议解析从前面内容我们可以发现,808协议是一个很典型的协议格式:固定字段+变长字段其中固定字段用来检测一个帧格式的完整性和有效性,所以一般会包含一下内容:帧头+变长字段对应的长度+校验。由于这一段的数据格式固定,目的单一,所以处理起来比较简单。变长字段的长度是由固定字段终端某一个子字段的值决定的,而且这部分的格式比较多变,需要灵活处理。这一字段我们通常称为Body或者Apdu。我们首...

2020-02-02 13:26:10 1836

原创 一个TCP长连接设备管理后台工程(三)---TCP应用层协议说明

TCP协议整合JTT808协议前面简单说明了基于golang的net库进行TCP通讯。现在我们需要将现有的协议整合进去。行业内车辆终端一般都是对接交通部的JTT808协议,此处我们要实现的是JTT808-2019版本。消息结构标识位消息头消息体校验码标识位0x7e0x7e标识位应采用0x7e表示,若校验码、消息头以及消息体中出现0x7e及0x7d,则要...

2020-02-02 13:18:50 540 1

原创 一个TCP长连接设备管理后台工程(二)---后端模型

后端模型终端ATCPServer终端B终端CPostgresqlHTTPServerClientAClientBClientC后端需要设计两个服务器,一个TCP,一个HTTP。TCP主要处理与终端的长连接交互,一个TCP连接对应一台终端设备,终端设备唯一标识使用IMEI。HTTP处理与前端的交互,前端需要获取所有可用的终端设备列表,向指定的终端发送命令。所以,为了方便从ip找到对应终端,然后从...

2020-02-02 13:13:36 351

原创 一个TCP长连接设备管理后台工程(一)---概述

一个TCP长连接设备管理后台工程(一)概述这个项目最初只是用来进行一个简单的协议测试用的,而且是一个纯粹的后端命令行工程。只是后面想着只有命令行,操作也不太方便,于是便有了添加一个ui的想法。golang项目要配ui,最佳的还是配一个前端界面。而我本人并非前端出生,js功底太差,所以就想着用vue了。而且作为一个技术人员,ui界面设计也比较差,所以就打算找一个现成的ui框架来用,尝试了ant...

2020-02-02 13:10:14 913

原创 基于QT开发的截图工具

概述这是一个使用QT设计的截图工具

2017-08-06 14:14:34 6218 7

原创 有道词典工具(命令行+GUI)

有道词典工具,基于python编写,适用于命令行和GUI

2017-07-06 18:27:02 2241

原创 Golang学习笔记一:go安装配置

安装要点环境变量:golang的环境变量一般只用设置两个即可:GOROOT和GOPATH - GOROOT是golang软件安装位置的根目录,比如/usr/bin,这个环境变量一般会有一个默认值,如果没有修改默认的安装路径,那么一般可以不用管这个变量。当然,如果GOROOT/bin如果不再path中的话,还是要添加以下的。 - GOPATH这个是针对go的工作空间而言的,位置可以随...

2018-08-18 11:52:32 263

原创 Pure2048纯粹的多主题2048

Pure2048这是一款纯净小巧的2048休闲游戏android版本 特色纯净开源。 配置灵活,包括方格数量,方格主题,档案保存,音效使用。 多主题导入,可使用本软件自带的主题,可以使用本人提供的拓展主题,也可以自己制作主题,完全没问题,制作简单,使用方便。 保存档案,让你的记录不在丢失、满血复活不是梦。怕丢失记录连续撸10个小时?不存在的。 配置文件会保存

2018-01-06 15:27:33 696

原创 imx6学习笔记

imx6学习笔记前言接触linux大概有两年,接触imx6大概有1年,简单驱动也写过一些,简单的应用也弄过不少,然而使用linux的大型项目还真没怎么接触。但是在这两年多的使用过程中还是有不少心得的。特意写这样一个笔记来供其它新手参考。linux环境搭建实体机虚拟机都行,能跑linux就OK,再不行那就用msys2将就一下吧。Linux文件系统基本的目录这个没什么好说的,自己装一个虚拟机然后安装一个

2017-10-01 09:18:23 10334 3

原创 请求、响应与超时机制详解

请求、响应与超时机制详解在C/S软件模型中,往往都遵循这请求和响应的机制,而且往往还伴随着超时控制。即:A发送请求,然后等待B的响应,同时开始超时计时,如果在超时时间内成功接收到响应,则结束等待和计时。如果到了超时时间还没有接收到响应,则结束等待同时此次通讯失败。我们站在A端来设计。 A发送通讯请求,然后进入等待状态。此时常见的操作就是将当前线程挂起(suspend)。让挂起线程进入就绪状态有两个

2017-03-16 17:04:03 9574

原创 使用python抓取liaoxuefeng网站正文和目录

本文档参考了该博客和其源代码不过为了方便,我没有使用beautifulsoup和pdfkit,而是直接通过python自带的HTMLParser来处理html,然后解析出html中的主体内容,然后重新生成一个新的html,并重命名为章节内容。首先我们看一下廖雪峰python的网页结构 分为:目录、正文、其他。对于我们有用的信息都在目录和正文中,而且目录我们只需要解析一次,因为各个页面中的目录都

2017-02-24 09:46:21 787

原创 windows搭建gcc开发环境(msys2)

前言可能你并不太了解msys2,但是作为一个程序员,你一定知道mingw,而msys2就集成了mingw,同时msys2还有一些其他的特性,例如包管理器等。 msys2可以在windows下搭建一个完美的类linux环境,包括bash、vim、gcc、make等工具都可以通过包管理器来添加和卸载 msys2的包管理器是使用的pacman,用过archlinux的应该都知道pacman了。 我们

2017-02-23 14:50:22 52706 5

原创 Mbed在自己的stm32系列平台移植适配(三)

Mbed在自己的stm32系列平台移植适配适配平台: cpu:STM32F103RCT6 外设: peripheral pin disciption LED1 PC_0 LED2 PC_6 UART5_TX PC_12 no remap UART5_RX PD_2 no remap引用资源: mbed在线编译器 Mbed源码

2017-02-15 15:08:05 9876 20

原创 Mbed在自己的stm32系列平台移植适配(二)

Mbed在自己的stm32系列平台移植适配适配平台: cpu:STM32F103RCT6 外设: peripheral pin disciption LED1 PC_0 LED2 PC_6 UART5_TX PC_12 no remap UART5_RX PD_2 no remap引用资源: mbed在线编译器 Mbed源码

2017-02-15 15:06:00 12554 7

原创 Mbed在自己的stm32系列平台移植适配(一)

Mbed在自己的stm32系列平台移植适配适配平台: cpu:STM32F103RCT6 外设: peripheral pin disciption LED1 PC_0 LED2 PC_6 UART5_TX PC_12 no remap UART5_RX PD_2 no remap引用资源: mbed在线编译器 Mbed源码

2017-02-15 15:01:26 4748

原创 Eclipse搭建stm32+jlink开发环境全攻略(进阶篇二)

Eclipse搭建stm32+jlink开发环境全攻略进阶篇(二)我们设计程序往往会遇到这样的一个需求,那就是我们的程序起始位置需要重新定位,并不是默认的0x08000000,这种情况往往出现在有使用bootloader的情况中,0x08000000处往往存放我们的bootloader程序,然后0x08000000+N出存放我们的应用程序(APP)。那在MDK下这种情况很好解决,无非就是修改几个地址

2017-02-15 10:48:23 2641 2

原创 Eclipse搭建stm32+jlink开发环境全攻略(进阶篇一)

Eclipse搭建stm32+jlink开发环境全攻略进阶篇(一)本篇开始讲解一些比较实用的东西,在前面的两章中,我们讲解了eclipse开发stm32的大部分问题,然而。在实际使用过程中,我们仍然会遇到一些不太理想的地方,比如,eclipse不能一键下载,只能通过调试变相的下载,很不方便。同时eclipse编译出来的文件要比MDK编译的文件大很多。本篇就是为了解决这两个问题的:程序优化和一键下载。

2017-02-15 10:45:13 5503

原创 Eclipse搭建stm32+jlink开发环境全攻略(高级篇)

Eclipse搭建stm32+jlink开发环境全攻略高级篇一、问题概况通过初级篇的学习,我们知道了一个Eclipse工程的配置以及调试,貌似使用也没什么问题,然而。当我们抛弃掉Eclipse自带的工程模版是,也抛弃的他的一些其他的功能,比如c库函数的支持。所以,如果我们按照这初级篇的内容建立一个工程,我们会发现,当我们使用了printf等C库的函数时,工程编译会报错。这是没有加入printf是的编

2017-02-15 10:35:07 7152 4

原创 Eclipse搭建stm32+jlink开发环境全攻略(初级篇)

Eclipse搭建stm32+jlink开发环境全攻略初级篇前言: 为什么需要这样的开发环境?免费跨平台自由度高Eclipse代码提示功能强大,MDK弱爆了注:本人原创,转载注明作者——by**秋之前**email:[email protected]一、工具:jre或者jdk 地址eclipse+CDT 地址GNU eclipse ARM插件 地址GNU AR

2017-02-15 10:30:26 15104 6

从ArchlinuxU盘启动到GNOME桌面配置手把手教程

全程图片演示整个安装过程,从镜像下载到U盘启动再到后面的内核安装、桌面配置,这个过程一条龙教程

2016-07-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除