LOT 前端物联网——古茗
什么是物联网
一句话定义
将普通设备连接上局域网,形成一个整个网络,实现与人的交互。
使用我们熟悉的互联网来理解物联网
互联网的应用基本上只有大前端和后端两块,而在物联网里,后端增加了固件升级、时序数据、长连接等。底部增加了设备端,设备和后端进行通过 https、websocket(MQTT)进行通信,设备端内置 WIFI、蓝牙等通信模组,与后端进行通信,设备计算环境是对各个模组进行控制和数据处理,在上面的示例中就是树莓派。传感器数据采集是对环境中的数据进行处理。
物联网的四层模型如何解释
物联网的四层模型分为:感知 && 设备层、网络层、平台层、应用层。其中每一层的功能如下:
- 感知 && 设备层:有的物联网有感知层,有的物联网只有设备层,有的两者都有,感知主要的作用就是采集物理世界的数据,比如通过温度传感器,获取当前的温度,通过人体传感器,获取当前是否有人经过。设备指的是物联网中的设备实体,比如智能灯泡,智能空调等,感知设备也是属于设备的一种特例。
- 网络层:网络层主要功能是传输信息,将感知层和设备层中的数据传到指定的地方
- 平台层:平台层可以理解成物联网的大脑,平台层主要的内容包括设备接入、设备管理、消息通知、监控运维、设备管理、安全管理等。
- 应用层: 物联网最终的目的,将设备端收集的数据进行处理,提供给业务方,同时应用层也可以作为设备指令的接收方,并将指令往下传递;
前端怎么玩物联网
1. 用 Node 写物联网代码的几种方式
用 Node 调用 C 或 C++ 模块
Node 中使用应用二进制接口(Application Binary Interface )来实现与 C 和 C ++ 的通信的,特指应用去访问编译好的二进制程序,是 Node 与 C、C+ + 通信的桥梁。而在 ABI 上层,是使用 Native Addon 进行加载二进制的文件,让二进制文件的内容可以通过 require 的方式导入,因为他会在暴露出 module.exports 或 exports 对象。类似于如下所示:
而在 C++ 代码中,实现如下:
我们在使用温湿度传感器的项目中,使用的是这种方式:
用 Node 开发 GPIO 接口
GPIO (General-purpose input/output),通用型输入输出,用于电信号在模组中的输入输出,在树莓派中的 GPIO 接口如下所示:
从左到右,从上到下,左边奇数,右边偶数:1-40,GPIO 中的接口分为以下几类:
- 供电接口:有 5v 和 3v 的电压供电接口,为模组提供电力;
- 编程接口:有 GPIO xx 带数字的接口,用来与模组进行通信;
- 接地接口: Ground 接口,用来给模组接地使用
我们在进行开发中,只需要将模组的电源接口、编程接口、接地接口接上,然后使用添加 pigpio 依赖,
yarn add pigpio
便可以进行 GPIO 编程:嵌入式内嵌 V8 引擎
github.com/jerryscript… 是三星开发一个开源的物联网运行引擎,采用了 V8 进行裁剪,并针对低内存消耗进行了优化,支持 160k 的内存,让 Node 真正的跑在嵌入式设备中。但是这个方式也有问题:
- 代码只支持 ECMAScript 5.1;
- 开发人员进行很大的裁剪,但是运行时和 C 相比性能还是比不上,导致硬件成本太高;
- 编译复杂;
国内也有一家厂商使用 javascript 作为设备的运行时:ruff.io/zh-cn/,由周爱民(《JavaScript 语言精髓与编程实践》作者)大佬创办,但是可能是因为硬件成本高,在商业化层面不太成功。
Node 转义成别的平台代码
国外对于 Node 转义成别的平台开源的方案较多,而且有些方案也挺成熟,比如:johnny-five.io/,从 2012 年开始深耕物联网平台,开源的仓库有 12 k start,而且该开源项目还支持机器人,实例特别丰富,对于新手来说很友好,建议从这个方面入坑。
2. 了解常见的硬件
传感器
- 温度传感器:将环境中的温度转变成电信号
- 湿度传感器:将环境中的湿度转变成电信号
- 人体传感器:检测是否有人通过,通过与否返回不同的电信号
- 光传感器:将光信号转变成电信号
微处理系统
- MCU:英文(Microcontroller Unit),微控制单元,将 CPU 适当的裁剪,并将内存、USB、LCD 驱动电路集成到单一芯片中,形成芯片级的计算机,特别常见。
通信
- 蓝牙模组:支持设备进行蓝牙通信
- WIFI 模组:支持设备间通过 WIFI 接入和通信
- GPRS 模组:支持插入 SIM 卡进行联网
总结
传感器相当于人的耳朵和皮肤,负责感知外界的数据和信息,MCU 相当于人的大脑,负责针对信息的处理,通信模组相当于人的嘴巴和手,负责对外进行通信。
古茗物联网怎么玩
古茗的主营业务是在餐饮行业做奶茶,对于餐饮行业,成本主要来自于三个方面:
- 店租
- 原材料
- 人力成本
对于店租,跟位置和人流量强相关,所以如果选择店租便宜的位置,会带来人流量的减少,进而减少成单量。所以这一块可以理解成是固定成本,很难降低。
对于原材料,目前全球通货膨胀,原材料在上涨,而且即是是未来原材料成本降低,古茗通过规模优势来提高与供应商的议价能力,进一步降低成本。但是这一块的成本降低的边际效益是递减的,而且原材料的成本降低有可能会带来品质的下降。
对于人力成本,目前古茗前台加后厨,普通店大致在 6 人左右,面积大一点的店在 8 人左右,旗舰店在 12 个人左右,而且人员需要三班倒,所以人力这一块对于门店来说成本异常的高。而通过给门店配备机器,去一点一点的让机器去做人需要做的事情,进一步解放人力。而对于最终的情况,应该是门店的设备都通过门店的边缘网关,将门店的设备统一连接和调度起来,进行奶茶的制作。其整体的结构如下图所示:
Loading...