资料介绍
描述
这个项目是关于通过在 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 中。这里包括了上面指定的所有模块,这里还构建了一个函数(用于使用按钮播放样本),它在不同的线程上运行。
- 通过Python实现PLC数据可视化呈现于Web端的方案 1次下载
- Linux Debian与Python、Flask和OpenCV识别面部 2次下载
- 基于组合测试的Web应用程序搜索功能 11次下载
- 钢琴应用程序web特效HTML5源代码 4次下载
- 全键盘模拟钢琴64位版源代码及操作 0次下载
- python v3.8.0应用程序免费下载 0次下载
- 使用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次下载
- C语言-Web应用程序 12次下载
- 【从0开始创建AWTK应用程序】编译应用到嵌入式Linux平台运行 248次阅读
- Python Web框架Django 5.0新特性 540次阅读
- 【从0开始创建AWTK应用程序】创建应用程序并在模拟器运行 199次阅读
- 利用Python找到下一个“游戏驿站” 370次阅读
- 聊聊PHP的web应用程序开发框架存在的漏洞有哪些 1250次阅读
- 使用FastAPI构建机器学习微服务 1729次阅读
- 八个将在未来发挥重要作用的Web应用程序的API 2130次阅读
- 如何使用HyperledgeFabric网络react.js来构建Web应用程序 1056次阅读
- 一个让Python代码运行更快的最佳方式是什么 2502次阅读
- python的web部署方式大全! 2908次阅读
- Python面试中一些常见的问题及其答案 6726次阅读
- 使用Python语言快速实现一个网站或Web服务 8015次阅读
- 本地搭建Python Web的开发测试环境过程详解 4769次阅读
- 两种开发 RFID 应用程序的方法分析 719次阅读
- Python的6个必备软件功能及下载方式详解 3536次阅读
下载排行
本周
- 1储能电源市场分析
- 7.99 MB | 8次下载 | 免费
- 2储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
- 3磁环电感定制时应该注意什么
- 0.32 MB | 2次下载 | 免费
- 4labview文档教程资料(一)
- 24.29 MB | 2次下载 | 免费
- 5轻触三功能+常按 SOS 功能手筒LED驱动ICSD3302数据手册
- 0.60 MB | 1次下载 | 2 积分
- 6英集芯IP5353 QFN32 规格书pdf
- 2.70 MB | 1次下载 | 免费
- 7NCV78763R1DAGEVB子板数据手册
- 533.41 KB | 次下载 | 免费
- 8500mA,高效 MicroSiP™ 降压转换器TPS8269xSIP数据表
- 918.92KB | 次下载 | 免费
本月
- 1ES9038PRO解码芯片的电路原理图介绍
- 0.25 MB | 35次下载 | 5 积分
- 2STM32国内外发展现状
- 1.15 MB | 13次下载 | 免费
- 3传感芯片选型指南
- 3.60 MB | 11次下载 | 免费
- 4ATmega8芯片中文手册
- 2.45 MB | 8次下载 | 1 积分
- 5储能电源市场分析
- 7.99 MB | 8次下载 | 免费
- 6TDK电容器产品指南
- 11.88 MB | 7次下载 | 1 积分
- 72A多电池高效开关充电器AN_SY6912A中文资料规格书
- 1.43 MB | 7次下载 | 免费
- 8储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935086次下载 | 免费
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420050次下载 | 免费
- 3Altium DXP2002下载入口
- 未知 | 233068次下载 | 免费
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191317次下载 | 免费
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183316次下载 | 免费
- 6labview8.5下载
- 未知 | 81567次下载 | 免费
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73788次下载 | 免费
- 8NI LabVIEW中实现3D视觉的工具和技术
- 未知 | 70088次下载 | 免费
评论
查看更多