如何在树莓派的终端测试网速

Ookla 的 Speedtest 网速测试相信做网络的人大多都用过。 这在PC桌面和移动APP上是很简单。登陆点击“Go”即可。

它会自动测试你的机器到最近服务器的网速。 如果你只有树莓派终端,那怎么在命令行下做测试呢?

首先,我们要安装speedtest-cli这个包,树莓派直接apt-get一下即可。如图所示。

直接执行speedtest这个命令,就可以自动测试了,这里我的树莓派在访问北京电信的一个服务器。这里可以看到下载速度3.40 Mbit/s,上传速度3.87 Mbit/s。

如果想查看北京还有那些其他服务器,可以用:speedtest-cli –list | grep -i beijing 这个命令。另外,如果你还想生成一张图发给 别人的话,可以在后面加个“–share”参数。

然后就可以得到对应的图片网址了。如图所示。

从这个图上可以看到,我这个网速比全国62%的机器都要慢,略有遗憾。

 

用树莓派和 RFID 做能识别音乐专辑的桌子

有不少年轻用户还会追黑胶唱片。

他们的着眼点并不在体验传统的味道上,而是觉得收集黑胶或者其他实体专辑是一种支持歌手出唱片或提升“仪式感”的行为。

虽然不怎么听,但买起来也不会少。

确实,现在要听个实体专辑确实也不容易。黑胶的话经不起折腾,听 CD 也不方便。而且现在的人已经习惯了那种以单曲、EP 为主的音乐消费模式,很少人能够坚持把一张专辑完完整整听完的。

所以在声音体验也没有差太多的前提下,与其去不断切歌、换碟,倒不如直接用流媒体来得方便。

但其实,现在有人还想去玩“实体专辑”。GitHub 上有一位用户,就通过树莓派做了一个识别感应器,让自家的 Google Home 用上“实体专辑”。

根据 The Verge 的报道,这位来自 GitHub 上的用户叫“hoveeman”,他将一个射频识别读卡机和树莓派 Raspberry Pi Zero 连接起来,并开发了一套专用的程序。安装上这套程序后,树莓派能够给家中的 Google Home 发出指令,让它播放相应的专辑。

在这套组合中,射频识别读卡器 RFID 模块的任务就是用来识别“实体专辑”。

这些“实体专辑”,其实是 hoveeman 自己做的一些小卡片。小卡片的表面印着专辑封面、名称和表演者,卡片内部则呆在了一块小型识别芯片。当用户将芯片放到 RFID 模块上,模块就能够识别出相应的信息,传输到 Raspberry Pi Zero 上。电脑处理后,就会发送的 Google Home 上,让它播放相应的专辑。

这个模块能够隐藏在家居产品当中,不管是木桌还是凳子,只要不阻碍 RFID 识别的,都能够藏在里面。虽然这套设备带来的解决方案有点“多此一举”,但现在看起来有点意思。至少,它比你经常换 CD 来得方便。

现在,Hoveeman 将这套解决方案都上传到 GitHub 上。你可以在以下网址:

https://github.com/hoveeman/music-cards

查到它用过的设备和代码,自己做一套相同的出来。

这个其实有点像用 RFID 来控制 Spotify 的方案,那个方案也是用识别卡片来让智能设备播放 Spotify 中的专辑或特定播放列表,做法和实现目标基本上没有什么大分别。

这些方案对于开发者来说,也都是自娱自乐的东西而已。

毕竟,现在的人确实也不怎么喜爱这种消费方式。他们只需要一个简单的听歌方案,而流媒体服务正好能够给他们最简单直接的体验,有这个来确保基本需求之后,其他东西也不重要。

转自 ifanr

Windows平台也高效的GNU编译工具链 —— MSYS2

MSYS:Minimal GNU(POSIX)System on Windows,是一个小型的GNU环境,包括基本的bash,make等等。

而MSYS2除了集成了MinGW这个精简的Windows编译器以外,还集成了包管理器等等。

MSYS2可以在Windows下搭建一个完美的类Linux环境,包括bash、vim、gcc、make等工具都可以通过pacman这个包管理器来添加和卸载 。使用界面如图所示。

如果要安装git工具,可以这样。

