工控ARM板登陆、wifi连接

 

 

 

第一次接触ARM板,型号是MC-B813,厂家给的资料实在不适合初用ARM的我去看。写个博客记录一下:

一、ARM板通过网口连接windows电脑(Telnet登陆)

1.我们需要把ARM板上的网口通过网线插到windows电脑上。

2.设置windows电脑ip地址,我的是win10家庭中文版,控制面板——网络和共享中心——点开有线连接选

项——属性——Internet协议版本4——属性——使用下面的IP地址。

例如我ARM板的IP地址为192.168.0.15,我自己电脑中IP地址就写为192.168.0.1。子网掩码255.255.255.0,

默认网关好像不重要(客服给的10.10.80.1).

3.需要打开windows中Telnet客户端,控制面板——程序和功能——windows中启用或关闭功能——Telnet

客户端打勾!

4.配置好了,cmd进入命令提示符,输入telnet 和ARM板的ip地址,我的是:

telnet 192.168.0.15

二、TFTP传输文件到ARM板中

1.需要打开windows中TFTP客户端,控制面板——程序和功能——windows中启用或关闭功能——TFTP

客户端打勾!(似乎记得还要一起勾一些选项,百度如何打开TFTP客户端)。

2.关闭防火墙,防火墙开着传不过去文件。控制面板——windows防火墙——启用或关闭windows防火墙

——勾关闭——确定

3.在windows下运行tftpd.exe软件,通过菜单栏 Tftp>Configure 来设置 Home Directory(如 F:\tftproot\),

将要传送的文件放在F:\tftproot\,最后通过菜单栏Tftp>Start来启动服务。

4.在上一打步骤中,已经通过网口登陆到了ARM中,root(就是输入root回车,有密码输密码,没有密码

就登陆了),根据电脑IP地址输入命令,例如我的电脑IP是192.168.0.1,要传输的文件是test_gpio,那么从win

dows电脑中向ARM传文件的命令就是:

tftp -g -r 192.168.0.1 test_gpio

5.加入要传输文件,可以发送zip压缩文件,在ARM中通过unzip解压。

三、ARM板连接wifi

买的ARM板中支持wifi连接,进行配置。

1.首先将软件中的gpio 和wifi模块等相关部分通过TFTP传输到ARM中。将gpio_test等相关模块移动到/sbin/

目录下。客服工程师告诉我要直接引用的执行文件都需要放到/sbin目录下执行。

2.逐步运行以下代码。

#打开gpio模块
gpio_test gpio1_17 1
#加载内核模块
insmod 8188eu.ko

 

3.用手机或电脑开一个热点,或着直接连入无线网。我用另一台ubuntu电脑开了一个名为ARM的热点,密码

是1234567890

#生成wap_supplicant.conf文件  
wpa_passphrase "ARM" "1234567890" >> /etc/wpa_supplicant.conf

4.打开wpa_supplicant程序

wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -B

5.dhcp分配IP,连接wifi,运行下面代码后,会分配地址

udhcpc -i wlan0

6.可能用到的代码

//查看连接不上wifi的原因
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &
//查看当前可搜到的wifi
iwlist wlan0 scanning
//断开网络连接
ifconfig wlan0 down

四、ssh连接ubuntu和arm板子

1.在ubuntu端,安装openssh-server。(具体百度)

2.根据客服工程师给的335ssh中的操作步骤,将相关ssh文件发送到ARM板中去,如下:

#2.1 在开发板上建立需要的目录
mkdir -p /usr/local/etc
mkdir -p /var/run /var/empty/sshd  并设定权限 chmod 755 /var/empty
#把在虚拟机下 /root/ssh/source/openssh-4.6p1生成的服务端相关文件拷贝到开发板相应目录下:
#sshd和 sftp-server复制到开发板的/sbin/目录下 
#生成的六个密钥文件和sshd_config复制到/usr/local/etc/目录下

#进入/usr/local/etc/目录下,修改权限:
 chmod 0644 *
 chmod 0600 ssh_host_dsa_key  ssh_host_key  ssh_host_rsa_key
#2.2 下面是在开发板上操作
#修改/etc/目录下的passwd和group文件,添加sshd用户和组
vi /etc/passwd
#在最后一行添加sshd:*:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
#保存退出。
vi /etc/group
#在最后一行添加sshd:*:74:
#保存退出。
	 

#2.3修改sshd_config  
#分别去掉下列语句前的注释号(即去掉#号)并修改为:  
#PermitRootLogin    yes―――――允许根用户登陆
#PermitEmptyPasswords yes――――允许使用空密码
#UsePrivilegeSeparation   no――――把安全级别降低,因为不会连接互联网
#同时修改sftp-server的存放路径为 /sbin/sftp-server
 
#运行sshd时要用绝对路径
/sbin/sshd
#这样可以在windows下用ssh客户端进行连接了。
#注意网口ip要和电脑ip保持同一网段。



