您的位置:首页 > 大数据 > 物联网

CSDN物联网学习1 现代物联网应用系统构架与技术栈

2017-07-01 09:41 232 查看
WRTnode 创始人 罗未

一、物联网技术现状

1. 碎片化

操作系统不少于50种

芯片、开发框架众多

2. 结果

碎片化造成的人员体系封闭、行业进展慢。

二、技术观念的转变

软件定义物联网,形成技术产业链划分,行业进一步细分。

快速交付

行业角色划分

统一的知识体系

能够使用前人完成的成果或体系

1. 大厂商

操作系统

Zephyr

LiteOS (华为)

mbedOS (ARM)

脚本语言引擎

JerryScript(三星)

开发者服务

ARM

mbedTM

IoT设备平台

2. 创业公司

面向场景和交付的物联网ISV

硬件模块,如庆科、汉枫等基于通信的模块

开发者服务

三、 开发者要关注哪些事

物联网技术架构

1. 大前端

JavaScript

2. 新后端

MQTT

OTA

3. 设备端

物联网芯片

MT7697,MT7688,ESP32

四、WRTnode实践

以JerryScript为基础的开发框架,移植到各个硬件平台。



有LED、紫外探测、马达等硬件。

代码写在服务端:

var gpio = require('gpio'); //gpio库,用于GPIO的相关操作
var extint = require('extint');//外部中断库 传感器输入的数字状态需要使用这个库
var pinmux = require('pinmux');//引脚复用库
var rgbled = require('rgbled');//板载 RGB灯库
var mqtt = require('mqtt')//MQTT库,实现内部MQTT的数据传输

rgbled.set(0,0,255); //上电初始化RGB灯为蓝色

var sensorpin = 6;//传感器的数字引脚
var motorpin = 30;//马达的引脚
var pin = gpio.open(sensorpin);
pin.direction('in');

var motor = gpio.open(motorpin);
motor.direction('out');

pinmux.set(sensorpin, 3);
pinmux.set(motorpin, 8);

var eintno = extint.pin2eint(sensorpin);
print('eintno: ' + eintno);

extint.init(eintno, 'both_edge', 10)
handler = extint.register(eintno, function(){
if (pin.read())
{
print('pin: ' + sensorpin + ' rising');
rgbled.set(100,0,0);
motor.write(false);
mqtt.push('status',1);
}
else
{
print('pin: ' + sensorpin + ' falling');
rgbled.set(0,100,0);
motor.write(true);
mqtt.push('status',0);
}
});


五、供应链工程

与传统软件工程的区别,是要交付硬件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: