3D打印机网络服务的智能云平台设计*
2016-06-01万伟康赵康王文博陈卫峰邓小颖
万伟康,赵康,王文博,陈卫峰,邓小颖
(扬州大学 物理科学与技术学院,扬州 225002)
万伟康,赵康,王文博,陈卫峰,邓小颖
(扬州大学 物理科学与技术学院,扬州 225002)
摘要:近年来,3D打印技术在国内外兴起,应用范围不断拓展,然而国内对于3D打印技术的应用开发以及服务提供还是远远不够的,为此提出了3D打印人性化控制界面开发(无线控制监测终端)、蓝牙短距离协议接入、Internet远程控制以及云服务平台搭建的解决方案,应用于教育教学或者产品展示,以及3D打印云平台的建设方面。经过实际运行,平台取得了较好的效果。
关键词:物联网;3D打印;远程控制;智能化平台;云服务
引言
由于受现有技术条件的限制,一般的3D打印机是由其自身的控制平台控制,界面单一、按键操控有很大的局限性。尽管通过端口连接电脑可以实现电脑控制打印机,但作用也很有限。当3D打印机遇上物联网后,其巨大的潜力就体现出来了,可以实现无线控制打印、触摸控制打印,甚至远程控制打印。这是一种新的概念,将3D打印机面向智能化应用,以全新的方式实现3D打印机的智能控制,是本文研究的主要内容。
云服务在工业4.0时代发挥着重要的作用,同时也将给3D打印提供更多的创新点,打印模型的共享,甚至是3D打印硬件设备的共享,都将更好地促进3D打印走出实验室,走进商业应用以及普通大众的生活,使得3D打印从一种前沿技术转化成为商业和生活服务。
本文利用LPC1857主控芯片将reprap 3D打印机与蓝牙和触摸屏以及以太网相融合,设计实现了3D打印的多种控制方式,同时为3D打印机搭建了集设备管理、远程控制、用户上传、本地下载打印为一体的3D打印云服务平台。这将带来新的商业模式,同时在教育教学、产品展示等方面,具有广阔的应用前景。
1系统方案
1.1系统设计
3D打印物联网云服务平台,使用LPC1857核心板进行开发,融合了reprap 3D打印主控(Arduino+Ramps方案),拓展了蓝牙无线手持控制监测终端(LCD+BT),通过Linux网络控制板(Openwrt)实现广域网信息与文件管理,实现了3D打印人机交互界面的优化、无线控制(本地无线+广域网远程控制)的开发,并研究搭建了初级形态的3D打印云服务平台(网页控制+用户管理+文件共享)。3D打印智能云平台结构框图如图1所示。
图1 3D打印智能云平台结构框图
应用平台将实现以下功能:通过手持控制终端(蓝牙无线协议与LCD显示触控技术)实现本地联机打印控制与状态监测,也可以通过Linux网络控制器实现与远程服务器的信息交互与打印文件管理;通过广域网服务器提供网页服务实现远程打印控制与状态监测,以及打印模型文件的上传与下载;引入的蓝牙协议同时也能支持更多的设备平台以开发更多的3D打印应用。
1.2工作原理
本文搭建的3D打印机以及网络服务智能平台,硬件包括3个主要部分:3D打印控制器、网络以及显示触控设备控制器、因特网服务器端。3D打印机物联网系统采用了LPC1857单片机作为主要控制单元,结合reprap平台的3D打印机硬件,基于TCP的HTTP协议、串口的HC-05蓝牙模块以及触摸控制器,实现了3D打印机的物联网功能,同时在云端使用了基于Apache的服务器,实现了数据处理以及网页远程控制、上传、下载等功能。3D打印物联网控制系统方案基本原理图如图2所示。
图2 3D打印物联网控制系统方案基本原理图
2硬件部分
2.1硬件原理
2.1.1LPC1857控制芯片
LPC1857是基于ARM Cortex-M3[1]核的微控制器,包括200 KB的片上SRAM数据存储器、1 MB的闪存(片上闪存的部分)、4个SPI闪存接口(SPIFI)、1个静态可配置定时器(SCT)子系统、2个高速USB控制器、1个以太网接口、1个LCD接口、1个外部存储控制器,以及多种模拟和数字外设。LPC1857硬件原理图略——编者注。
2.1.2reprap 3D打印机
reprap是一个3D打印原型机,具有一定程度的自我复制能力,能够打印出大部分其自身的(塑料)组件。reprap是(replicating rapid prototyper)的缩写,本项目选用的Prusa i3打印机是基于reprap进行二次改进的版本,在提升打印速度的同时提高了打印精度和稳定性。
2.1.3HC-05
蓝牙模块HC-05是一款高性能的蓝牙串口模块,具有以下特点:可用于各种带蓝牙功能的电脑、蓝牙主机、手机、PDA、PSP等智能终端配对;波特率范围为4 800~1 382 400 bps,并且模块兼容单片机(微控制器)系统。
2.1.4LCD显示及触摸屏
LCD采用了武汉中显科技的SDWI4827-043-NN28W VGUS串口屏,简便的配置方法,以及便捷的界面设计大大地简化了整个系统的开发过程。蓝牙协议的拓展(HC-05)以及锂电池的加入使得该串口终端实现了无线控制功能。触摸屏硬件原理图如图3所示。
图3 触摸屏硬件原理图
2.2原理框图
3D打印物联网平台硬件框图如图4所示。
图4 3D打印物联网平台硬件框图
3软件部分
3.1软件原理
3.1.1LPC1857
单片机的编程环境是IAR,支持众多知名半导体公司的微控制器,许多全球著名的公司都在使用IAR SYSTEMS提供的开发工具,LPC1857芯片是以ARM为内核的,所以用IAR for ARM版本就可以开发相应的工程。
初始化包括:系统初始化、串口中断初始化、触摸屏初始化、显示状态界面、开启定时器和消息处理主循环等。
3.1.2消息队列
3D物联网打印机主控平台的软件设计移植了一个简单的循环消息队列系统,优点如下:①简化了嵌入式系统的编程思路,提高了系统搭建效率;②提高了嵌入式系统的消息处理效率,避免了大量的代码冗余;③采用了环形队列(FIFO),解决了消息丢失以及大量消息阻塞的问题。
3.1.3串口通信及中断
本系统使用了3个串口,串口接收和发送使用了FIFO环形缓冲区,有效避免了多串口多中断的消息丢失。3个串口的功能如表1所列。
表1 3个串口的功能
3.1.4定时器函数
本系统中用到了定时器中断,每隔一段时间进入定时器中断服务函数,定时执行屏幕刷新以及打印机状态获取函数。
3.1.5打印机控制函数
系统将打印机的控制指令进行封装,并且通过字符串指令解读算法获得打印机传回的消息,集成的函数能够更好地实现和打印机的信息交互。打印机主要功能有:开始打印、暂停打印、获得打印机状态、开始打印选定模型、打印机风扇控制、打印机警报控制(蜂鸣器)和打印机回传指令解读。
3.1.6服务器端网页和php部分
(1) 服务器概况、架构及体系
服务器操作系统采用基于RHEL(Red Hat Enterprise Linux)内核的CentOS,安全稳定,并且有完善的网络通信协议及算法,专门为提供Web服务进行了优化。Web服务器软件采用Apache+php体系,简单高效,能为用户提供稳定的服务。
(2) 核心脚本文件的作用
data.php接收、处理并存储单片机发送的数据,然后返回用户控制状态;index.html 可提供用户直接访问的网页接口;view.php 处理网页接口的表单和AJAX请求等数据;up.php 处理用户上传的文件。
(3) 数据的接收与处理
采用GET方式接收单片机发送的HTTP请求,使用正则表达式对字符串进行处理与过滤,然后使用独立文件存储脚本运行状态及处理后的数据。另外,采用关键字作为验证码以识别数据发送者的合法性,检测到无关设备发送的非法数据或发生错误时,能及时结束脚本运行并关闭连接,避免对服务器安全造成威胁,同时提高了服务器的稳定性。文件的上传采用验证方式,可安全地上传并存储G代码文件。
(4) 数据的读取与呈现
等待用户请求,读取文件并提取字符串,将其转换为规定的文件名、百分比格式等数值。
(5) 用户访问接口页面
采用AJAX方式实时与后端进行交互,及时获取打印进度、正在打印文件等信息,并能够及时将用户控制指令发送给后端进行处理,然后发送给单片机进行控制、下载等动作。
3.2原理框图
3D打印物联网平台软件框图如图5所示。
图5 3D打印物联网平台软件框图
4系统整体功能测试
将调试好的各个部件进行连接,进行整体功能测试,步骤如下:
① 接通设备电源,打印机开机,然后等待设备连接上互联网。
② 用已连接互联网的手机扫描二维码(或在浏览器中输入指定网址),进入打印机控制页面。
③ 在页面上选择一个要打印的模型并开始打印,在网页和单片机的屏幕上应能正确显示打印进度,同时网页可以控制打印的暂停或继续。
④ 使用触摸屏选择一个文件打印,测试触摸屏上的进度显示及开始/暂停等交互是否正常。
⑤ 在手机上用蓝牙连接设备,选择文件并打印,测试手机端蓝牙控制打印是否正常。
⑥ 通过任意一种控制途径选择模型打印,并在每个控制端同时进行打印控制与进度查看。
4.1测试设备
本方案的测试设备包括:reprap 3D打印机一台,LPC1857开发板、STM32开发板及串口、蓝牙、网络扩展模块各一套,开发与调试用电脑/智能手机一台/部,用于连接互联网的3G猫或路由器一部。
4.2测试数据
用于控制打印机的M代码如表2所列。
表2 M代码功能
测试所用的gcode模型代码文件为01.gco-06.gco。向服务器发送的字符串(HTTP请求格式)为“GET /test/data.php?get=00s[两位文件名代码][四位百分比代码]e00&key=[设备识别验证码] HTTP /1.1”。
服务器返回控制码如表3所列。
表3 服务器返回控制码功能
4.3结果分析
测试结果如下:
① 使用网页、触摸屏、手机蓝牙串口App交替发送指令控制打印机;
② 触摸屏与蓝牙串口进行开始/暂停打印控制,响应正常;
③ 各个控制端能正常显示打印进度并实时刷新;
④ 单片机向服务器发送的数据能被正常解析并存储,在网页上可以实时刷新打印进度和打印控制;
⑤ 同时单片机能接收到服务器返回的控制码并作出正常响应,表明系统工作正常;
⑥ 服务器端用户上传G代码文件,打印机可自动下载并打印。
实验结论如表4所列。作品实物照片略——编者注。
表4 实验结论
编者注:本文为期刊缩略版,全文见本刊网站www.mesnet.com.cn。
参考文献
[1] 吴怀宇.3D打印:三维智能数字化创造[M].北京:电子工业出版社,2014.
[2] Luke Welling,Laura Thomson.PHP和MySQL Web开发[M].北京:机械工业出版社,2009.
[3] 刘火良,杨森.STM32库开发实战指南[M].北京:机械工业出版社,2013.
[4] 徐爱钧.IAR EWARM V5嵌入式系统应用编程与开发[M].北京:北京航空航天大学出版社,2009.
[5] 赵海,陈长华,王建锋.微控制器电路LCD 显示原理[J].电子与封装,2009,9(5):31-34.
[6] 张群,杨絮,张正言,等.蓝牙模块串口通信的设计与实现[J].实验室研究与探索,2012(3):79-82.
[7] 刘思文.触摸屏界面通用设计原则研究[D].上海:上海交通大学,2009.
Wan Weikang,Zhao Kang,Wang Wenbo,Chen Weifeng,Deng Xiaoying
(College of Physics Science and Technology,Yangzhou University,Yangzhou 225002,China)
Abstract:3D printing technology rises in China in the recent years,and the application scope is expanding.However,the application development of 3D printing technology and the services are not enough.So the development of 3D printing human control interface (wireless control monitoring terminal),Bluetooth protocol access,Internet remote control and the building of cloud services platform are proposed.The platform can be widely applied in teaching education,product dislpay and the construction of 3D printing cloud platform.The platform has achieved good results in the practical operation.
Key words:Internet of Things;3D printing;remote control;intelligent platform;cloud service
收稿日期:(责任编辑:薛士然2015-09-18)
中图分类号:TP393
文献标识码:A
* 基金项目:扬州大学2015年国家级大学生创新创业训练计划项目(项目编号:201511117013);2015年江苏省大学生创新创业训练计划项目(项目编号:201511117013Z)。