自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 激光打标机二次开发C#实例分享(附带实例源码)

前言 本文章是针对金橙子激光打标机,使用C#进行二次开发分享。金橙子的打标机有两种不同的板卡,一般他们在卖打标机的时候如果不特殊说明使用的板卡是不支持二次开发的,如果想进行二次开发需要提前告诉他们购买支持二次开发的板卡,这个也是我血的教训。 此篇文章是由于我之前写的一篇博客https://bl...

2020-06-29 10:08:06 618 0

原创 利用Postgresql+Postgis进行空间地理信息分析(道路偏移,进出电子围栏等)

前言 GIS空间分析指的是在GIS(地理信息系统)里实现分析空间数据,即从空间数据中获取有关地理对象的空间位置、分布、形态、形成和演变等信息并进行分析。 将GIS空间分析利用到系统中,我们可以利用GIS空间分析处理车辆进出电子围栏,车辆预计到达目的地,车辆是否进入某些区域,车辆是否进入道路,车...

2019-08-31 12:11:52 5075 0

原创 OSM逆地理服务器搭建(二)之OSM地图服务器搭建

1、数据准备 从http://download.geofabrik.de/asia.html中下载需要的国家地区数据(.osm.pbf) 从https://planet.openstreetmap.org/pbf/中下载世界地图数据(.osm.pbf) 从http://www.nominat...

2019-07-23 15:18:02 3578 0

原创 车联网网关架构MQTT篇(含MQTT消费者源码)

MQTT简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议。该协议构基于TCP/IP协议之上,由IBM于1999年发布。MQTT最大...

2020-07-03 09:29:15 364 0

原创 基于JT808-2019,JT809-2019,JT1078与苏标主动安全协议的部标平台开发

前言: 在19年底,和几个行业内的朋友就如何打造一款高可靠,易扩展,支持集群与分布式部署的部标平台进行了讨论。就在近期,我们规划的平台终于有了一个雏形。从网关到流媒体,到细分业务拓展,再到轨迹数据挖掘与业务分析。集大家这么多年以来的行业经验,以及对一些细分领域业务的理解,结合终端客户在使用平台过...

2020-03-21 11:45:42 620 3

原创 网关测试报告—以部标JT808为例

1.测试环境 测试过程中,网关服务器是基于4核8G,5M外网宽带的Linux服务器,Netty网关单点运行的情况下进行的。 硬件信息表 硬件名称 规格 用途 阿里云服务器 4核8G...

2020-02-26 16:23:05 1015 0

原创 物联网网关建设与整体架构数据流说明

最近在给别人做一套车联网系统(其实就是利用GPS+视频+主动安全+一些其他辅助性设备对货物运输安全以及司机驾驶行为的监管)。由于客户的要求比较高,从框架设计—>功能模块定义—>UI界面设计—>系统实现,对整个系统都进行了较为合理的规划。 整个系统架构主要可以分为3大部分: 平...

2020-02-18 13:53:22 1024 1

原创 判断经纬度点,路线,围栏之间的关系

忙中偷闲,给大家写一个API接口,用来判断经纬度点与路线,围栏之间的关系。 由于接口资源有限,所以对请求频率做了限制,不提供免费商用,谢谢! 1.接口地址及请求方式 api.public.jointcontrols.cn:58001/GISApi/GISAnalysis 请求方式Post,...

2019-11-08 10:55:27 620 0

原创 基于苏标Adas协议的主动安全平台搭建

之前说过基于1078的视频监控平台,下面我们聊聊基于苏标Adas协议的主动安全平台。 苏标协议是对部标808协议的一种拓展,如果我们需要搭建苏标Adas主动安全平台,必须要先了解部标808的协议。了解过苏标协议的肯定明白,苏标是有个附件服务器的概念,其实这个附件服务器就是一个808的网关,然后根...

2019-10-28 16:53:43 1013 0

原创 C#二次开发金橙子MarkEzd.dll激光打标机

