| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 基于OneNet平台设计的多节点温度采集系统-有人云4G模块+STM32 -> 正文阅读 |
|
[嵌入式]基于OneNet平台设计的多节点温度采集系统-有人云4G模块+STM32 |
一、设计说明设计思路: 每个测量点采用4G+STM32+温度测量模块组成;采集温度数据之后直接上传到OneNet物联网云平台,在OneNET云平台上设计可视化界面进行显示,并且也可以在手机APP 当前采用的物联网平台是OneNET云平台,OneNET中国移动物联网开放平台是由中国移动打造的PaaS物联网开放平台。平台能够帮助开发者轻松实现设备接入与设备连接,提供综合性的物联网解决方案,实现物联网设备的数据获取,数据存储,数据展现。 当前这个设计算是物联网技术的一个典型应用。目前物联网产业正在飞快发展着,从智能电视、智能家居、智能汽车、医疗健康、智能玩具、机器人等延伸到可穿戴设备领域。 物联网将赋能智能硬件向多元的消费场景渗透,从而创造更加便捷、舒适、安全、节能的生活环境。 物联网是通过约定的协议将原本独立存在的设备相互连接起来,并最终实现智能识别、定位、跟踪、监测、控制和管理的一种网络,无需人与人、或人与设备的互动。通俗来说物联网就是“物物相连的网”,主要应用于智能交通、智能医疗、智能家居、智能物流、智能电力等领域。 二、硬件选型2.1 4G模块-WH-LTE-7S14G模块选择有人科技的 有人科技,插针式Cat-1模块(WH-LTE-7S1) 4G模块使用介绍:https://www.usr.cn/Product/294.html 下面是4G模块的功能参数:
通过该模块可以快速实现串口与网络的双向数据透传: **农业物联网环境监测案例:**可将农业大棚里各类传感器采集的数据,通过LTE或GPRS网络快速上传 **两个WH-LTE-7S1通过有人云实现一对一透传:**https://www.usr.cn/Faq/1217.html 2.2 铂电阻PT100铂电阻,简称为:铂热电阻,它的阻值会随着温度的变化而改变。它有PT100和 PT1000等等系列产品,它适用于医疗、电机、工业、温度计算、卫星、气象、阻值计算等高精温度设备,应用范围非常之广泛。 PT100铂电阻是PT100的简称,其中PT100是铂热电阻的分度号,PT代表热电阻的材质是铂,PT后的100即表示它在0℃时阻值为100欧姆,在100℃时它的阻值约为138.5欧姆。它的阻值会随着温度的变化而改变。 2.3 STM32系统板STM32采用STM32F103RCT6,FLASH256KB,RAM48KB,主频72MHZ。 三、OneNet云平台创建OneNET资源模型如下图: 下面是名词的解释: 【1】产品(product) 【2】设备(device) 【3】数据流与数据点 【4】APIkey 【5】触发器(trigger) 【6】应用(application) 3.1 官网首页地址: https://open.iot.10086.cn/ 如果没有onenet的账号,点击右上角进行账号注册,注册之后完成实名认证即可。 在产品服务里可以看到常见物联网接入服务: 3.2 创建产品(1)控制台页面点击右上角的 (2)多协议接入选择多协议接入: (3)HTTP协议选择HTTP协议,点击添加产品。 (4)填写产品信息根据自己的项目情况,去填写这里的产品信息。 填好之后,点击确定即可。 3.3 添加设备产品创建完之后,点击添加设备。 (1)添加设备(2)设置设备信息根据自己的设备信息填写。 (3)添加多个采集点设备因为采集点有多个,一个采集点就是一个独立的设备,如果有40个采集点,就创建40个设备。 我这里为了方便测试,就创建3个设备,对应3个采集点。 添加完成: 3.4 创建数据流模板(1)添加数据流模板数据流模板是设置设备上报数据时存放的属性字段。 (2)添加温度字段添加温度字段。 目前采集点只是采集温度,这里创建一个温度字段就行了。 如果采集点还需要采集更多的数据类型,这里按格式添加即可。 (3)添加完成添加后,如果页面没有出来,鼠标右键刷新一下页面就能看到。 3.5 数据点上传多协议接入帮助文档地址:https://open.iot.10086.cn/doc/v5/develop/detail/multiprotocol 平台通过数据流与数据点来组织设备上行数据,如下图所示: 设备上传并存储数据时,必须以key-value的格式上传数据,其中key即为数据流(stream)名称,value为实际存储的数据点(point),value格式可以为int、float、string、json等多种自定义格式。 在实际应用中,数据流可以被用于分类描述设备的某一类属性数据,例如温度,湿度,坐标等信息,用户可以自定义数据流的数据范围,将相关性较高的数据归类为一个数据流。 (1)平台接入地址目前是采用HTTP协议上传数据,HTTP协议是短连接,所以在设备页面是看不到设备在线的情况。
(2)创建设备APIKey通过HTTP协议上传数据时,需要设备的apikey作为密匙。 【1】在设备列表页面,单击详情: 【2】点击添加APIKey 因为我这是设备节点3,为了好区别,我这里设置 【3】添加成功 【4】将剩下的2个温度采集设备也创建APIKey (3)设备ID每个设备创建后都有一个ID,上传数据时,需要填写这个ID。 在设备详情页面可以看到这个ID。 (4)列出当前设备的ID和APIkey为了方便接下来测试,我把3个设备的ID和APIkey先贴出来待用。
(5)数据点上传格式当前选择的是HTTP协议上传数据,下面是标准的HTTP报文格式:
比如:我给设备采集节点1,上传一个温度值。HTTP的报文格式按如下填写。
手动测试组合报文赋值的时候,这个数据长度的计算可以通过编辑器(我用的notepad++)完成。 如果在程序里发送数据时,下面的数据长度可以动态计算的(strlen)。 3.6 模拟数据上传测试为了方便验证云平台是否能正常使用,下面使用TCP调试助手来模拟设备发出HTTP报文(上传数据点)给OneNet平台完成测试。 (1)打开网络调试助手输入远程IP地址和端口号,然后点击连接。
连接成功: (2)输入发送的数据
特别说明: 【1】 复制上面代码到下面的网络调试助手的时候,要注意格式。因为PDF文档复制的时候会导致换行符这些丢失。 要按下面红色框框这样的格式贴进去,才能发送。 【2】HTTP端口连接上之后,如果没有发送数据,过一会会自动断开连接的,或者一次数据发送成功,服务器也会断开连接。每次发送之前重新连接上,再发送即可。 发送成功的提示: (3)登录云平台查看数据刚才测试数据上传的是设备1,在设备详情页面找打设备1,点开设备详情页面,找到数据流展示页面,可以看到刚才上传的数据。 (4)剩下的温度采集节点上传温度测试其他的温度检测设备节点如果要上传数据,也是一样的方式。 下面将3个设备的发送数据格式都列出来,方便填入调试助手发送测试:
四、可视化页面设计为了方便展示温度信息,可以利用onenet提供的可视化组件设计一个网页进行显示。 地址: https://open.iot.10086.cn/studio/view/project 目前OneNet的View数据可视化组件分为3个权限: 基础版、企业版、专业版; 基础版也就是免费版,可以使用基本的组件。 一般要求不高的数据展示,基础版就差不多够用的。 下面是企业版的价格费用: 4.1 创建数据源模板可视化页面上的控件显示数据时,需要设置数据来源。所以,这里先创建数据的来源。 (1)创建源模板(2)填写数据源的信息根据提示填写产品ID和Key,下面的设备和数据流选择对应的设备即可。每个设备都需要建立一个数据源模板。 (3)产品ID和key在哪里看?在产品的概述页面,可以找到产品ID和对应的key。 (4)创建完成为了好区分名字,可以将数据源模板的名称按照序号设置,这样一个设备对应一个数据源。 因为我创建了3个设备,这里对应创建了3个数据源模板。 4.2 创建可视化页面(1)新建项目新建项目可以选择空白模板,也可以选择现有的模板创建。 就算选择空白模板,也可以去参考现成的模块设计的。 我这里选择 新建成功后,点击编辑按钮进行页面设计。 (2)控件介绍进入到编辑页面,可以看到有很多的控件可以选择使用。其中带 (3)新建多个子页面为了方便显示每个采集点的温度信息,可以新建多个子页面显示数据,也可以在一个页面显示,具体看自己需求。 我这里新建了3个页面,分别显示3个采集点的温度数据。 并且页面的名字,页面的类型都可以修改。 页面类似可以选择PC端样式,也可以选择手机端样式。 (4)控件选择数据源每个控件显示的数据,可以选择数据的来源。 比如: 我使用仪表盘显示温度信息,点击仪表盘控件,在右边选择数据源。 第一步,选择管理数据源。 第二步。使用数据源模板新建数据源 新建成功的3个数据源。 第三步,设置控件的数据源 比如:我这个仪表盘显示温度采集点1的数据,就选择数据源为设备1的数据。 并且需要把下面的数据过滤器去掉。 (5)界面样式设计【1】修改表盘显示的单位为摄氏度。 【2】为了方便区分设备,添加一个标题,显示文字提示 记得去掉数据过滤器。 界面的背景也可以设置,也可以设置图片作为背景。 (6)保存界面发布由于onenet的可视化界面处于维护期,这个期间编写的界面无法保存,发布。 但是在编辑页面的仪表盘还是可以看到数据的实时变化,可以测试整套流程。 等10.24之后,应该就可以正常使用了,到时候在重新设计页面。 (7)设备云APP在手机上安装设备云APP,如果项目发布之后,除了分享链接浏览器打开查看以外,也可以登录手机APP查看页面。 下面是手机APP上的效果: 五、规则引擎与触发器5.1 触发器设置触发器可以设置一些简单的条件,比如,温度大于多少,小于多少。 可以让OneNet给指定地址发送邮件通知。或者当指定范围内的数据点满足触发条件的要求时,也可以向url参数指定的地址发送post请求(可以对接自己的服务器)。 (1)添加触发器(2)设置触发条件可以选择关联指定设备,或者关联全部设备。然后设置触发条件,设置关联的邮箱。 当温度超出某个阀值,可以触发条件,发送邮件通知。 (3)设置成功(4)测试触发条件我这里的触发条件是温度大于50就会发送邮件。这里采用网络调试助手测试,上传一个大于50的温度,触发条件发送邮件。 发送数据之后,可以看到邮件已经收到了。 5.2 添加规则(1)添加规则(2)设置规则可以设置规则的筛选方式。 (3)开通SMS短信服务地址: https://open.iot.10086.cn/sms/console/product/#/openSms 目前短信服务是针对企业开放。 六、硬件部分6.1 有人云WH-LTE-7S1模块调试(1)模块引脚功能说明模块的使用说明书:https://www.usr.cn/Down/WH-LTE-7S1_V1.0.4.pdf 拿到模块之后首先就是要了解引脚说明,明白每个引脚的功能。 在手册的第 下面是模块的实物图: 调试模块时,必接的引脚有5个。 分别是:电源VCC(5V),电源GND,串口发送,串口接收,开机引脚。 下面标出这几个引脚的位置: 下面是接好线的实物图: 下面是标出引脚的排线编号规律: 接线说明: 接线时认真看IO口编号,对号入座,千万别接错了。 目前模块供电的VCC+正极有2个脚。一个支持3.4-4.2V (第16脚),一个支持5V~16V(第13脚和第14脚)。供电的时候,这两个脚只能选择其中一个。 其中,3.4-4.2V 供电是留给锂电池使用的,5V~16V的供电接口方便接单片机的电源。 当前的这个项目是需要使用STM32开发板来驱动模块完成网络连接,处理。 所以,这里模块供电引脚直接选择5V,方便接在单片机开发板引出的电源口上。 接线总结:
(2)模块接上位机软件测试第一次拿到模块,肯定要先测试模块是否正常。 有人科技提供了模块对应的串口调试上位机,可以直接在官网下载。 【1】下载上位机调试软件 下载地址:https://www.usr.cn/Download/939.html 【2】将模块与USB-TTL模块接好线,连接到电脑USB口上。 接线按下面的来:
【3】打开软件测试模块 软件打开后,选择串口后,打开串口。 点击获取当前参数,就能看到串口打印获取到数据。 依次可以点击查询信号强度,查询当前版本,查询DMEI: 注意: 模块默认的工作模式是NET模式,他也就是连接的有人的服务器。 如果要执行AT指令,需要先进入配置状态才可以正常执行。 (3)模块状态指示灯模块的第9个引脚是状态指示灯输出接口,正常启动后,这个引脚会按照1 秒的频率输出高低电平变化,可以将这个引脚接在单片机上的某个LED灯口上,通过观察LED灯的闪烁状态确定模块是否正常工作。也可以作为输入脚接到单片机的某个IO口上,用于判断模块是否工作正常。 (4)模块的AT指令手册下载地址:https://www.usr.cn/Download/940.html (5)有人的测试服务器服务器: socket.usr.cn 端口号: 2317 这是有人的公网测试TCP服务器,向这个服务器发送数据,服务器会将发送的数据返回。 可以用这个服务器测试4G模块的联网情况。 6.2 示例代码工程代码下载:https://download.csdn.net/download/xiaolong1126626497/86861756
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 16:51:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |