- 博客(139)
- 资源 (28)
- 收藏
- 关注
原创 基于物模型的资产监控系统研发
我们在做资产监控的时候,被监控的对象并非某个固定的业务,比如可能是:车载、人员、货物、冷箱等等。在开发资产监控系统的时候如何针对不同的设备应用场景在系统中给出不同的界面呈现效果则是非常必要的。这时候,我们就需要针对设备监控的对象给出模型划分,根据设备上报的数据属性动态返回数据源。
2023-12-25 10:52:07 558
原创 利用Postgresql+Postgis进行空间地理信息分析(道路偏移,进出电子围栏等)
前言GIS空间分析指的是在GIS(地理信息系统)里实现分析空间数据,即从空间数据中获取有关地理对象的空间位置、分布、形态、形成和演变等信息并进行分析。将GIS空间分析利用到系统中,我们可以利用GIS空间分析处理车辆进出电子围栏,车辆预计到达目的地,车辆是否进入某些区域,车辆是否进入道路,车辆是否偏移了规定道路等等相关应用型分析。准备针对复杂的GIS空间分析,我们可以利用Postgr...
2019-08-31 12:11:52 9710
原创 OSM逆地理服务器搭建(二)之OSM地图服务器搭建
1、数据准备从http://download.geofabrik.de/asia.html中下载需要的国家地区数据(.osm.pbf)从https://planet.openstreetmap.org/pbf/中下载世界地图数据(.osm.pbf)从http://www.nominatim.org/release/Nominatim-2.5.1.tar.bz2中下载Nominatim...
2019-07-23 15:18:02 7218
原创 MongoDB 启动提示错误code=killed, signal=ABRT
记录一次MongoDB 启动提示错误code=killed, signal=ABRT
2024-01-10 16:31:08 682
原创 Java实现音频转码,WAV、MP3、AMR互转
最近在集成一款产品支持语音双向对讲,首先是采集小程序的音频下发给设备端,然后可以控制设备录音生成音频链路让小程序播放。在这个过程中发现,设备除了AMR格式的音频外,其他的音频都不支持,而微信小程序有不支持AMR格式的音频文件,所以这里需要进行音频转码。
2023-11-12 12:13:50 1285
原创 MyBitis自动拼接了LIMIT
最近系统在运营的过程中发现一个很奇怪的问题,莫名其妙的SQL语句会被拼接上一小段SQL,但是发现这被拼接的SQL并不是当前这个API所使用的SQL,因此导致select语句出错。
2023-11-01 14:05:40 564
原创 Java 音频处理,音频流转音频文件,获取音频播放时长
最近对接了一款智能手表,手环,可以应用与老人与儿童监控,环卫工人监控,农场畜牧业监控,宠物监控等,其中用到了音频传输,通过平台下发语音包,发送远程命令录制当前设备音频并将音频分包传输到服务器上生成音频文件等。其中关于音频的一些简单操作封装成了工具包。
2023-10-26 13:10:14 1352
原创 记一次关于应用程序无法连接postgresql数据的问题排查
首先我们排查postgresql.conf(Ubuntu一般在/etc/postgresql/9.5/main/目录下)配置文件中“unix_socket_directories”所指向的目录,这个目录一般默认配置在/tmp目录下,然后通过命令查看此目录下是否存在.s.PGSQL.5432。如果不存在则说明/tmp/.s.PGSQL.5432文件在启动的时候没有同步到/var/run/postgresql/.s.PGSQL.5432。如果返回/tmp/.s.PGSQL.5432,则代表文件存在。
2023-10-16 14:47:16 709
原创 Java 获取服务器资源(内存、负载、磁盘容量)
我们经常通过SSH终端发送shell命令进行服务器运维,从而获取到服务器的各种资源,按照这个思路,我们可以利用Java做一个定时任务,定时采集服务器资源使用情况,从而实现服务器资源的动态呈现。
2023-10-11 09:41:55 775 1
原创 Ubuntu 安装Postgresql与PostGIS
最近新做了一个物联网项目,采用的是Springboot+mongoDB+MySQL,所以考虑使用Linux服务器重新实现这个服务。此文只介绍Ubuntu下安装Postgresql与PostGIS环境。
2023-07-19 22:53:39 891
原创 Mysql 修改group_concat_max_len的默认值
最近在进行递归查询组织及其下属组织时,发现数据查询不全,子组织数据查询不出来的问题。经排查发现是group_concat_max_len的长度不足引起的,默认情况下group_concat_max_len=1024,所以我们需要修改这个默认参数。
2023-07-18 16:41:53 1277 1
原创 Java 对接google WIFI定位API
目前国内WIFI信息无法进行定位,只有国外的WIFI MAC地址才能请求到位置,不过也不一定完全准确,目前我测试的情况是这样,国内使用了大量的WIFI MAC地址都无法请求到位置。key=你的谷歌key。谷歌API请求,必须使用国外/香港网络才能正常请求,否则是无法请求通过。至少需要两个WIFI的MAC地址方可请求到经纬度信息。
2023-06-20 18:45:41 601
原创 Java Supervisor RPC2 接口对接
如果是C#语言,请参考《如何安装Supervisor,请参考《如果是Maven项目,则在pom.xml引入jar包。
2023-06-13 10:30:16 664
原创 Java RabbitMQ API 对接说明
最近研发的物联网底层框架使用了RabbitMQ作为消息队列,如果监控消息队列对其通道是否出现阻塞能够及时获知与让管理员收到预警并及时处理,这里我们会采用RabbitMQ的rabbitmq_management插件。利用其提供的API进行获取信息,从而实现队列监控的目标。
2023-06-12 13:33:00 1604 4
原创 SpringBoot使用阿里云邮件服务实现账户分享
其中:${userName},"${url}","${expireTime}"为需要动态替换的内容。在template文件夹下创建一个html文件,比如Cn_UserShare.html。在配置文件yml的spring节点下添加对template文件夹内容的引入。在resources下创建一个模板文件夹template。
2023-04-03 15:05:35 535 1
原创 SpringBoot 集成Shell命令实现系统日志查询并通过API返回给前端
在做物联网项目中,为了方便产品测试人员以及第三方产品集成商能通过系统快速获取设备原始数据,因此考虑在物联网终端管理平台增加读取物联网通讯服务记录的终端日志的功能。我的想法是直接通过Java操作Linux服务器的Shell命令,读取日志文件里面的上下行数据。
2023-03-05 21:47:31 574
原创 物联网架构实例—Ubuntu 安装MongoDB及完全卸载
apt-key用于管理apt用于验证软件包的密钥列表,已经使用这些密钥验证的软件包将被视为可信。通过刚刚创建的管理员账户连接到我们刚刚安装的MongoDB,此时会有默认的三个系统库。如果执行命令的过程发现有残留文件,则可以执行 rm -r 命令将其移除。如果这时候我们执行show dbs,不会显示我们刚刚创建的数据库。因为我们刚刚创建的管理员账户是admin,密码:123456。因为还未创建过自己的数据库,所以这里还是默认的三个库。再执行show dbs就可以看到刚刚创建的数据库了。
2023-01-06 22:00:10 1369 1
原创 物联网架构实例—Ubuntu 安装Java 13详细教程
我们可以使用xftp工具将Java环境压缩包上传到服务器的opt目录下,并在opt目录下创建java目录,并给目录设置所有权限。我们可以使用xftp通过界面UI界面操作,也可以通过命令行操作。执行命令将java13解压完后,通过xftp可以看到Java目录下新增了一个jdk-13.0.1的目录2.配置环境变量修改然后保存退出即可使。
2022-12-29 14:11:25 259
原创 物联网架构实例—部标过检工具使用(物联网套件压测)
针对物联网套件进行压测时使用到的部标过检工具,这个工具是企业部标平台过检时使用的一个工具,具有一定的标准性,对平台承载能力的一个合理的评判。
2022-12-27 13:39:43 857 3
原创 物联网架构实例—解决Linux(Ubuntu)服务器最大TCP连接数限制
在对物联网网关进行压测的时候,发现在腾讯云部署网关程序,设备接入数量只能达到4000多个长连接,之后就再也无法接入终端了。之前在阿里云部署的时候明明可以到达2万左右,而且腾讯云的这个服务器比阿里云的硬件配置还要高上不少,不至于那么差,随后查阅大量资料终于完美解决。
2022-12-16 21:39:46 2586 1
原创 物联网架构实例—框架设计
无论是终端接入还是第三方云厂家IOT服务的数据接入都进行了统一化处理与终端鉴权,最后通过WEBAPI与推送服务套件将数据统一输出给第三方平台。目前对此架构进行单机压测,在一台4核8G,10M带宽的情况下终端长链接在25000个,并发数量量在5500条/秒左右。主要使用的技术路线是:SpringBoot+Netty+RabbitMQ+Redis+MongoDB+MySQL+OBS。后续我会将此框架使用的一些套件以及压测工具和一些过程中遇到的问题记录下来,也方便自己后续温故而知新。
2022-12-15 18:08:30 612
原创 Windows Server 生成带私钥的证书请求
选择“个人”下面的“证书”,右键选择“所有任务”,然后选择“高级操作”,找到“创建自定义请求”随后弹出“证书注册”界面然后点击“下一步”。选择“自定义请求”下面的“不使用注册策略继续”使用默认项,继续点击“下一步”点击“详细信息”,点击“属性”在属性里面设置参数在使用者属性栏添加使用者的信息最后在私钥属性找到需要配置的私钥信息点击“应用”即可所有属性都已经配置后,点击“确定”会弹出文件存储选择最后会得到一个自定义请求文件,随后即可用此文件生成对应的证书。
2022-09-05 17:25:03 1093
原创 Python 基于OpenCV+face_recognition+tkinter实现人脸特征监测
安装好依赖包opencv-python、face-recognition、tkinter。由于python3以上版本已经将tkinter内置到环境,所以这里不需要单独安装依赖。
2022-09-02 17:26:25 1384
原创 Python 基于OpenCV+face_recognition实现人脸捕捉与人脸识别(照片对比)
与上篇通过摄像头动态识别人脸一样,先下载好opencv-python、face-recognition,这里因为使用的是照片对比的方式,特意使用tkinter画了一个简单的GUI方便操作。在python 3以上版本tkinter是环境自带的,所以这里不需要安装。...
2022-08-31 18:27:48 14772 12
原创 Python 基于OpenCV+face_recognition实现人脸捕捉与人脸识别
如果安装face_recognition过程中报错,提示:“CMake must be installed to build the following extensions: dlib”,则需要安装CMakecmake安装成功后再安装face_recognition如果使用的是Microsoft Visual Studio ,则可以直接在项目目录下的Python环境上右键,选择Install Python Package... 安装对应的开发包。...
2022-08-31 09:38:09 1444
原创 C#WebApi寄宿在一个窗口应用程序
在我们开发应用程序的过程中,应用程序之间往往是需要相互之间进行通讯的,即便是一个窗口应用程序或者Winform应用程序。如何简单的将两个应用程序之间进行数据传递,我们目前通常的做法就是使用WebAPI、WebService、RPC等对外提供接口。我们这里的做法就是如何将WEBAPI寄宿在C#的窗口应用程序中。
2022-03-29 16:53:14 2396
原创 基于Netty的UDP服务端开发
1.前言之前基于Netty做了一套TCP与MQTT的服务端,随着系统接入的终端类型越来越多,出现了UDP通讯的设备,虽然这样的设备并非主流,而且通讯机制存在问题,为了考虑系统的兼容性,只能将整套服务做全。2.UDP通讯优缺点UDP 是一种面向非连接的协议,面向非连接指的是在正式通信前不必与对方先建立连接,不管对方状态就直接发送数据。至于对方是否可以接收到这些数据,UDP 协议无法控制,所以说 UDP 是一种不可靠的协议。UDP 协议适用于一次只传送少量数据、对可靠性要求不高的应用环境。与
2022-03-25 09:32:42 1572
原创 流媒体开发—H.264/H.265裸流文件推流
之前开发过基于JT/T1078开发了一套流媒体服务,随着细分业务的延伸与客户的需求,希望我们能直接对H.264/H.265裸流文件通过rtmp/rtsp的方式进行推流与拉流。在对流媒体进行改造之后,我们采用ffmpeg进行推流,使用VLC进行拉流验证,过程如下。1.安装ffmpeg我这边使用的Windows环境进行验证1.1.下载ffmpeg下载安装包:https://github.com/BtbN/FFmpeg-Builds/releases我安装的是:ffmpeg-n4.
2022-02-10 15:40:02 2522 1
原创 C# 实现国密SM4加解密封装
1.Portable.BouncyCastle 引入右键解决方案的引用,选择管理NuGet程序包在浏览的搜索框中搜索:“Portable.BouncyCastle”选择第一个,在右侧点击安装即可完成程序包的引入。2.SM42.1.SM4Contextpublic class SM4Context { public int mode; public long[] sk; public bool isPadding..
2021-12-28 14:32:41 2690 5
原创 C# 实现国密SM3加解密封装
1.Portable.BouncyCastle 引入右键解决方案的引用,选择管理NuGet程序包在浏览的搜索框中搜索:“Portable.BouncyCastle”选择第一个,在右侧点击安装即可完成程序包的引入。2.SM32.1.公共方法 public class SupportClass { /// <summary> /// Performs an unsigned bitwise right shift with..
2021-12-28 14:26:13 6585 2
原创 C# 实现国密SM2加解密封装
1.Portable.BouncyCastle 引入右键解决方案的引用,选择管理NuGet程序包在浏览的搜索框中搜索:“Portable.BouncyCastle”选择第一个,在右侧点击安装即可完成程序包的引入。2.SM22.1.密码计算 /// <summary> /// 密码计算 /// </summary> public class Cipher { private int ct = 1..
2021-12-28 14:21:06 3325
CoordinateConversion.rar
2021-09-26
360Security.rar
2021-05-26
Blogs 1.5[新增 站内搜索、文章阅读量统计、评论量统计].rar
2020-07-21
osm2pgsql.zip
2020-07-21
全球港口信息数据.csv
2020-06-23
Python爬取世界港口数据
2019-08-19
C#甘特图实现
2015-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人