ArduinoYun教程之OpenWrt-Yun与CLI配置Arduino Yun

ArduinoYun教程之OpenWrt-Yun与CLI配置Arduino Yun

OpenWrt-Yun

OpenWrt-Yun是基于OpenWrt的一个Linux发行版。有所耳闻的读者应该听说他是一个使用在路由器上的操作系统。其实准确地说OpenWrt是一个嵌入式Linux发型版,它可以安装在各种嵌入式芯片中,如Arduino Yun。在本节中,将为大家介绍OpenWrt-Yun系统相关的知识。

使用SSH连接Arduino Yun

SSH是Secure Shell的缩写,它是建立在应用层和传输层(详细知识可以查找OSI模型)基础上的安全协议。通俗地来说,它的作用就是加密你与操作系统之间的通讯信息。在Arduino Yun上,提供支撑SSH通讯的基础的SSH服务。它在Arduino Yun上是作为系统服务运行的,所以在系统启动之后它就运行起来了。使用SSH方式需要电脑可以通过IP地址找到Arduino Yun,所以需要使用3.1节中介绍的3种方式连接Arduino Yun与电脑。

在Linux中使用SSH连接Arduino Yun

在绝大部分Linux发行版中都内置了SSH客户端,所以可以直接发起SSH连接。连接的方式也非常简单,使用如下的命令可以不指定用户名连接:

  • ssh Arduino Yun的IP地址

例如,笔者所用Arduino Yun所在的IP地址为192.168.4.103,所以可以使用如下命令:

  • ssh 192.168.4.103

另一种方式是在命名中直接指定登录用户,可以使用如下的方式之一:

  • ssh –l 用户名 Arduino Yun的IP地址
  • ssh 用户名@Arduino Yun的IP地址

那么,我们以root用户登录IP地址为192.168.4.103的Arduino Yun对应的命令如下:

  • ssh –l root 192.168.4.103
  • ssh [email protected]

在以上命令之后,SSH客户端会询问你几个问题:

  • The authenticity of host ‘192.168.4.103 (192.168.4.103)‘ can‘t be established.
  • RSA key fingerprint is 81:1e:44:66:b3:1d:4f:6a:6b:a2:c2:7a:30:b1:e3:ed.
  • Are you sure you want to continue connecting (yes/no)?

上面的内容就是提示这个IP地址的可靠性无法确认,询问你是否继续连接。这里我们回答“yes”继续,然后会出现如下的警告信息:

  • Warning: Permanently added ‘192.168.4.103‘ (RSA) to the list of known hosts.

这里提示你将要把192.168.4.103永久性地添加到你已知的主机名列表中。这样导致的结果就是你以后访问这个地址时候不会再出现上面的问题,而是直接要求你输入登录远程访问的密码:

  • [email protected]‘s password:

这里就需要输入我们在3. 2节中设置的密码,如果你之前没有更改则为原始密码“arduino”,之后就登录到了远程系统,如图3.25所示:

 

图3.25  登录系统

在登录进系统之后,命令行提示符(即图3.24最后一行)显示了当前是以root用户到名为TomArduino的远程主机上。此时的操作环境就是在Arduino Yun上了(由于命令提示与PC上的非常类似,所以需求读者仔细区分),所有的操作都是针对Arduino Yun的。在执行完所有的操作之后,可以输入exit命令退出,同时输出提示信息:

  • Connection to 192.168.4.103 closed.

在Windows中使用SSH连接Arduino Yun

在Windows操作系统中使用SSH要稍微麻烦一点,因为Windows操作系统没有自带SSH客户端,所以需要下载客户端。笔者和官方都推荐使用PuTTY,它免费又好用,官方链接为:www.putty.org。

1.安装PuTTY软件

PuTTY官方提供为Windows操作系统提供了压缩文件形式和安装包两种形式,笔者推荐使用安装包形式,其文件名为putty-0.63-installer.exe。PuTTY提供的安装包是标准的Windows软件安装形式——简洁明了,如图3.26所示是欢迎页。

