串口屏LUA例程-音频播放器V1.0

合集下载

大彩串口屏F系列MCU程序介绍

大彩串口屏F系列MCU程序介绍
2.1 2.1 2.2 程序工作流程图.........................................................................................................2 串口屏下发指令.........................................................................................................2 指令.............................................................................................................................2 2.2.1 指令解析过程.....................................................................................................2 2.2.2 接收指令.............................................................................................................2 2.2.3 cmd_queue 串口屏指令队列.............................................................................3 2.2.4 ProcessMessage 解析指令类型......................................................................... 5 2.2.5 获取画面 ID 和界面数据更新.......................................................................... 7 2.3 MCU 例程功能实现.................................................................................................. 8 2.3.1 串口屏出厂例程的主界面................................................................................ 8 2.3.2 设置按钮按下.....................................................................................................8 2.3.3 定时更新文本数据............................................................................................ 9 2.3.4 定时更新仪表数据.......................................................................................... 10 2.3.5 进度条值与文本关联.......................................................................................11 2.3.6 播放动画和播放音乐...................................................................................... 12 2.3.7 显示图标...........................................................................................................13 2.3.8 定时更新曲线数据.......................................................................................... 14 2.3.9 选择控件...........................................................................................................16 2.3.10 触发警告和警告解除...................................................................................... 17

Quectel_M26-OpenCPU_硬件设计手册_V1.0

Quectel_M26-OpenCPU_硬件设计手册_V1.0

2 综述 ...................................................................................................................................................... 11
3.5.1. 主串口............................................................................................................................. 34
本文档手册版权属于移远公司,任何人未经我公司复制转载该文档将承担法律责任。
Q n 版权所有 ©上海移远通信技术有限公司 2014,保留一切权利。 Confide Copyright © Quectel Wireless Solutions Co., Ltd. 2014
上海移远通信技术有限公司
1 / 81
如需技术支持或反馈我司技术文档中的问题,可随时登陆如下网址: /support/techsupport.aspx
l 前言
移远公司提供该文档内容用以支持其客户的产品设计。客户须按照文档中提供的规范,参数来设计其产品。
te 由于客户操作不当而造成的人身伤害或财产损失,本公司不承担任何责任。在未声明前,移远公司有权对 c l 该文档规范进行更新。 ue tia 版权申明
Q n 3.2.2. 关机 ................................................................................................................................ 26 3.2.2.1. PWRKEY 引脚关机............................................................................................ 26 e 3.2.2.2. API 函数关机...................................................................................................... 27 fid 3.2.2.3. 低压自动关机 ..................................................................................................... 27 3.2.3. 推荐的系统开关机电路 ................................................................................................... 28 3.3. 省电技术 ................................................................................................................................ 29

串口屏LUA例程-音频播放器V1.0

串口屏LUA例程-音频播放器V1.0

LUA例程-音频播放器V1.0工程技术笔记修订历史版本日期原因编制审查V1.02019/02/28创建文档林青田刘启鑫目录1.适合范围 (1)2.开发环境版本 (2)3.概述 (3)4.参考资料.........................................................................错误!未定义书签。

5.教程实现 (4)5.1准备工程素材 (4)5.1.1硬件平台 (4)5.1.2UI素材准备 (4)5.1.3LUA编辑器 (5)5.2API函数说明 (6)5.3实现功能 (8)5.3.1工程配置 (8)5.3.2程序具体解析 (8)6.完整程序清单 (13)7.免责声明 (24)1.适合范围该文档适合所有广州大彩物联型系列。

2.开发环境版本1.VisualTFT软件版本:V3.0.0.944及以上的版本。

版本查看:a)打开VisualTFT软件启动页面如图2-1软件版本,右上角会显示的软件版本号;图2-1软件版本b)打开VisualTFT,在软件右下角可以查看软件版本图2-2软件版本,最新版本可登录大彩官网进行下载。

图2-2软件版本2.串口屏硬件版本:V3.0.301.0及以上的版本。

版本查看:a)查看屏幕背面版本号贴纸;b)VisualTFT与屏幕联机成功后,右下角显示的版本号。

