OpenHarmony 开发板的网络配置 原创 精华
一、目标
基于君正X2000开发板,移植OpenHarmony3.0系统后验证网络是否可用。
二、前言
首先,先说明下在开发板中为什么需要手动的进行网络配置,是因为OpenHarmony的网络模块中并没有类似Linux系统中内置的DHCP服务,目前OpenHarmony社区也在开发完善中,所以在开发板烧录后需要手动配置网络。
什么是DHCP呢?
这里简单说下:DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。有兴趣可以参看:DHCP。
三、环境与硬件设备
测试环境
硬件:君正X2000开发板
系统:OpenHarmony 3.0
硬件介绍
功能概述
君正X2000 Halley5开发板基于君正X2000芯片,支持显示,摄像头,千兆以太网,SD卡,USB,音视频编解码,麦克风等接口的开发平台,适用于智能商业、智能物联网、智能穿戴、人机交互、生物识别和图像识别等领域。
硬件级别
L1
硬件参数
名称 | 描述 |
---|---|
CPU | 三核结构:XBurst®2 CPU 1.2GHz * 2 + XBurst®0 240MHz,MIPS架构硬件FPU,128bit MXA32KB L1 cache和 512KB L2 cache32KB SRAM |
内存 | 片内128MBytes LPDDR3 |
VPU | H.264 编码器– 输入数据格式 NV12/NV21– 分辨率达1920x1080@30fpsH.264 解码器– 输出数据格式NV12/NV21– 分辨率达1920x1080@30fpsJPEG 编解码器– JPEG 压缩/解压缩能力 70Mega-pixels/s– Base Line ISO/IEC 10918-1 JPEG |
ISP | 数据格式– DVP:支持raw8 /10/12/YUV422 输入– MIPI:分辨率最大1080P@60fps– 支持双摄像头同步支持AE(自动曝光)、AWB(自动白平衡)支持色彩处理、去马赛克、二维降噪 |
显示屏支持 | MIPI-DSI2(v1.0)接口:分辨率最大1920x1080@40Hz,SLCD接口:分辨率最大640x480@60Hz,24BPPRGB接口:分辨率最大1280x720@60Hz,24BPP |
摄像头支持 | 支持DVP 8bit/MIPI 输入,分辨率可达1280x720@30fps支持曝光控制支持数据格式:RGB888, RGB565, YCbCr 4:2:2 |
音频处理器及接口 | 嵌入式高品质音频编解码器,含立体声ADC和DAC低功耗DMIC控制器,含语音唤醒引擎I2S/ SPDIF接口,支持外部音频编解码器有主/从模式的PCM接口 |
片上接口 | I2C x6SPI x2USB 2.0 OTG x1RGMII x1MMC/SDIO x3 UART x10Quad SPI x1I2S x3PCM x1 |
安全性 | 2Kbits OTP ROM支持RSA(2048bits)和AES(256bits)硬件编码支持安全启动 |
封装 | 封装形式BGA-270,外形尺寸12mm x 12mm x 1.2mm,0.65mm Pitch |
四、网络配置
前置条件:开发板连接在路由器,路由器可以访问外网,假设路由器上的IP地址:192.168.32.1
配置流程:配置网卡IP->添加网关->添加DNS
配置步骤
4.1、ping路由器地址
说明:网卡IP未配置前,PING 路由器 IP地址:192.168.32.1
命令:ping 192.168.32.1
/ # ping 192.168.32.1
PING 192.168.32.1 (192.168.32.1): 56 data bytes
ping: sendto: Network is unreachable
4.2、查看网络配置
命令:ifconfig -a
/ # ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:552 (552.0 B) TX bytes:552 (552.0 B)
/ # ifconfig -a
eth1 Link encap:Ethernet HWaddr 5E:BC:34:B1:7F:A1
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:552 (552.0 B) TX bytes:552 (552.0 B)
wlan0 Link encap:Ethernet HWaddr D4:9C:DD:A0:20:C0
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
4.3、配置网卡IP
命令:ifconfig eth1 192.168.32.202 netmask 255.255.255.0 up
/ # ifconfig eth1 192.168.32.202 netmask 255.255.255.0 up
/ # ifconfig -a
eth1 Link encap:Ethernet HWaddr 5E:BC:34:B1:7F:A1
inet addr:192.168.32.202 Bcast:192.168.32.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:552 (552.0 B) TX bytes:552 (552.0 B)
wlan0 Link encap:Ethernet HWaddr D4:9C:DD:A0:20:C0
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
4.4、重新ping路由器地址
网卡IP配置后,PING路由器IP地址:192.168.32.1
命令: ping 192.168.32.1
/ # ping 192.168.32.1
PING 192.168.32.1 (192.168.32.1): 56 data bytes
64 bytes from 192.168.32.1: seq=0 ttl=64 time=0.892 ms
64 bytes from 192.168.32.1: seq=1 ttl=64 time=0.463 ms
^C
--- 192.168.32.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.463/0.677/0.892 ms
4.5、测试
下载访问百度首页,在未添加网关前,PING 百度的IP地址:202.108.22.5
命令:ping 202.108.22.5
/ # ping 202.108.22.5
PING 202.108.22.5 (202.108.22.5): 56 data bytes
ping: sendto: Network is unreachable
4.6、添加网关
命令:route add default gw 192.168.32.1
/ # route add default gw 192.168.32.1
4.7、再测试
在添加网关后,PING 百度的IP地址:202.108.22.5
命令:ping 202.108.22.5
/ # ping 202.108.22.5
PING 202.108.22.5 (202.108.22.5): 56 data bytes
64 bytes from 202.108.22.5: seq=0 ttl=51 time=41.694 ms
64 bytes from 202.108.22.5: seq=1 ttl=51 time=40.833 ms
64 bytes from 202.108.22.5: seq=2 ttl=51 time=40.753 ms
^C
--- 202.108.22.5 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 40.753/41.093/41.694 ms
4.8、添加DNS
说明:在/etc/resolv.conf文件,添加nameserver,操作步骤如下:
4.8.1、编辑resolv.conf
命令:vi /etc/resolv.conf
/ # vi /etc/resolv.conf
4.8.2、添加两个nameserver
命令:
nameserver 114.114.114.114
nameserver 192.168.32.1
nameserver 114.114.114.114
nameserver 192.168.32.1
4.9、再次测试
下载一个网页,如:下载百度首页
命令:wget www.baidu.com
/ # wget www.baidu.com
Connecting to www.baidu.com (163.177.151.110:80)
saving to 'index.html'
index.html 100% |********************************| 2381 0:00:00 ETA
'index.html' saved
4.10、查看下载
查看已下载在本地的网页内容(百度首页)
命令:cat index.html
/ # cat index.html
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>©2017 Baidu <a href=http://www.baidu.com/duty/>使用百度前必读</a> <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a> 京ICP证030173号 <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
至此说明网络配置完成了,提醒:由于没有DHCP服务,所以每次启动开发版本之后都需要进行手动配置。
五、感谢
如果您能看到最后,还希望您能动动手指点个赞,一个人能走多远关键在于与谁同行,我用跨越山海的一路相伴,希望得到您的点赞。
各种参数和配置都很详细,学习了