(1这个页面中提示要将PuTTY0.63版本安装到你的电脑中。我们单击Next >按钮继续,这一步要我们选择PuTTY要安装的路径,如图3.27所示。

 

图3.26  PuTTY欢迎页                     图3.27  选择安装路径

(2笔者推荐使用默认路径。PuTTY非常紧凑,只需要占用3.5MB的空间。我们接着单击Next >按钮继续,这次要我们选择是否创建开始菜单文件夹,如图3.28所示。

(3这一步根据读者习惯进行选择即可。默认是不创建,所以想要创建,就需要将复选框置为选中状态。接着单击“Next >”继续,这一步要我们选择一些附加执行的任务,各项含义均在图3.29中有标注。

 

图3.28  选择是否创建开始菜单文件夹                      图3.29  选择附加任务

(4这里同样需要根据自身喜好进行选择即可。然后接着单击Next >按钮。这一步是对之前所有步骤的总结,如图3.30所示。

(5这里展示出了之前询问过用户的所有问题的答复。如果你对这个配置不满意,那么还可以使用< Back按钮返回之前的步骤重新配置;如果确认无误,那么单击Install按钮开始安装。在安装完成后,会出现完成的界面,并提示你阅读README.txt文件,如图3.31所示。

 

图3.30  准备好安装                           图3.31  安装完成

README.txt文件会对一些常见问题给出建议,例如接下来需要做什么、如果软件不工作怎么办等问题。你可以自由选择是否阅读该文件,之后点击“Finish”安装完成PuTTY的整个安装。

2.使用PuTTY软件

PuTTY软件的主页面简单至极。它左侧的树状列表列出了所有的选项,这些选择通常情况下无须关心,现在唯一需要关心的就是PuTTY的连接方式,而默认的连接方式就是SSH,如图3.32所示。

与在Linux下连接类似,我们需要提供远程主机的IP地址,当然也可以通过与Linux相同的方式直接指定用户名:

  • [email protected]

(1将你Arduino Yun对应的登录用户名以及IP地址以上面所示的方式填写到如图3.33所示的输入框中。

 

图3.32  PuTTY主页面                   图3.33  输入用户名和IP地址

(2单击Open按钮,开始连接。在第一次连接一个远程主机的时候,同Linux类似的,它需要你保证连接操作是你所期望的,如图3.34所示。

这个提示框中有4个按钮,他们的作用分别如下:

  • q  是(Y):这个按钮会将这个主机缓存,在此之后的访问就不会再出现这个提示框;
  • q  否(N):这个按钮会关闭这个提示框并开始后续操作,但是在下次连接这个主机的时候还会弹出这个提示框;
  • q  取消:这个按钮会取消当前及后续操作,即取消这次连接;
  • q  帮助:这个按钮会打开PuTTY的用户手册,你可以在手册中寻找答案。

所以,单击“是(Y)”或“否(N)”按钮均会执行后续的操作。如果你只提供了IP地址,那么将会出现如图3.35所示的提示信息。

 

 图3.34  安全提示信息               图3.35  未提供登录用户的提示信息

(3这里就是要求我们提供登录的用户名。如果这是你第一次以SSH方式连接Arduino Yun,那么你只能以root用户登录,所以你需要输入“root”继续。如果你在连接的开始就提供了用户名则会提示如图3.36所示的信息。

(4这里提示我们使用“root”用户登录,然后要求我们输入“root”用户的密码。在输入正确的密码后(密码不会显示),就进入了OpenWrt-Yun系统(准确地说是系统中的BusyBox软件),如图3.37所示。

图3.36  提供登录用户的提示信息     图3.37  成功登录系统

细心的读者可能注意到了,在OpenWrt字符LOGO的上方显示了BusyBox。BusyBox被称为Linux工具里的瑞士军刀,在嵌入式系统中非常流行。它集成了100多个最常用的Linux命令和工具。如果你想看它支持的所有命令,只需要在键盘上按两次Tab键即可。

使用CLI配置Arduino Yun

CLI是Command Line Interface的缩写,中文译名为命令行界面。CLI相对GUI(图形用户接口)的优点也非常明显,它的使用要求极低——只需要串行口,而串行接口是单片机的标配。有使用过Linux系统的读者一定对它十分熟悉,它可以完成所有在图形界面下完成的系统管理操作。如你所想的,CLI通常用来管理系统,对于OpenWrt-Yun这种紧凑的系统来说这是一种管理系统的绝好方式。

Arduino Yun中为什么使用CLI

在3.1.2节中配置Arduino Yun的方式是使用Web页面的方式进行的,它是基于一个名为LuCi的接口实现的。Web页面只提供了最常用的配置,如密码和WiFi设置。在本节中,我们将教授大家以CLI的方式管理Arduino Yun。这种方式可以完成的功能可就非常多了,接下来演示一下使用这种方式为Arduino Yun安装软件。

在Linux操作系统中,管理软件包的软件通常称为软件包管理器。它可以完成查找、安装、卸载以及依赖解决等功能。PC上Linux发行版常见的软件包管理器有RPM、APT以及Pacman等。而在Windows操作系统下,类似功能的软件有腾讯软件管家、360软件管家等。

在Arduino Yun中,准确地说是OpenWrt-Yun中使用软件包管理工具是opkg。虽然BusyBox已经内置了非常多的工具,足以满足我们绝大多数的需求,但是也不能排除需要安装一些软件的特殊情况。所以下面就来介绍一下opkg最基本最常用的几个命令。

更新软件包数据库

鉴于Arduino Yun紧张的存储资源,opkg软件包数据库是存储在RAM中的。这样,可以节省相当一部分ROM资源,但是带来的问题就是只要RAM一掉电(如重启系统),我们就需要再次更新。好在opkg软件包数据库并不庞大,而且更新的命令也非常简单,所以我们需要养成每次新安装软件之前都更新软件包数据库的习惯。更新软件包数据库使用update命令:

  • opkg update

在命令的执行过程中会提示当前正在执行的操作,其内容下面所示的:

  • [email protected]:~# opkg update
  • Downloading http://downloads.arduino.cc/openwrtyun/1/packages/Packages.gz.
  • Updated list of available packages in /var/opkg-lists/attitude_adjustment.
  • Downloading http://downloads.arduino.cc/openwrtyun/1/packages/Packages.sig.
  • Signature check passed.
  • [email protected]:~#

以上的内容就显示更新了可用包的列表,并且签名检查也通过了。那么,接下来我们就可以查找或者安装软件了。

查找Arduino Yun中的软件包

由于OpenWrt通常是基于不同于PC的处理器架构的,所以在PC上可以安装使用的软件不一定被移植到了软件列表中。所以,这个命令可以让你确定软件是否存在于软件列表中。它的使用方法如下:

  • opkg find 软件名

例如,要搜索名为fortune的软件,那么可以使用如下的命令:

  • opkg find fortune

这条命令就会输出对应的软件名及其描述:

  • fortune-mod - 1.2.1-2 - Fortune mod displays fortune cookies on demand
  • znc-webskin-forest - 0.206-2 - forest webskin for webadmin

如果没有找到,则这条命令会有任何反馈。

查找软件包的命令不一定非要你知道全名,当你只记得软件名的一部分的时候会变得特别有用。它可以使用通配符来匹配软件。关于通配符的知识在这里不做深入介绍,只演示一个最常用到的通配符“*”。星号(*)通配符可以匹配任意多个任意字符。例如,for*可以匹配for、forabcd、for1a以及foraaaaaaa等等字符。它的一种使用方法如下:

  • [email protected]:~# opkg find for*
  • fortune-mod - 1.2.1-2 - Fortune mod displays fortune cookies on demand
  • znc-webskin-forest - 0.206-2 - forest webskin for webadmin

上面的for*只匹配到了fortune-mod这个软件。我们接着看以下命令:

  • [email protected]:~# opkg find fo*
  • fortune-mod - 1.2.1-2 - Fortune mod displays fortune cookies on demand
  • fowsr - 1.0-20110904-1 - fowsr is a USB Data Collector application for WH1080 compatible
  • weather stations.
  • Output formats includes XML, Wunderground.com and pywws.
  • znc-webskin-forest - 0.206-2 - forest webskin for webadmin

这里我们可以看到,除了匹配到fortune-mod之外还匹配到了fowsr和znc-webskin-forest。而如果再次减少确定字符数,例如使用f*,则会匹配所有以f开头的软件,那个数目可就不止个位数了,读者可以自己尝试下大学霸。

注意:星号不只是可以只在结尾,它可以放在任意的位置,例如*for、f*r甚至*for*、*f*r*的形式。

安装Arduino Yun中的软件包

安装软件包使用的命令是install,它的命令格式如下:

  • opkg Install 软件名

例如,安装名为fortune-mod软件,可以使用如下的命令:

  • opkg Install fortune-mod

这条命令会输入如下的信息:

  • [email protected]:~# opkg install fortune-mod
  • Installing fortune-mod (1.2.1-2) to root...
  • Downloading http://downloads.arduino.cc/openwrtyun/1/packages/fortune-mod_1.2.1-2_ar71xx.ipk.
  • Configuring fortune-mod.

在安装完成后,我们就可以执行这个命令了。fortune-mod命令用来随机输出一句话,它执行的结果如下:

  • [email protected]:~# fortune
  • You will be Told about it Tomorrow.  Go Home and Prepare Thyself.
  • [email protected]:~# fortune
  • You should go home.

提示:输入命令的时候你可以使用Tab键补全。例如你想输入fortune命令,那么你可以只输入前一部分for之后按Tab键,你就可以看到命令被自动补全了。

升级Arduino Yun中的软件包

顾名思义,升级软件包就是将当前安装的软件升级到软件库中最新的版本,它使用的是upgrade命令,格式如下:

  • opkg upgrade 软件名

例如,升级fortune-mod可以使用如下的命令:

  • opkg upgrade fortune-mod

删除Arduino Yun中的软件包

删除软件包是安装软件的逆过程——将系统中已经安装的软件移除。它使用的命令是romove命令,格式如下:

  • opkg remove 软件名

例如,删除fortune-mod可以使用如下的命令:

  • opkg remove fortune-mod

当然,使用CLI形式可以完成的功能远不止这些,其他的一些功能我们将在之后的内容中穿插介绍给读者,在这里就不再做深入的介绍。

本文选自:Arduino Yun快速入门教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!

时间: 2024-08-21 09:31:44

ArduinoYun教程之OpenWrt-Yun与CLI配置Arduino Yun的相关文章

ArduinoYun教程之配置Arduino Yun环境

ArduinoYun教程之配置Arduino Yun环境 配置Arduino Yun 无论你使用前面介绍的哪种方式连接Arduino Yun,现在都可以配置你的Arduino Yun了.首先需要的是使用各自对应的方法访问到如图3.18所示的界面. 图3.18  配置登录界面 图中所示的是配置登录界面,它的默认密码是"arduino".输入密码后,单击LOG IN按钮,登入欢迎页面,如图3.19所示. 图3.19  欢迎界面 在这个界面中显示了WIFI以及WIRED ETHERNET接口

ArduinoYun教程之Arduino编程环境搭建

ArduinoYun教程之Arduino编程环境搭建 Arduino编程环境搭建 通常,我们所说的Arduino一般是指我们可以实实在在看到的一块开发板,他可以是Arduino UNO.Arduino Yun.Arduino Mega等等.但是从严格意义上来说,Arduino这个名字不仅代表着开发板,而且涉及硬件.软件.开发团队.设计原理以及用户群体的互助精神.这是Arduino与其他开发板的不同之处.在本章,我们将主要介绍如何在Windows和Linux操作系统上搭建Arduino的编程环境.

ArduinoYun教程之ArduinoYun硬件介绍

?ArduinoYun教程之ArduinoYun硬件介绍 ArduinoYun的电源插座 Arduino Yun有两排插座,这些插座能够按类型分为三类:电源.数字IO和模拟输入.电源部分主要集中在如图1.7所看到的的部分. 图1.7  电源集中部分 还有两个在如图1.8所看到的的位置. 图1.8  电源部分 以下我们介绍相应图中的各个名称及其含义: q  3个GND:接地.他们尽管分布在不同的位置,可是功能都一样: q  Vin:电源输入,通过它能够为整个板子供电,类似MicroUSB的供电功能

ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge

ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge Arduino环境与Linux环境的桥梁--Bridge 在第一章中介绍Arduino Yun硬件的时候提到过,它上面有两个处理器ATmega32U4和Atheros 9331.20个IO口和Micro USB口是连接在ATmega32U4上的,而WiFi.Ethernet.SD卡槽和USB口是连接在Atheros上的.如果这两个处理器只能独立工作,那么把他们集成到Yun中也就没有意义了.所以,ATmega32U4和

SpringBoot系列教程之Redis集群环境配置

之前介绍的几篇redis的博文都是基于单机的redis基础上进行演示说明的,然而在实际的生产环境中,使用redis集群的可能性应该是大于单机版的redis的,那么集群的redis如何操作呢?它的配置和单机的有什么区别,又有什么需要注意的呢? 本篇将主要介绍SpringBoot项目整合redis集群,并针对这个过程中出现的问题进行说明,并给出相应的解决方案 I. 环境相关 首先需要安装redis集群环境,可以参考博文:redis-集群搭建手册 然后初始化springboot项目,对应的pom结构如

Arduino Yun快速入门教程(大学霸内部资料)

Arduino Yun快速入门教程(大学霸内部资料) 本资料为国内第一本Arduino Yun教程.详细讲解Arduino Yun的基本结构.开发环境.系统配置,并着力讲解关键功能--Bridge.最后,本书实现了一个智能家居控制系统--家居环境监测.该系统具有温度监控.湿度监控.安防监控.家电控制等重要功能.基于该系统,读者可以扩展出更丰富的功能,打造更智能的现代家居环境. 试读样章下载:http://pan.baidu.com/s/1kTIE5M3 目  录 第1章  Arduino Yun

DNS域欺骗攻击详细教程之Linux篇

.DNS域欺骗攻击原理 DNS欺骗即域名信息欺骗是最常见的DNS安全问题.当一 个DNS服务器掉入陷阱,使用了来自一个恶意DNS服务器的错误信息,那么该DNS服务器就被欺骗了.DNS欺骗会使那些易受攻击的DNS服务器产生许多 安全问题,例如:将用户引导到错误的互联网站点,或者发送一个电子邮件到一个未经授权的邮件服务器. 二.DNS域欺骗攻击实现步骤 1.配置实验环境: 2.假设攻击者已经侵入受害者机器实施攻击: 3.使用嗅探进行DNS ID欺骗: 4.DNS通配符攻击. 我们需要像图1那样设置实

OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务

OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务 OpenVAS基础知识 OpenVAS(Open Vulnerability Assessment System)是开放式漏洞评估系统,其核心部分是一个服务器.该服务器包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题.OpenVAS不同与传统的漏洞扫描软件.所有的OpenVAS软件都是免费的,而且还采用了Nessus(一款强大的网络扫描工具)较早版本的一些开放插件.虽然Nessus很强大,但是该工具

ios系类教程之用instruments来检验你的app

ios系类教程之用instruments来检验你的app 为了节省大家的时间,提供一个演示的Demo给大家.代码传送门.下载后解压然后用xcode打开.编译运行APP后 然后在搜索框内输入任意词汇,点击结果你会看到下面的结果 正如你所见的,这个app很简单.程序其实调用的是Flickr的API,通过app顶部的搜索框执行搜索后在下面的tableview显示你搜索的搜索词,搜索词后面的括号内有搜索结果的个数,点击此行进入一个略所图的结果列表页面 如上图. 点击其中一行 进入图像的大图模式,在这个页