3.LUA语言版本V5.5。

3.概述物联型串口屏通过LUA脚本配合工程可以实现播放循环屏内部或者外部音频的功能。

4.教程实现本文将分为以下是3个阶段讲述教程DEMO是如何实现的:1.准备工程素材,2.实现功能,3.下载工程。

4.1准备工程素材在实现教程DEMO前需要作以下三个准备:1.硬件平台,2.UI素材,3.LUA编辑器。

4.1.1硬件平台该例程使用大彩物联型7寸串口屏DC80480W070为验证开发平台。

如图5-1所示。

图5-1物联型7寸串口屏其他尺寸的物联型串口屏均可借鉴此教程。

利用lua语言控制串口进行数据传输

利用lua语言控制串口进行数据传输

1.利用lua编写hello world!1. 用记事本新建一个test.lua的文件,并用winSCP上传到路由器,并用用chmod 777 XX 修改属性。

里面的内容是:print("hello world!,lua")2. 用putty登录,执行命令:lua test.lua3. 在终端屏幕上中可以看到hello world!2. 测试串口1. 新建2ser.lua,里面的内容是:(以下代码是一个完整的处理字符串的例子)io.input("/www/cgi-bin/test.txt") -->设置当前输入文件t = io.read("*all") -->读取整个文件t = string.gsub(t, "([\128-\255=])", function (c)return string.format("=%02X", string.byte(c))end)-- io.output("/www/cgi-bin/test2.txt")io.output("/dev/ttyUSB0") -->设置当前输出文件,利用usb转串口输出至超级终端显示io.write(t) -->输出2. 上传,改属性,打开超级终端,设置波特率为9600(此为默认,可修改)3. putty登陆执行:lua 2ser.lua4. 超级终端中可显示文件中的数据3.web与lua连接(web显示数据)1. 新建test文件(没有后缀名),其内容如下:#! /usr/bin/lua-- HTTP header -->告诉浏览器将网页解释成纯文本print [[Content-Type: text/plain]]io.write("hello", "Lua")2. 需要将test文件利用Notepad++等强力编辑工具,转换为UNIX格式3. 上传到/www/cgi-bin/目录下,改属性,在浏览器查看http://192.168.8.1/cgi-bin/test4. 浏览器中可看到:hellolua4.web向串口发送数据1. 新建2ser,内容如下:#!/usr/bin/lua -->调用lua脚本解释器-- HTTP headerprint [[Content-Type: text/plain]]io.output("/dev/ttyUSB0")io.write(os.getenv("QUERY_STRING"))2. 需要将test文件利用Notepad++等强力编辑工具,转换为UNIX格式3. 上传到/www/cgi-bin/目录下,改属性,在浏览器查看http://192.168.8.1/cgi-bin/web2ser?abc4. 超级终端中可看到:abc5. usb转串口波特率的设置1. lsusb命令查到设备信息2. 检查设备是否存在mknod /dev/ttyUSB0 c 188 03. minicom –s,进入minicom的设置模式4. 选择Serial port setup”,按回车,再按“A”以设置“Serial Device”/dev/ttyUSB05. 设置波特率:按“E”键进入设置“bps/par/Bits”(波特率)界面,如果按“I”以设置波特率为115200,按回车返回。

大彩串口屏物联型86盒4.0寸产品手册V1.0(2019新版)

大彩串口屏物联型86盒4.0寸产品手册V1.0(2019新版)

DC48480W040_20X1_4C,86盒,X数据手册V1.0ISO9001:2015质量体系认证版本记录版本日期修改原因页面撰写人审核人V1.02019/06/13创建文档all林绍佳刘启鑫目录1.硬件介绍 (1)1.1产品外观 (1)1.2硬件配置 (1)1.3调试工具 (2)2.产品规格 (4)3.可靠性测试 (6)4.产品尺寸 (7)5.产品定义 (8)6.包装与物理尺寸 (9)7.产品架构 (10)8.开发软件 (11)8.1什么是虚拟串口屏 (11)8.2Keil与虚拟串口屏绑定调试 (12)9.开发文档 (13)10.免责声明 (14)1.硬件介绍本章节主要介绍产品的一些外观参考图、硬件配置图和调试所需工具。

