【毕设参考】 HaaS Python 打造工业级光伏面板监控上云系统

简介: 【毕设参考】 HaaS Python 打造工业级光伏面板监控上云系统

太阳能路灯远程监控

  本案例开发需要经过如下4步。




简介

  光伏发电已经被广泛使,但是光伏板在使用过程中因为镜面堆积灰尘会导致发掉效率较低,所以,需要定期清洁,那么远程决策者如何获知光伏板的工作状态,并决策光伏板是否需要进行清洁呢? 本案例将基于HaaS506 DTU开发板以及阿里云物联网平台搭建云端一体光伏运行效率监控案例,通过本案例可以远程监控光伏发电系统的运行状态。


准备

1. 硬件器材


配件名称 数量 功能 购买链接

HaaS506开发 1  点我购买

光伏发电套装(18V发电板20W + 12V控制器) 1  点我购买

12V蓄电池 1  点我购买

DCDC降压模块 1  点我购买

1M电阻 若干  点我购买

光照传感器 1 采集当前环境光线强度

杜邦线/导电线 若干  

2. 硬件连线图




物联网平台开发

物联网平台开发需要依次完成以下5步


开通物联网平台实例

创建云端产品

定义产品功能

为产品创建云端设备

基于IoT Studio开发移动应用

开通物联网平台实例

  登陆物联网平台。 第一次使用物联网平台时候,首先需要在物联网平台创建一个实例。本案例选择使用免费的公共实例进行开发。如果您需要保证更多设备同时上云,需要购买企业实例。物联网平台创建公共实例的方式如下图所示, 左上角选择“华东2-上海”,点击“公共实例”,即可开通。




创建云端产品

  点击上一小节创建的公共实例就可以进入实例管理页面,在页面的左侧菜单中选中“设备管理” -> “产品”菜单项开始创建物联网产品。具体创建过程如下图所示:


1. 点击创建产品按钮




2. 填写产品基础信息以后点击“确认”按钮




  创建产品成功以后,页面的左侧菜单中选中“设备管理” -> “产品”菜单,可以查看已经创建的产品


定义产品功能

  点击“设备管理” -> "产品"菜单进入产品列表页,双击刚才创建的“太阳能路灯控制”产品 并 点击 “功能定义” 菜单,开始定义产品功能。首先下载物模型文件。




1. 功能定义页面点击“编辑草稿”




2. 点击“快速导入”




3. 点击“上传物模型”


  选择上面下载的物模型文件进行上传。




3. 物模型成功以后,效果如下图,点击“发布上线”




为产品创建云端设备

1. 在产品列表页面中,点击”太阳能路灯监控“对应的“管理设备”按钮,进入设备管理页面。




2. 点击“添加设备”按钮




3. 弹框中不填写任何信息,直接点击“确认”完成设备添加




4. 创建完云端设备以后,点击“设备管理”-> “设备” 菜单可以看到刚才创建的设备, 点击设备对应的“查看”按钮进入设备详情页面。 在详情页点击“查看” 按钮获取设备三元组。 设备三元组信息需要填写到设备端代码中。




基于IoT Studio开发移动应用

1. 新建一个空白项目


  打开IoT Studio官网,点击屏幕左侧“项目管理”菜单 -> 点击“新建项目”按钮 -> 点击“创建空白项目“,项目名称填写“传感器数据采集”。




2. 关联物联网产品和物联网设备”


  点击“产品”旁边的“关联”按钮,然后选中前一章节创建的物联网产品完成关联。


  点击“设备”旁边的“关联”按钮,然后选中前一章节创建的物联网设备完成关联。




3. 新建“移动应用”


  点击“移动应用 ”按钮 ->点击“新建“按钮, 开始创建项目,选择“空白项目”。






  创建完毕以后自动跳转到应用UI可视化搭建页面。


4. 可视化搭建”


需要从左侧组件列表中依次拖动道UI面板对应位置。




参考以下步骤设定每个卡片数据源。




设备端开发

设备端开发流程

1. 搭建开发环境

2. 创建HaaS Studio工程

3. 拷贝案例代码

4. 填写三元组信息

5. 部署运行

搭建开发环境

  参考HaaS506开发环境说明文档搭建软件开发环境。


  参考本文章开始处的“硬件连接图”连接各硬件模块。


创建HaaS Studio工程

  如下图所示,打开HaaS Studio之后在新建一个基于helloworld的python工程,设定好工程名称(“solar_monitor”)及工作区路径之后,硬件类型选择HaaS506,点击立即创建,创建一个Python轻应用的解决方案。


拷贝案例代码

   下载本案例代码解压后复制到“solar_monitor”工程根目录下并覆盖工程原来的同名文件。 代码详细逻辑可以参考代码中的注释。




填写三元组信息

  根据创建云端设备章节中获取到的设备三元组信息 修改main.py中 "productKey" "deviceName" "deviceName"三个变量。 然后点击部署运行按钮并查看运行结果。


