资料介绍
描述
这个项目是关于通过在 Python 中使用Flask运行的 Web 应用程序来模拟钢琴。该网页有 4 个页面:Home、Single Octave Piano、Three Octave Piano 和 Samples,它们是使用Bootstrap 4和Font Awesome 4构建的。为了让钢琴更“友好”,我使用了一个 RGB LED 来显示钢琴上的不同音符。另外,我添加了 3 首歌曲样本:Coffin Dance、Smells Like Teen Spirits 和 Sweet Dreams,可以通过 Samples 页面播放,也可以通过面包板上的 3 个按钮播放。
图片
介绍
这个怎么运作
钢琴音符频率存储在 JSON 文件中。该程序在 2 个线程上运行:一个用于 Web 应用程序,另一个用于 3 个按钮输入。Http 请求使用 ajax 和 jquery 发送。
每个歌曲样本都有自己的类。它们扩展了 Abstract_Song 类并具有包含特定音符序列和延迟的方法。如果项目被克隆,每个用户都可以根据需要添加自己的歌曲。
每个音符都有自己的颜色显示在 RGB LED 上。颜色如下:
- C(做)-红色
- C# (Do Major) - 淡青色
- D (Re) - 黄色
- D# (Re Major) - 淡洋红色
- E (Mi) - 绿色
- F (Fa) - 青色
- F# (Fa major) - 橙色
- G(溶胶)-蓝色
- G# (Sol major) - 淡黄色
- A (La) - 洋红色
- A# (La major) - 淡蓝色
- B (Si) - 白色
注意:根据您的 RGB LED,浅色的显示可能会略有不同。您可以在 raspberrypi_configurations.py 文件中更改这些颜色。
如何运行程序
由于 Rpi.GPIO 库的 PWM 输出不够稳定,我们将使用 pigpio 库来使用开发板的硬件 PWM 能力。
Pigpio是一个库,它允许控制树莓派上的所有 GPIO 引脚,就像 Rpi.GPIO 库一样。它通常与 Raspbian 一起预装。
如果没有,请使用以下命令安装它:
wget abyz.me.uk/rpi/pigpio/pigpio.zip
unzip pigpio.zip
cd PIGPIO
make
sudo make install
为了启动应用程序,您需要执行以下步骤:
1)运行pigpiod守护进程:
sudo pigpiod
每次启动终端时,如果要使用使用 pigpio 库的脚本,都需要启动 pigpiod 守护进程。
2)在python中安装flask web框架:
sudo pip3 install flask
3)克隆 Github 存储库:
git clone https://github.com/enaky/My_Little_Piano.git
4) 使用以下命令运行应用程序:
python3 my_little_piano_app.py
服务器在端口 2014 上运行。您可以在 my_little_piano_app.py 中更改端口。该网站的链接是:rasp_ip
:2014/
其中rasp_ip - 是您的树莓派 IP 地址。例子:192.168.1.106:2014/
注意:您可以在 raspberry pi 的终端中键入以下命令找到此IP地址。
ifconfig
项目结构和代码
注意:总代码包含 1870 行,包括空格。
因此,请查看Github Page f或完整代码。
短项目结构模块分析:
- raspberrypi_configurations -包含树莓派的所有配置,包括蜂鸣器和 RGB LED 颜色设置
- 资源 -包含包含所有 7 个带有音符频率的钢琴八度音阶的 JSON
- 样本 -包括抽象类abstract_song.py可以扩展以实现一首新歌曲和三个已实现的歌曲类,包括在 sweet_dreams.py、coffin_dance.py 和气味_like_teen_spirit.py
- 实用程序 -包括将 JSON 函数加载到数组或 JSON 对象中
- web_services -包含 Web 应用程序的所有文件
1) web_services.py包含烧瓶路由,它提供了将我们应用程序中的 URL 轻松分配给函数的功能
2)模板- 包含网站 4 个页面的 4 个 HTML 文件(HTML 和 js)(使用 Bootstrap 4 和 Font Awesome 4)
3)静态 -包含钢琴八度的 CSS 和网页中使用的图像(主页和示例页面)
主程序位于 my_little_piano_app.py 中。这里包括了上面指定的所有模块,这里还构建了一个函数(用于使用按钮播放样本),它在不同的线程上运行。
- Linux Debian与Python、Flask和OpenCV识别面部
- 基于组合测试的Web应用程序搜索功能 11次下载
- 钢琴应用程序web特效HTML5源代码 4次下载
- Python的函数文件与模块的程序说明 2次下载
- 使用python开发windows的应用程序详细说明 9次下载
- 如何使用Python和Web设计一个水资源的监测系统 12次下载
- Flask Web开发基于Python的Web应用开发实战电子书 1次下载
- Flask入门教程之使用Python和Flask开发一个Web程序 0次下载
- 使用Python和Flask开发一个Web程序 0次下载
- Flask入门教程使用Python和Flask开发你的第一个Web程序电子书 0次下载
- 基于Python的Web应用开发实战PDF电子书免费下载 3次下载
- Flask的背景信息介绍和使用Flask进行Web开发的资料说明 0次下载
- 如何使用Web在Java上进行并行计算的资料说明 6次下载
- 可以在DSPBIOS启用的应用程序中使用的电源管理的详细资料概述 4次下载
- C语言-Web应用程序 12次下载
- 【从0开始创建AWTK应用程序】编译应用到嵌入式Linux平台运行 520次阅读
- Python Web框架Django 5.0新特性 962次阅读
- 【从0开始创建AWTK应用程序】创建应用程序并在模拟器运行 356次阅读
- 利用Python找到下一个“游戏驿站” 529次阅读
- 聊聊PHP的web应用程序开发框架存在的漏洞有哪些 1562次阅读
- 在MPSoC ZCU106单板的HDMI-Tx上基于eglfs_kms的运行QT应用程序 2773次阅读
- 八个将在未来发挥重要作用的Web应用程序的API 2281次阅读
- 应用程序安全怎样来提供保障 1145次阅读
- 如何使用HyperledgeFabric网络react.js来构建Web应用程序 1149次阅读
- python的web部署方式大全! 3061次阅读
- 让我们一起来看看AI换脸背后的原理 2.8w次阅读
- 在Python中创建API的具体操作 4846次阅读
- 使用Python语言快速实现一个网站或Web服务 8214次阅读
- 本地搭建Python Web的开发测试环境过程详解 4856次阅读
- Python的6个必备软件功能及下载方式详解 3644次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多