15AH, San Francisco

California, United States.

Send Your Mail At:

tianyingkejishe@sina.cn

Working Hours

Mon-Sat: 9.30am To 7.00pm

作者标题

Autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et dolore feugait.

Author Archive by stormwind

[f1c100s/f1c200s]u-boot 添加LED驱动

UBOOT版本:2018.01

实验目标:u-boot启动后点亮3个led灯
u-boot启动过程中会调用crt0.S汇编代码,在该汇编代码中点亮LED.

LED对于引脚如下:
REG –GPE4
GREEN – GPE5
YELLOW – GPE6

1、GPIO驱动实现
u-boot的驱动程序都放在drivers目录下。
LED驱动属于GPIO驱动。
所以led驱动应该写在drivers\gpio目录下,下面是已经实现的sunxi_gpio.c驱动。

详细代码可查阅:u-boot-nano-v2018.01\drivers\gpio\sunxi_gpio.c

sunxi_gpio.c里的函数在u-boot-nano-v2018.01/include/asm-generic/gpio.h头文件中被声明。

2、LED驱动实现,这部前需要先实现上面的GPIO驱动

在board目录下添加led.c,代码如下

#include <common.h>
#include <asm/io.h>
#include <asm/arch/gpio.h>
#include <status_led.h>
#include <asm-generic/gpio.h>  /*下面函数在这个头文件中声明*/
//int gpio_direction_output(unsigned gpio, int value);
//初始化 LED(PE4、PE5、PE6)
void coloured_LED_init(void)
{
	/* Clock is enabled in board_early_init_f() */
	//gpio_direction_output函数在u-boot-nano-v2018.01\drivers\gpio\sunxi_gpio.c中实现,这里直接调用就可以了
	gpio_direction_output(CONFIG_RED_LED, 0);
	gpio_direction_output(CONFIG_GREEN_LED, 0);
	gpio_direction_output(CONFIG_YELLOW_LED, 0);


}


#ifdef CONFIG_RED_LED
void red_led_on(void)
{
	gpio_set_value(CONFIG_RED_LED, 1);
}

void red_led_off(void)
{
	gpio_set_value(CONFIG_RED_LED, 0);
}
#endif

#ifdef CONFIG_GREEN_LED
void green_led_on(void)
{
	gpio_set_value(CONFIG_GREEN_LED, 1);
}

void green_led_off(void)
{
	gpio_set_value(CONFIG_GREEN_LED, 0);
}
#endif

#ifdef CONFIG_YELLOW_LED
void yellow_led_on(void)
{
	gpio_set_value(CONFIG_YELLOW_LED,1);
}

void yellow_led_off(void)
{
	gpio_set_value(CONFIG_YELLOW_LED, 0);
}
#endif

注意:#include <asm-generic/gpio.h> 头文件不能少。

然后编辑led.c同目录下的Makefile文件,把led.o编译进去。
Makefile中添加如下一行:

obj-$(CONFIG_SUNXI_LED )  += led.o

3、配置声明
在include/configs/suniv.h中添加如下声明。

#define CONFIG_SUNXI_LED 1		/*开启LED支持*/
#define CONFIG_RED_LED  132	    /*PGE4*/
#define CONFIG_GREEN_LED  133	/*PGE5*/
#define CONFIG_YELLOW_LED  134	/*PGE6*/

4、在crt0.S汇编代码中点亮LED
在crt0.S中调用以下函数点亮3个led灯:

bl coloured_LED_init
bl red_led_on
bl green_led_on
bl yellow_led_on

5、编译下载:

cd “你的uboot目录”
# 编译
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8
# usb下载u-boot目标板
sunxi-fel uboot ./u-boot-sunxi-with-spl.bin  

[Openwrt]自启动python脚本

1、安装nohup软件

opkg -d usb install coreutils-nohup

2、编写启动脚本

vim /etc/init.d/mystart

#!/bin/sh /etc/rc.common
START=99
start(){
       nohup python3 -u /mnt/TFCard/opkg/uart.py >/mnt/TFCard/opkg/output.txt 2>&1 &
}
stop(){
       nohup python3 -u /mnt/TFCard/opkg/uart.py -s >/mnt/TFCard/opkg/output.txt 2>&1 &
}
restart(){
       nohup python3 -u /mnt/TFCard/opkg/uart.py >/mnt/TFCard/opkg/output.txt 2>&1 &
}

chmod -R 777 init.d/mystart #设置权限,否则无法激活开机启动,提示权限不足

/etc/init.d/mystart enable #激活开机启动
/etc/init.d/mystart start #运行start函数启动程序

[Openwrt]主机名修改

/package/base-files/files/bin下的config_generate中修改     hostname

set system.@system[-1].hostname='QingLink'
set system.@system[-1].timezone='CST-8'
set system.@system[-1].ttylogin='0'
set system.@system[-1].log_size='64'
set system.@system[-1].urandom_seed='0'

