0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

智能蓝牙扬声器的制作教程

454398 来源:工程师吴畏 2019-08-13 11:14 次阅读

第1步:耗材

DS18B20温度传感器

DS18B20是一款测量温度的单线传感器,由Maxim Integrated制造。有两种DS18B20传感器,仅限组件(我使用的是)和防水版本,它更大,但这不是我的项目所需,所以我只使用了该组件。该传感器可在-55°C至+ 125°C(-67°F至+ 257°F)的温度范围内测量温度,在-10°C至+ 85°C范围内的精度为0.5°C。它还具有从9位到12位的可编程分辨率。

电位计传感器

电位器是带三个端子电阻器,只需旋转传感器的上部即可手动调节。上部的位置决定了电位器的输出电压。

LSM303加速度计+罗盘突破

LSM303分线板是三合一的组合 - 轴加速度计和磁力计/指南针,由Adafruit制造。它与Raspberry PiI2C接口一起使用。

MCP3008

要从我的电位器读取数据,我使用的是MCP3008,这是一个带有SPI接口的8通道10位模数转换器,非常易于编程。

扬声器 - 3“直径 - 8欧姆1瓦

这是我在计算出它需要的电压和安培后选择的扬声器锥体,这是非常适合我的Adpruit制造的Raspberry Pi项目。

MAX98357 I2S D类单声道放大器

这是放大器扬声器附带的不仅是放大器,它还是I2S数模转换器,因此它也非常适合我的扬声器和音频系统。

Arduino Uno

Arduino Uno是一款开源微控制器板,基于由Arduino.cc制造的Microchip ATmega328P微控制器。 Uno板有14个数字引脚,6个模拟引脚,可通过Arduino IDE软件完全编程

Levelshifter

这是一块小板,负责Arduino Uno和Raspberry Pi之间的通信以及不同的电压,Arduino:5V和Raspberry Pi:3.3V。这是必需的,因为NeoPixel环连接到Arduino并在那里运行,而所有其他东西都在Raspberry Pi上运行。

RGB NeoPixel Ring

这是一个装有12个RGB LED的小环(如果你愿意的话,你可以买更多带有更多RGB LED的环)。在我的情况下连接到Arduino Uno,但也可以连接到许多其他设备,并且使用起来非常简单。

LCD显示器16x2

我使用基本的LCD显示器来打印我的温度,音量和IP地址。

Raspberry Pi 3B +和16GB SD

我的整个项目在我的Raspberry Pi上运行3B +带有配置的图像,我将帮助您稍后在我的instructable中进行配置。

GPIO T-Part,2个面包板和许多跳线

为了连接我需要面包板和跳线的所有东西,我使用了GPIO T-part,因此我有更多的空间,很清楚哪个引脚是哪个。

第2步:原理图和接线

对于我的原理图,我使用了Fritzing,这是一个可以安装的程序,可以让你创建一个原理图在各种视图中都很简单。

确保以正确的方式连接所有内容!在我的例子中,电线的颜色与原理图上的颜色不同。

第3步:数据库设计

《我们正在从连接的3个传感器中收集大量数据,因此我们需要一个数据库来存储数据和传感器。稍后我们将看到如何在Raspberry Pi上配置数据库以及如何向其中添加数据。但首先必须制作数据库设计或ERD(实体关系图),并使用3NF对我的规范化进行规范化。这就是为什么我们将传感器分成另一个表并与ID一起使用。

总的来说,这是一个非常基本且简单的数据库设计,可以进一步使用。

步骤4 :准备Raspberry Pi!

现在我们已经完成了项目的一些基础知识。让我们开始使用Raspberry Pi!

SD卡配置

首先,您需要一个可以放置图像的16GB SD卡和一个将开始图像上传到SD的程序软件

所以下载后:

将SD卡放入电脑

打开刚刚下载的Win32。

选择刚刚下载的Raspbian图像文件。

点击“写入”SD卡的位置。

这可能需要一些时间,具体取决于您的硬件。一旦完成,我们就可以在将图像放入RPi之前进行一些最终调整。

转到SD卡的目录,搜索名为“cmdline.txt”的文件并打开它。

现在在同一行添加‘ip = 169.254.10.1’。

保存文件。

创建一个名为‘ssh’的文件,不带扩展名或内容。

