一种基于python语言的控制硬件外设框架的制作方法
未命名
07-19
阅读:132
评论:0
1.本实用新型涉及创客教育技术领域,具体涉及一种基于python语言的控制硬件外设框架。
背景技术:
2.创客市场用的主要的开发语言是c++,教育市场用的主要是python语言。python语言相比c++语言更加简单。python语言控制外设普遍是使用micropython,各平台操作方式不统一。对用户而言,多种单片机的固件内容维护不易,固件烧录方式多样复杂,传感器驱动编写困难。通用性不高。比如python语言的各种api不统一,比如要外控多个传感器的话,传感器种类与厂家的不同,那么需要在网上寻找多个python资源库调用对应指令,门槛太高。
技术实现要素:
3.本实用新型目的在于提供一种基于python语言的控制硬件外设框架,其内置有python资源库,解决现有技术中的问题。
4.为了实现上述目的,本实用新型采取的技术方案如下:
5.一种基于python语言的控制硬件外设框架,包括芯片u1和芯片u2,芯片u1连接外设的引脚为金手指引脚,芯片u1和芯片u2连接,并通过底层自定义通信协议通讯;芯片u2为为内置python语言及python资源库的芯片;python资源库中写入了若干硬件外设的驱动程序。
6.作为一种优选技术方案,芯片u1的型号为gd32;芯片u2的型号为rk3308。
7.作为一种优选技术方案,芯片u2连接有存储器、内存资料寄存器user、双倍速率同步动态随机存储器ddr。
8.作为一种优选技术方案,存储器包括emmc和/或sd卡模块。
9.作为一种优选技术方案,芯片u2连接wifi模块。
10.作为一种优选技术方案,芯片u2连接lcd显示屏、麦克风mic。
11.作为一种优选技术方案,芯片u1连接有内置的硬件,内置硬件外设包括但不限于以下任意一种或多种:蜂鸣器buzzer、指示灯light、惯性测量单元imu。
12.现有技术相比,具有以下有益效果:
13.rk3308作为linux soc,内置安装了python语言和pinpong库,gd32作为mcu内部固件实现底层自定义通信协议,rk3308和gd32通过串口(标号为ctrl_gd32)进行通信。这样就可以通过python的pinpong库去控制连接在gd32金手指上面的连接的所有硬件设备了(该硬件设备的驱动已经内置于pinpong库中)。也就是说整个结构运行在rk3308上,那么gd32可以连大量不同设备,因为其在本实用新型的结构中是作为一个对外接口使用。
附图说明
14.图1为本实用新型的电路原理图;
15.图2为芯片u1的面向硬件外设的接口的示意图;
16.图3为初始化主板的流程示意图;
17.图4为底层api调用的流程示意图。
具体实施方式
18.本实用新型的目的在于克服现有技术的缺陷,提供一种基于python语言的控制硬件外设框架,下面结合实施例对本实用新型作进一步详细说明。
19.实施例1
20.一种基于python语言的控制硬件外设框架,包括芯片u1和芯片u2,芯片u1为gd32,芯片u2为rk3308。
21.芯片u1与芯片u2连接,芯片u2还连接type_c接口、电源开关键、emmc存储器、sd存储器、wifi模块、双倍速率同步动态随机存储器ddr、lcd显示屏、麦克风mic、内存资料寄存器user。wifi模块的型号为rtl8723ds。
22.芯片u1也连接内存资料寄存器user。芯片u1连接有蜂鸣器buzzer、指示灯light、惯性测量单元imu。
23.芯片u1(gd32)芯片连接外设的引脚通过金手指引脚方式提供给用户。
24.本实用新型中的芯片u2(rk3308)为内置安装了python语言和pinpong库(python资源库)。pinpong库中包含了多主机固件及多传感器驱动程序。
25.本实用新型的原理是:rk3308作为linux soc,内置安装了python语言和pinpong库,gd32作为mcu内部固件实现底层自定义通信协议,rk3308和gd32通过串口(标号为ctrl_gd32)进行通信。这样就可以通过python的pinpong库去控制连接在gd32金手指上面的连接的所有硬件设备了(该硬件设备的驱动已经内置于pinpong库中)。也就是说整个结构运行在rk3308上,那么gd32可以连大量不同设备,因为其在本实施例的结构中是作为一个对外接口使用。
26.具体的说,芯片u1连接蜂鸣器、指示灯及惯性测量单元imu作为内置硬件外设,在开发板不与其他外设连接时,其本身也可以控制这些部件来实现一定功能,以满足教育需求。
27.本实施例中,设有emmc存储器、sd存储器,当恢复系统的时候,比如emmc存储器坏了,可以从sd存储器启动,并将emmc存储器内的东西拷贝至sd存储器,避免数据丢失。
28.本实施例中,芯片u2连接有lcd显示屏,目的是连接某些硬件外设时,比如加速度传感器时,可以直接利用pinpong库的指令将数据调出来,在屏幕绘制加速度曲线,这在高中物理教学过程就十分有意义。
29.本实施例中,芯片u2连接type_c接口和wifi模块,使得可以连接其他设备进行数据传输。
30.在芯片u2中内置安装python语音及pinpong库的具体过程如下:
31.1、多主板固件(handpy(掌控),jh7100,microbit,nezha,rpi树莓派,行空板,虚谷号,uno,leonardo,mega2560等);
32.固件由裸机c语言开发(uno,leonardo,mega2560,microbit,handpy,行空板(板载gd32),虚谷号(板载uno));
33.裸机固件与python应用通信协议使用底层自定义通信协议;
34.linux直接python驱动板载外设(nezha,jh7100,rpi树莓派)。
35.2、多传感器驱动
36.时钟精度要求不高的传感器,如iic,spi接口传感器,驱动编写在pinpong库中。时钟精度要求高,如单总线传感器,则将驱动写在固件中。
37.3、初始化主板流程如图3所示。
38.4、数据交互流程如图4所示。
39.5、跨平台底层驱动编写(以彩色背光1602屏为例)
40.41.42.43.[0044][0045]
6、跨平台上层应用编写(以彩色背光1602屏为例)
[0046]
[0047][0048]
通过上述描述,将设备外设的驱动写入pinpong库中,当gd32接入对应外载设备,则直接通过底层自定义通信协议调用。
[0049]
按照上述实施例,便可很好地实现本实用新型。值得说明的是,基于上述结构设计
的前提下,为解决同样的技术问题,即使在本实用新型上做出的一些无实质性的改动或润色,所采用的技术方案的实质仍然与本实用新型一样,故其也应当在本实用新型的保护范围内。
技术特征:
1.一种基于python语言的控制硬件外设框架,其特征在于,包括芯片u1和芯片u2,芯片u1和芯片u2连接,并串口通讯;芯片u1连接硬件外设,芯片u2为内置python语言及内置写入了若干硬件外设的驱动程序的python资源库的芯片。2.根据权利要求1所述的一种基于python语言的控制硬件外设框架,其特征在于,芯片u1连接硬件外设的引脚为金手指引脚。3.根据权利要求1所述的一种基于python语言的控制硬件外设框架,其特征在于,芯片u1和芯片u2通过自定义通信协议通信连接,当芯片u1外接硬件外设时,驱动硬件外设的驱动的逻辑在u2中实现,底层通信协议从芯片u1中调用。
技术总结
本实用新型公开了一种基于python语言的控制硬件外设框架,包括芯片U1和芯片U2,芯片U1和芯片U2连接,并串口通讯;芯片U1连接硬件外设,芯片U2为内置python语言及python资源库的芯片;python资源库中写入了若干硬件外设的驱动程序。驱动程序。驱动程序。
技术研发人员:王辉
受保护的技术使用者:成都极趣科技有限公司
技术研发日:2023.02.02
技术公布日:2023/7/17
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种多功能移动式双钻头高精度打孔机的制作方法 下一篇:一种电缆沟的盖板的制作方法
