Day_15 Terminal & CLI

接下来会介绍到一些套件包、常用网路功能等应用。在开始介绍这些之前,一定要先聊聊termainl。先前都在 openwrt luci 的网页介面下设置网路的应用,但其实要发挥它实力应该要学着使用命令列介面 (Command-Line Interface, CLI) 进行登入与设定。如同其他 linux 发行版一样 openwrt 也能以 Secure Shell (安全外壳协定, SSH) 进行通讯。
我常用的方法与两个软件:

  • win 命令提示字元
    • 优点是无须安装其他软件,以快捷键win+R键输入cmd开启。或在开始->windows系统->命令提示字元
    • ssh root@IP登入系统
  • Putty
    • 小巧且功能强大的开源软件,无论新手/老手都合用的一套。
  • MobaXterm
    • 一开始对 linux 的资料结构不熟时很常用。同样有多种通讯功能,且左手边有图形化的资料夹结构,很方便拖拉上传档案。
    • 邦友介绍文
  • 其他

Luci web terminal

藉由装设 luci 下的终端介面,来实作终端登入与用法

  • 开启 putty ,输入所要登入的主机 IP 与 port 号(预设值为22)

  • 输入使用者 "root"

  • 输入密码,与登入时一样的。他不会出现在指令行上面出现什麽****之类的。但如果错了会出现 "Access denied" 请你再次输入

  • 输入opkg update更新套件列表

  • 输入opkg install luci-app-ttyd安装 luci terminal 安装套件包

  • 在上面的选单中就会出现 terminal 的介面罗

  • 如果需要中文的朋友,也可以接下去安装 "opkg install luci-i18n-ttyd-zh-tw",我在网页上示范

  • 如果要删除套件就使用指令 "opkg remove luci-i18n-ttyd-zh-tw"

  • 下面列出一些 opkg 常用的指令。另外 linux 基础的指令在 openwrt 内也都通用,例如 cd/ll/ls/vi 等等功能都是通用的,可以找个 linux 指令入门介绍来参考与练习

opkg 常用功能大约分成五个:

opkg update (向套件服务器) 更新可以安装的套件列表
opkg upgrade 对已安装的套间更新版本
opkg list 列出所有套件
opkg install 安装指定的套件
opkg remove 解除安装指定的套件

Serial port

树莓派等开发版都会将 IC 上的接脚引出,好让我们使用在输入/输出/通讯等外接功能,像是接个继电器控制灯或马达;接个气温度感测器接收环境温度;接个通讯口与其他装置进行数据交换或控制。
先来看看树莓派上的 GPIO 的功能图:

可以看到 Pin 8(GPIO 14)为 TxD 而 Pin 10(GPIO 15) 为 RxD 。查询其可以使用 UART 协定进行通讯。我这边使用 ch340 的 sb-ttl 转换器,上面也有 Tx/Rx 。设备的 Tx/Rx 为设备本身观点看通讯功能,因此树莓派的 TxD (发送)应该是对应到 usb 的 Rx (接收)。
另外,也得连接 Ground(Gnd) ,使设备有共地,通讯是靠电压差,这样才能有个一致标准。
脚位连接表:

pi 4 ch340
Pin 6(Ground) Gnd
Pin 8(Tx) Rx
Pin 10(Rx) Tx

另外要注意树莓派使用 GPIO 的电压是 3.3V ,要注意买到的 usb 转换器是不是在这操作电压。否则可能损坏 pi ,以下是操作步骤:

  • 连接树莓派与 USB ,并将 USB 转换器接上电脑
  • 装置管理员看看 USB 的 port 编号是多少
  • 开启 putty ,选择通讯为 "Serial" 。再依上图,输入 port 为 "COM3" , Speed 为 "115200"
  • 点选 open 就可以发现直接登入了。
  • 如果设定错误而无法连线登入 luci ,那麽 Serial 是一种不错的方式让我们能进到设备修改参数与重启。

Troubleshooting

Ref.


<<:  Day 12:Router 绕去哪-active-class & exact-active-class

>>:  EP15 - 中场闲聊,所以我说大家的 DevOps 和 CI/CD 呢?

ViewModel 的 Single source of truth

以往我们所熟悉的 Single source of truth 都是在针对资料层,概念上基本上这样的...

Day23 - 铁人付外挂实作付款类别(二)- 发起付款请求

了解 WooCommerce 金流的基本架构後,我们来进行串接的实作,在开始前先回顾一下目前的外挂结...

Vue.js实做星星评分功能

今天要来简单的实做星星评分的功能 在这项单元内也会简单的讲解到props与$emit的传递 先附上成...

Day13-D3 的 Drag 拖曳

本篇大纲:selection.call( )、drag.on( )、范例 今天要来看另一个d3有趣...

JS 11 - 原型链

大家好! 「链」和「链」的意思不完全相同,但是它们都有环环相扣的概念,在这里是通用的。 我们进入主题...