最近公司这边需要生产一批设备,壳体需要根据每个设备的唯一标识号+相关信息,动态生成二维码并利用激光打标机进行打印。他们给的控制软件呢,虽然功能比较强大,但是对于我们动态生成二维码信息的场景操作起来就比较操蛋了,需要人工修改二维码字符串信息,即便再工人非常谨慎的操作下,也很容易出错。后来我们通过程序...

2019-09-25 15:41:27 2248 5

原创 字符转int后结果与预期不符

前言: class Program { static void Main(string[] args) { string b = "1000"; String[] c = new S...

2019-09-23 14:49:44 1350 0

原创 全球地址解析服务API

全球地址解析API,目前我已经购买了一套阿里云香港服务器,这样即便是国外客户,也能正常访问。由于个人经济能力有限没有足够的服务器资源,所以在调用的时候做了少许限制。 调用分为两种,一种是不需要Key值,每天免费使用5000次,超过限制后则进行限制,每天凌晨进行重置。 第二种:使用key,根据需...

2019-09-16 14:33:09 2050 0

原创 搭建1078部标流媒体服务器

前言 交通部与2016年10月份推出了JT/T 1078-2016标准,全称是《道路运输车辆卫星定位系统视频通信协议》。该标准将改变以往两客一危车辆的视频监控设备通信协议都是设备厂商私有协议的局面。 JT/T 1078协议又是对JT/T808协议的拓展,在808协议的基础上增加了对视频设备通信...

2019-09-10 14:45:58 2041 0

原创 Python爬虫—爬取某网站上面所有的世界港口信息数据

最近学习了一段时间的Python基础语法后,写了一个爬取世界港口数据的爬虫,并且保存到SQL Server 数据库。 前提 公司之前有个需求是想监控集装箱如果进出某个港口的时候能给出信息提示,并且与海运数据进行对接,达到集装箱从陆运—海运—陆运,整个过程动态监控的目的。 其中有个小的需求是集...

2019-09-02 14:09:48 1880 4

原创 OSM逆地理服务器搭建(四)之Web端加载OpenStreetMap地图

前言 前面的文章中说道我们利用 Nominatim将搭建了可以进行地址解析的服务器,以及如何利用 Nominatim进行地址解析。 虽然我们解决了地址解析不依赖谷歌服务,但是地图引擎,路线规划,画电子围栏等等操作还是需要使用谷歌地图,并不是完全的脱离谷歌服务。 如果我们希望完全脱离谷歌的话就需要考...

2019-08-29 15:47:24 1648 0

转载 WebApiThrottle限流框架使用手册

阅读目录: 介绍 基于IP全局限流 基于IP的端点限流 基于IP和客户端key的端点限流 IP和客户端key的白名单 IP和客户端key自定义限制频率 端点自定义限制频率 关于被拒请求的计数器 在web.config或app.config中定义限制策略 获取API的客户端key...

2019-08-28 09:30:44 304 0

原创 OSM逆地理服务器搭建(三)之国外地址解析

在前面的几篇博文中我们讲到如何在Windows与Liunx下导入OpenStreetMap地图数据,接下来我们队导入的数据该怎么使用进行学习。 利用OpenStreetMap进行地址解析 由于谷歌地图的地址解析是按调用次数收费的,而且费用还不低,作为像我们这样的中小型车联网智能硬件提供商来说这个费...

2019-08-17 14:42:33 2963 0

原创 记一次数据库表被工程师误删后恢复的经历

昨天下午5点半左右,工程师在进行系统调试的时候,误操作删除了一张业务表,工程师告诉我后,我脑子都炸了。随后冷静下来后,经过近1个小时的努力终于解决了。 我们使用的是SQL Server 2008 R2的数据库,恢复模式:简单,按道理是无解的存在。这也是我瞬间炸毛的原因。因为恢复模式选择简单,一般...

2019-07-26 18:38:42 265 0

原创 OSM逆地理服务器搭建(一)之操作系统安装

一、服务器选择 如果我们需要搭建全球的逆地理服务器,我们需要准备一个性能比较好的,存储空间比较大的服务器。由于全球库全部导入的时候数据大约占了1.2个T左右的磁盘容量,所以我们的服务器必须有至少1.5T的磁盘容量。 下面是我自己组装的一台服务器参数: 硬盘:我选择了500G SSD(系统盘+...

2019-07-22 18:27:33 416 0

原创 OSM学习之路(四):将OSM 数据导入到PostgreSQL

前提: 前几节简单介绍了一下osm与PostgreSQL,下面我们进入正题,如何将osm数据导入到PostgreSQL里面。 我选择的是利用osm2pgsql进行数据导入,如果有需要osm2pgsql的可以与我联系,网上也可以下载,但是网上的很多资源是没有“default.style”,而且有...

2019-01-10 11:42:10 3114 4

原创 OSM学习之路(三):PostgreSQL+PostGIS 环境搭建

背景: 既然我们要搭建自己的逆地理服务器,必定需要使用数据库来存放上节所说的osm数据,而且要求数据库必定具有空间数据管理能力。而PostGIS则是目前空间数据管理的主流,PostgreSQL+PostGIS用来管理空间数据也是目前大家比较认可的一种方式。 PostgreSQL+PostGIS...

2018-12-27 10:17:39 866 0

原创 OSM学习之路(二):OSM数据获取

1. 从OSM官方网址上获取数据 进入网址:http://www.openstreetmap.org 选择界面上的“导出”按钮 可以跟据自己的需要选择不同的区域进行导出。 但是这样做只能导出很小的一部分数据,如果我们需要全球性的地图数据,显然这样做行不通。 2. 从Geofa...

2018-12-25 17:16:16 681 0

原创 OSM学习之路(一):OSM介绍

背景: 公司作为车联网行业,少不了与地图打交道,之前一直依赖谷歌,百度等三方地图供应商来处理地图方面问题。但是随着客户量越来越大,谷歌的吃相变得越来越难看。自7月16日起,谷歌将限制API请求次数,超过限制将进行收费。谷歌大幅降低了免费请求次数的上限,由此前的每天2.5万次减少到每月 2.8 万...

2018-12-25 16:48:44 811 0

原创 存储过程中使用Exec拼接SQL语句造成的时间格式转换问题

问题现象 最近在做公司新项目的时候遇到一个问题,在查询历史轨迹清单的时候总是比原始轨迹数据少了几个点,之前没有太过在意,觉得一天8000多个轨迹点,丢失几个不影响到业务与功能的正常使用。最近闲来无事针对这些小问题进行了逐一分析。虽然说不会影响到客户使用与体验,但是能让系统做的越来越完美使我们编程...

2018-10-12 22:47:52 564 0

原创 C# 泛型理解

泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个非常重要的新功能。在此之前进行数据转化时候需要进行装箱与拆箱操作。我们知道装箱与拆箱需要消耗很大性能,泛型的引用主要优点是性能。 在学习泛型之前我们先了解一下值类型,引用类型以及装箱,拆箱。 值类型存储在栈上,引用类型存储在堆...

2018-06-07 17:31:05 976 0

原创 简单理解虚方法与抽象方法

虚方法与抽象方法说明: 在C#中虚函数的概念与标准的OOP的概念相同:可以在派生类中重写虚函数。在方法调用时会调用该对象的合适方法。在C#中,函数在默认情况下不是虚拟的,但是可以显示的声明为virtual(构造函数除外)。这点与C++一样,从性能的角度考虑,除非显式指定,否则函数就不是虚拟的...

2018-05-09 16:38:07 2456 0

原创 简单实例了解抽象函数,接口的使用

当我们从初级程序员向中级程序员冲击的时候,学会抽象函数与接口的使用就显得非常重要了。下面我使用一个简单的小例子来说明一下他们的使用。 首先我们先说明一下接口(下面是接口的说明:个人比较懒,直接用的百度百科里面的说明) 1. 接口是一个引用类型,通过接口可以实现多重继承。 2. C#中接口...

2018-02-02 15:33:56 1917 0

转载 网络协议-TCP和UDP最完整的区别介绍

TCP与UDP基本区别   1.基于连接与无连接   2.TCP要求系统资源较多,UDP较少;    3.UDP程序结构较简单    4.流模式(TCP)与数据报模式(UDP);    5.TCP保证数据正确性,UDP可能丢包    6.TCP保证数据顺序,UDP不保证     U...

2017-11-18 16:53:32 656 0

原创 如何区分单击和双击事件

当我们做Winform项目的时候,有可能会遇到这样的需求,当一个控件上既绑定了单击事件又绑定了双击事件,这样就会遇到一个问题,我们的双击事件没有触发之前,往往先触发了单击事件,影响到了用户的操作。如果让系统区分用户是进行了单击还是双击事件,就显得非常必要了。 我们看一下微软上面是不是有解决办法。...

2017-10-27 17:53:14 3708 4

原创 Setup Factory使用——安装包进行安装时模块选择的实现

废话不多说,直接进入正题。 第一步:创建包 点击左侧红色框里面的Packges,创建包。如下: 里面是我以前已经创建好的包,现在我们重新创建一个包,点击下面的Add按钮,出现如下界面。 然后,点击OK完成了你包(模块)的创建。 第二步:将DLL于包(模块)关联 ...

2017-05-02 09:19:13 6961 0

原创 Setup Factory使用——安装包进行安装前检查系统是否安装了其它相关系统

如下图所示 点击Action下面的On Startup弹出Action框。 在编辑框内输入下面脚本,即可。 result = Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "software\\microsoft\\windows\\cur...

2017-05-02 09:15:56 5567 1

原创 C#多线程同步的几种方法

1.为什么使用同步 多线程操作的时候我们知道要避免线程之间共享数据,但是很多时候我们要使用多线程并且还要访问同一块内存的数据,这是我们就必须要使用同步技术,确保一次只有一个线程访问和改变共享状态。 下面我就来说一下同步所用的几种方法。 2.Lock语句 lock是一种比较好用的简单的线程同...

2017-03-06 14:37:07 1675 0

原创 DataGridView绑定List<T>,出现IndexOutOfRangeException异常

最近在测试系统的时候DataGridView出现IndexOutOfRangeException异常,对DataGridView绑定的数据源类型是List<T>。由于DataGridView我使用的是第三方插件DEV,开始我以为是我引用的第三方插件dll版本不兼容造成的,很快这个假象被...

2016-08-16 11:32:45 1809 0

原创 使用.NET Framework Client Profile 导致的引用失效

今天编译公司一个项目的时候出现了让我无比头痛的问题,我引用的动态库,总是编译报错,无法使用。一开始我以为动态库编译出了问题,反复重新编译,可是错误还是出现。无奈下网上查一下解决方案,终于找到问题所在。 当我们使用Visual Studio2010创建工程时(已经安装了.Net Framework...

2016-07-07 10:45:53 1127 0

转载 QQ抢红包插件

作为一个有女朋友的人,之前跟那些20年的单身狗抢红包是屡战屡败。再加上最近群里面发红包发的厉害,又想到快要过年了,到时候还不知道群里要发好多红包,所以我将之前在网上宕的一份微信抢红包的代码修改了一下,实现了QQ抢红包!可以支持抢QQ拼手气红包,普通红包,口令红包,现在再也不怕20年单身手速的人跟我...

2016-04-01 11:42:10 3388 0

原创 子对话框调用父对话框button按钮事件

1、将父对话框的按钮事件定义成public方法(例如我调用父对话框的搜索按钮) public void btn_Query_Click(object sender, EventArgs e) {...} 2、在主窗体类中定义一个静态成员,来保存当前主窗体对象。 例如: public...

2016-02-24 10:04:21 2349 0

原创 C# 将数据存到MySQL数据库出现乱码

一共发现了两种解决方法: 第一种: 在执行语句前面设置,如: MySQLCommand mCommand = new MySQLCommand("set names gb2312", m_Connection); 第二种: 直接加在连接...

2016-01-13 16:32:12 554 0

原创 Dev GridControl根据单元格内容进行着色

1、添加gridview 的CustomDrawCell事件,如下          private void gridview1_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)         {         } ...

2016-01-06 11:42:31 484 0

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