微信小程序支持跨端运行,如何通过小程序控制硬件设备?
早在 2016 年底的微信公开课 Pro 上,张小龙在第一次向公众介绍小程序时,就阐述了小程序其实是面向下一代互联网的产物:十年以后智能眼镜可能会是我们日常使用的设备,我更加希望的是眼镜里面不要再给我一些安装应用程序这样的过程,因为那个是很不自然、很不方便的,我更加希望我的眼镜看到哪里,相关的应用程序就到哪里。
微信小程序硬件框架是什么?
微信小程序硬件框架 (WeChat Mini-Program Framework) ,又被简称为 WMPF,这套运行环境可以让硬件终端脱离微信客户端运行微信小程序。这是怎么实现的?我们知道,企业微信上已经可以运行微信小程序,这背后是微信技术团队重构了微信客户端小程序模块,解耦出了独立的小程序硬件框架 SDK,开发者的小程序因此得以通过同一套代码运行在企业微信端。最新发布的微信小程序硬件框架和过去的小程序硬件框架 SDK 有所不同,它并不是以 独立 SDK 的形式存在,而是包含了小程序硬件框架 SDK 和安全加固模块,以「壳 app」的形式存在。小程序硬件框架技术负责人解释,这主要是基于安全的考虑,第三方客户端可能包含不可控的风险模块。
如果说常州开发微信小程序公司要开发蓝牙应用,或者说你作为爱好者需要用蓝牙来控制东西,那么你怎么去控制蓝牙设备呢?按照传统来说,你只能开发手机APP了,因为手机有蓝牙功能直接编写出来的APP自然有能力去调用手机自身的硬件。但是如果你以前就没接触过手机APP的开发,这个时候你绝对化抓瞎,因为学习曲线太陡你的投入产出根本就不会形成正比,另一方面如果我们只是简简单单的为我们自己的diy项目提供一个控制的界面直接去写一个APP那其实也是杀鸡用牛刀,这个时候你就必须要使用小程序进行蓝牙的开发了。由于篇幅限制我不能铺垫太多东西,这里罗列一下软硬件及开发环境:硬件使用ESP32开发环境为arduino,小程序开发环境为uniapp开发语言为vuejs。
首先,我们来研究一下蓝牙的硬件方面,市面上有很多蓝牙芯片,但是在我的元件库中只有一个ESP32开发板,这个芯片挺有意思既有wifi也有蓝牙,同时蓝牙更是BLE低功耗蓝牙版本为蓝牙4.0。
小程序硬件框架可以为硬件开发者带来直接的价值。过去,常州硬件开发者需要自己定制开发软件,如果想要接入更多的服务,则需要以 app 的方式,进行专门的开发,并持续维护更新。小程序硬件框架则让开发者的开发、维护成本大大降低,开发者无需再投入高成本,对 app 作维护更新,因为小程序可以直接联网云端更新。更显而易见的好处是,微信小程序生态中已经有非常丰富的内容和服务,硬件开发者需要更多服务时,可以直接对接合适的第三方服务,微信提供了在后台通过绑定小程序 appid 的方式,直接绑定更多小程序的解决方案。
原文地址:https://www.cnblogs.com/kate001/p/15071267.html
- ECMAScript 6入门 - 变量的解构赋值
- 二叉排序树 python实现
- ES6新特性概览
- 数据结构-顺序表的定义及python实现
- 洛谷P1516 青蛙的约会
- python实现二叉树的创建和遍历
- python中numpy模块下的np.clip()的用法
- Leetcode-Easy 543. Diameter of Binary Tree
- Leetcode-Easy 572. Subtree of Another Tree
- 图解javascript this指向什么?
- 2017/6/8-python正则表达式的使用
- 洛谷P1306 斐波那契公约数
- Angular开发实践(二):HRM运行机制
- Angular开发实践(一):环境准备及框架搭建
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python第四十九课——对象序列化与反序列化
- python第五十课——多态性
- python第五十一课——__slots
- Linux系统安全配置iptables服务介绍
- ThreadLocal企业中真实应用
- python第五十二课--自定义异常类
- python第五十三课——time模块
- 从亲身经历谈谈如何用Git分支解决项目生产实践中的痛点
- mysql数据库基础命令(一)
- Linux系统Logrotate服务介绍
- python五十四课——datetime模块
- python五十五课——calendar模块
- python五十六课——正则表达式(常用函数之match)
- python五十六课——正则表达式(常用函数之search())
- python五十六课——正则表达式(常用函数之findall)