是不是很方便?顺便说一句,高性能 Web 平台OpenResty的64位Windows版本也是用这个编译的。

安装限制:

  • MSYS2 不能安装在FAT* 分区。
  • MSYS2 仅支持Windows XP以后的版本。

基本工具包使用:

  • pacman -Sy 更新软件包数据
  • pacman -Syu 更新所有包
  • pacman -Ss xx 查询软件xx的信息
  • pacman -S xx 安装软件xx

Pi-Micro:用树莓派Zero W制作的掌上电脑

你有没有想过制作一台可以放在手掌上的电脑? 我就很想,所以我制造了这款被我称之为 Pi-Micro 的小型笔记本电脑。 这是 Pi-Micro 的第三版,制作了将近一年的时间,因为它足够精细了,所以来与大家分享。 Pi-Micro 可以运行完整的 Linux 操作系统。能够浏览网页、编辑文档、使用终端、创建自定义编程脚本以及玩游戏。

据我所知,它是使用 Raspberry Pi 制作的最小的电脑,它还拥有全键盘。 使用树莓派 Zero W 制作,内置 WiFi 和蓝牙。

Pi-Micro规格介绍:

512 MB RAM
1GHz处理器
内置WiFi和蓝牙
3.5″触摸屏
1000mAh锂离子内置电池
16GB内部存储
完整的QWERTY键盘 108mmX19.5mmX70mm

自制 Pi-Micro 的心路历程

(如果你想要干货,请直接跳过此部分。)
这款笔记本电脑已经打磨了一年多了,在这一年里,我经历了很多不同版本的设计和原型。我设计的前两款都比较重,并且两种旋转轴的重量都不适合屏幕/主板。

a.V1.0(黑色)我的第一版Pi-Micro是2017年5月6日制作的。它使用3D打印的旋转轴,它太松,不能够让屏幕自行站立。但它的键盘是内置在我喜欢的,但是非常厚实和笨重。箱子顶部和底部的边缘也不是圆形的,外壳非常的便宜。

b.V2.0(Blue)我的第二版Pi-Micro是2017年10月左右制作的。我试图用超小的黄铜做的旋转轴,修复这个问题,但它们还是太松了。在这个版本中,我为了让它看起来更漂亮,把所有的边缘都变成圆形,并通过在3D建模程序为树莓派制作接口,代替焊接的铁质接口。关于这个版本的一个独特的地方,就是旋转轴和键盘连接处可以随意上下拆卸。但是,我最终不喜欢它的外观,因为它看起来并不像笔记本电脑。

项目免责声明

最好的项目从来都不容易。为了这台掌上计算机,我花费了一年多的时间,经历了几个版本通过几个版本的改机才获得现在的成品。这个项目有许多困难的焊接/拆焊,以及对Linux和Raspberry Pi的基本了解。如果你自己受伤或其他任何事情,我不负任何责任。请始终佩戴适当的保护装置,不要连接红色和黑色电线,也绝对不要刺破电池。小心!

3D 打印外壳

模型文件可在本项目文件库下载。
http://maker.quwj.com/project/44

打印参数设置如下:

长丝:ESUN PLA +
厚度:0.2MM
外壳:3
填充:80%

组件清单

树莓派 Zero W × 1
3.5 寸触屏显示器 × 1
3D 打印机 × 1
移动电源 × 1
迷你蓝牙键盘 × 1
Micro SD 卡 × 1
USB 插座 × 1
缝纫针 × 2
电线 × 1
螺丝 × 1
胶水 × 1

拆卸移动电源

拆卸的目的是获得薄型电池/充电器组合,电源开关,5v输出。

第1步,从机箱上卸下螺丝,然后从铝壳上拆下内部组件。
第2步,将电线从太阳能电池板切割到控制器板。
第3步,断开电池,然后把它与控制器板之间的两根3英寸长导线重新连接。
第4步,拆卸USB端口,并将焊线焊接到控制器板的正极和负极输出端。

准备屏幕组件

重要提示:此步骤基于Waveshare 3.5"显示器,如果你使用不同的显示器,请更换焊接电线的引脚以符合你的显示器规格。

更多详细信息查看文章下链接