1.1产品外观以下为该尺寸不同型号的外观参考图,如图1-1和图1-2所示。

注:未涉及到结构工艺修改或布局大改动,硬件可靠性方面的变更迭代,公司不予对外发起变更,具体以收到的实物为准。

图1-1 4.0寸电容触摸白色外观参考图图1-2 4.0寸电容触摸金色外观参考图1.2硬件配置以下为该产品硬件配置参考图,如图1-3和图1-4所示。

图1-3硬件配置图图1-4WIFI配置图1.3调试工具以下为该产品调试工具参考图,如图1-5所示。

图1-5调试工具图2.产品规格◆产品参数产品型号DC48480W040_20W1_4C,86盒,白色(RS485,带WiFi,电容触摸,白色)DC48480W040_20W1_4C,86盒,金色(RS485,带WiFi,电容触摸,金色)DC48480W040_2001_4C,86盒,白色(RS485,无WiFi,电容触摸,白色)DC48480W040_2001_4C,86盒,金色(RS485,无WiFi,电容触摸,金色)产品系列物联型核心处理器*400MHz32位双核处理器操作系统嵌入式实时操作系统(FreeRTOS)协议类型默认大彩组态指令集,上位机可配置运行MODBUS RTU、XGUS协议尺寸 4.0寸分辨率480*480安装方向支持0、90、180和270度旋转安装显示存储空间128Mbit字库内置矢量字体,边缘抗锯齿处理,包含任何大小点阵ASCII、GBK、GB2312、UNICODE 字库,可自定义任意电脑字体显示图片存储支持JPEG、PNG(半透/全透)压缩,支持任意大小图片存储,支持图片旋转、放大、缩小等功能。

串口控制mp3播放,tts语音和录音模块说明

串口控制mp3播放,tts语音和录音模块说明

串口控制mp3播放,tts语音和录音模块说明简介Audio Mini Player是珠海赤子芯智能科技推出的一款小巧且价格低廉的音频播放和录制模块,可以直接接扬声器。

可以通过串口控制,作为Arduino或者是任何有串口的单片机的一个外接模块。

模块本身完美集成了MP3、W A V、WMA的硬解码。

同时软件支持TF卡驱动,支持FAT16、FAT32文件系统。

通过简单的串口指令即可完成播放指定的音乐,以及播放文本和进行语音录制等功能。

Audio Mini Player产品参数:●支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1/48●24位DAC输出,动态范围支持:90dB,信噪比支持:85dB。

●完全支持FAT16、FAT32文件系统,最大支持32G的TF卡。

●串口控制模式,3.3V TTL电平。

●支持TTS文本播放,广播语插播功能,可以暂停正在播放的背景音乐。

广告播放完毕回到背景音继续播放。

●板上集成高灵敏度MIC,可支持高保真语音录制功能,可以发送命令来控制录音的启动和停止。

●支持Linein歌曲录制功能,可以随时把自己喜爱的一段音乐录制成自己的mp3文件永久保存。

●可通过USB线连接电脑,进入U盘,替换SD Card中的音频文件。

●0-100级音量可调。

●支持左右声道,3W×2喇叭输出。

实物图:正面版图背面版图连接示意图(左边接喇叭,右边接串口)通信协议采用串口通信,3.3V TTL电平,波特率为19200,数据位8,停止位1,无校验,无流控。

所有命令以#开头,回车换行结束。

比如输入一串字符:“#ls\r\n”。

每次命令发送完成后,需等串口的回应信息后才能发送下一命令。

操作说明上电后,系统初始化成功后会有如下打印:Bootinginput cmd:上电读卡如卡不存在会打印:“Card isn't exist!”,如果卡磁盘损坏,则会打印“Please format Card!”。

大彩串口屏物联型10.1寸有WIFIDC10600W101_1V01_0C产品手册

大彩串口屏物联型10.1寸有WIFIDC10600W101_1V01_0C产品手册

产品手册DC10600W101_1V01_0C 数据手册V1.0广州大彩光电科技有限公司版权所有目录1.硬件介绍 (1)1.1硬件配置 (1)1.2调试工具 (1)2.产品规格 (2)3.可靠性测试 (4)4.产品尺寸 (5)5.产品定义 (6)6.产品架构 (7)7.开发软件 (8)7.1什么是虚拟串口屏 (8)7.2Keil与虚拟串口屏绑定调试 (9)8.开发文档 (10)1.硬件介绍以下主要介绍产品的一些硬件配置信息和调试所需工具。

1.1硬件配置以下为该产品硬件配置图,如图1-1所示。

图1-1硬件配置图1.2调试工具以下为该产品调试工具参考图,如图1-2所示。

图1-2调试工具图2.产品规格◆产品参数产品型号DC10600W101_1V01_0C(电容触摸)产品系列物联型核心处理器*400MHz32位双核处理器操作系统嵌入式实时操作系统协议类型大彩组态指令集,部分可升级兼容MODBUS/三菱PLC/DGUS 尺寸10.1寸分辨率1024*600存储空间1Gbit字库内置矢量字体,边缘抗锯齿处理,包含任何大小点阵ASCII、GBK、GB2312、UNICODE 字库,可自定义任意电脑字体显示图片存储支持JPEG、PNG(半透/全透)压缩,支持任意大小图片存储,支持图片旋转、放大、缩小等功能。

累加可存储约551张全屏图片(按大小178KB/张计算,不建议BMP格式)。

图片压缩比不同,此值会上下浮动颜色65K色,16位RGB电压5-15V(误差±0.2V)功耗背光最亮:4.95W;关背光:1.9W通讯接口RS232/TTL(出厂默认232电平)接口规格默认PH2.0-8P,可选配FPC1.0-10P图片下载U盘/UART(U盘必须是FAT32格式,且从未做过电脑系统启动盘)外部键盘不支持实时时钟(RTC)支持倒计时、定时器、年月日等时间显示屏有效显示区(AA)长×宽=223.7mm×126.3mm产品尺寸长×宽×高=257.8mm×148.0mm×17.2mm配套上位机软件VisualTFT®AV输入不支持声音播放MP3音频格式(喇叭4Ω2W,单声道),与图片共用存储空间。

大彩物联型串口屏如何设置开机音乐和按键提示音

大彩物联型串口屏如何设置开机音乐和按键提示音

如何设置开机音乐和按键提示音V_1.0工程技术笔记广州大彩光电科技有限公司目录1.适用范围 (1)2.开发环境版本 (2)3.功能简介 (3)4.如何设置开机音乐 (4)4.1添加音频文件 (4)4.2编写LUA程序 (4)5.按钮提示音 (6)1.适用范围文档适合物联型串口屏产品。

2.开发环境版本1.VisualTFT软件版本:V3.0.0.944及以上的版本。

2.串口屏硬件版本:V3.0.287.0及以上的版本。

3.功能简介物联型串口屏可以通过LUA脚本实现开机完成后播放音乐,和按钮按下播放的提示音的功能。

4.如何设置开机音乐物联型串口屏可以通过LUA脚本设置开机音乐,具体步骤如下:1.添加音频进工程;2.编写LUA程序。

4.1添加音频文件新建的工程目录下带有一个Sounds文件夹,工程所添加的音频文件会自动复制进Sounds目录下并随工程下载到串口屏内部存储分区A中,将音频添加到工程里如图2-48所示。

注意:音频的格式只支持wav或者mp3格式,音频路径和文件名字为字母(a-z)、数字(0-9)和下划线(_)组合,不支持其他字符。

图4-1添加音频到工程4.2编写LUA程序在软件Visual TFT的工具中打开LUA编程,如图4-2所示;图4-2打开LUA脚本编程串口屏开机完成后会调用函数on_init()初始化串口屏。

所以只需要在on_init()函数里调用播放音乐的API函数即可实现开机完成后播放音乐。

LUA程序如下:……function on_init()--初始化回调函数play_sound('a:/sounds/02.mp3')--播放音频的API接口函数end……5.按钮提示音按钮提示音的设置与开机完成后播放音乐的步骤基本相同,不同的是按钮的提示音是要按钮按下才触发播放。

