
本帖最后由 点点&木木 于 2019-4-12 09:19 编辑 “Zerynth IoT Notes打印机”试图为日常通信创建一个可移动的媒体。 ![]() 这个项目中使用的东西 硬件组件 STM32 Nucleo ST Nucleo × 1 Arduino × 1 Adafruit热敏打印机 × 1 Adafruit CC3000 wifi屏蔽 × 1 容器 × 1 手动工具和制造机器 钻头 钢锯 “ Zerynth IoT Notes打印机”试图为日常通信创建一个可移动的媒体。 感谢Zerynth应用程序,您可以编写短信并将其发送到使用Zerynth Studio编程的小型热敏打印机,并通过微控制器和Wi-Fi芯片连接到网络。 第1步:为什么创建这个项目? ![]() 物联网时代的技术压力 我们始终颂扬物联网的优点和益处,梦想着一切都与网络相连并能与我们互动的未来。 然而,进一步扩大想象力并不难看出灾难情景,人类处于电子设备的枷锁之下,并且永远存在着一种通知焦虑。 事实上,互联网和社交网络的发展已经“被迫”采用一种新的沟通方式,或许比以往任何时候都更有效,但肯定会更加紧张。 由于电子设备传递的过多和同时的信息导致的“技术压力”的这一状况,甚至列在新的职业病中。 由于与计算机,平板电脑,智能手机的连接和持续交互,经历了过多的信息和刺激造就了技术压力的受害者。 此外,通知表明某人或某事正在考虑我们。每当我们收到消息,电话或电子邮件,都让我们想迫切地看到它是什么,这导致我们兴奋和焦虑的状态。 那么我们如何才能保护我们免受技术压力? 也许最极端,但肯定更有效的方法是技术禁食。即我们应该“关机”,注销。从这个背景出发,便有了基于STM32的IoT Notes打印机的这个项目的诞生! 第2步:Zerynth IoT Notes打印机 ![]() ![]() 想象一下,如果所有日常通知(大多数无用且不必要的)被收集在一起,可能会被打印在纸上(黄金旧纸),并且仅在晚上或在地铁上时向我们显示,可以避免多少压力。 这样就可以充分利用“死时间”,而不会浪费宝贵的时间来延长智能手机的电池寿命。 Zerynth使这成为可能。“ Zerynth IoT Notes打印机”试图为日常通信创建一个可移动的媒体。感谢Zerynth应用程序,您可以编写文本消息并将其发送到使用Zerynth编程的小型热敏打印机,并通过微控制器和Wi-Fi芯片连接到网络。 免责声明 好的,在这一点上,我应该成功地说服你了解项目的实用性。如果你仍然问:“但我为什么要打印从智能手机发送的短信?”,老实说,我能给出的最佳答案是:“这很有趣”。 此外,通过这个简单的项目,我们可以展示Zerynth和Zerynth应用程序的潜力。 第3步:所需材料 ![]() ST Nucieo ![]() Arduino ![]() Adafruit CC3000 wifi屏蔽 ![]() ![]() 热敏打印机 该项目非常简单,只需要很少的元素。 首先,您需要Zerynth Studio (可在http://www.zerynth.com/zerynth-studio/获得)。 Zerynth是一个易于使用的开发套件,用于为云和物联网准备的交互式对象的高级设计。借助Zerynth的创意,设计师和专业人员可以使用Python开发Arduino DUE,ST Nucleo,Particle Photon和大多数ARM 32位微控制器系列,使用典型的PC和移动编程范例和功能。 在这个项目中,我们还将看到如何使用Zerynth应用程序(http://bit.ly/ZerynthApp ),它允许您通过移动设备控制“虚拟化”对象,而无需为每个项目开发特定的Android应用程序。 转到硬件方面,对于这个项目,您需要Zerynth支持的其中一个板,例如ST Nucleo 或Arduino Due 。 显然,你需要一个将电路板连接到互联网的元素,例如Adafruit的Wi-Fi屏蔽。但是,您可以使用任何其他适配器安装wifichipCC3000 Texas Instruments(ttp ://www.ti.com/product/cc3000 )。 然后需要一个可以打印的设备。也称为收据打印机,它们就是您在ATM或杂货店看到的。该打印机非常适合与微控制器连接,您只需从微控制器获得3.3V至5V TTL串行输出,即可打印带有任何格式,条形码,位图图形甚至QR码的文本。 你还需要: 非常常见的2.25“宽热敏纸 5伏到9伏稳压直流电源,可提供1.5安培电流 2.1毫米插孔适配器,可以连接到打印机的红色/黑色线 最后你需要一个漂亮的容器来放置它。重要的是它必须足够大以容纳板并且不难钻(注意你必须在顶部练习一个孔以容纳热敏打印机!)。 第4步:组装电路 ![]() 打印机的RX-TX引脚必须连接到微控制器上选择的串行端口的TX-RX引脚。代码中使用的串行端口(见下文)是“Serial1 ”,位于ST Nucleo 中Morphos接头的D24和D25 引脚。 第5步:“虚拟化”打印机 ![]() 在VIPERA创建一个新项目 ![]() 在VIPER中将项目添加到项目里 ![]() 发送viperized对象 ![]() 使用Zerynth非常简单! 正如您在第一张图中所看到的,它只需要两个步骤: 点击“ 浏览项目” 按钮 点击“ 新项目” 现在只需使用项目标题和可选说明填写字段即可。Zerynth还允许您插入标签。这样可以更轻松地在搜索旧项目时过滤结果。 通过单击“创建”按钮创建项目后,我们将有一个空白文本编辑器来复制main.py中的代码,主要文件是用Zerynth/ Python语言编写的程序逻辑。 您需要使用要连接打印机的WiFi网络的名称和密码编辑SSID_WiFi 和PWD_WiFi 。 要与Zerynth App进行交互,您需要将另一个文件添加到项目中。它是一个HTML 文件,用于定义具有特定App的界面。 要向项目添加文件,只需单击“ 当前项目”,然后单击“将文件添加到项目”,最后在“创建”按钮上命名文件(“ template.html ”)后,如第二个图所示。 我们将再次有一个空白字段来复制代码,该代码在HTML5(以及通过库jQuery Mobile )App 的界面中定义。 为了更好地了解通过Zerynth应用程序开发接口的功能和理念,请参阅此地址中的示例:http ://www.zerynth.com/zerynth-app/ 此时,您必须编译脚本并将其上载到电路板。打开打印机后,这将自动连接到预设网络。 然后打开Zerynth应用程序,它将搜索连接到网络的“虚拟化”对象,选择感兴趣的对象(在这种情况下,当然是“Zerynth物联网打印机备注”),您可以与打印机进行交互! 代码有很多注释,应该很容易理解。 第6步:添加更多功能 ![]() TOI盾 有一个与Zerynth密切相关的硬件设备:Zerynth Shield:http ://www.zerynth.com/zerynth-shield/ 它是一个多板屏蔽,提供一组传感器和执行器,包括用于触摸检测的传感器,红外LED,麦克风,光传感器和温度传感器。将ZerynthShield添加到打印机将扩展其功能,也许您可能能够创建一个非常有用的设备。试试怎么样? 原理图 ![]() 代码 ################################################################################ # VIPER IoT Notes Printer # # Created by VIPER Team 2015 CC # Authors: G. Baldi, D. Mazzei ################################################################################ # import everything needed import streams from drivers.thermalprinter import thermalprinter from wireless import wifi from drivers.wifi.cc3000 import cc3000_tiny as cc3000 # and also import the viperapp module from libs.apps import viperapp p = thermalprinter.ThermalPrinter(SERIAL1,19200) s=streams.serial() # save the template.html in the board flashwith new_resource new_resource("template.html") # connect to a wifi network try: cc3000.auto_init() print("Establishing Link...") wifi.link("SSID_WiFi",wifi.WIFI_WPA2,"PWD_WiFi") print("Ok!") except Exception as e: print(e) def printMessage(msg): p.print_text("VIPER\n",justification="c", style="b") p.print_text("www.viperize.it\n\n",justification="c", style="b") p.print_text("Take me!\n",justification="c", style="b") p.print_text(msg) p.print_text("\n"*2+"*"*20+"\n"*3,justification="c") #### ViperApp Setup # :: Javascript to Python :: # the following function will be calledwhen the template button is pressed def show_message(msg): print(msg) printMessage(msg) # configure the viper app with a name, adescripton and the template url vp = viperapp.ViperApp("Viper IoT Notes Printer","Print yourmessage!","resource://template.html") # everytime Javascript generates the event"showmsg" the function show_message is called vp.on("showmsg",show_message) # run the ViperApp! vp.run() # since vp.run starts a new thread, you cando whatever else you want down here! |
点赞 |