小熊派BearPi-HM nano开发板 -- 前期准备

本文介绍了小熊派BearPi-HMnano开发板和E53农业案例拓展版,以及如何在Ubuntu20.04上进行配置。文章详细讲解了海思Hi3861芯片和NT3H1x01W0FHKH NFC芯片的特性,并阐述了鸿蒙系统的关键特性,如分布式软总线、设备虚拟化、数据管理和任务调度。此外,还讨论了鸿蒙系统在不同设备上的弹性部署策略及其对MCU和应用处理器的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 📚课前准备

1.小熊派BearPi-HM nano开发板

2.E53农业案例拓展版

3.学习资料--Ubuntu20.04版本、学习视频、学习课件、案例等等

        • 海思Hi3861RNIV100 -- 高度集成的2.4GHz Wi-Fi SoC芯片
          • Hi3861RNIV100芯片是32bit微处理器,外设接口包括SPI、UART、I2C、 PWM、GPIO和ADC输入,支持高速SDIO2.0 Slave接口,最高时钟达50MHz;芯片内置SRAM和Flash,可独立运行,并支持在Flash上运行程序;
          • Hi3861RNIV100芯片集成IEEE 802.11b/g/n基带和RF电路,RF电路包括功率放大器PA、低噪声放大器LNA、RF Balun、天线开关以及电源管理等模块;支持20MHz标准带宽和5MHz/10MHz窄带宽,提供最大72.2Mbit/s物理层速率;
          • Hi3861RNIV100芯片内嵌352KB SRAM、288KB ROM 以及2MB FLASH;
          • 低功耗模式: Ultra Deep Sleep模式 5uA@3.3V; DTIM1模式1.5mA@3.3V; DTIM3:0.8mA@3.3V.
        • NT3H1x01W0FHKH -- NFC芯片
          • 工作频率:13.56MHz;
          • NT3H1101(NT3H1201)支持接触式和非接触式接口;
          • IIC从机接口支持标准模式(100KHz)和高速模式(高达400KHz);
          • 用户读写区:1904 bytes;
          • SRAM:64 bytes;
          • NT3H1101(NT3H1201) NFC标签可直接作为标准IIC EEPROM使用;
          • 外部连接板载NFC射频天线。
        • 板上搭载的E53标准接口
          • 一路SPI接口;
          • 一路UART接口;
          • 一路I2C接口;
          • 一路DAC接口;
          • 一路ADC接口;
          • 五路GPIO接口;
          • 双路电源(5.0V/3.3V)输入。

      • 鸿蒙系统简介
        • 1.鸿蒙概念
          • openHarmony (在不引起误会的情况下简称为OH、ohos或鸿蒙)

华为公司捐献给了开放原子基金会孵化及运营的开源项目,是物联网操作系统的基础核心架构,是开源的。

          • HarmonyOS

华为公司基于前者之上开发的一个商业发行版,广泛用于华为旗下的诸多电子产品中,是闭源的。

        • 2.HarmonyOS应用小场景
          • 特点:
            • 信息的传递协议:WiFi、蓝牙、移动网络等

不同设备连接网是多样的(信息的传递协议:WiFi、蓝牙、移动网络等),华为的主要创新点是提供了一个屏蔽层--软总线的概念(把底层的协议给屏蔽掉 了,所以在开发的时候不用去管不同设备之间是什么样的网络协议),在基于华为软总线上打通它。

            • 信息的精准传递:设备绑定、信息认证等
          • 1+8+N模型
            • 所有的设备以HarmonyOS手机为核心,形成一个超级终端,1+8+N的划分基本以举例人的远近、使用的平均频次为划分。

        • 3.openHarmony技术架构

OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件。OpenHarmony技术架构如下所示:

        • 4.鸿蒙系统关键特性
          •  1.硬件互助,资源共享

多设备之间能够实现硬件互助,资源共享,主要依赖以下四个关键分布式技术: 1.分布式软总线 2.分布式设备虚拟化 3.分布式数据管理 4.分布式任务调度

            • 1.分布式软总线

分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。 由于分布式软总线在逻辑上打通了各种不同组网方式和底层网络协议,使得开发者只需聚焦业务的逻辑实现而无需关注设备组网方式的差异。

            • 2.分布式设备虚拟化

分布式设备虚拟化平台可以实现不同设备的资源融合、设备挂历、数据处理,多种设备共同形成一个超级终端。 ​针对不同类型的任务,为用户匹配并选择能力合适的执行硬件,让业务连续地在不同设备间流转,充分发挥不同设备的能力优势。

            • 3.分布式数据管理

用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,跨设备的数据处理如同本地数据处理一样方便快捷,让开发者能够轻松实现全场景、多设备下的数据存储共享和访问,为打造一致的、流畅的用户体验创造了基础条件。

            • 4.分布式任务调度

在分布式软总线、分布式数据管理和分布式profile技术的基础上,可以构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务运行的状态、资源的使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。

          • 2. 一次开发,多端部署

鸿蒙提供了用户程序框架、ability框架和UI框架,支持应用挨罚过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发多端部署,提升了跨设备应用开发的效率。 ​采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力。

          •  3.统一OS,弹性部署

鸿蒙通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求,支持通过编译链关系去自动生产组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,降低硬件设备的开发门槛。

        • 5. 支持的设备类型
          • 轻量系统(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以及硬件合成能力、更多控件以及动效更丰富的图形能力、完整的应用框架。
            • 可支撑的产品如高端的冰箱显示屏。
### 华为小熊开发板实现智慧路灯功能 #### 1. 开发环境准备 为了实现基于华为小熊开发板的智慧路灯项目,需准备好以下软硬件环境: - **硬件**: 小熊开发板、传感器(光照强度检测)、继电器模块(用于模拟路灯开关)以及电源适配器。 - **软件**: 需要安装 IoT Studio 软件版本 0.3.3.0 或更高版本,同时还需要 ST-Link 驱动程序支持调试工具[^2]。 #### 2. 功能设计概述 智慧路灯的核心功能包括但不限于远程监控和控制。通过物联网技术,可以实时获取路灯的状态并对其进行操作。具体来说,可以通过云端下发指令改变路灯的工作状态(如开启或关闭),并通过传感器反馈当前环境数据给服务器端进行分析处理[^3]。 #### 3. 连接方式选择 根据实际需求可以选择不同的联网方式进行部署: - 如果使用 WiFi,则按照官方文档中的指导完成网络参数配置;如果采用 NB-IoT 技术,则遵循《基于NB-IoT小熊开发智慧路灯》的最佳实践指南来进行相应调整[^4]。 以下是利用WiFi连接的一个简单示例: ```c #include <ESP8266WiFi.h> #include <PubSubClient.h> // 定义Wi-Fi 和 MQTT Broker 的信息 const char* ssid = "Your_SSID"; const char* password = "Your_PASSWORD"; // 替换为您自己的MQTT代理地址 const char* mqtt_server = "broker_address"; WiFiClient espClient; PubSubClient client(espClient); void setup_wifi() { delay(10); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } randomSeed(micros()); Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void reconnect() { // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection..."); if (client.connect("ArduinoClient")) { Serial.println("connected"); // Once connected, subscribe to the topic for controlling lights. client.subscribe("lights/control"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); delay(5000); } } } void callback(char* topic, byte* payload, unsigned int length) { String message; for (int i = 0; i < length; i++) { message += (char)payload[i]; } if(message == "ON") { digitalWrite(LED_BUILTIN, HIGH); // Turn on LED } else if(message == "OFF"){ digitalWrite(LED_BUILTIN, LOW); // Turn off LED } } void setup() { pinMode(LED_BUILTIN, OUTPUT); setup_wifi(); client.setServer(mqtt_server, 1883); client.setCallback(callback); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); } ``` 此代码片段展示了如何让小熊开发板通过 Wi-Fi 接入互联网,并订阅特定主题的消息以响应来自云平台的操作命令。 #### 4. 测试验证 当一切设置完成后,在 IoT 平台上发送消息测试路灯是否能够正常接收信号并作出反应。例如,“路灯控制”的选项下选择了“终端联控模式”,并将开关设定为“开”之后确认物理设备上的指示灯确实被点亮。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值