4月 162020
 

原文:https://gunnarpeipman.com/datagridview-dotnet-core-31/

最近在写个控制程序,觉得.net core挺好,可以跨平台了,因此尝试了一下。没想到DataGirdView找不到了。搜了半天才发现原来.net core好多控件还没做完呢=。=

准备开始按照这个博客试一下加datagridview,但愿一切顺利

 Posted by at 11:05
2月 112019
 

1.在cisco官网技术支持模块下载对应的ap型号如3702(注:官网无法下载可以把对应的文件名字百度下,再用第三方下载)

2.修改文件名字以官网文件名字为准将解压文件后缀的.tar(jar)去掉   ap3g2-k9w7-tar.default

3.用console接口连接ap在pc端搭建tftp服务器,这里用win10举例:电脑直连网线,修改本机ip为10.0.0.2启动3CDeamon软件选择对应文件路径,选择本机ip

4.给ap断电,按住mode按钮不放(注:至少按住20s以上)

5.供电后看到终端提示

button is pressed, wait for button to be released…

松开made按钮

Button pressed for 29 seconds
process_config_recovery: set IP address and config to default 10.0.0.1
process_config_recovery: image recovery
image_recovery: Download defaultIOStar image tftp://255.255.255.255/c1240-k9w7-tar.default
examining image…

出现如上提示ap开始更新

New software image installed in flash:/c1240-k9w7-mx.124-10b.JA3
Configuring system to use new image…done.
Requested system reload in progress…download took about 408 seconds
Loading “flash:/c1240-k9w7-mx.124-10b.JA3/c1240-k9w7-mx.124-10b.JA3″…##################
File “flash:/c1240-k9w7-mx.124-10b.JA3/c1240-k9w7-mx.124-10b.JA3” uncompressed and installed, entry point: 0x3000
executing…

到此更新完成,ap完全启动后恭喜你的瘦ap已经成功升级成胖ap了。

 

 Posted by at 00:18
6月 072018
 

2016-08-13 11:07:26来源: eefocus 关键字:成功移植  NET-SNMP  ARM平台

引用地址:http://www.eeworld.com.cn/mcu/article_2016081328413.html

经过一个月的不懈努力终于将NET-SNMP成功移植到了ARM平台,网上关于NET-SNMP的资料很少,仅有的一些文章也都是轻描淡写,很容易被误导,我就是其中的受害者之一,交叉编译过程很复杂,要配置参数,路径,还有库。所以稍有插翅就会前功尽弃。而且每编译一次NET-SNMP都会耗费很多的时间。很容易挫败人的自信心。我整整啃了一个月的英文文档,边看边试。下面把详细过程贴出来,跟大家共享,希望那些也想移植NET-SNMP能够少走弯路。

主机环境

Windows + vmware(redhat9.0)

IP分配如下:

ARM开发板:192.168.4.151

Windows:       192.168.4.44

Redhat9.0:     192.168.4.150

搭建交叉编译环境

把交叉编译器解压到/opt/目录下,然后在/etc/profile文件中添加

环境变量,pathmunge /opt/hardhat/devkit/arm/xscale_be/bin.

交叉编译步骤

①. tar –zxvf  net-snmp-5.3.2.tar.gz

②. cd net-snmp-5.3.2

③../configure –host=armv5teb-hardhat-linux           //运行平台

–build=i686-linux                           //编译平台

–with-cc=xscale_be-gcc                   //交叉编译器

–with-ar=xscale_be-ar                      //

–prefix=/usr/local/net-snmp              //安装目录

–disable-shared                              //静态编译

–with-endianness=little                   //指定小端

–enable-mini-agent                         //最小的SNMPD

–with-openssl=/opt/hardhat             //openssl库路径

/devkit/arm/xscale_be/target/usr

④. make (make LDFLAGS=”-static”,如果没有指定disable-shared)

⑤. make install

⑥. cp EXAMPLE.conf  /usr/local/net-snmp/share/snmp/snmpd.conf

⑦. 配置/usr/local/net-snmp/share/snmp/snmpd.conf文件

⑧.xscale_be-strip /usr/local/net-snmp/sbin/snmpd,压缩snmpd.

移植文件

在移植以前首先要删除AP上的/usr/sbin/snmpd和/etc/snmpd.conf.

1./usr/local/net-snmp/sbin/目录下snmpd进程

2./usr/local/net-snmp/share/snmp/目录下snmpd.conf ,mibs

3./usr/local/net-snmp/bin目录下net-snmp-config, snmpwalk, snmpget等

