辰匠科技DIY创意设计3D打印简介

3D打印(3DP)即快速成型技术的一种,又称增材制造,它是一种以数字模型文件为基础,运用粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术。
这里将3D打印分成3个步骤:
1、三维建模
2、模型文件、打印配置转换成打印文件(G代码)
3、打印模型

一、三维建模:利用CAD(计算机辅助设计Computer Aided Design)电脑软件,将要制造的物件建立虚拟三维模型,然后生成在用于3D打印的文件,一般文件格式为STL、OBJ等。
STL:(stereolithography,光固化立体造型术的缩写)是由3D SYSTEMS 公司于1988 年制定的一种为快速原型制造技术服务的三维图形文件格式。
OBJ:是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件”Advanced Visualizer”开发的一种标准3D模型文件格式,

这里把建模分类为工业建模和艺术建模:
工业建模:着重于成品尺寸的准确性,比如长宽高、孔轴直径、公差配合、内外螺纹、齿轮啮合等。建模软件有:autoCAD、UGNX、SolidWorks等

艺术建模:着重于成品的外形,一般可用在礼品、艺术品等设计上。建模软件有:MAYA、3Dmax等

二、模型文件、打印配置转换成打印文件(G代码)
经过三维建模生成了STL、OBJ模型文件,导入3D打印软件后一般还需要设置打印工艺参数:
(1)成型参数:层高(mm)、外壳厚度(mm)、顶部/底部厚度(mm)、填充度(%)等;
(2)打印工艺参数:打印速度(mm/s)、打印温度(℃)、热床温度(℃)、支撑类型、平台附着类型等;
(3)原料线材参数:线材直径(mm)、流量(%);

需要对成品需求和实际情况来分析后对这些参数的进行设置。这样也可预估出用料量和打印时间,最后生成打印文件G代码。
G代码(G-code,又称RS-274),是最为广泛使用的数控(numerical control)编程语言,有多个版本,主要在计算机辅助制造中用于控制自动机床。G代码是数控程序中的指令。一般都称为G指令。使用G代码可以实现快速定位、逆圆插补、顺圆插补、中间点圆弧插补、半径编程、跳转加工。

三、打印模型
准备好3D打印机、线材、G代码文件

开机后一般需要调整Z轴0平面,打印时设置好进给率,不出意外的话等待一段时间后成品就会打完
最后拿出成品一般还需要去毛刺、再做微调加工、上色等完成制作。


树莓派+移动硬盘:搭建文件管理存储服务器

随着工作生活中电脑PC使用,电脑文件越来越多需要保存,但单个电脑的存储容量会渐渐支撑不住使用量,公司或家庭就会需要文件管理存储服务器。这里给大家介绍一种实惠的方案:利用树莓派+移动硬盘搭建文件管理存储服务器。

准备工作:
1、T级移动硬盘
2、树莓派:加装TF卡安装好Raspbian系统,系统安装可参考之前的文章。建议使用电流稍大些的电源,这里使用3A的电源,移动硬盘需从树莓派USB口供电,如果电流太小连接移动硬盘后会带不动树莓派主机导致重启,也可使用外接电源的移动硬盘。

远程登录树莓派,就会发现桌面上有移动硬盘文件夹了,说明联接正常,打开后发现移动硬盘文件夹路径:/media/pi

接下来就是介绍这个移动硬盘文件夹如何与内部网络的电脑。
这里提供2个办法:
一、FTP协议(File Transfer Protocol,文件传输协议)
在树莓派里安装vsftpd,安装指令:apt install vsftpd ,安装后在PC电脑的资源管理器里地址栏ftp://树莓派ip,会提示输入树莓派的用户名和密码。

输入正确后显示文件夹会发现显示的是树莓派里/home/pi文件夹内容,说明说明FTP协议安装正确。

在不做树莓派vsftpd修改配置的情况,可以通过再建立软链接的方法,将移动硬盘的文件夹映射过来,指令案例:ln -s /media media

然后再PC里资源管理器里地址栏ftp://树莓派ip/media/pi,就会看到移动硬盘的文件夹。

二、SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议,这个共享文件夹的办法。
在树莓派里安装samba,安装指令:apt install samba。
安装后需要修改samba配置:sudo nano /etc/samba/smb.conf,在最后加入
[public]
comment = public storage
path = /media/pi/
valid users = pi
read only = no
create mask = 0777
directory mask = 0777
guest ok = no
browseable = yes
然后添加samba用户:sudo smbpasswd -a pi,输入设定密码
重启samba以生效配置:sudo samba restart
在PC电脑的资源管理器里地址栏:\\树莓派ip\public,会显示移动硬盘文件夹

