伴随着物联网行业的发展,越来越多的物联网设备都逐渐趋于低成本、小型化、高集成的模式,传统的MCU+物联网模组的方式已经很难满足需求。利尔达NB860系列模组推出OpenCPU方案,满足客户低代码开发需求,可以缩短开发周期,提高产品性价比,降低能耗,是物联网应用开发的不二之选。
+利尔达NB860_X0A模组
本文将分享基于NB860系列模组通过Lierda NB860 OpenCPU SDK驱动常见外设传感器、入网、接入CTwing云平台、发送传感器数据、接收下发指令控制等操作。
下图给大家展示了基于利尔达NB860_X0A模组组装驱动DEMO板,DEMO板涵盖多个外设传感器:
GPIO : LED、EC11旋转编码器
SPI : SSD1306显示屏、W25Q64 SPI FLASH
I2C : OPT3001光照传感器、MPU6050六轴传感器
ADC : PS2摇杆
PWM : RGB LED
TIMER : HCSR04超声波传感器、EC11旋转编码器
※ GPIO
嵌入式开发从点灯开始,利尔达NB860模组支持GPIO操作,每一个用户IO都可以复用为GPIO,最大支持27路GPIO,可以配置上拉、下拉、输入输出、速率等,特定IO口还可作为低功耗唤醒源,满足客户低功耗应用场景需求。我们利用NB860模组IO 11复用为GPIO并点亮了LED灯,通过模组TIMER配合GPIO定时扫描EC11旋转编码器,获取旋转编码器的按动状态,实现通过按动控制LED灯开关,通过旋转方向可以控制RGB LED的亮度大小。
※ SPI
SPI是串行外设接口Serial Peripheral Interface的缩写,是一种高速、全双工、同步总线通讯协议,使用两根数据收发线、一根时钟线、一个片选线就可以与其总线上的设备进行通讯。利尔达NB860模组最大支持3路SPI,在此我们将SSD1306 Oled显示屏与外挂W25Q64 SPI FLASH连接到同一个SPI总线上,并由NB860模组SPI外设进行驱动。
A:我们利用NB860模组SPI驱动OLED屏幕显示数据内容。
B:使用SPI驱动外挂SPI FLASH往其特定地址(0x004000)写入字符串,并利用NB860模组SPI读取外挂SPI FLASH该地址内存,并将读取到的字符串打印到串口,下图是串口日志信息。
※ I2C
I2C又称IIC,全名为Inter-Integrated Circuit,是由Philips公司开发的一种简单、双向二线制同步串行总线,仅由一个时钟线,一根数据线就可以与总线线上的各设备进行通讯。NB860模组最大支持4路I2C,我们利用NB860模组将OPT3001光照传感器与MPU6050六轴传感器连接到到模组同一个I2C总线上进行驱动,如下展示效果。
利用NB860模组驱动OPT3001光照传感器,读取光照数据显示到OLED屏幕,当光照改变时,该数据可同步发生变化。
利用NB860模组驱动MPU6050六轴传感器,读取六轴数据显示到OLED屏幕,当DEMO板发生倾斜移动时,六轴传感数据同时发生变化。
※ ADC
ADC即模拟数字转换器,又称作A/D转换器,可以将输入的模拟电压信号转换为一个输出的数字信号。NB860模组支持12位ADC,最大支持4路ADC,这里利用NB860的ADC外设,对一个PS2摇杆进行测量。
利用NB860模组ADC测量PS2摇杆X,Y轴数据,并显示到OLED屏幕。当拨动遥感时,屏幕数据将会发生变化。
※ PWM
PWM即脉冲宽度调制,是用数字信号对模拟信号编码的方法之一,通过方波的占空比来对一个具体的模拟电压值进行编码。NB860最大支持3路PWM,其中一路为低功耗PWM,在模组睡眠情况下仍可使用,这里我们使用NB860模组的PWM外设控制RGB LED的颜色。
利用NB860模组PWM驱动RGB LED,控制红绿蓝三种颜色灯光亮度,可以通过接收AEP平台的数据调整颜色,也可以通过旋转编码器旋转控制其亮度。
※ TIMER
定时器是现在主流微控制器都有配备的片上外设,通过配置定时器的装载值来设定时间,并在在定时结束后进入中断,来处理相应的任务。NB860支持HRTIMER(High-Rate)主要实现高精度的定时(μs级)及计数功能,最多可同时创建16个高精度定时器。同时,NB860拥有RTC定时器,支持低功耗场景下定时器的使用。
这里我们将使用NB860模组定时器配合GPIO输入,通过HCSR04超声波传感器来获取距离信息。
利用NB860模组TIMER配合GPIO驱动HCSR04超声波传感器,测量超声波传感器换回的脉宽值,将其显示到OLED屏幕,用户使用过程中可将其进一步转换成实际距离数据。
※ AEP平台的使用
物联网的应用使能平台(AEP)是为了人与物、物与物的连接统一到一起所设计出一种便于开发者开发、管理、部署物联网应用的平台。NB860支持Lwm2m、UDP/TCP、MQTT等多种通信协议,支持对接AEP(CTWING)、OceanConnect、OneNET、阿里云、Lierda X等多种云平台。这里我们将NB860模组连接到AEP平台,将以上所提及的传感器数据打包上传,并且可通过平台下发指令,控制RGB LED的颜色。
利用NB860模组的通讯功能,将各个传感器读到的数据打包成Json格式数据并上发到AEP平台,可以在AEP平台看到上发的数据。
利用NB860模组的通讯功能,接收AEP平台下发的指令,可以控制RGB LED的颜色,以及显示模式。
值得注意的是,以上所有功能主控均在一个NB-IoT模组上实现。利尔达基于第三代5G NB-IoT芯片推出的NB860模组OpenCPU方案,通过与芯片原厂的通力配合,站在终端开发者的角度上,封装了大量的API接口,编写了大量技术文档,实现了将NB-IoT芯片开放给客户使用的目的,用户可通过撰写自己的代码进行应用开发。
OpenCPU的优势包括但不限于:
*降低BOM成本—OpenCPU方案为您去掉一颗MCU成本。
*更高的集成度—OpenCPU方案减小产品尺寸,更适用于消费类产品。
*远程差分升级(FOTA)—OpenCPU方案客户应用集成在芯片应用核,基于LwM2M的差分升级,应用部署更放心,维护升级更容易。
*更低的功耗—OpenCPU方案去掉MCU部分的能耗,更少的中间资源占用,更高的交互效率。
*更高的安全性—OpenCPU方案避免近端攻击窃取的可能,不再需要通过UART传递关键业务数据。
OpenCPU方案的引入更加凸显了NB-IoT的优势所在,是众多物联网应用核心竞争力的关键因素,OpenCPU方案的开发可以使您的产品在众多同类型产品中脱颖而出。
全部0条评论
快来发表一下你的评论吧 !