备注:snmpd,net-snmp-config,snmkwalk,snmpget等工具在移植以前,要先用xscale_be-strip压缩一下。然后snmpd放到AP的/usr/sbin中,

Snmpd.conf放到Ap 的/etc中。其他按照上面目录存放。AP上没有就自动创建。

在AP上运行snmpd

#snmpd –c /etc/snmpd.conf

备注:

1.在AP上运行时会出现缺少libcrypto.so.0.9.6文件。在交叉编译器中(/opt/hardhat/devkit/arm/xscale_be/target/usr/lib)能找到这个文件,然后put到AP的/lib/目录下。或者

创建软连接ln –s /mnt/ramd/libcrypto.so.0.9.6 /lib/libcrypto.so.0.9.6。

2.原来snmpd.conf在/usr/local/net-snmp/share/snmp/snmpd.conf中,传到AP时放到/etc/目录中,所以在运行时用参数C来指定最新目录。

3.当snmpd进程运行时会在/var/net-snmp目录下创建一个snmpd.conf.

原来没有,Snmpd.conf文件中有engineboot和engineID。当用net-snmp-config创建v3用户时,下面会自动添加

createuser zhuangqian MD5 “19840318” DES,当然同时也会在/usr/local/net-snmp/share/snmp/snmpd/conf中添加rwuser zhuangqian.

 

如何创建V3用户

方法一

①首先关闭snmpd进程

②net-snmp-config –create-snmpv3-user –a “19840318” zhuangqian

执行上面操作之后,/var/net-snmp/snmpd.conf文件中增加一行

createuser zhuangqian  MD5 “19840318”  DES

/usr/local/net-snmp/share/snmp/snmpd.conf中增加一行

rwuser zhuangqian

③snmpd 启动进程

④snmpget –v  3  –u  zhuangqian –l  authNoPriv  –a  MD5  –A  “19840318”  localhost  sysUpTime.0或者

snmpget  -v  3   -u  zhuangqian  –l  authPriv    –a  MD5

-A  “19840318”  –x  DES – X  “19840318”  localhost sysUpTime.0

方法二

# net-snmp-config  –create-snmpv3-user ↙

# 输入用户名(zhuangqian)↙

# 输入authentication pass-phrase(验证)如19840318长度不小于8

# 输入encryption pass-phrase(加密)如19840318,直接回车则跟上面一样。

测试:

Snmpget –v 3 –l authPriv –u zhuangqian –A “19840318” –X “19840318”  localhost  sysUpTime.0

注意v3中authprotocal  MD5  SHA  Privprotocal  DES   AES

客户端能ping通运行snmpd进程的设备,但取不到值,可能是客户端防火墙问题,取消客户端防火墙试试。

测试V2

snmpwalk –v  2c  -c  public  192.168.4.151  if

snmpget  –v  2c  –c  public  192.168.4.151  system.sysName.0

2月 132018
 

最近被Win10彻底打败,把系统换成了fedora,发现很多中文文件名都无法正常显示了。主要由于文件是在Windows下创建的,编码默认为GBK,而Linux中默认文件名编码为UTF8,编码不一致导致,解决这个问题需要对文件名进行转码。
sudo yum install convmv

convmv 使用方法:
convmv -f 源编码 -t 新编码 [选项] 文件名
常用参数:
-r 递归处理子文件夹
–notest 真正进行操作,默认情况下是不对文件进行真实操作
–list 显示所有支持的编码
–unescap 可以做一下转义,比如把%20变成空格

主要方法:convmv -f GBK -t UTF-8 –notest -r *[把当前文件夹下所有乱码文件名改过来]

10月 102017
 

软件基础

(1)安装所需的软件,机器上有必要的OPC client、OPC Server,如ifix,rslinx,保证rslinx的版本能支持远程opc功能。

通讯基础

(1)在同一局域网内,能ping通(物理连接,处于同一网段下)

(2)建立同名用户及相同密码,win7系统将用户放置于于distributed COM User下,若是XP系统,则开启来宾用户。

(3)本地安全策略

OPC服务器和OPCClient服务器电脑都要设置:打开“控制面版”上的“管理工具”并打开“本地安全策略”。

点击安全选项—>”网络访问:本地帐户的共享和安全模式”->属性

 

选择“经典—本地用户以自己的身份验证”

 

1.      OPCServer所在的计算机

我的电脑设置

在命令行运行dcomcnfg,组件中我的电脑属性设置

 

在上面的[默认属性]页面中,将“在这台计算机上启用分布式COM”打上勾,将<默认身份验证级别>设置为<无>,如图:

在[COM安全]属性页中,将<访问权限>和<启动和激活权限>都增加分别添加everyone,administratro,anonymous logon用户及建立的相同用户,并选中其所有权限,如下图:

 