实现过程:先在画面上放置4个按钮,如图5-1所示,点击菜单栏中【工具】打开LUA编程,在on_control_notify回调函数中对按钮按下作判断,判断为按下后播放对应的提示音。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LUA例程-音频播放器V1.0工程技术笔记修订历史版本日期原因编制审查V1.02019/02/28创建文档林青田刘启鑫目录1.适合范围 (1)2.开发环境版本 (2)3.概述 (3)4.参考资料.........................................................................错误!未定义书签。

5.教程实现 (4)5.1准备工程素材 (4)5.1.1硬件平台 (4)5.1.2UI素材准备 (4)5.1.3LUA编辑器 (5)5.2API函数说明 (6)5.3实现功能 (8)5.3.1工程配置 (8)5.3.2程序具体解析 (8)6.完整程序清单 (13)7.免责声明 (24)1.适合范围该文档适合所有广州大彩物联型系列。

2.开发环境版本1.VisualTFT软件版本:V3.0.0.944及以上的版本。

版本查看:a)打开VisualTFT软件启动页面如图2-1软件版本,右上角会显示的软件版本号;图2-1软件版本b)打开VisualTFT,在软件右下角可以查看软件版本图2-2软件版本,最新版本可登录大彩官网进行下载。

图2-2软件版本2.串口屏硬件版本:V3.0.301.0及以上的版本。

版本查看:a)查看屏幕背面版本号贴纸;b)VisualTFT与屏幕联机成功后,右下角显示的版本号。

3.LUA语言版本V5.5。

3.概述物联型串口屏通过LUA脚本配合工程可以实现播放循环屏内部或者外部音频的功能。

4.教程实现本文将分为以下是3个阶段讲述教程DEMO是如何实现的:1.准备工程素材,2.实现功能,3.下载工程。

4.1准备工程素材在实现教程DEMO前需要作以下三个准备:1.硬件平台,2.UI素材,3.LUA编辑器。

4.1.1硬件平台该例程使用大彩物联型7寸串口屏DC80480W070为验证开发平台。

如图5-1所示。

图5-1物联型7寸串口屏其他尺寸的物联型串口屏均可借鉴此教程。

4.1.2UI素材准备准备好相应的美工UI。

如图5-2所示图5-2素材准备4.1.3LUA编辑器上位机VisualTFT内部已集成了LUA开发编译环境,点击菜单栏工具,选择LUA编辑器,如图5-3所示。

图5-3打开LUA编辑器打开编辑器后,Visual TFT画面如图5-4所示;图5-4LUA编辑器4.2API函数说明大彩科技针对LUA脚本提供了丰富的API接口函数,具体函数可以查阅文档《物联型LUA脚本API》,如图5-5所示。

图5-5API函数文档1.本教程文档中所涉及到的部分的相关接口函数如下函数pause_sound(state)注释:继续播放State:播放状态,1继续播放,2停止播放函数play_sound(fliepath)注释:暂停播放。

Fliepath:音频路径函数set_volume(volume)注释:设置音量。

Volume音量0~100函数on_screen_change(screen)注释:当画面切换至目标画面ID时,执行此回调函数参数:screen表示目标画面ID注:更多API函数请参考文档《物联型LUA脚本API_V1.0》4.3实现功能本章节主要讲述调用部分API函数在串口屏上的如何实现循环播放视频,DEMO分以下三个部分解释:1.配置工程属性,2.程序详细解析,3.编译以及运行程序。

4.3.1工程配置1.教程DEMO画面如图5-6所示,关于画面中控件具体属性配置请参考教程DEMO。

图5-6音频播放4.3.2程序具体解析大彩组态控件中的视频播放控件可以根据视频路径播放视频,同时为了可以播放更多的视频,我司在LUA脚本中提供了设置视频播放相关的API函数,通过这些API函数可以实视频循环播放的功能。

