20| 14
|
[K10项目分享] 【花雕动手做】行空板K10系列实验之搭建OneNET物联网平台 |
![]() 行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。 主要特点 集成摄像头&内置算法,可进行离线图像检测 集成麦克风&内置算法,可进行离线语音识别 集成扬声器&内置算法,可进行离线语音合成 2.8寸彩色屏幕,数据展示更清晰 集成度高,利于教学 接口丰富,兼容软件多,扩展性好。 ![]() |
知识点:MQTT MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,广泛应用于物联网(IoT)设备之间的数据通信。以下是一些关于MQTT的关键知识点: 1. 基本概念 发布/订阅模式:MQTT 采用发布/订阅的消息传输方式。设备可以向主题发布消息(发布者),也可以订阅主题来接收消息(订阅者)。 主题(Topic):主题是消息的分类标签,发布者和订阅者通过主题进行消息的传递和接收。主题结构类似目录路径,如 home/livingroom/temperature。 消息代理(Broker):MQTT 代理是服务器,负责接收发布者发送的消息并将其转发给相应的订阅者。 2. 特点 轻量级:MQTT 设计非常轻量,适用于资源受限的设备,如嵌入式系统和传感器。 低带宽需求:由于消息头部较小,MQTT 非常适合网络带宽有限的环境。 可靠性:MQTT 提供三种服务质量(QoS)级别,确保消息的可靠传输: QoS 0:最多一次(消息可能丢失或重复) QoS 1:至少一次(消息可能重复) QoS 2:只有一次(确保消息不丢失且不重复) 3. 工作原理 连接建立:客户端与 MQTT 代理建立连接。 消息发布:发布者向代理发送消息,并指定消息的主题。 消息转发:代理将消息转发给所有订阅了该主题的客户端。 连接断开:客户端与代理断开连接。 4. 常见应用场景 物联网设备通信:用于传感器数据收集、设备状态监控和控制指令发送。 智能家居:用于连接智能家居设备,实现设备之间的数据交互和控制。 远程监控:用于远程监控和控制工业设备、环境参数等。 5. 安全性 身份验证:通过用户名和密码进行客户端身份验证。 加密通信:使用 TLS/SSL 加密客户端与代理之间的通信,确保数据传输的安全性。 访问控制:使用访问控制列表(ACL)控制客户端对主题的发布和订阅权限。 6. 实现方式 客户端库:许多编程语言(如 Python、C、JavaScript 等)都有 MQTT 客户端库,方便开发者使用。 代理软件:常见的 MQTT 代理软件有 Mosquitto、HiveMQ、EMQ X 等,提供强大的消息传输和管理功能。 ![]() |
知识点:OneNET平台 OneNET平台是中国移动推出的物联网开放平台,旨在帮助开发者和企业用户轻松实现设备接入与设备连接,提供综合性的物联网解决方案。 1、平台概述: OneNET平台支持多种协议(如MQTT、CoAP、HTTP、LwM2M等)和多种设备类型的接入。 平台提供设备管理、数据存储、数据分析和可视化等功能。 2、主要功能: 设备管理: 提供设备状态监控、远程升级、SIM卡信息管理等服务。 数据分析: 提供全域数据集成、统一数据管理、图形化数据任务编排等功能,帮助客户提升数据价值。 消息服务: 提供低时延、高并发的消息中间件,保障应用平台与OneNET数据交互的即时可靠性。 位置服务: 提供智能硬件定位、轨迹查询及快速的地图展示应用服务。 3、应用场景: 智慧城市: OneNET平台可用于构建城市物联网平台,支持市政、能源、公共安全、环保、消防、交通等多个行业的感知终端接入。 工业物联网: 面向制造业数字化、网络化、智能化需求,提供基于海量数据采集、汇聚、分析的工业物联网服务体系。 智能家居: 提供智能家居场景下的设备接入和控制,如灯、开关、门锁、空气净化器等。 4、开发支持: OneNET平台提供易读、易用的开发文档,帮助开发者快速上手。 平台还提供丰富的SDK和API,支持多种协议和设备的快速接入。 ![]() |
【花雕动手做】行空板K10系列实验之MQTT网络服务搭建OneNET平台连接物联网 实验开源代码
|
代码解读 这段代码是为 UNIHIKER K10 行空板编写的,它利用 Wi-Fi 连接和 MQTT 协议与 OneNET 平台通信。 1、导入库和定义常量:
DFRobot_Iot.h 和 unihiker_k10.h 是该代码所需的库,用于处理 IoT 功能和 K10 模块。 定义了一个包含 5 个字符串的数组 topics,用于 MQTT 话题。 2、创建对象:
创建 UNIHIKER_K10 类的对象 k10,用于操作 K10 模块。 定义一个无符号 8 位整数 screen_dir,用来设置屏幕方向。 创建 DFRobot_Iot 类的对象 myIot,用于处理 IoT 功能。 3、主程序开始:
setup 函数在程序启动时执行一次。 k10.begin() 初始化 K10 模块。 k10.initScreen(screen_dir) 以指定方向初始化屏幕。 k10.creatCanvas() 创建一个画布。 k10.setScreenBackground(0xFFFFFF) 将画布背景颜色设置为白色。 k10.canvas->canvasText("行空板K10系列实验之MQTT", 3, 0xFF0000) 在画布上以红色显示文本。 myIot.wifiConnect("zhz3", "zy156721") 连接到 Wi-Fi 网络。 while (!myIot.wifiStatus()) {} 等待 Wi-Fi 连接成功。 k10.canvas->canvasText("Wi-Fi 连接成功", 5, 0x0000FF) 在画布上以蓝色显示 Wi-Fi 连接成功消息。 k10.canvas->canvasText((String("IP地址:") + String(myIot.getWiFiLocalIP())), 6, 0x0000FF) 显示本地 IP 地址。 k10.canvas->updateCanvas() 更新画布以显示更改。 myIot.init(...) 初始化 MQTT 客户端并连接到 OneNET 平台。 myIot.connect() 连接到 MQTT 服务器。 while (!myIot.connected()) {} 等待 MQTT 连接成功。 k10.canvas->canvasText("OneNET 平台搭建成功!", 7, 0xFF6666) 在画布上以粉红色显示 OneNET 平台搭建成功消息。 k10.canvas->updateCanvas() 更新画布以显示更改。 4、主循环:
loop 函数是主循环,会不断执行。当前未定义任何操作。 这个程序的总体流程是初始化硬件和网络连接,然后在屏幕上显示连接状态和 IP 地址信息,并建立 MQTT 连接。 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed