NB套件业务流程的代码实训报告

时间: 2023-07-03 11:06:23 浏览: 48
以下是NB套件业务流程的代码实训报告: ## 1. 项目背景 NB-IoT(NarrowBand Internet of Things)是一种低功耗广域网技术,适用于物联网应用场景。NB套件是一种硬件设备,能够接入NB-IoT网络,实现物联网设备的数据传输。本项目旨在通过NB套件接入NB-IoT网络,实现温度、湿度、气压等环境数据的采集,上传至云平台,实现数据可视化和远程监控。 ## 2. 技术选型 - 硬件设备:NB套件、温湿度气压传感器 - 开发语言:Python - 云平台:阿里云IoT物联网平台 ## 3. 业务流程 1. 连接NB套件和传感器,通过串口通信获取温度、湿度、气压数据 2. 将数据封装成JSON格式,通过MQTT协议上传至阿里云IoT物联网平台 3. 在阿里云IoT物联网平台创建数据流转规则,将数据转发至函数计算服务 4. 在函数计算服务中对数据进行处理,并将处理结果存储到云数据库中 5. 在云数据库中存储的数据通过Web应用展示给用户 ## 4. 代码实现 ### 4.1 硬件连接和数据采集 ```python import serial import json # 打开串口,设置波特率为9600 ser = serial.Serial('/dev/ttyUSB0', 9600) # 读取串口数据,获取温湿度气压数据 data = ser.readline().decode('utf-8') temp, hum, press = data.split(',') # 封装数据成JSON格式 payload = { "temperature": temp, "humidity": hum, "pressure": press } # 将JSON数据转换为字符串,通过MQTT协议上传至阿里云物联网平台 client.publish(topic, json.dumps(payload), qos=1) ``` ### 4.2 数据处理和存储 ```python import json import pymysql # 获取MQTT消息中的数据 payload = json.loads(message.payload.decode('utf-8')) temp = payload['temperature'] hum = payload['humidity'] press = payload['pressure'] # 连接MySQL数据库 conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', database='iot') # 插入数据到数据库 cursor = conn.cursor() sql = "INSERT INTO sensor_data (temperature, humidity, pressure) VALUES (%s, %s, %s)" cursor.execute(sql, (temp, hum, press)) conn.commit() # 关闭数据库连接 cursor.close() conn.close() ``` ### 4.3 数据展示 ```python import pymysql import matplotlib.pyplot as plt # 连接MySQL数据库 conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', database='iot') # 查询数据库中的数据 cursor = conn.cursor() sql = "SELECT * FROM sensor_data" cursor.execute(sql) results = cursor.fetchall() # 处理数据,生成图表 temps = [result[1] for result in results] hums = [result[2] for result in results] presses = [result[3] for result in results] plt.figure(figsize=(10, 6)) plt.plot(temps, label='Temperature') plt.plot(hums, label='Humidity') plt.plot(presses, label='Pressure') plt.legend() plt.xlabel('Time') plt.ylabel('Value') plt.title('Sensor Data') plt.show() # 关闭数据库连接 cursor.close() conn.close() ``` ## 5. 总结 本项目通过连接NB套件和传感器,采集温度、湿度、气压等环境数据,并通过MQTT协议上传至阿里云IoT物联网平台。在云平台中创建数据流转规则,将数据转发至函数计算服务,对数据进行处理,并将结果存储到MySQL数据库中。最后通过Web应用展示数据给用户。整个业务流程涉及到硬件、云平台、数据库、Web应用等多个方面,通过Python编写代码实现了业务流程的自动化。

相关推荐

最新推荐

recommend-type

电信 天翼云 NB-IoT业务培训材料v11

中国电信物联网分公司 2020年12月9日 LPWA(Low Power Wide Area):是面向物联网中远距离和低功耗的通信需求通信技术,具有广覆盖、低...LPWA阵营技术众多:NB-IOT、eMTC、LoRa、SigFox等,NB-IoT是运营商主流技术选择
recommend-type

中国电信物联网开放平台_NB-IoT业务 对接指导书

本文档针对NB-IoT业务,从准备工作、自定义设备模型、编解码插件开发、应用接入平台、设备接入平台及消息上下行等方法流程进行了介绍。 本文档提供了NB-IoT业务设备接入平台的指导。
recommend-type

中国电信物联网开放平台_NB-IoT业务对接指导书

中国电信物联网开放平台_NB-IoT业务对接指导书中国电信物联网开放平台_NB-IoT业务对接指导书
recommend-type

NB-IoT常用AT指令说明.docx

NB-IoT终端对模组的操控是通过AT命令实现的,不同的芯片组和模组定义不同的AT指令集。本文档简单介绍了一些常用的AT指令,语法基本是通用的。
recommend-type

中国移动蜂窝物联网NB-IOT核心网规范

为满足LPWA(Low Power Wide Area,低功耗广覆盖)的物联网业务需求,2017年中国移动启动了蜂窝物联网一期工程,核心网建设内容包括:全国各省部分现网MME/SGSN和SAE-GW/GGSN的NB-IOT功能改造、6个省新建NB-IOT的...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

list根据id查询pid 然后依次获取到所有的子节点数据

可以使用递归的方式来实现根据id查询pid并获取所有子节点数据。具体实现可以参考以下代码: ``` def get_children_nodes(nodes, parent_id): children = [] for node in nodes: if node['pid'] == parent_id: node['children'] = get_children_nodes(nodes, node['id']) children.append(node) return children # 测试数
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。