首先我把要安装的软件通过winscp提交到路由器的tmp路径下,注意在winscp在会话中把文件协议改成scp,主机名一般是192.168.1.1。
[OpenWrt]MT7628-MT7688修改串口2作为调试串口
MTK的芯片设计有些让人搞不懂,非得将串口作为启动选择引脚;
MT76x8 参考其datesheet,TXD0 启动时必须为低电平,TXD1启动时必须保持高电平;
一共最多3个串口,唯独UART2不影响启动;但是UART2与 NET PORT2是复用的;使用uart2必须牺牲1个网口;
准确来说是牺牲所有网口(PORT0除外),因此MT76x8 要么作为单网口使用要么作为5网口使用,没有中间模式;这一点也比较蛋疼;
但这不是我们今天要关心的;今天只谈uart2作为启动串口;
[OpenWrt]各种默认配置文件所在目录
openwrt版本为15.05.1,以mt7620为例,其他类似。
1.wifi的默认开启方式、ssid、加密方式等配置
1 | `package``/kernel/mac80211/files/lib/wifi/mac80211``.sh` |
2.硬件资源的配置(usb、gpio、flash等),即dts
1 | `target``/linux/ramips/dts/``下文件` |
3.镜像生成方式控制
1 | `target``/linux/ramips/image/Makefile` |
[OpenWrt]实现基于TCPIP协议的多线程双向通信
[OpenWrt]处理JSON
在openwrt开发过程中需要数据的发送和接受,此时传输数据的格式就有很多种了,今天简单介绍一下openwrt系统中JSON数据的处理方法
假设有一个JSON文件1
2
3
4
5
6
7
8
9
10
11
12cat /etc/ss.json
{
"server": "8.8.8.8",
"server_port": 443,
"local_address": "0.0.0.0",
"local_port": 7070,
"password": "fuckgfang",
"method": "aes_128_ctr",
"timeout": "60",
"protocol": "auth_aes128_sha1",
"fast_open": false
}
[OpenWrt]交叉编译应用程序之helloworld
openwrt交叉编译生成应用,openwrt已经编译好了,现在编译一个单独的部件安装到树莓派或者路由上。
首先我们在openwrt/package/下建立helloworld文件夹
然后在helloworld文件夹下创建src文件夹
在src文件夹中,我们创建helloworld.c文件和Makefile文件
C#中SaveFileDialog 和OpenFileDialog 的用法
C#中SaveFileDialog 和OpenFileDialog 的用法
本文通过几个示例来说明SaveFileDialog 和OpenFileDialog 的用法
1.OpenFileDialog
1 | private void btnOpen_Click(object sender, EventArgs e) |
centos基础命令
1.查进程
ps命令查找与进程相关的PID号:
ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定”A”参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。
最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
ps aux | grep program_filter_word,ps -ef |grep tomcat