CN107704240A - 一种基于树莓派和Pygame平台的墨水屏开发系统 - Google Patents
一种基于树莓派和Pygame平台的墨水屏开发系统 Download PDFInfo
- Publication number
- CN107704240A CN107704240A CN201711015961.XA CN201711015961A CN107704240A CN 107704240 A CN107704240 A CN 107704240A CN 201711015961 A CN201711015961 A CN 201711015961A CN 107704240 A CN107704240 A CN 107704240A
- Authority
- CN
- China
- Prior art keywords
- raspberry
- computer
- information
- ink
- pygame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种基于树莓派和Pygame平台的墨水屏开发系统,包括:树莓派计算机和墨水屏模块;所述树莓派计算机安装有Pygame软件编写平台;所述墨水屏模块包括墨水屏显示屏幕和驱动电路,所述驱动电路包括寄存器;树莓派计算机与墨水屏模块的驱动电路电性连接;树莓派计算机通过Pygame软件编写平台获取软件界面中的显示信息,树莓派计算机按预设的方法得到波形操作码,并将波形操作码发送给所述寄存器,驱动电路读取寄存器的内容并依此驱动墨水屏显示屏幕。本发明提供的墨水屏开发系统,降低了树莓派墨水屏的开发门槛,加快了树莓派上墨水屏模块界面的开发速度。
Description
技术领域
本发明涉及电子显示技术领域,特别涉及一种基于树莓派和Pygame平台的墨水屏开发系统。
背景技术
自电子书推出以来,其电子墨水屏具有阅读无背光、不伤眼、低功耗等特点。但是鉴于其复杂的原理,墨水屏开发门槛还较高,传统的墨水屏开发方式一般采用C语言编程、编译、下载最后运行的模式。使用墨水屏的开发者不仅需要熟悉整个开发流程,而且还需要较扎实的C语言编程、电平逻辑驱动、图像处理等知识。这给只需要关心显示内容的开发者造成了较大的困扰。
树莓派(Raspberry Pi)是学习计算机知识、架设服务器的好工具,价格低廉,可玩性高。市场上为树莓派适配的第三方扩展模块琳琅满目,墨水屏作为树莓派的配件之一也初见端倪。然而,目前市场上还没有一种专门为树莓派墨水屏配套的开发系统及方法,开发者同样也面临着树莓派上使用墨水屏的开发困难的问题,这样使得刚入门的开发者无从入手。
发明内容
为了克服树莓派墨水屏配件开发过程中的使用门槛高和开发成本高的问题,本发明提供一种“所见即所得”的可视化开发方法,将Pygame软件界面图像内容同步到墨水屏上,通过这种一站式“映射”的方式,完成墨水屏内容的同步显示和更新。该开发方式不仅结合了Pygame平台API丰富性,同时也利用了墨水屏的显示优势,让开发者专注于所实现的显示内容,而不是底层驱动等细节上,从而降低了树莓派墨水屏的开发门槛,加快了树莓派上墨水屏模块界面的开发速度。
本发明提供的一种基于树莓派和Pygame平台的墨水屏开发系统,包括:
树莓派计算机和墨水屏模块;
所述树莓派计算机安装有Pygame软件编写平台;
所述墨水屏模块包括墨水屏显示屏幕和驱动电路,所述驱动电路包括寄存器;
树莓派计算机与墨水屏模块的驱动电路电性连接;
树莓派计算机通过Pygame软件编写平台获取软件界面中的显示信息,树莓派计算机按预设的方法得到波形操作码,并将波形操作码发送给所述寄存器,驱动电路读取寄存器的内容并依此驱动墨水屏显示屏幕。
优选的,所述预设的方法,包括:
树莓派计算机根据所述软件界面中的显示信息,得到每帧图像的颜色信息,所述颜色信息由该帧图像的每个像素的RGB信息表示;
树莓派计算机根据预设的转换方法将所述每帧图像的颜色信息转换为每帧图像的灰度信息;
树莓派计算机通过对每帧图像的灰度信息取模,将其转化为一维灰度图像数组;
树莓派计算机将当前帧的一维灰度图像数组和上一帧的一维灰度图像数组进行对比,得到用于该次刷新的波形操作码。
优选的,所述将波形操作码发送给所述寄存器,可实施为:
树莓派计算机分批将波形操作码发送给所述寄存器。
优选的,所述预设的转换方法,可实施为:
树莓派计算机获取当前帧图像的每个像素的RGB信息;
树莓派计算机将每个像素的RGB信息转化为YUV信息;
树莓派计算机将每个像素的YUV信息转化为灰度信息;
树莓派计算机根据每个像素的灰度信息得到当前帧图像的灰度信息。
优选的,所述树莓派计算机根据每个像素的灰度信息得到当前帧图像的灰度信息,可实施为:
树莓派计算机根据每个像素的灰度信息得到当前帧图像的灰度信息;
树莓派计算机对当前帧图像的灰度信息进行灰度变换,得到新的当前帧图像的灰度信息,并以此替换原来的当前帧图像的灰度信息,所述灰度变换包括灰度切割和对数变换。
本发明的一些有益效果可以包括:
本发明提供的一种基于树莓派和Pygame平台的墨水屏开发系统,将树莓派中使用门槛低的Pygame平台与墨水屏硬件相结合,为墨水屏提供了一种“所见即所得”的可视化开发方法。该开发方式不仅结合了Pygame平台API丰富性,同时也利用了墨水屏的显示优势,让开发者专注于所实现的显示内容,而不是底层驱动等细节上,从而降低了树莓派墨水屏的开发门槛,加快了树莓派上墨水屏模块界面的开发速度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种基于树莓派和Pygame平台的墨水屏开发系统的结构示意图;
图2为本发明另一实施例中一种基于树莓派和Pygame平台的墨水屏开发系统的结构示意图;
图3为本发明一优选实施例中通过预设的方法得到波形操作码的流程图;
图4为本发明一实施例中通过一种基于树莓派和Pygame平台的墨水屏开发系统实现的效果图;
图中:
2-1,树莓派计算机;2-2,支撑铜柱;2-3,驱动电路;2-4,墨水屏显示屏幕;4-1,彩色图像;4-2,灰度图像。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明实施例中一种基于树莓派和Pygame平台的墨水屏开发系统的结构示意图。如图1所示,本发明提供的一种基于树莓派和Pygame平台的墨水屏开发系统,包括:
树莓派计算机和墨水屏模块;
所述树莓派计算机安装有Pygame软件编写平台;
所述墨水屏模块包括墨水屏显示屏幕和驱动电路,所述驱动电路包括寄存器;
树莓派计算机与墨水屏模块的驱动电路电性连接;
树莓派计算机通过Pygame软件编写平台获取软件界面中的显示信息,树莓派计算机按预设的方法得到波形操作码,并将波形操作码发送给所述寄存器,驱动电路读取寄存器的内容并依此驱动墨水屏显示屏幕。
图2为本发明另一实施例中一种基于树莓派和Pygame平台的墨水屏开发系统的结构示意图。如图2所示,包括树莓派计算机(2-1)、支撑铜柱(2-2)、驱动电路(2-3)和墨水屏显示屏幕(2-4)。树莓派计算机(2-1)和墨水屏模块之间用支撑铜柱(2-2)固定,树莓派计算机(2-1)和驱动电路(2-3)通过树莓派计算机上的排针接口进行数据交换。
在树莓派计算机上安装好墨水屏模块后,树莓派主板插上内存卡,安装raspbian操作系统,系统内置了Pygame软件平台。Pygame是树莓派中的中的软件模块,专为电子游戏设计,包含图像、声音,具有门槛低、API丰富和功能强大的特点。在软件编辑环境IDE中,开发者采用Python语言调用Pygame的API对界面进行设计和后台逻辑编辑。完成界面编写工作后,调用SDK流程处理单元的模块,SDK流程处理单元通过底层C语言代码去实现,以加快实现效率。SDK流程处理单元用于实现用预设的方法得到波形操作码,并将波形操作码发送给所述寄存器。
通过本发明提供的系统,将树莓派中使用门槛低的Pygame平台与墨水屏硬件相结合,为墨水屏提供了一种“所见即所得”的可视化开发方法。从而降低了树莓派墨水屏的开发门槛,加快了树莓派上墨水屏模块界面的开发速度。
在本发明的一个实施例中,如图3所示,为本发明一优选实施例中通过预设的方法得到波形操作码的流程图,包括:
步骤301、树莓派计算机根据所述软件界面中的显示信息,得到每帧图像的颜色信息,所述颜色信息由该帧图像的每个像素的RGB信息表示;
步骤302、树莓派计算机根据预设的转换方法将所述每帧图像的颜色信息转换为每帧图像的灰度信息;
步骤303、树莓派计算机通过对每帧图像的灰度信息取模,将其转化为一维灰度图像数组;
步骤304、树莓派计算机将当前帧的一维灰度图像数组和上一帧的一维灰度图像数组进行对比,得到用于该次刷新的波形操作码。
在本发明的另一个实施例中,由SDK流程处理单元实现所述预设的方法,SDK流程处理单元截图并灰度化,其中Pygame界面的颜色并不限于灰色,也可以是彩色。SDK流程处理单元将编辑好的整个软件界面中的像素信息(RGB)截取出来,形成一帧图像,该图像必须和墨水屏的分辨率保持一致,并通过像素灰度化或者图形过滤处理,得到适合墨水屏显示的图形像素信息矩阵,通常灰度化处理的阶数一般为2-16阶;
之后,SDK流程处理单元将图形像素信息矩阵取模,转化为一维的图像数组;
最后,SDK流程处理单元将当前帧灰度图像数组和上一帧灰度图像数组对比计算出每次刷新的波形操作码。
通过本发明提供的系统,可以让开发者专注于所实现的显示内容,而不是底层驱动等细节上,从而降低了树莓派墨水屏的开发门槛,加快了树莓派上墨水屏模块界面的开发速度。
在本发明的一个优选实施例中,所述将波形操作码发送给所述寄存器,可实施为:
树莓派计算机分批将波形操作码发送给所述寄存器,从而可以改变像素点的状态,达到更新墨水屏模块内容的目的。
通过这种操作方式,可以提高树莓派计算机和墨水屏模块之间的通讯效率。
在本发明的一个优选实施例中,SDK流程处理单元将整个同步过程封装在一句代码里,从而完成Pygame软件界面到墨水屏模块的映射,方便开发者调用。此外,通过不断实时调用SDK流程处理单元,整个映射可以实现实时同步。如图4所示,为本发明一实施例中通过一种基于树莓派和Pygame平台的墨水屏开发系统实现的效果图。通过实时调用SDK流程处理单元,将彩色图像(4-1)转换成了灰度图像(4-2)。
为了得到更真实的灰度图,不通过简单求RGB各个分量的均值转灰度图的方式进行,而是选择通过根据RGB到YUV各个分量的转换关系转换得到。在本发明的一个优选实施例中,所述预设的转换方法,可实施为:
树莓派计算机获取当前帧图像的每个像素的RGB信息;
树莓派计算机将每个像素的RGB信息转化为YUV信息;
树莓派计算机将每个像素的YUV信息转化为灰度信息;
树莓派计算机根据每个像素的灰度信息得到当前帧图像的灰度信息。
在某些情况下,图像的动态范围远远超过显示设备上的显示能力,为了得到适合墨水屏显示的图像的灰度信息,通过对原图像的动态范围进行压缩来处理,可以采取取对数的方式来对图像的动态范围进行调整,而为了增强特定范围的对比度,还需要进行灰度切割,在本发明的一个优选实施例中,所述树莓派计算机根据每个像素的灰度信息得到当前帧图像的灰度信息,可实施为:
树莓派计算机根据每个像素的灰度信息得到当前帧图像的灰度信息;
树莓派计算机对当前帧图像的灰度信息进行灰度变换,得到新的当前帧图像的灰度信息,并以此替换原来的当前帧图像的灰度信息,所述灰度变换包括灰度切割和对数变换。
本发明提供的一种基于树莓派和Pygame平台的墨水屏开发系统,将树莓派中使用门槛低的Pygame平台与墨水屏硬件相结合,为墨水屏提供了一种“所见即所得”的可视化开发方法。该开发方式不仅结合了Pygame平台API丰富性,同时也利用了墨水屏的显示优势,让开发者专注于所实现的显示内容,而不是底层驱动等细节上,从而降低了树莓派墨水屏的开发门槛,加快了树莓派上墨水屏模块界面的开发速度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (5)
1.一种基于树莓派和Pygame平台的墨水屏开发系统,其特征在于,包括:
树莓派计算机和墨水屏模块;
所述树莓派计算机安装有Pygame软件编写平台;
所述墨水屏模块包括墨水屏显示屏幕和驱动电路,所述驱动电路包括寄存器;
树莓派计算机与墨水屏模块的驱动电路电性连接;
树莓派计算机通过Pygame软件编写平台获取软件界面中的显示信息,树莓派计算机按预设的方法得到波形操作码,并将波形操作码发送给所述寄存器,驱动电路读取寄存器的内容并依此驱动墨水屏显示屏幕。
2.根据权利要求1所述的系统,其特征是在于,所述预设的方法,包括:
树莓派计算机根据所述软件界面中的显示信息,得到每帧图像的颜色信息,所述颜色信息由该帧图像的每个像素的RGB信息表示;
树莓派计算机根据预设的转换方法将所述每帧图像的颜色信息转换为每帧图像的灰度信息;
树莓派计算机通过对每帧图像的灰度信息取模,将其转化为一维灰度图像数组;
树莓派计算机将当前帧的一维灰度图像数组和上一帧的一维灰度图像数组进行对比,得到用于该次刷新的波形操作码。
3.根据权利要求1所述的系统,其特征是在于,所述将波形操作码发送给所述寄存器,可实施为:
树莓派计算机分批将波形操作码发送给所述寄存器。
4.根据权利要求2所述的系统,其特征是在于,所述预设的转换方法,可实施为:
树莓派计算机获取当前帧图像的每个像素的RGB信息;
树莓派计算机将每个像素的RGB信息转化为YUV信息;
树莓派计算机将每个像素的YUV信息转化为灰度信息;
树莓派计算机根据每个像素的灰度信息得到当前帧图像的灰度信息。
5.根据权利要求4所述的系统,其特征是在于,所述树莓派计算机根据每个像素的灰度信息得到当前帧图像的灰度信息,可实施为:
树莓派计算机根据每个像素的灰度信息得到当前帧图像的灰度信息;
树莓派计算机对当前帧图像的灰度信息进行灰度变换,得到新的当前帧图像的灰度信息,并以此替换原来的当前帧图像的灰度信息,所述灰度变换包括灰度切割和对数变换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711015961.XA CN107704240A (zh) | 2017-10-25 | 2017-10-25 | 一种基于树莓派和Pygame平台的墨水屏开发系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711015961.XA CN107704240A (zh) | 2017-10-25 | 2017-10-25 | 一种基于树莓派和Pygame平台的墨水屏开发系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107704240A true CN107704240A (zh) | 2018-02-16 |
Family
ID=61182415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711015961.XA Pending CN107704240A (zh) | 2017-10-25 | 2017-10-25 | 一种基于树莓派和Pygame平台的墨水屏开发系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704240A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961747A (zh) * | 2019-04-02 | 2019-07-02 | 上海墨案智能科技有限公司 | 电子墨水屏显示方法、装置及电子设备 |
CN111193874A (zh) * | 2020-01-07 | 2020-05-22 | 青岛海信移动通信技术股份有限公司 | 图像的显示参数调整方法及移动终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104992680A (zh) * | 2015-08-04 | 2015-10-21 | 广州文石信息科技有限公司 | 一种电子墨水屏色彩灰度化的方法 |
CN105912290A (zh) * | 2016-05-09 | 2016-08-31 | 珠海全志科技股份有限公司 | 一种用于电子墨水屏的显示方法及其装置 |
KR20160127411A (ko) * | 2015-04-27 | 2016-11-04 | 김규보 | 라즈베리 파이를 활용한 아날로그 광학장치 확장모듈 |
-
2017
- 2017-10-25 CN CN201711015961.XA patent/CN107704240A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160127411A (ko) * | 2015-04-27 | 2016-11-04 | 김규보 | 라즈베리 파이를 활용한 아날로그 광학장치 확장모듈 |
CN104992680A (zh) * | 2015-08-04 | 2015-10-21 | 广州文石信息科技有限公司 | 一种电子墨水屏色彩灰度化的方法 |
CN105912290A (zh) * | 2016-05-09 | 2016-08-31 | 珠海全志科技股份有限公司 | 一种用于电子墨水屏的显示方法及其装置 |
Non-Patent Citations (2)
Title |
---|
ROMERMSP: "在RaspberryPi中用Pygame做信息显示屏", 《HTTPS://BLOG.CSDN.NET/ROMERMSP/ARTICLE/DETAILS/51365426》 * |
空华叔: "全球首款配备电子纸屏幕的抽纸盒~", 《HTTPS://BLUEHUA.ORG/2016/04/25/2311.HTML》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961747A (zh) * | 2019-04-02 | 2019-07-02 | 上海墨案智能科技有限公司 | 电子墨水屏显示方法、装置及电子设备 |
CN111193874A (zh) * | 2020-01-07 | 2020-05-22 | 青岛海信移动通信技术股份有限公司 | 图像的显示参数调整方法及移动终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104956666B (zh) | 投影仪系统的内容适应性功率管理 | |
CN107492334A (zh) | 用于高动态范围显示器的饱和度相依图像拆分 | |
CN113763856B (zh) | 环境光照强度确定方法、装置及存储介质 | |
CN112965678A (zh) | 一种基于电子墨水屏的显示器、装置、存储介质及方法 | |
EP4277261A1 (en) | Video generation method and apparatus, and device and readable storage medium | |
CN113867677A (zh) | 显示系统和电子墨水显示屏的刷新方法 | |
CN112633270B (zh) | 基于图片识别的骨架屏生成方法、装置、设备及存储介质 | |
WO2007036070A1 (en) | Error diffusion for display frame buffer power saving | |
CN106605211A (zh) | 着色器的渲染时间链接 | |
CN110838154A (zh) | 一种图片处理方法及装置 | |
CN107704240A (zh) | 一种基于树莓派和Pygame平台的墨水屏开发系统 | |
CN106933329B (zh) | 一种移动终端适配节能等级的方法、装置及移动终端 | |
CN117198232B (zh) | 彩色墨水屏驱动方法、装置及存储介质 | |
US20190371039A1 (en) | Method and smart terminal for switching expression of smart terminal | |
CN113053322B (zh) | 一种电子墨水屏的显示优化方法及相关装置 | |
CN113626129A (zh) | 一种页面颜色的确定方法、装置及电子设备 | |
US11847995B2 (en) | Video data processing based on sampling rate | |
CN115937380A (zh) | 图形渲染方法、装置及存储介质 | |
CN106657985B (zh) | 视频信号发生器自定义图像的方法和系统 | |
CN110548290B (zh) | 图文混排方法、装置、电子设备以及存储介质 | |
US7253819B1 (en) | Apparatus and method for representing visual information for embedded handheld devices | |
JP6100224B2 (ja) | 遊技機 | |
CN113867675A (zh) | 电子墨水显示屏的刷新方法和显示系统 | |
CN208737482U (zh) | 一种多媒体展示装置及系统 | |
CN117115276B (zh) | 一种画面处理的方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180216 |