1.拆除触摸屏上的外壳。就我个人而言,最简单的方法是使用冲洗刀具将其剪下,然后使用烙铁从电路板上单独移除引脚的下半部分。
2.焊接导线到引脚1,2,6,11,18,19,21,22,23,24和26。
3.标记所有电线,以便你分辨清楚,如图所示。
4.仔细检查标签。
4.在3D打印的显示部件中钻孔,以便它们可以组合在一起。
6.再次检查标签。相信我,它会省下很多挫折。
5.将屏幕放置在零件内部,并将其组合在一起。

将USB插座焊接到树莓派

我将USB接口安装在电脑的右下角。

1.首先使用钢丝钳剪下USB插孔两侧的小标签(不是四个引脚中的任何一个),因为不是利用它们将USB固定。

2.将四个引脚以90度角向下弯曲,让它们延伸出背面,但插口并没有伸出底部。

3.将线焊接到每个引脚上,确保它们足够长可以从外壳的一侧延伸到另一侧,如有必要,用热缩管将端口绝缘。提示:使用不同颜色的电线;它有助于分辨哪些是你要将它们连接到Pi。

4.使用上面的电路图,将导线焊接到Pi的焊盘。

将电池焊接到树莓派

1.焊接从电源5V输出Pi 5V引脚的红线。
2.将电源GND输出的黑线焊接到Pi GND引脚。

将屏幕焊接到树莓派

这一步非常的棘手,一定要小心。

1.请尽量缩短电线长度。如果你的电线太长,它们会堆积在底壳内,使其难以关闭。尝试测量每根导线需要的距离,并精确的切割它们,以便在显示器和下半部分布置时,底壳边缘与显示器边缘之间会有2CM的间隙。

2.将带标签的导线连接到Pi上的相应引脚。请一定确认好每根引线。

安装软件

你至少需要8GB大小的Micro SD卡,不过你选择使用的大小将决定Pi-Micro内部存储的容量。

这是一个重要的步骤,因为它也有助于确定屏幕和电池是否已连接正常。

1.将Micro SD格式化为FAT32。
2.在“ https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A) ”下载用于Waveshare显示器的预制系统镜像。
3.使用Etcher,将系统镜像写入到Micro SD上。
4.将卡插入Pi,打开电池然后静待佳音。
5.如果一切顺利进行,说明你的安装没错。如果有问题,请仔细检查所有焊点和接线。
6.将蓝牙键盘与Pi配对。这意味着稍后我们不必访问键盘上的配对按钮,并且每次启动时都会自动连接。

缩小键盘大小,并将其焊接到树莓派

对于Pi-Micro的键盘,我们将使用电池的迷你蓝牙键盘,然后将其焊接到Pi。

1.打开键盘外壳。我发现最简单的方法是弯曲键盘,直到盒子的顶部和底部之间出现裂缝,然后用平头螺丝刀将其撬开。
2.卸下微型USB充电端口。直接加热端口后面,用烙铁完成这一操作,当焊料熔化时,它很容易滑落。
3.拆除电池。
4.将两根电线焊接到电池用于连接的端口上。
5.打开它。 (当我们将它连接到Pi时,务必确保它会同时打开。)
6.将电池正极端子的电线焊接到Pi上的3.3V引脚
7.将电池负极端子上的导线焊接到Pi上的任何GND引脚。

组装所有组件

提示:这是最令人头疼的部分,各位趣友耐心点哦。对于旋转轴部分,我决定使用针作为转轴。如果安装的整个过程中,如有阻力,请勿强行挤压。把壳内的物品整理一下比生拉硬拽好的多。

1.确保一切尺寸合适。把所有组件放入壳内,把盖子放在下半部分,并确保它是齐平的。如果不能,请微调一下。

2.用热胶来固定一切(除了电池,它有可能爆炸)。这样就可以确保当你摇动完成的计算机时不会有任何移位,并且在尝试使用USB和充电端口时不会将其推入计算机。

3.现在所有东西都是安全的,把盖子放在下半部分,用螺丝来固定它。你可能需要预先钻孔,因为可以使用的螺钉厚度不同,所以我没有将这些孔放入设计中。

4.将显示器放在下半部分。确保它可以安装在底部旋转轴上,并且可以旋转。

