低成本的 raspberry pi 单板计算机已取得巨大成功,可为系统设计师提供负担得起的控制器板,这种开发板可采用业内标准的debian linux 编程。 pi 目前尚缺乏的就是集成无线功能。 raspberry pi a 和 b 以及 pi2 都需要外部 wi-fi 或蓝牙适配器,才能实现无线连接。 最新的版本 raspberry pi 3 增加了 64 位四核 arm® cortex®-a53 处理器,其频率提升到 1.2 ghz,并增加了 wi-fi 和 bluetooth smart 4.0 功能,价格与之前版本相近。 该开发板在发布之前已经预先生产了数月,并可从 seeed 等供应商处获得。
这开启了该开发板在物联网 (iot) 中使用的大好机会,它能轻松连接路由器或网关,进而传输传感器数据,或者从智能手机或互联网的终端进行控制。 四核处理器也具有强大的处理能力,可在本地进行数据分析、运行更广泛的控制算法,以及提供更快的响应。
许多这些 iot 应用都不使用屏幕,因此这些开发板通过“无头”方式进行配置。 这种方法采用以太网或者串行控制台电缆连接终端。 执行这种连接的软件包含在标准软件映像中,这些映像文件随 raspbian 操作系统一起包含在插入到开发板的 sd 卡中。
raspbian 基于 debian linux,定期使用 raspberry pi 基金会的库进行更新,并通过开发板上的 noobs 安装应用程序进行安装。 然而,基金会刻意让其它 arm linux 发行版更容易取代 sd 记忆卡上的根分区,使得开发板可以使用其它操作系统。 这些操作系统可在建立连接之前,通过与该开发板配合使用的 pc 或笔记本电脑下载到卡上。
图 1: raspberry pi 3 开发板添加了 wi-fi 和 bluetooth smart 功能以及 1.2 ghz 四核 arm cortex-a53 处理器到同样的开发板。
使用 raspbian 配置无线连接的第一步是扫描本地网络。 这可通过 sudo 命令完成,格式为
: sudo iwlist wlan0 scan
它将返回所有 wi-fi 网络的列表,以及安全连接和其他详细信息。
要连接到该开发板,所选 wi-fi 网络的名称将在 essid(扩展服务集标识)下方列出。 这还将包括所使用的验证方法,可以是 wep、wpa 或 wpa2。
这就提供了配置文件所需的数据。 访问命令为:
: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
在文件底部是需要根据本地网络更改的 wi-fi 设置。
在 network= 区块中,ssid= 条目需更改为本地网络,psk= 需更改为 wi-fi 密码。
然后按下键盘上的 ctrl+x 可保存配置文件,再按下 y 和回车进行确认。 配置文件通常将在几秒内更新,并尝试连接到 wi-fi 网络。 若 wi-fi 未连接,则可能需要使用 sudo reboot 进行重启。 连接成功后,可通过 ifconfig 命令进行验证:
: ifconfig wlan0
若 inet addr 字段返回 ip 地址,则连接成功,ip 地址在远程连接到开发板时有用。
连接蓝牙外设
raspberry pi 3 的优势之一是内置蓝牙功能。 这样蓝牙外设可轻松连接开发板,建立 iot 网络。
连接蓝牙设备的最佳方法是使用 raspbian 操作系统中的命令行界面的 bluetoothctl 命令。
对于其他操作系统,蓝牙模块可以使用命令进行安装:
: sudo apt-get install pi-bluetooth
运行 bluetoothctl 需要通过以下命令将蓝牙芯片打开:
: power on
这将提供之前连接到该开发板的设备列表。 使用
: scan on
命令,进入发现模式,查找附近的蓝牙设备。
然后,需要打开代理,处理外设和开发板的配对:
: agent on
需要外设 mac 地址才能进行配对,该地址通常印刷在外设上,并使用该命令输入
: pair mac 地址
也可能出现要求输入外设(如蓝牙键盘)密码的提示。
若外设经常使用,可使用命令将其添加到受信设备:
: trust mac 地址
然后,使用命令进行连接
: connect mac 地址
beaglebone green
其他流行的低成本单板计算机,如 beaglebone green,并未嵌入无线功能,因此需要配置适配器或软件狗才能实现 wi-fi 连接。 配置方法随使用的适配器而不同。 但是,这些通常是通过操作系统进行处理,对于 beaglebone green 而言是 debian linux 发行版 3.8 版。
图 2: beaglebone green 开发板使用带 arm cortex-a8 内核的 1 ghz sitara 处理器
该开发板上 wi-fi 连接的一个问题是:grove 端口的接地和电源层靠近可插入 wi-fi 适配器的 usb 端口。 这会使信号减弱,并导致连接不良。 对于许多无头嵌入式应用,这些端口可能并不需要,并且可通过设备树关闭。 对应的命令可在 uenv.tx 文件中找到。
另一个方法是使用短 usb 延长线,这样 wi-fi 适配器能与开发板相隔一段较短的距离,以避免这个问题。
开发板还需要为 wi-fi 适配器提供充足电源,至少需要1 a 、 5 v 电源。
无论哪种情况下,第一步要使用 ssh 将开发板上的 usb 端口连接到 pc,内核升级可确保 wi-fi 适配器使用最新的库:
: cd /opt/scripts/tools/
: ./update_kernel.sh
内核映像应会自动下载并安装,然后重启。
通过添加小脚本,适配器会在开发板启动时自动开启,这有助于确保可以使用所有不同的适配器。 方法如下 方法如下
: cd ~
: ntpdate -b -s -u pool.ntp.org
: apt-get update && apt-get install git
: git clone https://github.com/adafruit/wifi-reset.git
: cd wifi-reset
: chmod +x install.sh
: ./install.sh
该脚本在开发板启动时自动开启适配器,然后运行 iwconfig 命令,提供可用网络列表,以及 /etc/network/interfaces 文件所需的 essid,从而指定适当的连接。
使用 nano 编辑器命令配置该文件:
: nano /etc/network/interfaces
这将显示 wi-fi 的带注释配置块:
# wifi example
#auto wlan0
#iface wlan0 inet dhcp
# wpa-ssid essid
#wpa-psk password
移除注释,并用相应网络名称和密码更换 essid 和密码,以对适配器进行配置。 网络连接可使用 ifup wln0 命令进行手动测试,这将返回该连接的 ip 地址,这在远程访问开发板时有用。 现在,重启开发板将调用打开适配器并配置网络连接的脚本。
结论
aspberry pi 3 开发板加入wi-fi 和 bluetooth smart 功能,可让开发人员通过简单配置即可使用许多新的嵌入式无头应用。 这样,可通过 pc、智能手机和云服务远程轻松访问开发板。 但是,其他开发板的用户仍可使用无线适配器提供同样的功能。
2021年物联网传感器的现状及发展趋势
江智机器人
会议平板市场大热,该如何选择会议平板
分析高校用电管理存在的问题和解决方案
荣耀9什么时候上市?荣耀9最新消息:华为荣耀9双面玻璃+海思960,配置、做工、价格预测
如何实现Raspberry Pi 3与开发板的无线连接
中国移动和鞍钢正在2.0的实践过程中,并积极开展3.0的探索
NASA阿波罗制导计算机系统设计探秘(图文)
Innoviz为丰富其产品线推出了新一代激光雷达传感器InnovizTwo
关于74.29% 的光伏业主对自家电站运行的分析和应用
变频器重要参数的设定
三星传兴建大尺寸QD-OLED试产线 预计2019年上半完工稼动
奥比中光完成超2亿美金D轮融资,迎来全新的发展阶段
高频逆变器后级电路图原理
5G时代的“短信”,OTT大杀器来了?
TuyaOS开发资料大汇总,让物联网开发更简单的神器
不懂什么是智慧工厂,看这篇文章就够了!
连接器的分类
骨传导耳机的原理是什么?骨传导耳机是否会对听力造成损害?
单模光纤和多模光纤有哪些区别?-科兰