MQTT服务端EMQ X常用API功能介绍
之前有文章提到过MQTT服务器emq,http://www.04007.cn/article/960.html可以认为它是一个轻量级的消息队列,因此需要提供给服务端比如查询客户端信息、发布消息和创建规则等功能。对此EMQX提供了HTTPAPI以实现与外部系统的集成,HTTPAPI服务默认监听8081端口,可通过etc/plugins/emqx_management.conf配置文件修改相关参数属性,或启用HTTPS监听。 关于EMQX的接口安全:EMQX的HTTPAPI使用Basic认证(opensnewwindow)方式,id和password须分别填写AppID和AppSecret。默认...[>>…]
推荐一款简洁实用的markdown笔记本应用软件Tea
之前想找一款免费、简洁、实用、好用的markdown软件,找来找去发现了一款叫Tea的笔记本应用,使用了一段时间,感觉这个Tea完全能满足我工作上的需求,做个记录也做个推荐。笔记类小软件很多,比如windows10自带的OneNote,还有印象笔记、有道云笔记等,也都有比较完整的功能,但也过于繁杂,我的目的就只是一个在本地存储的文档编辑、归类的软件而已。Tea恰好是这么一款干净好用的markdon笔记应用。 Tea官方地址:http://www.haocha.co/是一款由国人开发的实现markdo...[>>…]
开源对象存储软件minio永久有效下载的实现
在使用minio管理端上传文件并进行分享的时候,发现其在分享时带了一连串的参数,示例如下:http://127.0.0.1:9000/test/1.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=s1quest&X-Amz-Date=20210120T012119Z&X-Amz-Expires=432000&X-Amz-SignedHeaders=host&X-Amz-Signature=a963ff8330971这正是在创建分享的时候minio限制了只能分享一个带有一定有效期的链接,而且最长只有7天有效期,这肯定不好用啊! 要实现根据域名端口+桶+文件...[>>…]
mqtt服务器EMQX的消息发布服务质量QOS和离线消息Retained
1:关于消息发布服务质量 MQTT设计了一套保证消息稳定传输的机制,包括消息应答、存储和重传。在这套机制下,提供了三种不同层次QoS(QualityofService)消息发布服务质量,也可称为QualityofService等级,一共有3个QoS等级:QoS0,Atmostonce,至多一次;消息发布完全依赖底层TCP/IP网络,会发生消息丢失或者重复,这一级别可用于如下情况,环境,传感器数据,丢失一次度记录无所谓,因为不久之后会有第二次发送;QoS1,Atleastonce,至少一次;确保消息到达,但消息重复可能发生;QoS2,Exact...[>>…]
mqtt服务器EMQX的安装使用
EMQX是中国杭州一家科技公司(公司名叫EMQ)发布的面向5G和物联网市场的消息与流处理开源软件。公司创始团队主要来自华为、IBM、亚马逊和苹果,并坚定支持软件开源。难得难得,2013年,EMQ作为一个开源项目在Github上发布,目前已成为全球市场广泛应用的开源MQTT消息服务器。 EMQXBroker是其完全开放源码的发布订阅模式一款mqtt服务器,基于高并发的Erlang/OTP语言平台开发,支持百万级连接和分布式集群架构。MQTT5.0支持、高并发低时延、扩展模块与插件、跨平台安装部...[>>…]
物联网传输协议MQTT以及常见的mqtt服务器
MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是一个由IBM主导开发的物联网传输协议,主要用于即时通讯,物联网M2M,物联网采集等。它被设计用于轻量级的发布/订阅式消息传输,比较适合于在低带宽、不可靠的网络进行远程传感器和控制设备通讯等,它的核心设计思想是开源、可靠、轻巧、简单,正日益成为物联网通信协议的重要组成部分。有以下主要特性:1.非常小的通信开销(最小的消息大小为2字节);2.支持各种流行编程语言(包括C,Java,Ruby,Python等)且有易于使用的客户...[>>…]
内网穿透工具frp的应用-frpc,frps
内网穿透即内网映射,可以将局域网变公网,从而可以让外网访问本地局域网内的服务。内网穿透原理技术有这么几种:1,通过公网服务器转发,这是目前市场上大多三方的内网穿透服务方式。2,P2P穿透,端对端连接通信,即常说的UDP打洞方式,受国内复杂网络环境影响打洞成功机率不高。3,通过公网服务器响应对二端握手穿透,穿透成功时直接二端P2P打洞直联。 内网穿透工具有很多,比如Ngrok、花生壳、frp。原理基本一样,这里主要了解一下FRP,frp分为客户端和服务端,frp...[>>…]
高德地图通过将IP地址转换成经纬度-只能定位到城市范围
因业务需要,将IP地址转换成经纬度,记录一下。高德地图IP地址定位调用接口文档地址:https://lbs.amap.com/api/webservice/guide/api/ipconfig .调用方法很简单,先申请web服务API密钥(Key);注意根据你的调用方式选择key,我这里是通过web接口调用,所以选择web服务。不然会把key的类型错误。然后拼接HTTP请求URL,并带上第一步申请的Key;请求如下url:https://restapi.amap.com/v3/ip?ip=114.247.50.2&output=json&key=<用户的key>output可以是xml,也可以是json,如请...[>>…]
Git如何删除提交的log日志记录
也许因为某些原因我们需要删除一些提交记录,比如我们在中间不小心提交了一些重要密码文件到git上,而只通过删除文件并不能删除记录,在git项目中可以通过提交历史查看到我们之前提交的这些文件,从而暴露资料。那怎么删除commit的记录呢? 有办法的,不过操作的时候要小心。首先我们要删除操作记录,我们要找到我们要删除到的哪条记录,从而git知道我们要删除掉哪些提交记录,可以在项目管理中页面-/commits/master中找到这个记录,然后在右边可以看到有按钮copycom...[>>…]
使用jenkins发布vue项目-npm自动打包发布的实现
发布vue项目和发布其它的项目不同的地方在于需要使用npm进行安装依赖包,然后再基于当前的依赖包打包出dist文件夹及其内容,然后将生成的静态文件内容发布到服务器上,我之前也发布过vue项目,但那时为了省事,直接由开发人员将项目打包,并将打包后的代码和src源码一起上传至svn/git仓库,然后jenkins中只需要将dist文件中的内容发布到服务器即可。虽然也可以,但难免不够自动化。 使用jenkins发布时可以直接配置自动打包的过程,首先需要在jenkins服务器上安装node...[>>…]