在树莓派上安装RasPBX,实现一个SIP电话系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在树莓派上安装RasPBX,实现一个SIP电话系统相关的知识,希望对你有一定的参考价值。

参考技术A http://download.raspberry-asterisk.org/raspbx-04-04-2018.zip

在终端中执行命令,卸载SD卡:

在终端中执行命令,写入SD卡:

提示:要执行好长时间(大概有15分钟)!!!

把SD卡放入树莓派后启动。

user:root
password:raspberry

按提示创建管理员账户。

user:root
password:raspberry

镜像只使用了4GB的空间,如果SD的空间比这个大,可以进行扩展。

检查空间,执行命令:

查看第二分区的起始地址,后面会用到

使用fdisk操作磁盘

重启系统

重启系统后查看,磁盘空间并没有扩展,需要执行命令:

Theano 在树莓派上使用 Keras

【中文标题】Theano 在树莓派上使用 Keras【英文标题】:Theano with Keras on Raspberry Pi 【发布时间】:2017-03-12 01:32:27 【问题描述】:

我试图让 Theano 在 Raspberry Pi 3 (B) 上与 Keras 一起运行,但没有成功。我尝试将 Ubuntu MATE 和 Raspbian 作为操作系统,但没有成功。为了安装 Theano 和 Keras,我采取了以下步骤:

    安装 miniconda(armv7 发行版) 通过 Conda(如果可能)、pipapt-get 安装所有 Theano 依赖项(如图所示 here) 安装 Theano 安装 Keras

上述步骤没有任何问题。在下一步中,我构建了一个小测试脚本 (test.py),它通过

加载已构建的模型
from keras.models import load_model
model = load_model('model.hdf5')

加载模型时出现以下错误

Segmentation fault (core dumped)

然后我尝试按照 SO (What causes a Python segmentation fault?) 上的这个答案进一步调查这个问题:

gdb python
> run test.py

当我运行它时,我得到:

Program received SIGSEV, Segmentation fault.
0x76fd9822 in ?? () from /lib/ld-linux-armhf.so.3

下一步我在 gdb shell 中运行:

> backtrace

得到了

#0  0x76fd9822 in ?? () from /lib/ld-linux-armhf.so.3
#1  0x76fd983a in ?? () from /lib/ld-linux-armhf.so.3

这是我不知道更多的地方,我想问一下,是否有人可以为我指明如何解决此问题并让 keras + theano 在 Raspberry Pi 上运行。

(我也尝试过 TensorFlow 作为替代方案,但遇到了同样的问题)

非常感谢。


编辑

我做了更多的调查。如果我run Keras with TensorFlow 问题似乎有点改变。我再次运行 gdb,但错误现在发生在 numpy 中,尤其是在 libopenblas.so.0

Program received signal SIGSEV, Segmentation fault.
0x75ead7cc in inner_thread()
from /home/<path>/numpy/core/../../../../libopenblas.so.0

这有帮助吗?


编辑 2

我在没有使用 Miniconda 的情况下安装了所有东西,而 Keras 现在可以与 TensorFlow 一起使用(但还不能与 Theano 一起使用)。

【问题讨论】:

您是否尝试过仅在 TF/Theano 中训练简单模型?至少这可以缩小问题原因。 你可以试试 tensorflow 的调试版本吗? bazel build -c dbg 构建它。 你现在有成功吗?我也在考虑在 Rasperry PI 上运行 Keras(可能使用 TF)。我没有尝试过,我只是在收集一般信息。到现在还能用吗? 如果您不使用 Miniconda(或者至少我无法让 Miniconda 与 Keras/TF 一起使用),它会起作用。我认为只要你不想在 Pi 上开发任何东西而是运行一个应用程序(对我来说就是这种情况),不使用 Miniconda 是完全可以的。我还没有尝试使用 Theano 修复安装,也许它现在可以工作了。 这个问题有答案吗? 【参考方案1】:

如果你提供了 python 的版本,它会很有用。如果您使用的是 python3.7,请尝试恢复到 python3.6,因为 keras 还没有赶上发展,并且在 python3.7 上使用 keras 安装 tensorflow 存在很多问题。我在这里强调版本,因为我最近在使用 conda 安装时遇到了同样的问题,我意识到问题是 python 版本。

但我也遇到了让 tensorflow 在 PI 上工作的问题。但是我使用来自 ubuntu 的 pip 而不是 miniconda 直接安装,并且它有效。 Google Tensorflow 团队自己提到的最佳方式是按照此链接中的说明从源代码实际构建 tensorflow。 https://www.tensorflow.org/install/source_rpi

因此,如果可以,请尝试将 python 的版本降级到 3.6 或更低,并尝试使用 pip 安装或使用 python3.6 或 3.7 从源代码构建。

【讨论】:

【参考方案2】:

我认为在 Raspberry Pi 上运行 Keras 和 Tensorflow 并不是一个好主意,因为在我的大学机器上运行它们比 Raspberry Pi 强大得多,会带来很多麻烦。 错误可能是由于内存不足引起的。我猜这是因为当我尝试运行一些复杂的模型时,我在机器上遇到了这个问题。

【讨论】:

这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker.【参考方案3】:

目前的解决方案是在安装时避免使用 miniconda。

为了进一步诊断,ld-linux-armhf.so.3 和 libopenblas.so.0 提供-g 调试符号会很有帮助。

【讨论】:

以上是关于在树莓派上安装RasPBX,实现一个SIP电话系统的主要内容,如果未能解决你的问题,请参考以下文章

树莓派上利用python+opencv+dlib实现嘴唇检测

树莓派上debian系统上有预装pygame模块吗?如果没有要怎么安装

如何在树莓派上安装python和GPIO库

[人工智能技术]树莓派上安装OpenCV3

树莓派上的浏览器安装

超简单教你在树莓派上安装opencv