国产ARM/RISCV与OpenHarmony物联网项目(一)总体设计说明

本文件讲述采用国产ARM网关+国产RISCV采集节点+OpenHarmany轻量化操作系统实现一套实时采集温湿度、光照度、气体各类环境数据的的全国产化软硬件物联网管理系统。

重点突出物联网项目中硬件的全国产化,操作系统的全国产化的实现。项目示例代码仅做为示例参考使用。

本实践项目可做为大学相关专业课程的实训与实践项目,也可做为相关嵌入式工程师熟悉国产化嵌入式平台的实践项目。
本项目通过下述系列文章进行讲述说明:

(一)总体设计说明

(二)网关数据显示

(三)网关设备控制

(四)网关通信服务

(五)IA1节点开发

(六)SF1节点开发

项目参考源码及可执行文件:https://gitee.com/www_91arm/phytiumpi_iot_ia1_sf1

一、项目总体概述

本项目系统设计按照物联网多层架构进行设计,因暂无使用云平台,无相关物关网平台层功能设计。

感知层:各类型传感器,光线传感设备、气体传感设备、灯光控制节点、蜂鸣器控制节点。

网络层:本项目中主要是国产硬件平台控制节点通过WIFI方式,连接到主控网关设备,网关设备对数据进行汇集与初步处理与展示。

应用层:应用层通过把节点设备到大数据平台与网关设备的数据进行整合,通过运行的WEB服务器对用户提供管理接口与展示。

下图是目前国化产物联网软硬件平台架构方案:

系统运行时通过节点设备实时采集温湿度、光照度、气体各类环境数据,通过网络方式传输到国产网关进行汇集,网关把汇集的数据通过WEB服务器进行展示与处理。用户通过WEB界面可实时管理与查看多区域环境数据,可手动/自动管理联动设备,系统可记录分析环境数据。

二、系统软硬件说明

1、国产化硬件

主控模块:国产ARM开发板(飞腾派-E2000)+国产Linux定制操作系统

飞腾派开发板采用国产天津飞腾自主研发的定制四核处理器,该处理器兼容 ARM V8 指令集,具有模块化、易上手、全开源、低成本的特点,大大降低了国产处理器的开发使用门槛,解决了国产处理器难以普及推广的问题。飞腾派支持支持 Ubuntu、Debian 等国外主流开源操作系统,也支持国内 OpenKylin、 OpenHarmony、SylixOS、RT-Thread 等国产操作系统。

采集模块:国产RISCV开发板(华为海思Hi3861)+OpenHarmany轻量化操作系统

BearPi-HM_Nano开发板是一块专门为HarmonyOS设计的HarmonyOS开发板,板载高度集成的2.4GHz WLAN SoC芯片Hi3861,并板载NFC电路及标准的E53接口,标准的E53接口可扩展智能加湿器、智能台灯、智能安防、智能烟感等案例。

2、国产化软件

网关操作系统:飞腾派OS

飞腾公司基于板卡定制的Linux操作系统飞腾派OS(Phytium Pi OS),它是运行在飞腾派开发板上的深度定制的Linux系统(基于Debian11)。它针对飞腾派开发板的硬件定制了内核配置,不同的软件包,可以更好的适应不同的场景。

节点操作系统:OpenHarmony(轻量系统)

OpenHarmony支持如下几种系统类型:

  • 轻量系统(mini system)

    面向MCU类处理器例如Arm Cortex-M、RISC-V 32位的设备,硬件资源极其有限,支持的设备最小内存为128KiB,可以提供多种轻量级网络协议,轻量级的图形框架,以及丰富的IOT总线读写部件等。可支撑的产品如智能家居领域的连接类模组、传感器设备、穿戴类设备等。

  • 小型系统(small system)

    面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为1MiB,可以提供更高的安全能力、标准的图形框架、视频编解码的多媒体能力。可支撑的产品如智能家居领域的IP Camera、电子猫眼、路由器以及智慧出行领域的行车记录仪等。

  • 标准系统(standard system)

    面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为128MiB,可以提供增强的交互能力、3D GPU以及硬件合成能力、更多控件以及动效更丰富的图形能力、完整的应用框架。可支撑的产品如高端的冰箱显示屏。

