7设备联网上云之对接华为云IOT平台(1)华为IOT平台介绍华为云物联网平台即华为设备接入服务(IoTDeviceAccess),提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。(2)华为IOT平台产品创建产品模型用于描述设备具备的能力和特性。开发者通过定义产品模型,在物联网平...
2022-08-01 11:49:57 6353浏览 0点赞 0回复 0收藏
6.5网络应用开发之MQTT客户端(1)MQTT介绍MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布订阅(publishsubscribe)模式的"轻量级"通讯协议,该协议构建于TCPIP协议上,由IBM在1999年发布。Paho是IBM在2011年建立的Eclipse开源项目,该项目包含以C、Java、Python、Javascript等语言编写的可用客户端。(2)PahoMQTT文件目录介绍MQTTClient:封装MQTTPacket生成的高级别C++客户端程序。MQTTClientC...
2022-08-01 11:13:13 4710浏览 0点赞 0回复 0收藏
6.4网络应用开发之UDP服务端(1)socket.h接口简介(2)UDP服务端创建流程(3)实现UDP服务端打开“D4iottcpserver”工程的tcpserverdemo.c文件,修改部分代码即可实现UDP服务端
2022-08-01 11:00:34 3805浏览 0点赞 0回复 0收藏
6.3网络应用开发之TCP客户端(1)socket.h接口简介(2)TCP客户端创建流程介绍(3)实现TCP客户端打开“D3iotudpclient”工程的udpclientdemo.c文件,修改部分代码即可实现TCP客户端(4)连接开发板进行烧录(5)打开TCPUDPSocket调试工具(6)发送消息
2022-08-01 10:51:14 3240浏览 0点赞 0回复 0收藏
6.2网络应用开发之TCP服务端(1)socket.h接口简介(2)TCP服务端创建流程(3)实现TCP服务端打开“D4iottcpserver”工程的tcpserverdemo.c文件,可以查看实现TCP服务的代码(4)连接开发板后,编译获取ip(5)打开TCPUDPSocket调试工具(6)点击连接,服务端接受到数据(7)发送数据,可见服务端接受到了数据
2022-08-01 10:38:53 4610浏览 0点赞 0回复 0收藏
6.1网络应用开发之UDP客户端(1)socket.h接口简介(2)UDP客户端创建流程(3)UDP客户端的实现打开“D3iotudpclient”工程的udpclientdemo.c文件,可在代码中查看实现UDP客户端的代码(4)连接开发板(5)打开TCPUDPSocket调式工具,将端口号设为和代码中一致(6)联网成功.(7)发送消息,可看到接受消息成功
2022-08-01 10:24:06 4331浏览 0点赞 0回复 0收藏
5.2无线联网开发之WiFiSTA联网(1)wifidevice.h接口简介(2)STA热点创建代码解读打开“D2iotwifistaconnect”工程的wifistaconnect.c文件,可在代码中查看实现连接WiFi热点业务代码
2022-08-01 10:08:39 4138浏览 0点赞 0回复 0收藏
5.1无线联网开发之WiFiAP热点(1)wifihotspot.h接口简介(2)AP热点创建代码解读打开“D1iotwifiap”工程的wifiap.c文件,可在代码中查看实现创建WiFi热点的代码
2022-08-01 09:52:24 5749浏览 0点赞 0回复 0收藏
4.6驱动子系统开发之UART(1)wifiiotuart.h接口简介(2)查看UART1对应的GPIO引脚UART对应的GPIO引脚分别是GPIO5和GPIO6,将使用GPIO5和GPIO6进行UART的数据收发(3)UART读写数据打开“B6basicuart"工程的uartexample.c文件,可在代码中查看实现UART读写数据
2022-07-31 19:32:49 4459浏览 0点赞 0回复 0收藏
4.5驱动子系统开发之I2C(1)wifiioti2c.h接口简介(2)wifiioti2cex.h接口简介(3)查看NFC的I2C对应的GPIO引脚NFC芯片的I2C对应的GPIO的引脚是分别是GPIO0和GPIO1,所以需要编写软件使用GPIO0和GPIO1产生I2C信号去控制NFC芯片(4)I2C读写NFC芯片打开“B5basici2cnfc”工程的i2cexample.c文件,可在代码中查看实现NFC读写的代码
2022-07-31 19:24:06 3891浏览 0点赞 0回复 0收藏
4.4驱动子系统开发之ADC(1)wifiiotadc.h接口简介(2)查看ADC对应的GPIO引脚此案例将使用板载用户按键F1来模拟GPIO口电压的变化。GPIO11对应的是ADCChannel5,所以需要编写软件去读取ADCChannel5的电压。(3)ADC读取GPIO的电压值打开“B4basicadc”工程的adcexample.c文件,可在代码中查看实现读取ADC通道5的电压值的代码
2022-07-31 19:12:51 4917浏览 0点赞 0回复 0收藏
4.3驱动子系统开发之PWM(1)wifiiotpwm.h接口简介(2)查看LED对应的GPIO引脚LED对应的GPIO引脚是GPIO2通过控制GPIO2输出的电平信号来实现LED灯的闪烁高电平时点亮LED灯低电平时熄灭LED灯(3)输出PWM改变LED亮度打开“B3basicpwmled”工程的pwmexample.c文件,可在代码中查看实现输出不同占空比的PWM来改变LED的亮度代码(4)如何操作GPIO输出PWM改变LED亮度
2022-07-31 19:02:04 5078浏览 0点赞 0回复 0收藏
4.2驱动子系统开发之GPIO中断(1)wifiiotgpio.h接口简介(2)查看按键对应的GPIO引脚F1和F2按键对应的GPIO引脚分别是GPIO11和GPIO12,通过检测GPIO的电平信号来判断按键的状态。(3)操作GPIO点亮LED打开“B2basicbutton”工程的buttonexample.c文件,可在代码中查看实现按键控制LED灯亮灭的代码(4)如何改变GPIO中断的模式改变中断触发模式,观察现象
2022-07-31 18:49:10 4529浏览 0点赞 0回复 0收藏
4.1驱动子系统开发之GPIO(1)wifiiotgpio.h接口简介(2)wifiiotgpioex.h接口简介(3)查看LED对应的GPIO引脚LED对应的GPIO引脚是GPIO2通过控制GPIO2输出的的电平信号来实现LED灯的闪烁。高电平时点亮LED灯。低电平时熄灭LED灯。(4)操作GPIO点亮LED打开“B1basicledblink”工程的ledexample.c文件,可在代码中查看实现LED以1s的频率闪烁代码(5)如何读取GPIO当前的设置通过程序读取GPIO引脚方向、输出电平值等,并通过串口打印显示出来
2022-07-31 18:36:52 5795浏览 0点赞 0回复 0收藏
3.6内核开发之消息队列(1)消息队列的基本概念消息队列,是一种常用于任务间通信的数据结构,实现了接收来自任务或中断的不固定长度的消息,并根据不同的接口选择传递消息是否存放在自己空间。任务能够从队列里面读取消息,当队列中的消息是空时,挂起读取任务;当队列中有新消息时,挂起的读取任务被唤醒并处理新消息。用户在处理业务时,消息队列提供了异步处理机制,允许将一个消息放入队列,但并不立即处理它,同时队列还能...
2022-07-31 10:21:05 4945浏览 0点赞 0回复 0收藏
3.5内核开发之互斥锁(1)互斥锁基本概念1.互斥锁又称互斥型信号量,是一种特殊的二值性信号量,用于实现对共享资源的独占式处理。2.任意时刻互斥锁的状态只有两种:开锁或闭锁。3.当有任务持有时,互斥锁处于闭锁状态,这个任务获得该互斥锁的所有权。4.当该任务释放时,该互斥锁被开锁,任务失去该互斥锁的所有权。5.当一个任务持有互斥锁时,其他任务将不能再对该互斥锁进行开锁或持有。6.多任务环境下往往存在多个任务竞争同...
2022-07-31 10:10:59 5287浏览 0点赞 0回复 0收藏
3.4内核开发之事件管理(1)事件的基本概念事件是一种实现任务间通信的机制,可用于实现任务间的同步,但事件通信只能是事件类型的通信,无数据传输。一个任务可以等待多个事件的发生:可以是任意一个事件发生时唤醒任务进行事件处理;也可以是几个事件都发生后才唤醒任务进行事件处理。事件集合用32位无符号整型变量来表示,每一位代表一个事件。多任务环境下,任务之间往往需要同步操作。事件可以提供一对多、多对多的同步操作...
2022-07-31 10:00:06 5402浏览 0点赞 0回复 0收藏
3.3内核开发之信号量(1)信号量概念1.信号量(Semaphore)是一种实现任务间通信的机制,实现任务之间同步或临界资源的互斥访问。常用于协助一组相互竞争的任务来访问临界资源。2.在多任务系统中,各任务之间需要同步或互斥实现临界资源的保护,信号量功能可以为用户提供这方面的支持。3.通常一个信号量的计数值用于对应有效的资源数,表示剩下的可被占用的互斥资源数。其值的含义分两种情况:1):0,表示没有积累下来的Post信号量...
2022-07-31 09:48:41 4878浏览 0点赞 0回复 0收藏
3.2内核开发之软件定时器(1)软件定时器基本概念软件定时器,是基于系统Tick时钟中断且由软件来模拟的定时器,当经过设定的Tick时钟计数值后会触发用户定义的回调函数。定时精度与系统Tick时钟的周期有关。硬件定时器受硬件的限制,数量上不足以满足用户的实际需求,因此为了满足用户需求,提供更多的定时器,LiteOS操作系统提供软件定时器功能。软件定时器扩展了定时器的数量,允许创建更多的定时业务。软件定时器功能上支持:...
2022-07-31 09:33:28 5157浏览 0点赞 0回复 0收藏
3.1内核开发之任务管理(1)任务管理的基本概念1、从系统的角度看,任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。2、LiteOS的任务模块可以给用户提供多个任务,实现了任务之间的切换和通信,帮助用户管理业务程序流程。这样用户可以将更多的精力投入到业务功能的实现中。3、LiteOS中的任务是抢占式调度机制,高优先级的任务可打断低优先级任务,低优先级任务必须...
2022-07-31 09:18:18 5769浏览 0点赞 0回复 0收藏