基于pencilcode的可视化智能硬件编程平台的研究

2020-09-22 00:53孙小娟
科学咨询 2020年18期
关键词:源码编程可视化

孙小娟

(重庆电子工程职业学院 重庆 401331)

K-12教育即基础教育,是教育的根本,决定了一个国家国民的基本素质和民族的发展伟业。国内K-12编程教育理念还不够成熟,没有引起足够的重视,只有民间有些许的K-12编程培训机构,且大多是软硬件分离的[1]。即使是目前经验丰富的程序员,软硬件都擅长的及其少,而软硬件的结合,才是未来互联网发展的大趋势。因此,本文提出并设计了软硬件结合的面向K-12的可视化编程平台,使学生在学习软件编程的同时,可以学习智能硬件,提高其综合能力。

一、pencilcode简介

pencilcode一种一种协作式的基于网页的在线模块化编程网站[2],可以画画、音乐及创作游戏,小到6岁的孩子都可以使用它。在pencilcode中,完美的实现了块编程和文本编程之间的转换,屏幕被分成了两部分,一部分用于显示项目的源码,一部分则输出代码的运行结果。用户点击设置按钮,可以在CoffeeScript和JavaScript两种语言间中进行选择,从中选择语言和已经添加的函数库,窗格语言可以选择CSS或者HTML。同时,为了便于用户更好的交流,pencilcode提供了一个在线论坛。

二、pcDuino

pcDuino是一款小巧而强大的高性能、高性价比的迷你PC平台,它结合了ARM架构的迷你PC和arduino的优势,实现了开源软件Linux和开源硬件arduino生态系统的完美结合[3]。类似于树莓派和arduino的合体,且相比树莓派配置更高,读写速度更快,被称为“arduino与迷你PC的合体”。pcDuino配备简单易用的编译工具,能够完全运行PC操作系统,如ubuntu和Android ICS等。同时,pcDuino3B自带了Cloud 9 IDE,用户可以自己下载pcDuino对应的scratch或ArduBlock源码到板子上进行可视化编程。pcDuino也是一个服务器,无线路由器,用于3D打印,IP-PBX交换,使用计算机视觉OpenCV等等。

三、系统设计与实现

(一)系统设计

本文的开发是基于在线可视化编程网站pencilcode进行的,系统硬件环境的搭建如图1所示:

图1 pcduino环境搭建

本文采用pcDuino3B硬件,它自带ubuntu 12.04系统,但ubuntu 12.04的版本号比较低,因此将pcDuino的系统升级到ubuntu 14.04。并安装node.js,然后将pencilcode的源码移植到pcDuino上。johnny-five是一种JavaScript机器人和IoT的编程框架,对pcDuino不完全兼容。通过johnny-five框架与pcDuino进行通信时,需要同时安装一个针对pcDuino的适配器,即IO插件。所以,在移植johnny-five源码的同时,移植了pcduino-io库。

(二)智能硬件模块设计与实现

本文所设计的可视化编程平台通过JavaScript运行环境node.js和Johnny-Five框架控制智能硬件[4]。

硬件可视化编程模块的实现同软件可视化编程模块相似,首先是块编辑,用拖拽的方式拉取相应的模块,再利用Droplet编辑器将块编程程序转化成文本化代码。具体实现时,由于pcDuino不支持JavaScript语言,且即使用C语言编写程序调用其模块,程序都比较繁琐。因此,我们通过调用Johnny-Five框架和其针对pcDuino的IO插件pcduino-io,编写简单的文本化代码,实现对pcDuino硬件模块的调用,具体实现过程如图2所示。

图2 智能硬件可视化编程实现过程

“Hello world”程序是无处不在的,它几乎是每一个程序员敲的第一个程序。软件界的“Hello world”,一般是通过编程使程序在屏幕打印输出“Hello world”;相对应地,硬件界的“Hello world”,就是LED灯的闪烁,以测试一个单片机,开启硬件编程世界。在完成硬件可视化编程模块后,我们首先测试了“Hello world”程序,即LED灯的闪烁。在编程页面,选择智能硬件模块,在跳转到的智能硬件编程页面,拉取相应的可视化模块,并选择适当的引脚和参数,本文例子中选择13号引脚。然后在物理pcDuino开发板上,将LED灯连接到pcDuino的13引脚上,在编程页面中点击运行按钮,观察pcDuino开发板上LED灯变化,发现LED灯闪烁,则实验成功,LED灯闪烁文本化程序代码如图3所示,LED闪烁如图4所示。

图3 LED闪烁代码

图4 LED闪烁效果图

四、结束语

本文采用pencilcode作为软件可视化编程工具,本pcDuino为硬件开发平台。在系统功能设计实现方面,本文完成了pcDuino硬件环境的搭建过程,包括ubuntu系统的安装、node.js的安装、johnny-five库和pcduino-io库源码移植,及pencilcode源码的移植。通过Droplet编辑器和johnny-five框架,实现了基于pencilcode编程平台与pcDuino硬件相结合的智能硬件可视化编程模块,通过LED闪烁效果进行了测试。

猜你喜欢
源码编程可视化
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
思维可视化
GUI 源码自动生成研究综述
基于词嵌入的源码相似度研究
自然资源可视化决策系统
国内一站式工程设备租赁平台众能联合完成C2、C3两轮融资
编程,是一种态度
元征X-431实测:奔驰发动机编程
企业如何保护源码