5.安装针。我建议使用最大直径的针头,由于旋转轴会变硬,你也许需要用一块木头的尖端或其他东西来推动它们。

6.如果需要,请使用烙铁将针头两端的塑料熔化,以免滑出。

7.如有需要,绕过下半部分的底部和盖子的边缘,并使用烙铁焊接任何有间隙的地方。

DONE!完成啦!希望趣友们喜欢这个项目!

via

本文来自:树莓派实验室

原帖:http://www.instructables.com/id/Pocket-Sized-Linux-Computer-Pi-Micro

用树莓派搭建低成本VOIP电话系统

在研究了一些为小企业提供VoIP(Voice over Internet Protocol)和IP电话服务,包括支持新趋势 UC(统一通信)的技术解决方案之后,我个人认为用树莓派提供一个非常低成本的解决方案是完全可行的。相对于100美元的投资和一个专用的 VoIP/UC 服务器解决方案,树莓派和相应配件在成本方面的优势是无法比拟的。

树莓派的解决方案是通过在 Raspbian 系统上运行 Asterisk VoIP/UC 软件来实现的。这个开源解决方案提供了高度灵活的配置项,当然也可以用于许多不同的领域和应用。

本文说明了 VoIP/UC 的解决方案并不一定是高风险的,在实施的时候也不一定是需要很高投入的。

简介

在过去的几十年中,电话技术发展迅速,从模拟通信迁移到了基于VoIP的数字通信和IP电话。这也让统一通信成为了可能,统一通信是对实时通信服务,例如即时消息(聊天),电话,数据共享,视频会议,语音识别等和非实时通信服务,例如语音信箱,电子邮件、短信和传真等的集成。统一通信并不是指某一个单一的产品,而是一系列提供了一致的,统一的,跨多个设备和媒体类型的用户界面和用户体验的产品。