set system.ntp='timeserver'
set system.ntp.enabled='1'
set system.ntp.enable_server='1'
add_list system.ntp.server='0.cn.pool.ntp.org'
add_list system.ntp.server='1.pool.ntp.org'
add_list system.ntp.server='2.cn.pool.ntp.org'
add_list system.ntp.server='3.cn.ntp.org.cn'

option hostname Openwrt 设定主机名
option timezone Asia/Shanghai 时区设置为亚洲/上海
option timezone CST-8 正8区
list server 就是ntp服务器了。

OpenWrt 编译 LuCI -> Applications 添加插件应用说明

这个地方是写描述的地方

make menuconfig 进入定制界面
进入编译选项配置界面,.按照需要配置.( ‘*’ 代表编入固件,‘M’ 表示编译成模块或者IPK包, ‘空’不编译 )

选择LuCI –> Applications配置: 常用

—————————————————————————————–
LuCI —> Applications —> luci-app-adbyby-plus #去广告
LuCI —> Applications —> luci-app-arpbind #IP/MAC绑定
LuCI —> Applications —> luci-app-autoreboot #支持计划重启
LuCI —> Applications —> luci-app-ddns #动态域名
LuCI —> Applications —> luci-app-filetransfer #文件传输
LuCI —> Applications —> luci-app-firewall #添加防火墙
LuCI —> Applications —> luci-app-frpc #FRP内网穿透
LuCI —> Applications —> luci-app-hd-idle #硬盘休眠
LuCI —> Applications —> luci-app-ipsec-virtuald #IPSec virtual服务
LuCI —> Applications —> luci-app-mwan3 #负载均衡
LuCI —> Applications —> luci-app-nlbwmon #网络带宽监视器
LuCI —> Applications —> luci-app-p p t p-server #p p t p virtual**服务
LuCI —> Applications —> luci-app-qos #流量服务质量(QoS)
LuCI —> Applications —> luci-app-ramfree #释放内存
LuCI —> Applications —> luci-app-samba #网络共享(samba)
LuCI —> Applications —> luci-app-sfe #Turbo ACC网络加速
LuCI —> Applications —> luci-app-sqm #流量智能队列管理
LuCI —> Applications —> luci-app-S-S R-plus #S-S R兲朝上网
LuCI —> Applications —> luci-app-syncdial #多拨虚拟网卡(原macvlan)
LuCI —> Applications —> luci-app-upnp #通用即插即用(UPnP)
LuCI —> Applications —> luci-app-v2ray-pro #V2Ray透明代理
LuCI —> Applications —> luci-app-vlmcsd #KMS服务器设置
LuCI —> Applications —> luci-app-vsftpd #FTP服务器
LuCI —> Applications —> luci-app-webadmin #Web管理页面设置
LuCI —> Applications —> luci-app-wifischedule #WiFi 计划
LuCI —> Applications —> luci-app-wireless-regdb #WiFi无线
LuCI —> Applications —> luci-app-wol #网络唤醒
LuCI —> Applications —> luci-app-wrtbwmon #客户端实时流量监测
LuCI —> Applications —> luci-app-xlnetacc #迅雷快鸟
LuCI —> Applications —> luci-app-zerotier #ZeroTier内网穿透
Utilities —> open-vm-tools #打开适用于VMware的VM Tools

