基于小程序云服务与树莓派开发线上监控设备的研究

电子质量
2019年第11期(总第392期)
作者简介院杨杰(1988-),男,中级工程师,本科,
从事检验师工作。基于小程序云服务与树莓派开发线上监控设备的研
Research of On-line Monitoring Device Based on WeChat Mini Program Cloud Service and
Raspberry PI
杨杰,李庆杰(福建省产品质量检验研究院,福建福州350002)
Yang Jie,Li Qing-jie (Fujian Inspection and Research Institute for Product Quality,Fujian Fuzhou 350002)
摘要:移动互联网时代的来临,特别是随着无线网络速度的日益加快,基于互联网的远程监控、远程操作设备越发能够凸显其价值。此类设备的实现原理在于硬件本身能够连接互联网,与云端服务器进行数
据交换,并通过手机或电脑等设备进行远程查看与操作,因此需要搭建云服务器。然而对于非网络工程、计算机专业的开发者而言,搭建服务器的门槛与成本较高。而小程序拥有5GB 免费的云存储空间,如今更是开放了HTTP 的API 接口,各个平台只要能够发送Post 请求,均可与其进行数据交互,该文基于云存储,研究如何使用树莓派进行线上监控设备的开发。关键词:树莓派;云存储;小程序中图分类号:TP393
文献标识码:A
文章编号:1003-0107(2019)11-0045-05
Abstract:With the advent of the era of mobile Internet,especially with the increasing speed of wireless network,remote monitoring and remote operation equipment based on the Internet can increasingly highlight its value.The realization principle of this kind of device is that the hardware itself can connect to the Internet,exchange data with the cloud server,and remotely view and operate through mobile phones,computers and other devices.Therefore,it is necessary to build a cloud server.However,for non-network engineering,computer professional developers,the threshold and cost of building a server is higher.WeChat small program has 5GB free cloud storage space,and now it is open to HTTP API interface.As long as each platform can send a Post request,it can interact wit
h it for data.This paper studies how to use raspberry PI to develop online monitoring devices based on WeChat cloud storage.
Key words:Raspberry PI;Cloud Storage;Wechat Mini Program CLC number:TP393
Document code:A
Article ID :1003-0107(2019)11-0045-05
0引言
随着移动互联网的普及,
手机凭借日益强大的计算能力渐渐在日常生活中取代了电脑。硬件开发亦是如此,借助手机的无线通信能力,能够将其作为上位机远程控制设备并查看数据,同时大幅缩小设备体积与成本。然而无线通讯数据的云端部署是个难题,本文借助小程序,提出了一套完全免费且容易维护的云端数
据部署解决方案,并配合树莓派,实现了温升无线检测设备的研制。
1小程序云服务
1.1使用小程序云服务开发线上监控设备的优势
搭建一台Web 服务器有两种方式,购置服务器或
租用互联网公司的云服务器,前者一次性的投入较大,同时服务器常年在线需要耗费的电力以及维护成本较高,后者每个月最低的租赁费用数十元,另外还需要租赁域名、负载均衡等配置方可完成服务器搭建。同时成功搭建服务器并能够稳定、
高效运行更是需要较强的技术支撑,对于非专业开发者而言,门槛较高。同时远程监控、远程操作的硬件为保证数据更新延时低,通信数据通常十分精简,因此为其耗费巨大搭建一台容量过剩的服务器可谓大材小用。
小程序的云服务则很好地解决了以上几点需求,首先它拥有5GB 的免费存储空间,y 应对简单的数据传递需求绰绰有余,并且其通信延时低,可保证数据更新的时效性。其次它的API 调用十分简单,仅需设备端发送Post 请求,即可完成数据交互,且无需服务器维护,节约了成本,降低了开发门槛。同时该类设备的控制终端通常是手机或电脑,
手机端目前分安卓与苹果两大系统,小程序的出现能够很好地对二者进行整合,一次开发满足多平台的使用,开发门槛再次降低。1.2数据交互方式
与Web 服务器相同,向小程序云服务器请求数据同样是通过HTTP 的"Post 请求"实现。简单的Post 请求需要包含请求地址及请求数据,
如图1官方的开发文档所示,需要向数据库查询记录时,请求地址为"api./tcb/databasequery?access_token =ACCESS_TOKEN",其中的"access_token"为接口调用凭证,获取的方式为发送get 请求至"api./cgi-bin/token?grant_type=client_credential&appid=AP PID&secret=APPSECRET",其中的"APPID"与"APPSEC RET"是分配给每个小程序的ID 与秘钥,可登陆微
信小程序的控制中心查看。
图1小程序云服务器数据库查询记录的请求方式
请求数据为JSON 字符串,包含两个变量:"env"与"query","env"是environment 的简写,代表该程序对应的云环境的ID,如图2所示,标题栏处的"当前环境eqp-14a8fd"即云环境ID,若要请求该环境下的数据,将"env"赋值为"eqp-14a8fd"即可。"query"指的是数据库
的操作语句,其主要基于小程序本身的一套编程语言,如需请求"Equipment"集合下,id 为"5c55676d18de16b0623e0505"的词条,
代码为""query":"db.collection(\"Equip ment\").where({_id:5c55676d18de16b0623e0505}).get()""。
电子质量
2019年第11期(总第392
期)
图2小程序云服务器数据库可视化管理窗口
小程序云服务器另一大优势在于拥有可视化的管理程序,如图2所示,开发者工具中打开云
开发,即可进入该界面,可直观地对每个数据进行查看与编辑。与非关系型数据库MongoDB 类似,其使用JSON (JavaScript Object Notation)进行数据存储,
没有行列的概念,
以{"a ":"b ","c ":"d "}的格式存在,表示变量"a "的赋值为"b ","c "的赋值为"d "。此类数据不受行列词条限制,自由化程度高。对于本文讨论的远程监控与远程操作的设备而言,非关系型数据库在操作过程中能够随时增、减变量或修改其赋值,可更好地满足需求。1.3小程序数据请求
上文提到,若将手机作为终端控制硬件,需要配套的手机软件提供支持,而小程序能够兼容目前主流的两个智能手机操作系统,且体量小,手机无需预装软件即可随时运行,配合其数据库,对于本文讨论的线上监控设备的研发十分合适[1-2]。
小程序与其云存储数据交互使用的数据库操作语句,即前文提到"query"代码,如图3所示,该代码通过正则表达式对"num"进行模糊搜索,并获取结果。
图3小程序访问数据库代码示例
2树莓派
2.1树莓派介绍
传统制作嵌入式硬件开发较多选用51单片机与STM32单片机,本文之所以选择树莓派进行研究,是因为树莓派对比单片机具备以下几点优势:
(1)树莓派系列可安装可视化Linux 操作系统,连上键鼠与显示器,即可直接搭建一台Linux 微型电脑,操作直观,代码编写容易;
(2)树莓派可通过Python 语言进行编程,以实现对其所有引脚的控制,以及与后端服务器进行无线通信,Python 语言相比C 语言学习门槛低,更加直观,十分适合非编程专业的初学者开发学习[3];
(3)树莓派集成WIFI 模块,无需另外搭建,且系统内可十分直观地开启WIFI 并联网,对于本文研究的无线通信功能的实现十分友好;
(4)如图4可见,树莓派集成了许多扩展组件,可外接USB 设备、显示器、摄像头等,同时引脚十分丰富,为设备的后续功能开发与创新提供了充分的想象空间;
(5)对于本文而言,最关键的在于硬件需要向服务器发送"Post 请求",上文已经介绍,小程序云端存储的是JSON 的数据,Post 请求、接收的同样为JSON 数据,而C 语言本身不支持JSON,需要复杂的格式转换,树莓派内置的Python 是少数原生支持JSON 的语言之一,无论是变量的赋值、请求的发送以及接收数据的处理都会
十分简单。
图4树莓派Zero
树莓派虽然较单片机成本略高,但也不过百元,性价比高。
2.2树莓派能够实现的控制
如图5所示,树莓派拥有40个引脚,其中有3.3V 直流电源、5V 直流电源、接地引脚、29个GPIO 引脚,SPI 通信引脚、I 2C 通信引脚等,目前能够实现的各类传感器,如温湿度、压力、声音、光线、火焰、烟雾、超声波、重力等等树莓派均可进行扩展,
且由于支持各种通信协议,
能够与之配合的芯片更是不胜枚举。树莓派在国内外均有专业的学习、交流平台,网络上有大量精彩的开发案例可以借鉴学习,硬件开发的想象空间巨大。2.3树莓派发送Post 请求
树莓派内置Python 开发环境,通过Python 发送"Post 请求"核心仅需一条代码,
即"response =requests.post(post_url,post_data)"。其中"post_url"为Post 请求的地址,即前文介绍的小程序云服务开放的地址,"post_data"为请求数据,以JSON 字符串形式发送,其中
需要包含"env"与"query"两条数据,即{"env":"ENV","query":"QUERY"},最终请求返回的数据赋值给变量"response"。
图5树莓派引脚图
相比于微软旗下的各大编程语言,如C 语言、C#、VB 等,Python 对于JSON 数据的处理以及Post 请求的发送、接收代码十分简单,开发难度较低,
运行稳定。3项目实例
简单介绍基于本文研究的原理,
制作的一台小型温升线上监控的设备,通过实例说明该方案切实可行。
该设备通过树莓派Zero 与MAX6675测温模块配合,两者通过SPI 接口进行通信,相连的电路板原理图如图6所示,实际焊接完成的设备如图7所示,区别于常规温升测量设备,其无需显示装置,且"监控"相较于"测量"精度要求略低,因此体积小巧,在不适合检验员长期停留的试验现场远程监控设备温度,有效地保障了试验安全,
延长设备的使用寿命。
图6树莓派与MAX6675测温模块连接的电路板原理图
电子质量2019年第11期(总第392期)
图7线上温度监控设备
设备采集到的温度数据通过无线网络发送至小程序云服务器,最终通过手机端小程序读取数据,界面如图8所示。
图8温度查询界面4结语
经过本文的研究可知,小程序的云服务器为移动互联网时代的远程监控系统的研发提供了零成本、低门槛的云存储环境,对于成本预算有限,想要进行此类设备研制的非互联网专业人员十分友好。同时以树莓派作为硬件设计的核心,虽然其商用价值有限,但作为设备科研仍有很大的开发潜力,其内置的Python语言已然成为如今最流行的嵌入式开发语言,两者结合相信能够为远程监控、操作的硬件开发提供丰富的想象空间。
参考文献:
[1]孔文静.学术期刊小程序的开发策略[J].青年记者,2019,(15):60-61.
[2]薛欢雪.互联网生态下基于信息管理的小程序新探[J].图书馆学研究,2018,(9):80-83.
[3]付馨慧,石子昊,夏佳宁.基于树莓派和Python的动态
资源监测系统[J].信息与电脑(理论版),2019,(9):81-82.

本文发布于:2024-09-20 12:24:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/87654.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序   设备   开发   微信   服务器   请求   数据   树莓
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议