Bruceoxl
BruceOu,于2017年10月13日开始在CSDN上写博客,博客专注于嵌入式开发、人工智能等。欢迎各位朋友来访!
邮箱: ouxiaolong@bruceou.cn
展开
-
OpenWrt开发指南博文导航
自博主更新该专栏也很久了,今天博主就给出关于OpenWrt开发的一个导航,为的是读者朋友能更好找到自己所感兴趣的那一块,当然博主以后对OpenWrt有新的发现和想法也会在第一时间发表在CSDN上,在此感谢CSDN这个平台给出了这个一个交流的机会,也感谢大家的支持。OpenWrt相关的网站 OpenWrt官网:包含源码下载和一些参考文档。 中文应用技术网:关于OpenWrt的中...原创 2017-12-22 13:18:55 · 7826 阅读 · 2 评论 -
《OpenWrt开发笔记》第33章远程访问开发板(FRP)
“服务器中转访问”是本地设备经由公网上的服务器转发实现对远程设备(开发板)的访问。这里我们采用 “域名解析”+“云服务器”+开发板+frp(内网穿透软件)实现这个功能。具体操作步骤如下。1) 购买域名注册和云服务器本例中将采用的阿里云的域名和云服务器。读者可以到阿里云 www.aliyun.com(或其他服务提供商自行购买)进行购买。购买云服务器时,选择“按量付费、国内服务器、最低配置、 ub...原创 2019-04-07 21:12:41 · 2899 阅读 · 1 评论 -
《OpenWrt开发笔记》第32章 固件升级
开发环境:主机:Ubuntu14.04开发板:MT7628Openwrt:Openwrt18.06如果直接从 u-boot 更新固件,会把之前的配置都重置,Openwrt 提供了一个更新固件的工具 sysupgrade。下面列出其用法。root@OpenWrt:~# sysupgradeUsage: /sbin/sysupgrade [<upgrade-option>......原创 2019-04-05 22:03:53 · 2044 阅读 · 0 评论 -
《OpenWrt开发笔记》第4章 烧写OpenWrt固件(补充:Openwrt配置串口登录密码)
1 Openwrt15.05配置串口登录密码一、修改busyboxmake menuconfig选择Base system —> <*> busybox …… [*] Customize busybox option Login/Password Management Utilities —> [*] getty [*] login (NE...原创 2019-01-20 21:02:58 · 3459 阅读 · 0 评论 -
《OpenWrt开发笔记》第31章 OpenWrt 4G拨号上网(Ubuntu12.04+Openwrt15.05)
开发环境: 开发板:RT5350 4G 模块:QUECTEL EC25 OpenWrt 源码版本:Chaos_Calmer 参考文档:Quectel_WCDMA&amp;amp;amp;LTE_Linux_USB_Driver_User_Guide_V1.7.pdf31.1 USB Serial驱动首先修改内核,内核文件在chaos_calmer/build_dir/target-mipsel...原创 2018-09-05 11:27:20 · 5665 阅读 · 12 评论 -
《OpenWrt开发笔记》第8章 无线AP的实现(Ubuntu14.04+Openwrt17.01)
【注】本文是基于Ubuntu14.04+Openwrt17.01开发的教程。8.1在开发板上面使能Wi-Fi简单的来讲,我们有时候担心手机流量用得太多,于是在笔记本上打开了 wifi 给手机连接,这时候,笔记本就充当了 Access Point 的角色,无线网络简单的可以看成是无线接入点,终端,无线介质组成,手机接入到笔记本 wifi 情景中,手机是终端,同样的道理,开发板也可以是无...原创 2018-03-29 08:28:10 · 1458 阅读 · 0 评论 -
《OpenWrt开发笔记》第5章设置开发板的IP地址(Ubuntu14.04+Openwrt17.01)
【注】本文是基于Ubuntu14.04+Openwrt17.01开发的教程。5.1在开发板上设置IP由于我们在开发过程中,可能会用到其他路由器,而它们的IP一般都是192.168.1.1,为了让开发板上的IP不与这些路由器的IP冲突,我们需要修改开发板上的IP地址。 接下来,我们就通过在开发板上面修改配置文件的方式来修改IP地址。首先开发板上电,等它启动一会儿,然后回车进入控制台。如...原创 2018-03-29 08:22:09 · 2104 阅读 · 6 评论 -
《OpenWrt开发笔记》第3章 Openwrt下载及配置(Ubuntu14.04+Openwrt17.01)
【注1】本文是基于Ubuntu14.04(64位)+LEDE 17.01.4开发的教程。 【注2】本文是基于最新的Openwrt源码的开发笔记,虚拟机版本要高于14.04,不然会出现C++标准冲突相关的问题。.3.1安装相关工具和库1)安装git工具$sudo apt-get install git-core 2)安装依赖的库文件(两种方法) 高手用一条命令全安...原创 2018-03-27 18:22:30 · 4612 阅读 · 5 评论 -
《OpenWrt开发笔记》第30章 OpenWrt实现pppoe上网
30.1配置 openwrt 支持 PPPoE Server。以下在Ubuntu中进行。 第一步: 图1 图2 第二步: 图3 图4 图530.2上网测试将固烧写到开发板中。 第一步:修改/etc/ppp/pppoe-server-options 认证方式 打开pppoe-server-options 将require-原创 2017-12-19 09:18:12 · 8266 阅读 · 1 评论 -
《OpenWrt开发笔记》第29章 OpenWrt 防火墙介绍
29.1 OpenWrt 内置防火墙介绍Openwrt 是一个 GNU/Linux 的发行版, 和其他大多数的发行版一样,Openwrt 的防火墙同样也是基于 iptables。 在 OpenWRT 下防火墙的默认行为已经可以满足路由器的需要,一般情况下也无需修改。 OpenWrt 关于 NAT、 DMZ、防火墙规则等等都是由配置文件 /etc/config/firewall 文件进行控制的,有关原创 2017-12-19 09:09:27 · 14528 阅读 · 0 评论 -
《OpenWrt开发笔记》第28章 DHT11 温湿度传感器
28.1硬件原理下图是我们温度传感器的接入引脚,3.3V 供电,io 口接 P13 的 GP0( GPIO0 的简称 )。 DHT11数字温湿度传感器 是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能 8 位单片机相连接。因此该产品具有品质卓越、原创 2017-12-19 08:53:29 · 4031 阅读 · 0 评论 -
《OpenWrt开发笔记》第27章 DS18B20温度传感器
27.1硬件原理下图是我们温度传感器的接入引脚,3.3V 供电,io 口接 P13 的 GP0( GPIO0 的简称 )。 DS18B20 数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有 LTM8877,LTM8874 等等。主要根据应用场合的不同而改变其外观。封装后的 DS18B20 可用于电缆沟测温,高炉水循环测温,锅炉测温,机房原创 2017-12-17 09:30:50 · 2502 阅读 · 0 评论 -
《OpenWrt开发笔记》第26章 编写应用程序交叉编译
26.1交叉编译环境简介首先说一下什么是交叉编译:我们在 ubuntu 中写了一个程序,比如 main.c,然后使用 ubuntu 的编译器进行编译,生成的可执行文件自然可以在 ubuntu 中运行。但是生成的可执行文件可以在我们的开发板中能运行吗?答案当然是否定的,原因很简单,就是平台不同,芯片架构不同。那我们如何使得 ubuntu 编译出来的可执行文件在开发板上面运行呢,当然就要借助一些工具了,原创 2017-12-17 09:17:08 · 1267 阅读 · 0 评论 -
《OpenWrt开发笔记》第25章 配置OpenWrt支持网络摄像头
25.1 摄像头选择做本次实验的时候,推荐大家用 USB 免驱的摄像头,最好是支持 MJPEG 输出的摄像头类型。USB 免驱摄像头输出 YUV 格式和输出 MJPEG 格式,对无线监控的效果有什么影响呢? 首先大家要知道,同样是一帧数据,YUV 格式会比 MJPEG 格式的大得多,因此我们在视频传输的时候,一般是传输 MJPEG 格式的数据。这样,就有这样一个问题,如果摄像头是输出 YUV 格式原创 2017-12-17 08:59:18 · 7849 阅读 · 0 评论 -
《OpenWrt开发笔记》第24章 配置开发板支持 u 盘
24.1 加载 U 盘驱动将 U 盘连接到开发板,看看是否有如下 USB 的打印信息。 1).添加 USB 相关支持 Kernel modules —> USB Support —> < *> kmod-usb-core. ##默认已经选了 Kernel modules —> USB Support —> < *> kmod-usb-ohci. ## usb1.0 Kernel mod原创 2017-12-16 19:31:45 · 1212 阅读 · 0 评论 -
《OpenWrt开发笔记》第23章 LEDE工程简介
Hi, 大家好,we’d like to introduce LEDE, a reboot of the OpenWrt community .我们介绍一下LEDE,OpenWrt社区的重新启动(reboot)。The project is founded as a spin-off of the OpenWrt project and shares many of the same ...翻译 2017-12-15 09:16:38 · 1448 阅读 · 0 评论 -
《OpenWrt开发笔记》第22章 Openwrt串口的使用2
22.1添加 ser2net 应用程序在上一章中,我们成功的让驱动程序支持了串口 2,并且做了简单的测试。接下来,我们就为串口 2 添加一个应用程序,从而实现 Wi-Fi 串口。实现过程非常简单,首先进入 OpenWrt 系统源码,然后运行 make menuconfig 命令进行配置。 # cd /work/openwrt/trunk/ # make menuconfig 在弹出的配置原创 2017-12-14 08:28:06 · 2721 阅读 · 0 评论 -
《OpenWrt开发笔记》第21章 OpenWrt串口的使用1
21.1硬件原理从RT5350的芯片手册上可以得知, RT5350一共有两个串口, 分别为UART Lite、 UART Full,详细定义如下。 表1 UART Lite 就是我们惯称为的串口 1,作为系统调试串口,通过这个串口,我们可以看到 OpenWrt(Linux)系统的启动信息,并且可以通过该串口来控制开发板。 UART Full 就是我们惯称为的串口 2,我们通常就是用它来做原创 2017-12-13 10:16:45 · 2962 阅读 · 1 评论 -
《OpenWrt开发笔记》第20章 驱动开发之LED应用程序
20.1 编写应用程序在前面的章节中, 我们成功的写出了我们自己的驱动程序, 并且向应用程序提供了 open、ioctl 两个接口,那么接下来我们就来编写应用程序,调用这些接口。#include <stdio.h>#include <curses.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include原创 2017-12-12 22:32:51 · 1290 阅读 · 0 评论 -
《OpenWrt开发笔记》第19章 驱动开发之LED驱动程序
19.1 硬件原理 图1 由于发光二级管单向导电特性,即只有在正向电压(二极管的正极接正,负极接负)下才能导通发光。如图所示,如果 GPIO 输出高电平,LED 就会被点亮,如果 GPIO 输出低电平,LED 就会熄灭。对于我们的驱动开发,无论是单片机、还是 ARM、或者是我们的 MIPS,核心思想,都是读写某个地址,即操作某个寄存器。19.2 寄存器介绍RT5350 一共有 28 个 GPIO原创 2017-12-11 09:55:36 · 1730 阅读 · 0 评论 -
《OpenWrt开发笔记》第18章 驱动开发之字符设备应用程序
18.1 编写应用程序在前面的章节中, 我们成功的写出了我们自己的驱动程序, 并且向应用程序提供了 open、read、write 三个接口,那么接下来我们就来编写应用程序,调用这些接口。#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>int main(int argc, char原创 2017-12-08 23:03:16 · 1103 阅读 · 0 评论 -
《OpenWrt开发笔记》第17章 驱动开发之字符设备驱动程序
17.1 配置编译驱动程序首先将 f403tech_drv (参见文末下载链接)文件夹传到 OpenWrt 源码的openwrt/trunk/package/kernel 目录下。然后进入 OpenWrt 源码的顶层目录,执行 makemenuconfig。 注意:至于f403tech_drv的内容,建议初学者按照步骤做就是了,不必追问细节,初学者应该知道openwrt驱动开发流程,代码的具体实现原创 2017-12-08 09:02:09 · 1776 阅读 · 0 评论 -
《OpenWrt开发笔记》第16章 驱动开发之字符设备驱动程序框架
16.1 字符设备驱动程序框架简介我们在学习 C 语言的时候,知道每个应用程序的入口函数,即第一个被执行的函数是 main函数,那么,我们自己的驱动程序,哪个函数是入口函数呢? 在写驱动程序的时候,如果函数的名字可以任意取,常常为 xxxx_init(),当实现好这个 xxxx_init()函数以后,内核其实并不知道这个就是我们驱动的入口函数,因此我们要想办法告诉内核,我们的入口函数是哪个?我们通原创 2017-12-07 18:48:46 · 2019 阅读 · 0 评论 -
《OpenWrt开发笔记》第15章 驱动开发之字符设备驱动程序之概念介绍
15.1应用程序、库、内核、驱动程序的关系从上到下,一个软件系统可以分为:应用程序、库、操作系统(内核)、驱动程序。开发人员可以专注于自己熟悉的部分,对于相邻层,只需要了解它的接口,无需关注它的实现细节。 以点亮一个 LED 为例,这 4 层软件的协作关系如下,如图 1 所示 图1 1). 应用程序使用库提供的 open 函数打开代表 LED 的设备文件。 2). 库根据 open 函原创 2017-12-06 10:21:17 · 1840 阅读 · 0 评论 -
《OpenWrt开发笔记》第14章 统一接口配置UCI
14.1UCI系统介绍UCI即统一接口配置(UnifiedConfigurationInterface)的简称,它被应用于OpenWrt 系统上面。 UCI是简单、实用、直接了当的。UCI是OpenWrt上面主要的配置用户接口,用来作为主要的系统设置,这些设置通常对设备是至关重要的,例如网络接口、无线设置、远程登陆权限设置等都是通过UCI来实现配置的。他是构建一整套系统的必须部分。 此外,大部原创 2017-12-05 16:57:08 · 4444 阅读 · 0 评论 -
《OpenWrt开发笔记》第13章 OpenWrt启动流程
13.1系统介绍任何系统的启动都是开发人员首要关注的问题,因为只有了解了系统的启动流程和启动机制,才能真正掌握一个系统,如果对启动的启动不熟悉的话,是不可能真正用好一个系统,openwrt系统也不例外,他的启动和一般的嵌入式系统启动还有所区别,现在咱们就分析一下openwrt的启动流程。13.2内核补丁在openwrt的官网上面下载的源码,其中包括了一些内核补丁,这里究竟为什么要给内核做补丁呢?因为原创 2017-12-04 11:24:16 · 4737 阅读 · 0 评论 -
《OpenWrt开发笔记》第12章 添加OpenWrt软件包
12.1简介OpenWrt是一个比较完善的嵌入式Linux开发平台,在无线路由器应用上已有4000多个软件包。我们可以在其基础上增加软件包,以扩大其应用范围。在OpenWrt中增加软件包极其方便,按照OpenWrt的约定就可以很简单的完成。加入的软件包可以是网上可下载的开源软件或自行开发的软件。为加入软件包需要在package目录下创建一个目录,以包含该软件包的各种信息和与OpenWrt建立联系的文原创 2017-12-03 11:22:09 · 3028 阅读 · 0 评论 -
《OpenWrt开发笔记》第11章 开发板做中继功能
【注1】本文是基于Ubuntu12.04+Openwrt15.05开发的教程。11.1WiFi中继简介假如路由器A发出的WiFi信号AP1,然后离它100米的手机想连接该网络,却搜索不到该信号。那么我们就在路由器和手机之间方一个开发板,把它作为中继器就可以了。11.2实现中继功能1)在浏览器中输入 192.168.0.10 登录进入 Web 界面 图1 2)点“网络”...原创 2017-12-02 19:31:52 · 1416 阅读 · 0 评论 -
《OpenWrt开发笔记》第10章 开发板做站点
【注1】本文是基于Ubuntu12.04+Openwrt15.05开发的教程。10.1 STA 模式简介WLAN 主要由站(Station,STA)、接入点(Access Point, AP)、 无线介质( WirelessMedium,WM)和分布式系统(Dis-tribution System,DS)组成。STA 在 WLAN 中一般为客户端,可以是装有无线网卡的计算机,也可以是有 W...原创 2017-12-01 09:33:10 · 1351 阅读 · 0 评论 -
《OpenWrt开发笔记》第9章 开发板和Windows、Ubuntu互传文件
【注1】本文是基于Ubuntu12.04+Openwrt15.05开发的教程。 【注2】Openwrt17.01源码中未添加该功能,有兴趣的朋友可自行查找相关资料。9.1添加SSH服务器一说到开发板和Windows之间互传文件,大家肯定马上就会想到通过SSH,但是大家最终发现,无论我们通过什么软件,总是不能登录到开发板上。 那么,这会是什么原因呢?因为目前为止,我们开发板上面的系统还没...原创 2017-12-01 09:23:52 · 1967 阅读 · 0 评论 -
《OpenWrt开发笔记》第8章 无线AP的实现(Ubuntu12.04+Openwrt15.05)
【注】本文是基于Ubuntu12.04+Openwrt15.05开发的教程。8.1在开发板上面使能Wi-Fi简单的来讲,我们有时候担心手机流量用得太多,于是在笔记本上打开了 wifi 给手机连接,这时候,笔记本就充当了 Access Point 的角色,无线网络简单的可以看成是无线接入点,终端,无线介质组成,手机接入到笔记本 wifi 情景中,手机是终端,同样的道理,开发板也可以是无线...原创 2017-11-29 10:24:07 · 2141 阅读 · 0 评论 -
《OpenWrt开发笔记》第7章 添加Web界面
.【注】Openwrt17.01未集成LuCL,本文是基于Openwrt15.05开发的教程。7.1LuCI介绍LuCI作为“FFLuCI”诞生于2008年3月份,目的是为OpenWrt固件从Whiterussian到Kamikaze实现快速配置接口。Lua是一个小巧的脚本语言,很容易嵌入其它语言。轻量级LUA语言的官方版本只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,...原创 2017-11-28 21:04:46 · 2517 阅读 · 0 评论 -
《OpenWrt开发笔记》第6章 WAN和LAN灵活切换
6.1VLAN介绍LAN: Local Area Network 的英文简称,即局域网 指在较小的地理范围内,将两台以上的计算机通过传输电缆连接起来,实现资源共享。局域网的传输速度通常在 10Mb/s~1000Mb/s 之间,主干 1000Mb/s、桌面 100Mb/s 是目前的主流技术。局域网的设计通常是针对于一座建筑物内,提高资源和信息的安全性,用于减少管理者的维护操作等。客户/服务系统...原创 2017-11-27 11:05:07 · 7615 阅读 · 0 评论 -
《OpenWrt开发笔记》第5章 设置开发板的IP地址(Ubuntu12.04+Openwrt15.05)
【注】本文是基于Ubuntu12.04+Openwrt15.05开发的教程。5.1在开发板上设置IP由于我们在开发过程中,可能会用到其他路由器,而它们的IP一般都是192.168.1.1,为了让开发板上的IP不与这些路由器的IP冲突,我们需要修改开发板上的IP地址。接下来,我们就通过在开发板上面修改配置文件的方式来修改IP地址。首先开发板上电,等它启动一会儿,然后回车进入控制台。如图5-1...原创 2017-10-15 15:47:47 · 3744 阅读 · 4 评论 -
《OpenWrt开发笔记》第4章 烧写OpenWrt固件
4.1嵌入式系统启动流程对于一个完整的嵌入式系统,它由U-boot、内核(Linux)、文件系统、应用程序四部分组成。那么这四部分之间的关系是怎么样的呢?OpenWrt是属于哪部分呢? 当我们拿到嵌入式设备,比如我们的SM5350开发板,然后给它一上电,首先运行的就是我们的U-boot程序,然后就是U-boot来启动我们的内核(Linux),当内核(Linux)启动完成以后,内核(Linux)就会原创 2017-10-15 15:39:32 · 4873 阅读 · 0 评论 -
《OpenWrt开发笔记》第3章 Openwrt下载及配置(Ubuntu12.04+Openwrt15.05)
【注】本文是基于Ubuntu12.04+Openwrt15.05.1开发的教程。3.1安装相关工具和库1)安装SVN工具 安装SVN工具,用于下载openwrt源码。 sudo apt-get install subversion 2)安装git工具 sudo apt-get install git-core 3)安装依赖的库文件(两种方法) &amp;amp;amp;lt;1&amp;amp;amp;gt;高手用一条...原创 2017-10-15 09:16:03 · 5169 阅读 · 9 评论 -
《OpenWrt开发笔记》第2章 Openwrt开发环境搭建
2.1硬件环境构建2.1.1主机与目标板结合的交叉开发模式开发PC机上的软件时,可以直接在PC机上编辑、编译、调试软件,最终发布的软件也是在PC机上运行。对于物联网openwrt开发,最初的嵌入式设备是一个空白的系统,需要通过主机为它构建基本的软件系统,并烧写到设备中;另外,嵌入式设备的资源并不足以用来开发软件。所以需要用到交叉开发模式:在主机上编辑、编译软件,然后在目标板上运行、验证程序。对于RT原创 2017-10-14 15:02:03 · 8252 阅读 · 0 评论 -
《OpenWrt开发笔记》第1章 Openwrt入门
1.1简介现阶段openwrt官方支持的路由列表:wiki.openwrt.org/toh/start 如果要学习openwrt的话,买些列表中二手的路由器来实践下更容易学习,大部分要升级一下rom芯片和内存芯片,典型配置都是4M、64M。 OpenWrt 可以被描述为一个嵌入式的 Linux 发行版,(主流路由器固件有 dd-wrt,tomato,openwrt三类)而不是试图建立一个单...原创 2017-10-13 16:17:52 · 7020 阅读 · 1 评论