详细程序分以下几个部分说明:1.遍历外部存储的视频,将外部视频的路径遍历到一个表中,程序如所示;local musicfilecount=0--音频计数local musicplay_index=0--当前值local music_names={}--音频表local music_playing=1--播放标志位local playing=0--播放标志位local volume=80--音量line_number=0--行号local current_page=1--显示的页码(按上一页下一页查看所有的歌曲,不影响正在播放的歌曲)now_page=1--正在播放的歌曲所在的页码stop_music=0--音乐播放结束是否播放下一首的的标志位pause_flag=0--暂停/继续或者是停止的标志位all_page=0--最大页数,初始化为零u_dir='c:/'--U盘路径music_path=""--音乐路径初始化--获取扩展名function getExtension(str)return str:match(".+%.(%w+)$")endfunction listdir(rootpath)--遍历目录function listdir(rootpath)--遍历目录for entry in lfs.dir(rootpath)doif entry~='.'and entry~='..'thenlocal path=rootpath..'/'..entrylocal attr=lfs.attributes(path)if attr.mode~='directory'thenext=getExtension(path)if ext=='wav'or ext=='mp3'thenmusic_names[musicfilecount]=pathmusicfilecount=musicfilecount+1endelselistdir(path)endendendendfunction on_usb_inserted(dir)--U盘函数u_dir=dir--U盘路径current_page=1musicfilecount=0--音频计数music_names={}--音频表set_value(0,34,current_page)set_value(0,35,1)listdir(dir)--遍历目录all_page=math.modf(musicfilecount/10)--计算总页数,如果总数等于10的倍数会多留一页update_music_ui()end2.显示歌曲名--[[*************************************************************************** **Function name:update_music_ui**Descriptions:显示遍历出来的歌曲名字(非回调函数,可以修改)***************************************************************************--]] function update_music_ui()--显示遍历出来的歌曲名字local page=(current_page-1)*10local music_num=0for i=0,9domusic_num=i+pageif music_num<musicfilecount thenlocal filename=string.match(music_names[music_num],".+/(.+)")set_text(0,1+i,filename)set_value(0,11+i,0)set_visiable(0,11+i,1)elseset_text(0,1+i,'')set_visiable(0,11+i,0)endendend3.上一首和下一首的功能函数--[[*****************************************************************************Function name:next_music**Descriptions:播放下一音乐(非回调函数,可以修改)***************************************************************************--]] function next_music()--播放下一首stop_roll()update_music_ui()line_number=line_number+1if line_number>10thenline_number=line_number-10now_page=now_page+1set_value(0,34,now_page)current_page=now_pageupdate_music_ui()endset_value(0,34,now_page)local music=get_text(0,line_number)if string.len(music)>4thenif string.len(music)>40thenset_text_roll(0,line_number,50)endmusic_path=u_dir..musicplay_sound(music_path)update_icon((line_number-1))line_number=1now_page=1current_page=now_pageset_value(0,34,now_page)update_music_ui()play_music(line_number)endend--[[*****************************************************************************Function name:pre_music**Descriptions:播放上一音乐(非回调函数,可以修改)***************************************************************************--]]function pre_music()--播放上一首stop_roll()update_music_ui()line_number=line_number-1if line_number==0thenline_number=10now_page=now_page-1if now_page<1thennow_page=math.modf(musicfilecount/10)--通过计算音乐数量,计算总页数local num_fmod=math.fmod(musicfilecount,10)--取余数now_page=now_page+1line_number=num_fmodendcurrent_page=now_pageset_value(0,34,current_page)update_music_ui()endset_value(0,34,now_page)--设置页码local music=get_text(0,line_number)if string.len(music)>1thenif string.len(music)>40thenset_text_roll(0,line_number,50)endmusic_path=u_dir..musicplay_sound(music_path)update_icon((line_number-1))elseline_number=1play_music(line_number)end……编写完程序后将工程和脚本一起进行编译,编译成功后可以使用软件中的虚拟屏查看程序是否实现功能,点击工具栏中编译工程按钮,可将工程和脚本的一起编译,操作如图5-7所示图5-7编译工程注意:目前在软件Visual TFT集成的LUA脚本编译器无法进行语法检测,所以编写LUA程序是尽量分模块编写,已达到节省调试的时间。

相关文档
最新文档