物联网通信服务平台的MVP设计

1. 整体目标

MVP(最小可行化产品)用于演示产品基本功能,具备完整的用户使用流程。目的在于让目标用户和投资人了解产品的基本使用,获得对产品的整体功能认知。

2. 基本功能

用户利用平台提供的硬件搭建一个自动感应灯系统,即当光线过暗时,自动点亮灯,同时可通过手机端设置光线感应的阈值等参数,并可手动点亮灯。

3. 包含模块

  • 光线传感器
  • LED灯及驱动电路
  • 执行模块
  • 数传通信模块(成对)
  • 网关
  • 云端服务(iot平台、函数计算、表格存储、任务模块等)
  • 用户控制台

4. 执行模块

4.1 组成

  • 模拟量输入
  • 数字量输入
  • IO输出
  • I2C预留
  • 串口(1路用于下行,1路用于上行)
  • 电池仓
  • 开关

4.2 流程

  • 每隔5秒钟采集传感器数据并通过上行串口转发
  • 监测下行串口的数据输入并通过上行串口转发
  • 监测上行串口的数据,根据数据内容决定转发至下行串口或操作IO输出

4.3 协议

  • 协议头,1字节,0xAB
  • 模块ID,4字节,大端模式
  • 功能码,1字节,上行0x01,上行0x02
  • 数据通道,1字节,0x00 ~ 0x0f为模拟量,0x10 ~ 0x1f为数字量,0x20 ~ 0x2f为IO输出,0x30 ~ 0x3f为下行串口
  • 数据区长度,1字节,0~20
  • 数据区,N字节
  • 校验码,1字节,前面所有字节相加后&0xff
  • 结束符,1字节,0xCD

4.3.1 传感器

传感器的值,默认为4个字节表示的float型,特殊传感器另行约定。

4.3.2 IO输出

IO输出采用1字节表示,00 表示断开,01 表示接通。
当首次上电时,执行模块上报一次当前IO的输出状态;
云端下发控制命令时,一次下发一个IO输出状态;
执行模块响应完云端下发的控制命令后,应立即上传本次执行的IO输出状态。
举例:某个类型的执行模块,具备1个IO输出。上电后,执行模块上报当前IO状态为 00;云端下发命令使能该IO输出,执行模块响应后,上报最新状态为 01

4.4 设计

4.4.1 执行模块电路板

示意图(不完全)
  • MCU
  • 数字端口 *3
  • 模拟端口 *1
  • 继电器输出,无源
  • UART 端口1,用于上行通信
  • UART 端口2,用于下行通信
  • I2C 端口 *1,预留
  • 状态指示灯*1,三色
  • 复位按钮*1
  • 电池座,JST2.0,外接锂电池
  • Micro USB,为主板供电或与 PC 通信

4.4.2 材料

5. 通信模块

  • 数据线直连(有线直连)
  • 成对的数传电台(1v1无线连接)
  • lora网关(1vN无线连接)

6. 网关模块

6.1 组成

  • 上行通信模块
  • 下行串口

6.2 流程

  • 实现与云端的链路维护
  • 监测下行串口的数据,处理后通过上行通信模块转发至云端
  • 获得上行通信模块的下行数据并转发至下行串口

6.3 协议

  • 上行
    抽取最终执行模块的ID、通道号、数据长度和数据内容
    形成json后发送至云端
  • 下行
    解析json并形成二进制数据下发给对应的执行模块
  • Json格式
{
"did":"aabbccdd", //执行模块的序列号
"cid":12,       //执行模块连接传感器的通道号
"data":"3132"     //执行模块上传的字节流转字符
}

7. 云端服务

7.1 组成

云端服务搭建在阿里云平台上,下述模块均为阿里云计算产品

  • iot平台
    用于接入网关设备,负责设备管理、链路维护、数据预处理、数据路由等功能
  • 函数计算FC
    用于处理iot平台传来的数据,进而存储或转发
  • 表格存储TS
    非关系型数据库,用于存储物联网数据
  • ECS
    云服务器,用于运行web应用及关系型数据库,主要应用有用户控制台、平台官网、用户文档、社区论坛等

7.2 流程

  • 网关自动连接iot平台,自动进行链路维护
  • 传感器数据经网关传至iot平台后,经规则引擎,转发至函数计算FC
  • FC根据TS中传感器、网关、及用户的关系,对数据进行存储或转发
  • ECS运行的用户控制台,可向用户提供硬件管理、数据展现、命令下发、任务设置等功能
  • 下行命令由用户控制台发出,经iot平台直接转发至网关,最终到达执行模块和动作机构

8. 用户控制台

8.1 功能

  • 一键登录
  • 绑定网关
  • 配置数据点
  • 配置自动化任务
  • 配置开放平台

9. 典型流程