—————————————————————————————–
LuCI —> Applications —> luci-app-adblock #ADB广告过滤
LuCI —> Applications —> luci-app-adbyby #广告过滤大师
LuCI —> Applications —> luci-app-advanced-reboot #Linksys高级重启
LuCI —> Applications —> luci-app-ahcp #支持AHCPd
LuCI —> Applications —> luci-app-aliddns #阿里DDNS客户端
LuCI —> Applications —> luci-app-aria2 # Aria2下载
LuCI —> Applications —> luci-app-asterisk #支持Asterisk
LuCI —> Applications —> luci-app-attendedsysupgrade #固件相关
LuCI —> Applications —> luci-app-bcp38 #BCP38网络入口过滤(不确定)
LuCI —> Applications —> luci-app-bird4 #Bird 4(未知)
LuCI —> Applications —> luci-app-bird6 #Bird 6(未知)
LuCI —> Applications —> luci-app-bmx6 #协议相关(未知)
LuCI —> Applications —> luci-app-bmx7 #协议相关(未知)
LuCI —> Applications —> luci-app-cjdns #CJDNS(未知)
LuCI —> Applications —> luci-app-clamav #ClamAV杀毒软件
LuCI —> Applications —> luci-app-commands #Shell命令模块
LuCI —> Applications —> luci-app-cshark #CloudShark捕获工具
LuCI —> Applications —> luci-app-diag-core #core诊断工具
LuCI —> Applications —> luci-app-dnscrypt-proxy #DNSCrypt解决DNS污染
LuCI —> Applications —> luci-app-dump1090 #民航无线频率(不确定)
LuCI —> Applications —> luci-app-dynapoint #DynaPoint(未知)
LuCI —> Applications —> luci-app-e2guardian #Web内容过滤器
LuCI —> Applications —> luci-app-freifunk-diagnostics #诊断(未知)
LuCI —> Applications —> luci-app-freifunk-policyrouting #策略(未知)
LuCI —> Applications —> luci-app-freifunk-widgets #索引(未知)
LuCI —> Applications —> luci-app-fwknopd #Fwknop服务器
LuCI —> Applications —> luci-app-hnet #HNCP家庭网络控制协议(不确定)
LuCI —> Applications —> luci-app-lxc #LXC容器管理
LuCI —> Applications —> luci-app-meshwizard #网络设置向导
LuCI —> Applications —> luci-app-minidlna #miniDLNA共享
LuCI —> Applications —> luci-app-mjpg-streamer #添加视频监控
LuCI —> Applications —> luci-app-mmc-over-gpio #添加SD卡操作界面
LuCI —> Applications —> luci-app-multiwan #多拨虚拟网卡
LuCI —> Applications —> luci-app-n2n_v2 #N2N穿透内网
LuCI —> Applications —> luci-app-noddos #阻止DDoS攻击
LuCI —> Applications —> luci-app-ntpc #NTP时间同步服务器
LuCI —> Applications —> luci-app-ocserv #OpenConnect virtual**
LuCI —> Applications —> luci-app-olsr #OLSR配置和状态模块
LuCI —> Applications —> luci-app-olsr-services #OLSR服务器
LuCI —> Applications —> luci-app-olsr-viz #OLSR可视化
LuCI —> Applications —> luci-app-ocserv #OpenConnect virtual服务
LuCI —> Applications —> luci-app-openvirtual
#Openvirtual客户端
LuCI —> Applications —> luci-app-openvirtual
-server #Openvirtual服务器
LuCI —> Applications —> luci-app-oscam #OSCAM服务器
LuCI —> Applications —> luci-app-p910nd #打印服务器模块
LuCI —> Applications —> luci-app-pagekitec #Pagekite内网穿透客户端
LuCI —> Applications —> luci-app-polipo #Polipo代理
LuCI —> Applications —> luci-app-privoxy #Privoxy带过滤功能代理
LuCI —> Applications —> luci-app-radicale #CalDAV/CardDAV同步工具
LuCI —> Applications —> luci-app-rp-pppoe-server #PPPoE 服务器
LuCI —> Applications —> luci-app-s-s-libes #SS-libev服务端
LuCI —> Applications —> luci-app-shairplay #支持AirPlay功能
LuCI —> Applications —> luci-app-siitwizard #SIIT配置向导
LuCI —> Applications —> luci-app-simple-adblock #简单的广告拦截
LuCI —> Applications —> luci-app-splash #DHCP客户端应用
LuCI —> Applications —> luci-app-squid #Squid代理服务器
LuCI —> Applications —> luci-app-s-s #兲朝上网
LuCI —> Applications —> luci-app-S-S Rserver-python #S-S R服务器-Python
LuCI —> Applications —> luci-app-statistics #流量监控工具
LuCI —> Applications —> luci-app-tinyproxy #TinyProxy 代理服务器
LuCI —> Applications —> luci-app-travelmate #wlan连接管理器
LuCI —> Applications —> luci-app-transmission #BT下载
LuCI —> Applications —> luci-app-udpxy #udpxy做组播服务器
LuCI —> Applications —> luci-app-uhttpd #uHTTPd Web服务器
LuCI —> Applications —> luci-app-unbound #Unbound DNS解析器
LuCI —> Applications —> luci-app-usb-printer #打印机TCP/IP共享服务
LuCI —> Applications —> luci-app-vnstat #vnStat流量查看/监测工具
LuCI —> Applications —> luci-app-virtual
bypass #virtual** Bypass Web UI
LuCI —> Applications —> luci-app-watchcat #断网检测功能
LuCI —> Applications —> luci-app-webshell #网页命令行终端
LuCI —> Applications —> luci-app-wireguard #WireGuard virtual**服务器
LuCI —> Collections —> luci #添加luci (web界面管理)
LuCI —> Modules —> Translations —> Simplified Chinese (zh-cn) #新版本中文语言包位置
LuCI —> Themes —> luci-theme-bootstrap #默认主题
LuCI —> Translations —> luci-i18n-chinese #添加luci的中文语言包
—————————————————————————————–

Rt5305wifi摄像头使用说明

1、简介
WiFi模块采用RT5350+USBcamera方案,配合Openwrt系统让功能如虎添翼。

2、上电开机,指示灯亮1S,灭掉10S,亮10S,灭掉,查看WiFi信号,SSID为RecologyPower。

3、用手机、电脑或者平板连接RecologyPower热点,打开浏览器输入192.168.2.1:8080,可以浏览视频。

4、配置界面:192.168.2.1 账号:root ,密码:zaq123。

5、SSH登录账号:root ,密码:zaq123。

6、APP下载

下载后尾缀修改为apk

Openwrt固件升级方法

1、打开tftp软件

2、把预升级固件放在TFTP软件根目录下

3、连接开发板串口,打开xshell软件,波特率115200或57600。

4、开发板上电,观察打印LOG,及时输入数字2。

5、根据提示一步一步操作,等待升级完成。