(http://en.wikipedia.org/wiki/Unified_communications)

VoIP 是利用某个网络协议,比如SIP协议 (Session Initiation Protocol) 和 RTP协议 (Real-time Transport Protocol) 等,从而实现通过因特网来传输声音。

基础

要实现一个 VoIP/UC 解决方案,系统必须满足各种行业标准,而且网络设备也必须能够区分出对语音视频数据和其他类型数据的使用。

基本组件

本方案对硬件和软件的要求很简单。你需要做的可能只是下载软件而已。

硬件:

  • 树莓派B或者B+
  • 4 GB SD卡 (最低配置)
  • 1A 电源
  • 网线
  • 可选的 SIP 电话或者 SIP适配器(本文使用 Dlink DPH-150SE)

软件:

  • Raspbian
  • Asterisk 通信软件
  • LinPhone 虚拟电话软件 (支持 iOS, Android, Blackberry, Linux, Windows and OSX)。你可以通过下面链接下载。http://www.linphone.org

安装

初始安装设置的时候,你可能需要使用一个USB键盘和鼠标连接到 Raspberry Pi 上,再连上一个显示器。配置成功以后,树莓派就可以不需要这些而自己运行了。

获取 Asterisk 软件最好的和最容易的方法是从这个网站 (http://www.raspberry-asterisk.org/downloads)下载最新的 SD 卡映像文件,它是一个预装了 Asterisk 通信软件和 FreePBX 图形用户界面的 Raspbian 系统。

该映像文件是通过在这个网页上(http://www.raspberrypi.org/documentation/installation/installing-images/)的步骤被写到SD卡上的。

当系统启动后,用 root 身份和 raspberry 密码登陆。如果愿意,你也可以远程登陆树莓派系统。在 Windows 上安装 PuTTY SSH 客户端并用 root@raspbx 连接树莓派。如果是苹果的 Mac,只需简单的打开终端,输入命令 SSH root@raspbx.local 。

你可能以后会想禁止通过 SSH 登陆 root 用户,因为这有可能造成一个安全漏洞。当你登录系统以后,你需要运行的第一个命令是:

raspbx-upgrade

这个命令将更新所有的软件到最新版本,包括 Raspbian 和 Linux 内核。

接下来你需要做的是配置静态IP地址。你需要在你的路由器或者猫上指定你想使用的静态IP地址,网络掩码和网关。命令:

ifconfig

将提供你当前的IP地址,网络掩码。你的新的静态IP地址的前三个字节应该跟你当前的IP相同,最后一个字节必须在你的路由器当前已使用的动态IP地址范围之外。如果想查找网关地址,请输入:

netstat -r

通过下面的命令编辑 interface 文件:

nano /etc/network/interfaces

编辑好的 interface 文件应该看起来跟下面截图中的一样。

注意你需要将 eth0 那一行上的 “dhcp” 替换为 “static”, 并确保你使用的是 <Tab> 键来达到需要的缩进。

保存这个文件以后,重启树莓派让新的网络设置生效。现在开始,你就可以使用新的静态IP或者 raspbx 主机名了。例如我现在就可以使用 PuTTY 通过静态IP来连接树莓派: root@172.31.15.11 。

Asterisk的配置

我们现在要通过 FreePBX 的图形用户界面来配置 Asterisk 软件。这样可以让整个配置过程变得简单和容易。FreePBX 是已经在我们下载的那个映像文件里预装好了的软件。

如下所示的是一个示例架构图:

要运行 FreePBX,请打开浏览器并在地址栏输入 http://raspbx 或者树莓派的静态 IP 地址。(对于苹果的 Mac,你需要输入 http://raspbx.local)。这样就打开了 FreePBX 的管理界面。

这里有三个选项:

  1. FreePBX Administration 用于配置 Asterisk
  2. User Control Panel 供用户调整他们的个人设置
  3. Get Support 将打开 FreePBX 的官方网站

点击 FreePBX Administration, 默认的登录名是 admin,登陆密码也是 admin。这个软件的菜单有多种选项,包括分机(Extensions),会议(Conferences)和响铃组(Ring Groups)等。请点击分机(Extensions)。

由于当前没有分机存在,所以你将添加一个新的分机。Device 选项请选择 Generic SIP Device,然后点击提交(Submit)进入下一个页面。这个页面也有很多的选项,但我们只需要设置用户分机号码为 300,显示名称为 Walberto 和密码为 ext300。单击 Submit 添加该扩展。

在屏幕的右边,点击300来查看你刚刚添加的分机。验证端口(port)选项被设置为5060。点击Submit提交,然后点击那个红色的 Apply Config 按钮来保存所做的更改。

重复这个过程添加其它你需要的分机号,在这里我添加了301和302分机。

现在,我们需要配置 IP 电话。这个过程根据你的电话设备的型号而不同,在这里我们将使用 Dlink DPH-150SE 作为一个示例。

最重要的设置是禁用 DHCP 选项,确认 SIP 电话端口号为 5060,还有注册的服务器是你的树莓派的 IP 地址。在后面的章节中,我们将通过 Proxy 选项来启用服务器注册。

对于 SIP Account 设置选项,我们需要输入之前通过 FreePBX 添加分机时使用的数据。Authentication User Name 就是之前添加的分机号码,而 Authentication Password 就是我们之前设定的那个密码(即ext300)。

虚拟电话配置

启动 Linphone 并在 Options 菜单中选择 Preferences。确认网络设置如下图所示。

在 Multimedia settings 选项中, 确认 Echo cancellation 被选上。在 Manage SIP Accounts 选项中输入你的显示名称。在我的例子中,虚拟电话的分机号为302, 所以用户名也为 302。由此而生成的 SIP 地址为<sip:302@172.31.15.7>。单击 Add 按钮在 Asterisk 上注册该分机的帐号。

按照下图所示,输入你的 SIP identity 和 SIP Proxy address(即你的树莓派的 IP地址)。

然后你将被要求输入密码。对于302分机,我设定的密码是 ext302。单击确定,注册就完成了。

通过 FreePBX 和 Asterisk 可以实现各种服务,如会议室,IVR(交互式语音应答),呼叫组等,还可以通过普通的PSTN电话,SIP中继线或互联网进行呼入和呼出。

未来

VoIP和互联网通讯的发展正在推动统一通信系统融合成一个整体的系统和环境。 FreePBX 和 Asterisk 是一个非常好的例子,它演示了如何用很低的成本来实现复杂的通讯系统。

来自:https://www.jianshu.com/p/4789d030fee3

想要更多,请欢迎关注“IoT前哨站”微信公众号或微博