因为节点终端采用的RISC-V 32位设备,项目中使用的是OpenHarmony的轻量系统。

三、项目架构设计

1、硬件总体设计框图

2、软件总体设计框图

网关上运行的软件功能主要分为2部分,一是Web服务器运行的html程序与CGI程序,二是通信协议处理程序。二者的数据通过共享内存进行共享访问。网关与节点间通过TCP通信程序进行数据交互。

3、web服务器上运行的网页程序架构图

四、项目工程开发说明

网关代码可在arm开发板上直接编译,无需交叉开发环境。

节点代码通过Linux主机(或虚拟机)进行交叉开发下载到节点开发板。

开发环境:

PC机(Linux系统或虚拟机)网关程序编辑,节点程序编辑/编译。

网关开发板(arm程序编译环境)。

1、项目源码结构

项目参考源码及可执行文件:https://gitee.com/www_91arm/phytiumpi_iot_ia1_sf1

phytiumPi-iot-src:飞腾派网关的项目源码,可在网关上独立编译。

bearPi-src:是bearPi节点的项目源码,需要配合Openharmony的liteOS系统工程源码进行编译。

www-bin:是网关的web服务器及网络通信服务可执行文件,直接部署到设备。

2、开发板本机编译环境

3、cgi程序的编译

复制代码
gcc gas_alarm.c -o gas_alarm.cgi

4、网络通信服务程序编译

复制代码
gcc node_ser.c -lpthread -o node_ser

五、系统部署说明

飞腾派开发板,连接网线、(HDIM显示器、键鼠),插上电源适配器通电开机。

通过开发板本机查看其IP地址信息,PC机通过SSH登录到开发板进行后续操作。

项目硬件连接方式如下:

飞腾派网关接通电源、网线。节点终端通过type-c线接电脑USB接口。

1、网关web程序部署

Web服务器部署参考:

物联网网关Web服务器--lighttpd服务器部署与应用测试
项目参考源码及可执行文件:https://gitee.com/www_91arm/phytiumpi_iot_ia1_sf1

网关上Web服务器设置完成后,编译项目源码或gitee上下载可执行代码放入web服务器的配置目录。

PC机浏览器中输入WEB服务器IP地址,会显示如下界面(节点未连接,无数据)。

2、节点程序下载部署

下载方式参考:

OpenHarmony轻量系统--BearPi-Nano开发板网络程序测试

节点程序下载后,采集节点开发板通过type-c线连接电脑,电脑通过软件连接到其串口,开发板按reset键重启,可查看其调试输出信息中的IP地址。不同节点需要分别查看。

3、网关网络通信服务部署

SSH到E2000开发板终端,在开发目录下运行网关上的网络通信服务程序。

通过网络通信服务程序分别连接节点1、节点2。

复制代码
$./node_ser 192.168.199.108 1 &
$./node_ser 192.168.199.109 2 &

节点网络连接成功后,可以在web管理界面实时显示节点采集的传感器数据。

在网关的设备控制界面可以对设备进行控制。

相关推荐
Geometry Fu3 小时前
物联网控制技术 知识点总结 第三章 汇编语言 第四章 C51语言
汇编·物联网·51单片机
武汉唯众智创5 小时前
基于人工智能的物联网全栈智能应用实训系统实训室解决方案
人工智能·物联网·物联网实训室·物联网实验室·物联网全栈实训室·物联网全栈智能应用实训系统·物联网全栈智能实训室
蓝蜂物联网8 小时前
PLC 远程运维新范式:物联网打破空间限制
运维·物联网·信息可视化·制造
国产化创客19 小时前
国产ARM/RISCV与OpenHarmony物联网项目(二)网关数据显示
物联网·鸿蒙系统·国产化
qq_25929724731 天前
网络编程TCP与UDP
c语言·物联网
Java小白,一起学习1 天前
ESP32开发入门
单片机·物联网·iot
Hy行者勇哥1 天前
物联网传输网关、RTU、DTU及SCADA系统技术解析
物联网
Hy行者勇哥1 天前
物联网传输网关、RTU、DTU及SCADA系统的技术难点与未来开发方向
物联网
打码人的日常分享1 天前
智慧园区建设资料合集(Wordppt原件)
大数据·物联网·流程图·智慧城市·制造