活着就是为了改变世界,难道还有其他原因吗?——乔布斯

       在2010年的时物联网连接数为8亿,而此时手机电脑等人与人通信的设备(非物联网联接)为80亿。但接下来的是,物联网连接数高速增长,而非物联网连接数仅有微小的增长,到 2020年物联网连接数达到11.7亿,而人联网连接数保持在10亿左右,这是物联网连接数首次超越非物联网连接数。预计到2025年,物联网连接数将增长到30.9亿,而人联网连接数仅有10.3亿,几乎原地踏步。

      在这里,移动互联网发展的时候,智能手机出货量超越PC意味着移动互联网用户数超过桌面互联网用户数,是移动互联网爆发的一个典型特征。爆发了很多新的公司,比如拼多多,滴滴打车等。自2011年底全球智能手机出货量首次超过了PC,意味着PC时代的霸主在移动时候风光不再。

     现在,物联网设备超越了人与人通信的设备,形成“物超人”的态势,下一个赚钱的机会,你想明白了吗?

01—物联网连接靠什么?

无线个域网WPAN:通信距离在数十米内的设备会采用蓝牙、Zigbee、Zwave等方式

无线局域网WLAN:通信距离在百米以内设备采用WiFi方式,称为;

广域网:通信距离较远的,有采用2G/3G/4G/5G/NB-IoT等蜂窝网络或非授权频谱的LoRa、Sigfox等方式。

采用蓝牙、Zigbee、WiFi等短距离通信的物联网设备都占据连接数的绝大多数份额,2020-2025年其比例基本稳定在70%以上,广域物联网设备仅占不足30%。

小米公开的2020年二季度财报显示,其物联网平台接入设备已达到了2.71亿台,同比增长了38.3%;涂鸦智能以一站式平台赋能智慧家庭、智慧社区、家电等领域,目前平台接入的物联网设备也达到数亿台。

目前我们可以切入的部分为智能家居和工厂的物联网(智能智造)

目前猫猫已经带领上百名学员打通了WEBAPI的调用,搞定了中间层的开发。如今要向物联网协议发起冲锋。VFP的无人区总要有人去逛逛的。

02—物联网协议MQTT

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。

MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

图片

03—MQTT的特点

发送有三种消息发布服务质量,至多一次,至少一次,只有一次

"至多一次",消息可能丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。这一种方式主要普通APP的推送,倘若你的智能设备在消息推送时未联网,推送过去没收到,再次联网也就收不到了。

"至少一次",确保消息到达,但消息重复可能会发生。

"只有一次",确保消息到达一次。在一些要求比较严格的计费系统中,可以使用此级别。在计费系统中,消息重复或丢失会导致不正确的结果。这种最高质量的消息发布服务还可以用于即时通讯类的APP的推送,确保用户收到且只会收到一次。

设备掉线还可以设置遗言,设备连接的时候,如果网络中断,服务器检测到设备掉线,即会发布设备的遗言。
其实用MQTT协议开发聊天功能也非常的简单,像PC端,小程序,APP,公众号网页都可以实现消息传送。

04—VFP实现的MQTT客户端

加菲猫经过几天的逆向分析及参考文档,终于实现了MQTT的调用,目前只实现了Publish的功能,调用非常简单。

oMqtt_client=NEWOBJECT("mqtt_client","mqtt_client.prg")oMqtt_client.connect("192.168.0.99",1883)
lccc=[{"title":"警报","text":"某某位置发生了一起火警信息"}]oMqtt_client.publish("alert/1",STRCONV(lccc,9))

目前我的MQTT架构如下

1 NODEJS服务端,如果设备连接有千万级,我就可以直接上物联网平台了。

2 VFP客户端

3 C#客户端

4 网站端

NODEJS成功接收到推送。

图片

网页端即会弹出消息。

图片

目前JS的跨平台,连物联网的开发版都可以跑JS了,VFP混合JS,大大扩展了系统的边界了。

更多推荐