WRTnode 创始人 罗未
一、物联网技术现状
1. 碎片化
操作系统不少于50种芯片、开发框架众多2. 结果
碎片化造成的人员体系封闭、行业进展慢。二、技术观念的转变
软件定义物联网,形成技术产业链划分,行业进一步细分。快速交付行业角色划分统一的知识体系能够使用前人完成的成果或体系1. 大厂商
操作系统
ZephyrLiteOS (华为)mbedOS (ARM)脚本语言引擎
JerryScript(三星)开发者服务
ARMmbedTMIoT设备平台2. 创业公司
面向场景和交付的物联网ISV硬件模块,如庆科、汉枫等基于通信的模块开发者服务三、 开发者要关注哪些事
物联网技术架构
1. 大前端
JavaScript2. 新后端
MQTT OTA3. 设备端
物联网芯片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);}});
五、供应链工程
与传统软件工程的区别,是要交付硬件。