分类: IT小常识

  • 获取汉字的十六进制编码

    public static string Str2Hex(string s)
    {
    string result = string.Empty;

    byte[] arrByte = System.Text.Encoding.GetEncoding(“GB2312”).GetBytes(s);
    for (int i = 0; i < arrByte.Length; i++)
    {
    result += “0x” + System.Convert.ToString(arrByte[i], 16).ToUpper() + “,”; //Convert.ToString(byte, 16)把byte转化成十六进制string
    }

    return result;
    }

  • 防水 超声波测距模块 一体化超声波DYP-ME007Y-TX串口输出

    在淘宝“高校基地”店买了一个http://item.taobao.com/item.htm?spm=a1z0k.6846101.1130973605.d4915209.SAObbz&id=36884805726,还有一种是PWM输出,这个代码比较多,就是最普遍的发送命令,然后等待信号,再计时,用声速推算距离,但是TX输出把我搞乱了。

    终于在http://forum.arduino.cc/index.php?topic=88388.5;wap2找到了答案:

    #include <SoftwareSerial.h>

    // TX_PIN is not used by the sensor, since that the it only transmits!
    #define PING_RX_PIN 6
    #define PING_TX_PIN 7

    SoftwareSerial mySerial(PING_RX_PIN, PING_TX_PIN);

    long inches = 0, mili = 0;
    byte mybuffer[4] = {0};
    byte bitpos = 0;

    void setup() {
    Serial.begin(9600);

    mySerial.begin(9600);
    }

    void loop() {
    bitpos = 0;
    while (mySerial.available()) {
    // the first byte is ALWAYS 0xFF and I’m not using the checksum (last byte)
    // if your print the mySerial.read() data as HEX until it is not available, you will get several measures for the distance (FF-XX-XX-XX-FF-YY-YY-YY-FF-…). I think that is some kind of internal buffer, so I’m only considering the first 4 bytes in the sequence (which I hope that are the most recent! 😀 )
    if (bitpos < 4) {
    mybuffer[bitpos++] = mySerial.read();
    } else break;
    }
    mySerial.flush(); // discard older values in the next read

    mili = mybuffer[1]<<8 | mybuffer[2]; // 0x– : 0xb3b2 : 0xb1b0 : 0x–
    inches = 0.0393700787 * mili;
    Serial.print(“PING: “);
    Serial.print(inches);
    Serial.print(“in, “);
    Serial.print(mili);
    Serial.print(“mili”);

    delay(100);
    }

    说明:模块每次输出一帧,含4个8位数据,帧格式为:0XFF+H_DATA+L_DATA+SUM

    1、0XFF: 为一帧开始数据,用于判断。

    2、H_DARA:距离数据的高8位。

    3、L_DATA:距离数据的低8位。

    4、SUM: 数据和用于交验。其0XFF+H_DATA+L_DATA=SUM(仅低8位)

    5、H_DATA与L_DATA合成16位数据,即以毫米为单位的距离值。

    注意:模块检测最小距离为30cm,在30cm内有物体,将获得不准确信号。

    以上代码中没有做SUM校验

  • Arduino Yún与DFR0265(IO Expansion Shield for Arduino V7)不兼容解决办法

    IMG_0666

    如图,因为Yun的网线口比之前的板子挨着引脚近,所以V7插不上去,研究一番,决定加一层排母,垫高一些再插扩展板。最终选择

    1.http://item.taobao.com/item.htm?id=20747855300 1个;

    2.http://item.taobao.com/item.htm?id=20747511841 2个;

    3.http://item.taobao.com/item.htm?id=20747903210 1个;

    4.http://item.taobao.com/item.htm?id=20802935165 1个。

    另外还想把这些排母焊到一层板子上,不过单买一个洞洞板运费不划算,回头想好了再说。

  • BugNet Issue Tracker域帐号配置说明

    网站安装时只需要修改web.config中的数据库连接,其他不变,主要是<authentication mode=”Forms”>保持不变。bugnet

    1. 用默认的admin账号登录,初始密码是password,界面上有说明,登录后可以在系统设置中修改;

    2. 添加一个域帐号作为切换到域帐号登录模式后的管理员账号,新建用户,Admin->User Accounts->Create New User->User Name的格式为domain\username,具体如ccppg\mengfanyong,其他随便填,密码勾选Random Password; (更多…)

  • Asp.net mvc + .net EF database first 或 model first 时如何添加验证特性

    在使用Entity Framework 的Database frist或model first时,怎么在model上添加验证的特性?

    因为此时的Model是是VS 工具怎么生成的,直接加attribute到modle类上是太现实也不合理。一个比较合理做法,就是用 buddy class的方式来实现。

    比如有一个Model类: Movie。那我们就可以添加一个局部类文件,局部类的内容如下:

    using System.ComponentModel.DataAnnotations;
    namespace Movies.Models
    {
        [MetadataType(typeof(MovieMetadata))]
        public partial class Movie
        {
            private class MovieMetadata  //这个类名随便起,相当于把这个类里面的东西追加给Movie,这个追加是用[MetadataType]实现的
            {
                [Required(ErrorMessage="Titles are required")]
                public string Title { get; set; }
    
    
                [Required(ErrorMessage="The Price is required.")]
                [Range(5,100,ErrorMessage ="Movies cost between $5 and $100.")]
                public decimal Price { get; set; }
            }
        }
    }

    通过在这个局部类文件中添加需要的验证属性就可以了。

    以上内容来自http://www.cnblogs.com/ITHelper/archive/2013/01/08/2851442.html

    另外,对于有文件上传的时候,还可以写一个扩展的model,比如:

    public class MovieViewModel
    {
    [FileExtensions(Extensions = “jpg,gif,png”, ErrorMessage = “jpg,gif,png”)]
    public HttpPostedFileBase CoverImageFile { get; set; }

    public Movie movie { get; set; }

    }

    这样,在给control生成强类型view的时候就用MovieViewModel。

  • MySql Connector.Net 6.6.5适配VS2012

    经过反复实践,发现MySql Connector.Net 6.6.5可以适配VS2012,其他版本,包括最新的6.7.4版,安装以后在vs2012中找不到mysql provider。

  • windows server 2008 r2初始化mvc+mysql网站环境步骤

    1. 在服务器管理器里安装iis角色;

    2. 安装framework4或更新的,dotnetfx45_full_x86_x64;

    3. 安装mvc支持,AspNetMVC3ToolsUpdateSetup;

    4. 安装mysql connector,mysql-connector-net-6.5.7。

  • 为视频应用制作GIF动态封面

    第一步,编写脚本,用ffmpeg对视频按照一定间隔截取图片;

    第二步,参考http://cnn237111.blog.51cto.com/2359144/1261422提供的方法将获取到的截图生成动态GIF图片;

    第三步,在视频播放器flash中设置封面或用html5的标签来定义封面。

  • 用免费版DiskGenius把逻辑分区扩展到主分区

    diskgenius

     

    C盘本来100G,结果还是无奈的被win7搞满了,所以想着把D盘格了分给C盘去。搞了半天却发现D盘是扩展分区,C盘的主分区没法扩展。最后找到了免费版DiskGenius,还是绿色的,直接运行,因为D盘已经被我删掉了卷,所以上来就选择调整C盘空间,把条拉满到底,然后提示重启。重启后DiskGenius检验了一番进系统就OK了。

  • NTFS下海量文件修改权限的步骤

    1. 修改所有者:

    点击“安全”–>”高级”–>“所有者”–>“其他用户或组”,添加Everyone用户并勾选“替换子容器及对象的所有权”复选框。
    2. 修改安全权限:
    比如添加IUSR的权限等。
    这样做的好处是避免出现:“无法保存对xxxxx权限所在的更改。拒绝访问”的情况造成权限不一致,又不好检查。