3.ARM板连接到ubuntu开启的wifi热点中,根据分配到的服务器地址(例如,在热点中,我ubuntu是10.42.0.1,ARM板是10.42.0.215),输入ARM登录密码后就可以通过ubuntu远程访问ARM板子了。

ssh root@10.42.0.215

4.nmap

sudo apt-get install nmap
ifconfig #看当前电脑的ip 例如192.168.43.46
nmap nmap -sn 192.168.43.0/24  #扫描


五、tftp无线传输文件

本来想用ssh中的scp的,谁知道总是告诉我没有scp的命令,本以为是ubuntu没装scp,但是研究发现是ARM板没装,问客服工程师,他们也没用过scp传输文件,然后告诉我用tftp的方式无线传输。

1.配置ubuntu中tftp服务器

安装

sudo apt-get install tftpd-hpa


建立传送目录(把要上传和下载的文件都放在这个目录下)

mkdir /home/jtl/tftpboot 
chmod 0777 /tftpboot


配置

 vim /etc/default/tftpd-hpa
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/jtl/tftpboot" # 这里是你的tftpd-hpa的服务目录,这个想建立在哪里都行,就是刚才那步的传送目录 TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-l -c -s" # 这里是选项,-c是可以上传文件的参数,-s是指定tftpd-hpa服务目录,上面已经指定

 

 

重新启动tftp服务

sudo service tftpd-hpa restart # 启动服务,这里要注意,采用的独立服务形式。

2.ARM板要连接ubuntu热点开的网

3.在ARM板中输入tftp的命令

命令格式是:tftp [options] host [port]

options

-l 本地文件        -r 远端文件

-g 下载文件       -p 上传文件

 

例如,我的ARM板连入ubuntu的IP为10.42.0.215,我ubuntu的热点IP为10.42.0.1,在/home/jtl/tftpboot下新建一个a.txt

则在我ARM板输入

tftp -g -r a.txt 10.42.0.1 

就是向ARM板中远端写入ubuntu电脑中的文件a.txt

要将ARM板中的wifi-tool.zip传入ubuntu电脑的命令

tftp -p -l wifi-tool.zip 10.42.0.1
#本地上传文件wifi-tool.zip到服务器(ubuntu电脑10.42.0.1)的tftpboot文件夹下

常用的命令,检测tftp服务器是否打开

netstat -a|grep tftp



 

六、开机自连wifi

1.用户可以设置的开机自启动脚本在/etc/rc5.d/S99sztenv,我在/etc/rc5.d/文件夹下建立了一个wifi.sh

2.在wifi.sh文件中输入第三步中的代码,可以看到每一句之间都加了一句sleep,因为在尝试过程中,不加延迟根本没法启动起来,还是不清楚开机自启到底怎么回事

#/usr/bin/
gpio_test gpio1_17 1 
sleep 1
insmod 8188eu.ko 
sleep 1
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant.conf -B
sleep 1
udhcpc -i wlan0 
sleep 1
/sbin/sshd


3.在S99sztenv中写入

#/usr/bin/
cd /etc/rc5.d/
sh wifi.sh


4.这样设置好后,重启就会连接第三步中设置的wifi
 

七、交叉编译环境配置

1.解压gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2这个官方给等包,我解压到了/opt 目录下了

tar -jxvf gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2 -C /opt


2.在环境变量中添加交叉编译路径

vi ~/.bashrc


最后一行加入

export PATH=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin:$PATH
source ~/.bashrc

3.ubuntu下安装

sudo  apt-get install lib32stdc++6 

4.安装上一步后,再看交叉编译是否成功

arm-linux-gnueabihf-gcc -v

 

5.后来在交叉编译过程中报错,关于libz.so.1

缺少lib32z1库

sudo apt-get install lib32z1

 


八、配置python的交叉编译环境

python的交叉编译环境需要重新配置过,这里讲一下具体怎么用:

1.基本的配置过程参照下面的博客

http://blog.csdn.net/ueillemmx/article/details/43955495

2.下载python源码,需要注意的是交叉编译器arm-linux-gnueabihf 4.7最后生成的交叉编译文件包(我命名为python3.6)下有四个文件:'bin'、'include'、'lib'、'share'

3.通过tftp传送到ARM板中,同时我还传过去了一个test.py的python文件

4.运行程序,需要允许bin下的python3.6,例如,在当前目录在有交叉编译文件包python3.6和test.py,则运行:

./python3.6/bin/python3.6 test.py

5.如果需要用到别的模块(比如我需要用到串口的serial模块,但是python源码包中没有),则需要下载对应的模块源码(serial模块对应的是pyserial源码包),tftp传送到ARM上后,运行:

./python3.6/bin.python3.6 pyserial3.4/setup.py

其实和源码安装模块的方法一样。

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值