9.1 用户快速使用

  • 清单:光线传感器、LED灯模块、执行模块、数传电台(成对)、网关、微信
  • 将光线传感器、LED灯模块接入执行模块的D1和IO1
  • 将2个数传电台分别接入执行模块的上行通信端口和网关的下行通信端口
  • 打开执行模块的开关,并给网关上电
  • 微信扫描网关上的二维码,跳转网关绑定页面
  • 确认绑定后,跳转网关详情页
  • 网关详情页展示了网关连接了一个执行模块,执行模块接口D1有传感器接入,并提示用户配置该传感器的类型
  • 用户配置该传感器为光线传感器
  • 用户在执行模块IO1端口上增加一个LED灯模块
  • 配置自动化任务:用户设置当光线传感器过暗时,对LED灯执行点亮操作;过亮时自动熄灭
  • 测试:用手指遮住光线传感器,LED灯点亮;移开手指则LED灯熄灭

9.2 数据流

  • 执行模块周期性检测各输入端口,如模拟接口、数字接口、下行串口、I2C等
    检测到
  • 执行模块周期性检测上行串口的数据
  • 执行模块在接收到输入端口数据时,组织报文通过上行串口发送给网关,协议见4.3
  • 网关解析执行模块的上行数据,并打包成json格式上传至iot平台,协议见6.3
  • iot平台收到数据并转发给FC
  • FC记录该条数据到表格存储TS中,并根据TS中的配置向ECS转发或向用户设置的url转发
  • ECS检查该执行模块的端口是否已配置好传感器类型,如是则根据规则展示数据,如否则提示用户配置
  • 任务分为定时任务和事件触发任务,MVP阶段暂仅实现事件触发任务
  • 事件触发任务由FC实现。FC收到传感器数据时,检查表内是否有相应任务,如有,则执行相应操作
  • FC有向执行模块的动作机构下发命令的函数

10. 数据库表的设计

10.1 流程

  • 上行数据流
    • 上行数据到达iot进而到FC,FC解析到数据的gateway、device、channel,FC检查gateway表中是否绑定了device。如否,则将device加进去,并更新device表(包含gateway信息)
      更新channel表,将实时数据记录进去
  • 用户控制台的gateway页面
    • device列表(查询gateway表的dev_ids)以及手动增加按钮(按下后将录入的device id更新到gateway表的dev_ids中)
    • device的接口列表(根据device的id查询device表,获得device所具备的基本信息,包括所有接口数量、类型、注册时间等)
    • device接口所接传感器的类型(根据gateway、device、channel查询channel表,根据sensor_format字段格式化原始数据为可读值)
    • 未连接传感器的device接口,显示配置按钮,按下后展示所有传感器类型(更新channel表,将sensor的类型信息等添加进去)
    • 实时数据流调试窗口

10.2 表结构

  • user
  • gateway
  • device
  • channel
  • sensor

11. 场景化任务

根据用户场景化需求的不同,允许设置一到多个条件,用来触发一到多个动作。
条件类型包括:

  • 传感器的值
  • 时间段范围
  • 周期性时间点
  • 互联网应用模块

为简化起见,条件仅可设置为全【与】,不设置【或】;动作为串行依次执行。
用伪代码表示为:

if ( 条件A && 条件B && 条件C ) {
    动作1;
    动作2;
    动作3;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 151,829评论 1 331
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 64,603评论 1 273
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 101,846评论 0 226
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,600评论 0 191
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,780评论 3 272
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,695评论 1 192
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,136评论 2 293
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,862评论 0 182
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,453评论 0 229
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,942评论 2 233
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,347评论 1 242
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,790评论 2 236
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,293评论 3 221
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,839评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,448评论 0 181
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,564评论 2 249
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,623评论 2 249

推荐阅读更多精彩内容

  • 以下内容转自IBM developerWorks 通信对物联网极为重要。网络技术使得 IoT 设备不仅能与其他设备...
    NooneIam阅读 1,515评论 0 5
  • 姓名:杨凯航 学号:17101223381 【嵌牛导读】随着科学技术水平的不断提高,基于物联网的智慧城市建设,广义...
    sand_d8f0阅读 541评论 0 4
  • 超低功耗 本文作为《LPWAN市场报告》中的一部分,继续上篇 在LPWAN的应用中主要是以LPWAN模块使用为主,...
    芯资讯阅读 1,453评论 1 1
  • 嘿!看在那两条路的中间有扇门 门前的减速带披着土黄的外衣 静静的躺在那儿 保安大叔悠闲的喝着茶 无论男的女的,老的...
    喜诗的_苍梧阅读 169评论 0 2
  • 八卦有震、坎、良、乾、巽、离、坤、兑,古人把自然物质用8种卦代表,并附予其方向,四季,五行及人物等。如何去记忆八卦...
    新起点2018阅读 1,629评论 3 1