技术


23

03月

Modbus 32位协议浮点数格式换算

Modbus协议中浮点数(单精度)使用的是IEEE754标准浮点数(32位)的表示方法:IEEE754浮点数二进制格式示意图1[31] 符号位(SIGN)8[23-30] 指数位(EXPONENT) 指数偏移量 12723[0-22] 尾数位(MANTISSA)转换为10进制的公式:SGL = (-1)^SIGN * 1.MANTISSA * 2^(EXPONENT-127)转换举例:将40800000转换为10进制数,方法如下:Modbus浮点数转换示例先将16进制数转成二进制数010000001000000000000000000000001位符号位(SIGN)=08位指数位(EXPONENT)=10000001=129[10进制]23位尾数位(MANTISSA)=...

22

03月

Modbus php crc16算法2种

    /**      * CRC16 算法1      *      * @param  string $string 输入字符      * @return string      */     public static function crc($string)     {         $data = pack('H*',&n...

03

01月

swoole websocket启用https

Yii2结合swoole控制台做websocket服务器<?php /**  * websocket  */ namespace app\console\swoole; use Yii; class WssController extends \yii\console\Controller {     private $serv;     public function __construct()     {         $this->serv = new \swoole_websocket_server("0.0.0.0", 9501, SWOOLE_BASE,&...

19

11月

简单粗暴删除aliyun-service

使用官方提供的卸载方法:wget http://update.aegis.aliyun.com/download/uninstall.sh chmod +x uninstall.sh sh uninstall.sh卸载后aliyun-service还是会自动重启,使用下面简单粗暴的方法可以干掉该进程killall aliyun-service && echo "" >/usr/sbin/aliyun-service暂时没发现再次重启

21

10月

改华硕老毛子Padavan固件DDNS插件DNSPod、Aliddns配置

我的路由器是小米3G,原本小米路由有官方的APP可以远程管理,自从把固件刷成老毛子Padavan以后对路由器的远程管理就无效了,正常情况下,路由器如果获取的是外网IP,就可以直接通过外网IP访问,但如果路由器被重启了,IP地址就会变成其它的,这样就得每次手动去查询IP地址,非常的麻烦。好在老毛子Padavan集成了第三方的反向代理和DDNS功能,远程通过URL管理路由就不是什么难事。经过对比测试,建议使用aliddns,每10分钟更新一次都没有问题,但dnspod对API做了频率限制,频繁调会被限制不能更新先来了解下什么是DDNS...

29

06月

CentOS 7默认启动内核修改

查看未变更之前内核版本[root@digua ~]# uname -a Linux digua 3.10.0-514.21.2.el7.x86_64 #1 SMP Tue Jun 20 12:24:47 UTC 2017 x86_64 x86_64 x86_6列出当前系统中已安装内核列表[root@digua ~]# cat /boot/grub2/grub.cfg |grep menuentry if [ x"${feature_menuentry_id}" = xy ]; then   menuentry_id_option="--id"   menuentry_id_option="" ...

12

05月

一元夺宝算法

目前一元夺宝网站使用的算法大同小异,大约有如下2种算法算法一数值A与总需人次取余 + 原始数 10000001商品人次满额后,将获取截止该时间点本站商品最后100个参与时间精确到毫秒,并求和(得出数值A);数值A与总需人次取余 + 原始数 10000001,得到最终幸运号码;求和: 16235391739(最后100条夺宝记录时间取值相加之和)取余: 16235391739(100条时间记录之和) % 5690(本商品总需参与人次) = 939(余数)结果: (余数) + 10000001 = 10000940最终结果:10000940算法二(数值A+数值B)与总需人次取余 + 原...

19

12月

SourceTree同时提交多个远程仓库

SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mercurial和Subversion版本控制系统工具。支持创建、克隆、提交、push、pull 和合并等操作。有时候为了安全,防止git平台故障导致不能正常提交和拉取代码,我们会将代码提交到多个git平台,这样其中一个平台故障,可以立刻切换到正常的平台。方案一:自动提交到多个远程仓库打开项目的git配置文件,路径地址是在项目根目录/.git/config ,也可以通过soureceTree界面打开直接配置多个url = 部分[core]     repository...

18

12月

nginx限制并发连接数以及下载带宽

在nginx.conf里的http{}里加上如下代码:limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m;在需要限制并发数和下载带宽的网站配置server{}里加上如下代码:server {     limit_conn perip 10;     limit_conn perserver 100;     limit_rate 100k; }参数说明:$binary_remote_addr是限制同一客户端ip地址;$server_name是限制同一server最大...

16

12月

kartik-v/yii2-mpdf安装及中文乱码解决

yii2中要生成pdf可以使用kartik-v/yii2-mpdf,项目地址:http://demos.krajee.com/mpdf。也可以使用该文章使用的方法:https://bloger.wang/post/67/create-pdf-files-using-mpdf-in-yiiframework-2-0,其内核都是使用了mpdf组件,官方网址:http://www.mpdf1.com/安装方法很简单:$ php composer.phar require kartik-v/yii2-mpdf "*"或者在composer.json的require字段中增加"kartik-v/yii2-mpdf": "*""require": {     "php": ">=5.4.0",   ...

11

12月

yii2 url管理

默认URL在yii2.0中默认的控制器为site,默认动作为index. 访问方式是site/index. 如果想配置自己的默认URL,可以在web.php中配置 ‘defaultRoute’ 参数:........ $config = [     'defaultRoute' => '/post/index',     'components' => [         'urlManager' => [            &nb...

01

12月

yii2 session常用操作

打开关闭sessionuse  yii\web\Session; $session = Yii::$app->session; // check if a session is already open if ($session->isActive) ... // open a session $session->open(); // close a session $session->close(); // destroys all data registered to a session. $session->destroy();设置session变量$session = Yii::$app->session; $session->set('...

15

11月

yii2中静态资源js,css如何增加动态参数或版本号

    开发过程中经常会遇到最新的静态资源已经上传到服务器,用户看到仍然是旧的缓存内容,尤其是在微信站中最常见,缓存没有更新,用户就无法看到最新的内容,PC上浏览器可以强制刷新内容,但在微信中就无法手动刷新了。    这种情况可以给css和js路径后带上版本号,客户端浏览器就会重新下载新的js或css文件 ,从而起来刷新缓存的作用正常加载css和js的方式如下<link href="base.css" rel="stylesheet"> <script src="global.js"></script>带上版本号后加载...