2.2 配置Opcenum属性

点开左侧树形列表[组件服务->计算机->我的电脑->DCOM配置],如下图:

在左侧的DCOM程序中找到opcenum,如下图:

 

右键点击<OpcEnum>,弹出的右键菜单,点击<属性>,弹出对话框设置身份验证级别。将<身份验证级别>设置为<无>,配置安全。全部选择<自定义>

并将<启动和激活权限>、<访问权限>、<配置权限>都增加everyone,administratro,anonymous logon用户及建立的相同用户,并配置全部权限。

配置标识。选择<交互式用户>。

若“交互式用户”为灰色,无法选中,则需要注册opcenum.exe。注册方法:在命令行输入:C:\Windows\SysWOW64\opcenum.exe /regserver 后回车。(其中路径可能有所不同,路径为C盘中opcenum.exe的路径)。注册后,即可选中opcenum.exe。

opc server设置

配置方法与opcenum一样,首先要了解所用的OPC对应的组件。

(1)   如果不需要防火墙的话,可以直接点击关闭。(实际操作中直接关闭了防火墙)

如若有特殊要求,不能关闭防火墙,可进行防火墙设置。

       配置opc client所在的计算机

我的电脑属性设置

dcomcnfg命令后,组件中我的电脑属性设置与上述opc server所在的计算机设置一致

属性设置

Opcenum属性设置与上述opc server所在的计算机设置一致

所有的配置完成后,就可以用对应的OPC Client连接到远程OPC Server的数据。

 Posted by at 18:27
3月 292017
 

最近多个服务器在pkg upgrade或者pkg install的时候报错,内容是/usr/local/lib/libpkg.so.3: Undefined symbol “utimensat”
查了好多资料,最后无奈的发现是因为10.1和10.2已经停止维护,只有强制升级到10.3及以后才能够解决这个问题

根据官网的说法,可以直接升级到11.0,不过我失败了,系统说验证失败。不过升级到10.3还是可以的

#  setenv UNAME_r “10.3-RELEASE”
# : > /usr/bin/bspatch
# freebsd-update upgrade -r 10.3-RELEASE
# freebsd-update install
<reboot the system>
# freebsd-update install
<rebuild third-party software>
# freebsd-update install

 

 Posted by at 20:13
10月 222016
 

1、修改PI账号的密码
password pi

2、开启root账号
树莓派使用的linux是debian系统,所以树莓派启用root和debian是相同的。
debian里root账户默认没有密码,但账户锁定。
当需要root权限时,由默认账户经由sudo执行,Raspberry pi 系统中的Raspbian
默认用户是pi 密码为raspberry
重新开启root账号,可由pi用户登录后,在命令行下执行
sudo passwd root
执行此命令后系统会提示输入两遍的root密码,输入你想设的密码即可,然后在执行
sudo passwd –unlock root
这样就可以解锁root账户了。
3. 禁用pi帐号
顺手可以建立自己的新用户,把pi帐号禁用了
sudo adduser tracy
sudo passwd –lock pi
3月 152016
 

很多人受西门子软件安装需重新启动机器,然而启动机器后又提示重新启动机器,然而反复重新启动仍然出现这样的提示,导致软件不能安装。现在给出解决方案:
在注册表内“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\ ”中删除注册表值
“PendingFileRenameOperations”
不要重新启动,继续安装软件。
现在可以安装更多程序而无需重启计算机了。

 Posted by at 15:12
1月 262016
 
文件路径:frameworks\base\core\java\android\util\NtpTrustedTime.java
Review代码发现时间更新采用的服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static synchronized NtpTrustedTime getInstance(Context context) {
    if (sSingleton == null) {
        final Resources res = context.getResources();
        final ContentResolver resolver = context.getContentResolver();
        final String defaultServer = res.getString(
            com.android.internal.R.string.config_ntpServer);
        final long defaultTimeout = res.getInteger(
            com.android.internal.R.integer.config_ntpTimeout);
        final String secureServer = Settings.Secure.getString(
            resolver, Settings.Secure.NTP_SERVER);
        final long timeout = Settings.Secure.getLong(
            resolver, Settings.Secure.NTP_TIMEOUT, defaultTimeout);
        final String server = secureServer != null ? secureServer : defaultServer;
            sSingleton = new NtpTrustedTime(server, timeout);
        }
    return sSingleton;
}
NTP Server的地址来源与两个方面
1.用户设置Settings.Secure.NTP_SERVER
2.系统默认设置com.android.internal.R.string.config_ntpServer

Continue reading »