现在您可以安全地从计算机中弹出SD卡并将其放入Raspberry Pi中。一旦SD卡进入RPI,将LAN电缆从计算机连接到RPi LAN端口,一旦连接,就可以将电源连接到RPi。

现在我们要控制我们的Raspberry Pi ,这是通过Putty完成的。

一旦下载,打开Putty并插入IP‘169.254.10.1’和端口‘22’和连接类型:SSH。现在我们终于可以打开命令行界面并使用入门登录信息登录 - 》用户:pi和密码:raspberry。

Raspi-config

sudo raspi-config

这个项目真正重要的是接口部分,我们必须启用许多不同的接口,启用以下所有接口:

单线

SPI

I2C

串行

现在我们已经完成了使用raspi-config,让我们尝试与互联网建立联系。

Wi-Fi连接

首先,您必须是以下命令的root用户

sudo -i

一旦你是root用户,请使用以下命令。 SSID是您的网络名称,密码显然是密码。

wpa_passphrase “ssid” “password” 》》 /etc/wpa_supplicant/wpa_supplicant.conf

如果您输入了错误,只需输入该文件即可检查,更新或删除此网络:

nano /etc/wpa_supplicant/wpa_supplicant.conf

因此,在我们进入网络后,让我们进入WPA客户端界面

wpa_cli

选择您的界面

interface wlan0

重新加载文件

reconfigure

最后,您可以看到您是否连接良好:

ip a

更新和升级

现在我们已连接到互联网,更新已安装的软件包将是一个聪明的举措,所以让我们先安装其他软件包。

sudo apt-get update

sudo apt-get upgrade

MariaDB数据库

安装MariaDB数据库服务器:

sudo apt-get install mariadb-server

Apache2 Web服务器

安装Apache2网络服务器:

sudo apt install apache2

Python

安装Python:

update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1

update-alternatives --install /usr/bin/python python /usr/bin/python3 2

Python包

您必须安装所有这些软件包才能使后端完美运行:

Flask

Flask-Cors

Flask-MySql

Flask-SocketIO

PyMySQL

请求

Python-socketio

RPi.GPIO

Gevent

Gevent-websocket

Ujson

Wsaccel

扬声器库

从Adafruit安装扬声器库:

curl -sS https://raw.githubusercontent.com/adafruit/Raspbe.。. | bash

重新启动的时间!

sudo reboot

步骤5:将我们的数据库转发到RPi!

现在我们已经安装了所需的一切,让我们将我们设计的数据库放在Raspberry Pi上!

首先我们需要在MySql工作台中设计我们的数据库,同时这样做,复制完整的数据库代码并删除其中的所有“可见”单词。所以一旦复制,再次打开putty,登录并输入:

sudo mysql

现在你进入mysql界面,将数据库代码复制到其中并按回车。

现在我们只需要创建一个用户

CREATE USER ‘user’ IDENTIFIED BY ‘user’;

GRANT ALL PRIVILEGES ON *.* TO ‘user’;

现在重新启动。

所以现在应该设置所有内容,你也可以建立一个连接Pi和MySql Workbench,因此更容易检查表中的所有数据。

步骤6:在我们的RPi上配置蓝牙

我们正在创建蓝牙扬声器,这意味着媒体正从我们的源发送到Raspberry Pi和这可以很容易地完成,让我们直接进入它!

删除已经运行的bluealsa。