部署运行

  点击IDE左下角的“部署运行”按钮,部署应用到haas506开发板。部署完毕以后,自动连接云平台


调试验证

  再次进入iot studio 移动应用界面,点击"预览"。




  显示光伏面板状态,触发报警。




代码

本案例主要代码流程如下,详细请参考代码中的注释。


连接网络,网络连接成功以后,HaaS506开发板网络状态LED灯会点亮

连接物联网平台,并注册平台消息监听器, 连接成功以后会打印“物联网平台连接成功”

周期性上报太阳能路灯信息

————————————————

版权声明:本文为CSDN博主「HaaS技术社区」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/HaaSTech/article/details/124539853

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
6天前
|
监控 前端开发 API
实战指南:使用Python Flask与WebSocket实现高效的前后端分离实时系统
【7月更文挑战第18天】构建实时Web应用,如聊天室,可借助Python的Flask和WebSocket。安装Flask及Flask-SocketIO库,创建Flask应用,处理WebSocket事件。前端模板通过Socket.IO库连接服务器,发送和接收消息。运行应用,实现实时通信。此示例展现了Flask结合WebSocket实现前后端实时交互的能力。
|
11天前
|
自然语言处理 程序员 编译器
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
|
3天前
|
数据可视化 数据挖掘 定位技术
Python 中的地理信息系统
【7月更文挑战第16天】 - GIS在地图制作、空间分析及各行业(如城市规划、资源管理)中至关重要。 - Python凭借其易用性和丰富库(如Geopandas、Matplotlib、Folium)简化了地理数据处理和可视化。 - 开发者需先安装Geopandas、Matplotlib和Folium库。 - Geopandas用于数据处理,Matplotlib绘制静态地图,Folium创建交互式地图。 - 示例代码展示了地图绘制、数据整合、空间查询、动态
17 0
|
9天前
|
监控 网络协议 安全
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
|
9天前
|
存储 关系型数据库 数据库
我将提供一个简化的Python代码示例和详解,以展示如何使用Python和Django框架来构建智能化小区综合物业管理系统的一部分功能。
我将提供一个简化的Python代码示例和详解,以展示如何使用Python和Django框架来构建智能化小区综合物业管理系统的一部分功能。
|
15天前
|
安全 Python
告别低效编程!Python线程与进程并发技术详解,让你的代码飞起来!
【7月更文挑战第9天】Python并发编程提升效率:**理解并发与并行,线程借助`threading`模块处理IO密集型任务,受限于GIL;进程用`multiprocessing`实现并行,绕过GIL限制。示例展示线程和进程创建及同步。选择合适模型,注意线程安全,利用多核,优化性能,实现高效并发编程。
28 3
|
17天前
|
开发者 Python
Python元类实战:打造你的专属编程魔法,让代码随心所欲变化
【7月更文挑战第7天】Python的元类是编程的变形师,用于创建类的“类”,赋予代码在构建时的变形能力。
35 1
|
15天前
|
数据采集 大数据 数据安全/隐私保护
Python编程:如何有效等待套接字的读取与关闭
Python网络编程中,套接字事件处理至关重要。利用`selectors`模块和代理IP能增强程序的稳定性和可靠性。代码示例展示了如何通过代理连接目标服务器,注册套接字的读写事件并高效处理。在代理IP配置、连接创建、事件循环及回调函数中,实现了数据收发与连接管理,有效应对网络爬虫或聊天应用的需求,同时保护了真实IP。
Python编程:如何有效等待套接字的读取与关闭
|
6天前
|
Python
告别低效!Python并查集:数据结构界的超级英雄,拯救你的编程人生!
【7月更文挑战第18天】并查集,数据结构超级英雄,用于不相交集合的合并与查询。Python实现包括初始化、查找根节点和合并操作。应用广泛,如社交网络分析、图论问题、集合划分等。示例代码展示了解决岛屿数量问题,统计连通的“1”单元格数。掌握并查集,提升编程效率,解决复杂问题。
24 6
|
2天前
|
存储 算法 搜索推荐
告别低效编程!Python算法设计与分析中,时间复杂度与空间复杂度的智慧抉择!
【7月更文挑战第22天】在编程中,时间复杂度和空间复杂度是评估算法效率的关键。时间复杂度衡量执行时间随数据量增加的趋势,空间复杂度关注算法所需的内存。在实际应用中,开发者需权衡两者,根据场景选择合适算法,如快速排序(平均O(n log n),最坏O(n^2),空间复杂度O(log n)至O(n))适合大规模数据,而归并排序(稳定O(n log n),空间复杂度O(n))在内存受限或稳定性要求高时更有利。通过优化,如改进基准选择或减少复制,可平衡这两者。理解并智慧地选择算法是提升代码效率的关键。

热门文章

最新文章