芯查查logo
  • 数据服务
    1. 新产品
    2. 物料选型
    3. 查替代
    4. 丝印反查
    5. 查品牌
    6. PCN/PDN
    7. 查方案
    8. 查代理
    9. 数据合作
  • SaaS/方案
      SaaS产品
    1. 供应链波动监控
    2. 半导体产业链地图
    3. BOM管理
    4. 解决方案
    5. 汽车电子
    6. 政府机构
    7. 数据API
  • 商城
  • 行业资讯
    1. 资讯
    2. 直播
  • 论坛社区
    1. 论坛
    2. 学习
    3. 测评中心
    4. 活动中心
    5. 积分商城
  • 查一下
  • 开通会员
野火电子-尹桢
项目15——基于鲁班猫1的智慧物联中控系统

【鲁班猫参赛作品赏析】

 

前言

 

鲁班猫(LubanCat)是野火科技推出的Linux、Android卡片电脑系列品牌。该系列卡片电脑硬件产品丰富,操作系统适配度高,开源资料众多,应用开发方便简单。

它有优越的性能以及多产品线覆盖教育、商业应用、工业控制等领域,具备广泛的应用场景。

笔者申请到的鲁班猫型号为LuBanCat-1,其硬件外形如下图,尺寸大约8cmx6cm,非常的小巧,这个小巧的板子下却隐藏丰富强大的功能。LubanCat-1有一颗包含四核Cortex-A55处理器、Mali G52 2EE图形处理器和高能效NPU的SOC, 搭配千兆网口、HDMI、USB3.0、MINI PCI-E、MIPI等外设,预留了USB、MINI PCI-E等通用接口,能够扩展到更多的使用场景。

图片

根据其强大的性能与通信功能特点,笔者决定使用它来开发一款鲁班猫智慧物联中控设备。大家都知道现在IoT是越来越火热,从智能家居,到智慧办公,智慧工厂,智慧生产等,越来越多的硬件系统通过网络连接到一起,形成了智慧化的物联世界,通过彼此的连接,交换数据,完成协调统一的生产工作应用环境,协调的进行彼此的控制和响应,形成智慧化的物联世界。

而对一个物联管理单位,物联中控是最基本的单元,它担负着对终端数据的采集,汇聚,存储,并按照设计的权限进行对外联络和报告。也对各类的智能应用管理提供统一的通信和控制命令转发等功能。

该项目涉及到如下技术内容:

Httpd —— Http 服务提供基于c变量的模板http服务

C-CGI —— 支持http在服务端RPC进程通

MQTT  —— 基于TCP/IP的订阅、发布消息服务

TDEngine —— 时序数据库

Websocket —— 支持web端的二进制网络数据通信

EChat —— 一款开源的js前端可视化图形库

Javascript —— web 开发语言,完成前端数据解析与可视化


 

项目材料

 

LuBanCAT-1 鲁班猫,智慧物联中控

CH32V208 单片机,提供两路ADC采集数据并通过以太网上报数据

Hi-Spark 鸿蒙开发板,Iot开发套件,提供温度,速度和天然气(甲烷)浓度检测数据

Ubuntu PC模拟电能采集站,提供每小时的家庭用电功率数据

WIFI 路由器,提供家庭有线网络的通讯和无线通讯

VMWare 虚机,提供鲁班猫开发环境

 

 

项目方案架构

 

鲁班猫智慧物联中控系统架构如下图所示,图中设备A,B为Iot传感数据采集设备,D作为一个电能表数据采集模拟端,E作为上报数据的互联网服务终端。而C位则是本次的主角鲁班猫,作为整个系统的物联核心。

图片

 

CH32V208 ADC数据采集

 

图片

使用CH32V208开发板的MQTT例程与ADC例程,整合两个例程,并设定MQTT服务地址为鲁班猫的地址,端口为1883

图片

使用ch32v208编译下载到ch32v208上运行

图片

在板上运行后,就会自动的连接鲁班猫中控,并发布ADC1,和ADC2测量到的电压值,每1秒上报一次,发布到中控台上。
 

 

Hi_Spark 温度、湿度与燃气浓度传感采集

 

使用HiSpark_Hi3861开发板,接上燃气传感器模块,与Hi3861单片机,使用OpenNarmony开发采集温度,湿度与燃气浓度数据,并只用MQTT客户端通过 wifi连接路由器,将采集到的数据上发到鲁班猫。

图片

编译下载到HiSpark上运行

图片

下载到Hi-Spart 开开发板后,经过初始化,将会通过wifi 自动把探测到的环境温度,湿度和天然气浓度数据,通过MQTT协议上报到鲁班猫中控板上,鲁班猫收到该传感信息后,通过websocker实时发布到web端,完成可视化管理,同时根据策略,处理后发布到公网EMQX服务里,完成数据汇聚和存储。


 

鲁班猫物联中控软件设计开发

 

鲁班猫开发板上,首先编译httpd工程,工程由jsoncpp和httpd组成,http是基于uHttp开源工程修改而来。主要需修改为增加了http与系统调用接口,支持通过C-CGI的方式,进行动态的网络渲染以及连接MQTT消息服务器,完成MQTT消息订阅并使用websocket转发给浏览器端。

图片

分别在开发板上编译jsoncpp和httpd 工程

图片

再编译MQTT工程,这里使用的是mosquitto-2.0.9 开源MQTT工程,该工程由CJSON,OpenSSL,mosquitto-2.0.9,子工程组成,只需要分别编译他们即可:

图片

编译mosquitto-2.0.9工程,编译时需要把前面编译好的openssl和cjson动态库加入到mosquitto工程编译路径中。

图片

把编译成功的MQTT服务程序和依赖的动态库,部署到bin目录下,并写一个mqtt配置文件和启动脚本文件。

创建好MQTT 运行用户后,即可启动运行MQTT Breaker服务:

图片

 

EMQX服务公网部署

 

完整的展示智慧物联的应用,还需要中控系统与外部交换数据,因此在这里在公网E服务器上,部署一个支持MQTT的消息管理服务端,这里选择使用EMQX开源服务。

wget  https://www.emqx.com/zh/downloads/broker/5.0.8/emqx-5.0.8-el8-amd64.tar.gztar -xvf emqx-5.0.8-el8-amd64.tar.gz//启动bin/emqx start//停止bin/emqx stop//查看状态bin/emqx_ctl status在公网服务端E需要开通18083,1883等业务端口,部署完毕后,可以打开浏览器登录到EMQX服务站点已启动:

图片

同时需要存储上报的物联数据,用于大数据的采集与分析,因此在公网服务器上部署物联网数据库。这里使用知名的时序数据库TDengine,用于永久存储上报的物联数据,执行如下命令,编译安装TDenginegit clone 

https://github.com/taosdata/TDengine.gitcd TDengine & build.sh

图片

 

前端开发部署与效果

 

前端整合Echat工程,并且加入websocket客户端,用于接收httpd发回的数据,

图片

部署到鲁班猫上前面编译的httpd的页面目录下,httpd/www下,然后在本地页面访问鲁班猫的IP地址:

最终成功的加载出中控控制台的页面,并实时的显示出各个终端传感器的数据。

图片

 

视频展示

:44

 

原文来源:

https://bbs.elecfans.com/jishu_2356407_1_1.html

 

开源社区
版块: 野火
2023/09/18 17:58
  • 举报
😁😂😃😄😅😆😉😊😋😌😍😏😒😓😔😖😘😚😜😝😞😠😡😢😣😤😥😨😩😪😫😭😰😱😲😳😵😷😸😹😺😻😼😽😾😿🙀🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏✂✅✈✉✊✋✌✏✒✔✖✨✳✴❄❇❌❎❓❔❕❗❤➕➖➗➡➰🚀🚃🚄🚅🚇🚉🚌🚏🚑🚒🚓🚕🚗🚙🚚🚢🚤🚥🚧🚨🚩🚪🚫🚬🚭🚲🚶🚹🚺🚻🚼🚽🚾🛀Ⓜ🅰🅱🅾🅿🆎🆑🆒🆓🆔🆕
@好友

全部评论

加载中
游客登录通知
已选择 0 人
自定义圈子
移动
发布帖子
发布动态
发布问答
最新帖子
树莓派pico 2测评 - 串口萤火工场GD32VW553-IOT测评+蓝牙串口透传树莓派pico 2测评 - 初体验【工程师经验】+ 飞线【开源】zvs142857 2.1A,3A快充 充电宝迷你
热门版块
查看更多
电子元器件
电子DIY
每日打卡
丝印反查
问技术
汽车电子工程师论坛
工业电子专区
新手入门指南
单片机/MCU论坛
PCB设计

4

收藏

分享

微信扫码
分享给好友

评论