sudo rm /var/run/bluealsa/*

添加A2DP配置文件接收器角色。

sudo bluealsa -p a2dp-sink &

打开蓝牙接口并为您的电源供电蓝牙开启。

bluetoothctl

power on

设置配对代理。

agent on

default-agent

制作你的RPi可发现

discoverable on

现在,从您的蓝牙设备,搜索RPi并与之连接。

确认两台设备上的配对,在您的腻子中输入“是”。

授权A2DP服务,再次输入“是”。

一旦完成,我们就可以信任我们的设备,所以每次我们想连接时都不需要全面了解

trust XX:XX:XX:XX:XX:XX (Your bluetooth mac address from our source device)

如果您希望您的RPi继续被发现,那么这是您自己的选择,但我更愿意再次关闭它,以便人们无法尝试连接您的盒子。

discoverable off

然后我们可以退出我们的蓝牙接口

exit

最后我们的音频路由:我们的源设备转发到我们的RPi

bluealsa-aplay 00:00:00:00:00:00

现在我们的设备已完全连接到我们的Raspberry,您应该可以在Pi扬声器上播放源设备中的媒体。

第7步:编写完整的后端

现在设置已经完成,我们终于可以开始编写后端程序了!

我使用PyCharm作为我的整个后端,你只需要确保你的PyCharm项目连接到你的Raspberry Pi,这意味着你的部署路径在你的设置中设置,你安装了我们需要的所有软件包,应该是alr在第4步中完成了。

我使用了自己的类,这些也都包含在我的GitHub中。如果您错过了链接就在介绍中;)

在我的后端文件中,我使用了线程类,因此所有内容都可以同时运行,并且不会互相中断。在底部,您可以获得所有路径,以便我们可以轻松地在前端获取数据。

步骤8:编写前端(HTML,CSS和JavaScript)

现在后端已经完成,我们可以开始编写完整的前端了。

HTML和CSS很容易完成,尽可能地尝试使用移动设备,因为我们大部分时间都是这样通过移动设备连接蓝牙,可以更轻松地从移动仪表板进行控制。

您可以以任何方式设计仪表板,我只需将代码和设计留在此处,可以做任何你喜欢的事情!

并且Javascript并不那么难,与我的后端路线中的一些GET一起使用,大量的事件监听器和一些socketio结构。

第9步:构建我的案例并将它们放在一起

我首先介绍了一些我希望案例看起来的草图,重要的是它必须足够大才能让一切都适合因为我们有一个很大的电路来装箱子。

我用木头做了这个案子,我认为当你没有那么多的建筑案例经验时,这是最容易的。你也可以用它做很多事情。

我从葡萄酒瓶的案例开始,刚刚开始锯木头。一旦我拿到了我的基本情况,我就不得不在它上面钻孔(在表壳前面有很多,正如你在图片上看到的那样:P)并在其中放入一些钉子,这是一个非常基本的案例,但它看起来非常酷,非常适合完美。

一旦案件完成,现在是时候把它们放在一起,正如你在最后一张照片上看到的那样!盒子里面有点混乱,但一切正常,我没有那么多空间,所以如果你要重新创建我的项目,我建议你创建一个更大的案例。

第10步:我在创建Slimbox扬声器的道路上遇到的一些问题。..

蓝牙和蓝色错误

每次我想要播放音乐或连接蓝牙,我收到蓝牙和bluealsa的错误。我做了一些研究,这是我的问题的解决方案。所以出于某种原因,我的蓝牙是软封装的,不确定这是否是标准的软封锁。您可以通过在Putty中键入以下命令来查看是否存在。

rfkill list

因此,如果它是软块,只需使用它:

rfkill unblock bluetooth

串行连接问题

所以我遇到的另一个大问题是我无法通过levelshifter与我的Arduino建立任何联系,经过一些搜索我发现我的‘/dev/ttyS0’已经消失了,这可能是因为你的RPi更新了。还找到了解决方案

您必须使用raspi-config重新启用串行控制台,重新启动,然后从‘/boot/cmdline手动删除“console = serial0,115200”位。 txt’。确认“enable_uart = 1”在‘/boot/config.txt’中,然后重新启动。这应该得到你的ttyS0端口,以及‘/dev/serial0’软链接。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 扬声器
    +关注

    关注

    29

    文章

    1214

    浏览量

    60178
收藏 人收藏

    评论

    相关推荐

    蓝牙扬声器中应用的模拟功放芯片

    扬声器是一种把电信号转变为声信号的换能器件,扬声器的性能优劣对音质的影响很大。扬声器在音响设备中是一个较薄弱的器件,而对于音响效果而言,它又是一个较重要的部件。
    的头像 发表于 03-07 09:24 225次阅读
    <b class='flag-5'>蓝牙</b><b class='flag-5'>扬声器</b>中应用的模拟功放芯片

    关于动圈扬声器结构设计详解

    动圈扬声器性能良好,能够相对容易地制造。然而,与所有将电波形转换为声音的换能器一样,其操作可能很复杂,因为动圈扬声器连接电气和机械域。
    发表于 02-09 01:50 208次阅读

    扬声器外壳的选择技巧

     选择扬声器外壳的类型对性能有重大影响,并决定了整个扬声器系统的许多特性。
    的头像 发表于 01-30 10:49 1563次阅读

    扬声器在proteus中怎么找

    在 Proteus 中找到扬声器的方法如下: 步骤 1:打开 Proteus 软件并创建一个新项目。 步骤 2:在库选择器中,选择“Active”标签并搜索“扬声器”或“Speaker”。你会找到
    的头像 发表于 01-05 17:05 1299次阅读

    51单片机能不能直接驱动扬声器发声?

    51单片机能不能直接驱动扬声器发声。
    发表于 10-31 06:26

    扬声器产生频率需要什么外设?

    我现在手上用51,和32的单片机核心板,是好的,现在我想用扬声器与单片机产生1khz的频率,并且在30cm的范围内接收到,我需要什么外设,或者什么模块?用单片机做这个,是51好,还是32好?谢谢!!!
    发表于 10-20 06:55

    使用TDA2030设计一个简单的多路有源扬声器音频系统电路

      使用TDA2030音频IC可以设计一个非常简单的多路有源扬声器音频系统电路。   这种TDA2030有源扬声器音频系统电路旨在提供最佳的声学性能,因为每个扬声器都经过专门设计和优化,可处理有限
    发表于 09-08 16:42

    告别外接扬声器!汉得利推出一种BESTAR笔电圈瓷扬声器

    在使用笔记本电脑时,扬声器音质也是非常重要的一个方面,特别是在观看视频、听音乐等情况下,内置扬声器的音质往往不令人满意,
    的头像 发表于 09-08 15:03 723次阅读

    制作便携式扬声器的方法,DIY制作便携式扬声器的教程

      你们都见过便携式扬声器现在变得流行,但其中大多数都非常昂贵,所以我将向您展示如何用最少的零件制作自己的便携式扬声器制作和测试只需要 1小时,并且可以在任何常用的 USB 充电器上
    发表于 07-31 16:18

    如何制作便携式可充电辅助扬声器

    电子发烧友网站提供《如何制作便携式可充电辅助扬声器.zip》资料免费下载
    发表于 07-05 11:42 0次下载
    如何<b class='flag-5'>制作</b>便携式可充电辅助<b class='flag-5'>扬声器</b>

    构建一个漂亮的蓝牙扬声器

    电子发烧友网站提供《构建一个漂亮的蓝牙扬声器.zip》资料免费下载
    发表于 07-04 14:46 0次下载
    构建一个漂亮的<b class='flag-5'>蓝牙</b><b class='flag-5'>扬声器</b>

    如何从微型扬声器获得更响亮、更丰富的声音

    微型扬声器在手机、平板电脑、PC、可穿戴设备、游戏系统甚至物联网应用中已经无处不在。智能手机是第一个推动这些微型扬声器大规模采用的产品,与传统扬声器相似,但更简单,更小。当今传统
    的头像 发表于 06-28 15:44 493次阅读

    带有集成LED矩阵的DIY蓝牙扬声器

    电子发烧友网站提供《带有集成LED矩阵的DIY蓝牙扬声器.zip》资料免费下载
    发表于 06-25 11:35 0次下载
    带有集成LED矩阵的DIY<b class='flag-5'>蓝牙</b><b class='flag-5'>扬声器</b>

    突破传统扬声器限制,xMEMS MEMS扬声器将推动音频产品进入固态保真时代

    扬声器是一种将电信号转变为声信号的换能器件,广泛应用于众多的消费电子产品之中,为音频播放提供支持。扬声器的种类很多,在个人音频及智能穿戴市场,主流应用包括了动圈单元(动态驱动器)和动铁单元(平衡电枢
    发表于 06-15 11:12 591次阅读
    突破传统<b class='flag-5'>扬声器</b>限制,xMEMS MEMS<b class='flag-5'>扬声器</b>将推动音频产品进入固态保真时代

    如何制作一个低音增强扬声器

    本文介绍了高低音增强扬声器盒系统的构造,该系统可用于再现具有重低音效果的音乐,可以用电位器进行调整。
    的头像 发表于 04-29 17:11 2489次阅读
    如何<b class='flag-5'>制作</b>一个低音增强<b class='flag-5'>扬声器</b>盒