最后,在PC电脑里我的电脑里可以用映射网络驱动器或添加一个网络位置的方法保存上述的移动硬盘文件夹。

这里推荐一个免费开源的FTP软件FileZilla,方便的传输文件。

辰匠科技:远程直播3D打印设计制作

之前已经介绍过利用树莓派+python+RTMP实现远程视频监控方案,这次结合3D打印案例给大家介绍。

先利用3D打印给树莓派制作一个外壳。这个外壳制作外形十分简单在4个安装位置对应制作M2.5的螺纹和孔,中间用铜螺柱和螺丝固定。

正好是我爷爷百岁生日之际,准备3D打印设计制作寿星的寿桃和葫芦。

利用之前的案例可以在辰匠斗鱼直播间:https://www.douyu.com/7310940
里观看打印过程。

3D打印出白模后修整上色

辰匠科技IOT:树莓派python-tkinter界面GUI编程

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。

Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序,可用import tkinter加载。

这里结合之前的opencv摄像头rtmp远程视频案例说明:
运行python文件,显示程序窗口。
窗口内显示摄像图片。

点击“RTMP”,会启动rtmp推流协议,在浏览器内打开我们之前的视频网页等几秒时间后会看到摄像视频

当点击“显示时间”,会看到在摄像视频里显示当前时间

当点击“去色灰度”,会看到在摄像视频里图像变灰没有颜色

当点击“运动捕捉”,会看到在摄像视频里对剧烈运动的内容标出红框,这里会将手表里的快速运动的秒表用红框标出。

这样就完成python-界面GUI程序制作,但遇到的问题,当程序运行时间长了视频会卡顿,大家可以来探讨下如何解决。

辰匠科技IOT:远程视频监控方案

辰匠IOT:远程视频监控方案 = 树莓派+USB摄像头+OpenCV+RTMP网络(Nginx)服务器

 一、云nginx服务器

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器

RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。

1、nginx 搭建 rtmp 服务器

apt install nginx

apt install libnginx-mod-rtmp

systemctl restart nginx

 

2、修改nginx配置

修改nano nginx.conf

添加内容:

rtmp {

server {

listen 1935;

chunk_size 4096;

 

application live {

live on;

record off;

notify_method get;

#on_publish http://127.0.0.1/rtmp/on_publish.php;

}

 

}

}

 

如需推流用户权限

(1)用on_publish.php配置推流用户权限

(2)nginx开放php配置

安装php:apt install php

安装php-fpm:apt install php-fpm

修改配置nano sites-enabled/default

提示:在安装PHP时有系统会安装apache,将apache与nginx的配置80端口区分即可

4、重启nginx

nginx -t 测试通过, nginx -s reload 平滑重启服务器。

或service nginx restart

 

二、树莓派运行python

OpenCV是计算机视觉中经典的专用库,其支持多语言、跨平台,功能强大。 OpenCV-Python为OpenCV提供了Python接口,使得使用者在Python中能够调用C/C++,在保证易读性和运行效率的前提下,实现所需的功能。

1、安装opencv

apt install python3-opencv

 

2、编辑python

利用opencv采集USB摄像头图像,利用ffmepg发出rtmp流媒体给nginx云服务器

 

3、运行python

4、检查流媒体

在PC用VLC打开网络串流

也可利用斗鱼等rtmp直播平台检查流媒体

这里以斗鱼为例:

申请主播帐号进行推流设置

打开直播房间链接

三、视频网页制作html

这里使用腾讯云 Web 超级播放器 TCPlayerLite

1、加载JS:TcPlayer-2.3.3.js

<script src=”TcPlayer-2.3.3.js” charset=”utf-8″></script>

<div id=”id_test_video” style=”width:100%; height:auto;”></div>

 

2、编辑html文件配置rtmp链接

<script>

var player = new TcPlayer(‘id_test_video’, {

“rtmp” : “rtmp://(视频流地址)”,

“live” : true,

“autoplay” : true,      //iOS 下 safari 浏览器,以及大部分移动端浏览器是不开放视频自动播放这个能力的

“width” :  ‘640’,//视频的显示宽度,请尽量使用视频分辨率宽度

“height” : ‘480’//视频的显示高度,请尽量使用视频分辨率高度

});

</script>

 

3、用浏览器打开

等几秒后显示流视频,通过观察延时几秒。