小程序扫码原理_扫码收集信息的小程序

(100) 2024-06-19 07:01:01

硬件通信分析

  • 📚前言
  • 📚场景应用
  • 📚平台选择
  • 📚技术分析
    • 📕AMPE 架构
  • 参考资料

📚前言

当我们体验到生活中,小程序所带来的便捷,不仅在想这样的技术是如何实现的,面对官方软件对小程序开发的网络段限制,如何规避这种限制完成硬件通信呢?

这篇文章会分析方通科技是如何用支付宝扫码来实现与学校公共设施的饮水机进行连接的(主要针对软件设施进行分析)。

📚场景应用

想必大部分学校每个宿舍楼的楼层都会有一两个大型饮水机,以满足同学们日常开水的需求。

以前在学校我打水都是通过插入一卡通到饮水机里面进行打水,这种方式打水非常不方便,如果卡掉了我还要去补卡,补卡所带来的损失足以够我打三个月的热水。

因此急切希望学校的饮水机可以实现用手机也可以打水的功能,没想到今年学校的饮水机实现了这种功能(如果学校给每个宿舍配套热水就更加好了😌😌)。

现在我只需要带个手机就可以完成热水打取的操作,在等待打水中可以刷刷 B 站,主要是没有了忘记带卡或卡掉了的烦恼。

📚平台选择

就在我为这种技术所带来的便利而感叹时,同时在思考一个问题,如果是我接到这种需求如何实现手机进行连接而且不需要安装额外的软件?

现在大学生普遍都会选择线上支付的方式,线上支付的方式大部分都是使用支付宝和微信。

那么在不用下载额外软件的前提下,可以采用小程序的方式。

小程序的平台可以选择支付宝或微信,为什么我没有将抖音和B站这些平台考虑在内,很简单因为大部分人都会将钱存在支付宝和微信上面且像抖音和B站这些平台并不支持线上支付普及率也不高。

通过这篇文章 王涛:手机支付深度绑定生活,线下支付用户规模突破5亿 你可以了解到在 2019 年之前大概有百分之七十人使用线上支付,现在都到了2023年且加上疫情当下选择线上消费的人只会越来越多,而选择线上支付就意味着都会安装支付宝或微信进行消费。

开发平台我大概清楚了如何去选择,接下来就是去分析如何用小程序实现硬件连接。

📚技术分析

如果你看过我写的这篇文章【调试模式】微信小程序和华为开发板通信大概能了解到通过小程序直连硬件是可行的,但是其配置非常麻烦,再加上微信小程序网络段的限制。

学校这个饮水机由方通科技提供,而方通科技通过加盟企鹅科技来实现扫码控制功能,因此我通过企鹅科技官网找到了学校用的硬件设备为【企鹅物联通讯模块】里面的蓝牙水控盒。

我原本希望能找到企鹅科技一些技术分享,结果发现没有任何资料参考,竟然企鹅科技是使用支付宝平台,那么支付宝开发平台可能会有介绍,果然还真被我找到了。

📕AMPE 架构

小程序扫码原理_扫码收集信息的小程序 (https://mushiming.com/)  第1张


AMPE架构

AMPE 服务端由支付宝提供技术支持,如果希望使用这项功能就需要去官网申请接入,当然这项服务只有企业才可以申请。

AMPE 客户端由设备厂商提供,也就是说我通过扫描硬件二维码进行连接后跳转的界面,是由设备厂商自行或找提供相关技术支持的软件公司设计的。

小程序扫码原理_扫码收集信息的小程序 (https://mushiming.com/)  第2张
我比较好奇的是为什么通过扫码可以控制饮水机出水?

这就不得不提到通过API来实现硬件通信了。

小程序扫码原理_扫码收集信息的小程序 (https://mushiming.com/)  第3张
当我扫描蓝牙水控盒上面的二维码后,可以看到它会跳转到相应的页面,也就是说不管你身在何方都可以通过这个二维码来连接到饮水机(为了防止你好奇去扫描这个二维码,我加了一些马赛克)。

如果我点击 立即使用 按钮时,那么会有一个 API 请求发送给服务器,服务器根据机器的SN号和你的身份识别码,去激活硬件。
小程序扫码原理_扫码收集信息的小程序 (https://mushiming.com/)  第4张
通过上面这张图,在第三步可以看到客户端发送激活设备的请求(也就是我按下 立即使用 的按钮),服务端也会返回一个相应的响应给你。

那么服务端又是如何与硬件进行通信的呢?

这就是通过硬件里面集成了AMPE环境,可以通过官网提供的体验来测试一下【下载】。

如果想了解服务器是如何与硬件通信的可以看这篇文章 服务器与客户端的通信。

如果你是无意刷到这篇文章并看到这里,希望你给我的文章来一个赞赞👍👍。如果你不同意其中的内容或有什么问题都可以在下方评论区留下你的想法或疑惑,谢谢你的支持!!😀😀

参考资料

  1. 自助洗衣新体验,预约无忧更便捷
  2. 微信_WMPF 技术原理
  3. 支付宝_AMPE 技术原理
  4. 支付宝小程序引擎服务
  5. 小程序硬件框架(WMPF)的出现大大降低了开发成本
THE END

发表回复