• [技术干货] IntelliJ IDEA快捷键
    ctrl+W //选中单词ctrl+<-- --> //上一个/下一个单词ctrl+shift+enter//自动完成,句尾加分号alt+enter //智能提示,如生成变量ctrl+alt+L //整个代码缩进格式化ctrl+/  //单行注释ctrl+shift+/ //块注释ctrl+alt+shift+J //列操作esc//退出列模式shift+F6 //重命名
  • [技术干货] idea添加数据库图文教程
    我们平时在写代码的时候经常会用到数据库,我们需要时常查看我们的数据是不是符合预期的,我们希望有一个图形界面可以直接看到数据,而不需要每次都手动敲指令,这样工作效率会比较低。本文将教会你怎么直接在idea中配置数据库,然后能直接看到我们的数据。一、配置在idea最右侧有一个工具栏,我们点击DataBase按钮,然后会出现如上界面,我们选择添加按钮选择MySQL输入DataBase,User,Password最后点击Apply,OK这时候我们已经能看到我们数据库中所有的表了,我们随便点击一个看看吧点击之后我们就能看到我们表中存好的数据了,很方便吧。哈哈补充知识:idea添加自定义live template模板idea添加自定义live template模板环境说明:idea版本:2018.03.06idea知道有这个功能,不知道eclipse有没有idea有一个非常方便编码的功能,就是Live Template,这个功能的本质就是构建一个常用代码段和一个缩写的映射,在编码时,使用这些缩写就可以快速的输入这些常用的代码块,了解了这些,将大大提高我们的编码效率;当然,除了默认的live template,我们还可以自定义自己的代码模板,在模板中,可以使用一些变量的引用,在带入代码模板的同时带入自定义一些类名、方法名等,提高编码效率。File->Settings…,进入设置页面;设置页面左侧Editor->Live Templates,展开右侧的列表,就可以看见一些常用的、默认的代码模板了,如果在编码的过程中遇到常用的代码段,可以来看看有没有已经定义好的代码模板可用;现在我们以创建对方法描述的模板为例来自定义自己的代码模板;Live Templates面板右侧上方,依次点击"+"->Template Group,在弹出的框中填写自定义模板组的名称,这里写MyGroup,将我们自定义的代码模板放在MyGroup模板组里面,与其他默认模板区分开;接着点击列表中出现的MyGroup模板组,再点击刚才的"+"->Live Template;在下方Abbreviation选项中填入自定义的模板对应的缩写,我这里写成mi(method info的首字母缩写),在Description选项中填入对此模板的描述,在Template text选项中填入模板原文,还有Live Temple面板左下方红色的No applicable context yet.选项,点击后面的Define选项,选择Java,最后记得点击右下角Apply按钮;在模板原文中可以使用变量,比如这里的模板原文中的$METHOD_NAME$、$METHOD_PARAMETER$、$END$、就是一个变量,在输入时,会置空或用与参数连接的内置或自定义函数来填充,比如若将$METHOD_NAME$与系统内置的methodName()函数连接起来,在输入的时候,在某方法内部,输入我们设置好的缩写mi,IDE会提示输入,点击之后,会发现在我们设置的方法模板内部,已经将方法名、参数、返回值自动填充好了;**如何连接变量与函数表达式呢?**先选中一个参数,然后看模板原文右侧上方,有一个Edit variables选项,点击之后,就可以进入绑定的面板,在idea中内置了许多表达式,可以在文首的“参考”信息中查看详细的表达式的解释;
  • [技术干货] 用IDEA构建一个简单的Java程序范例
    一、创建项目1.点击菜单栏File->New->Project...2.从左边栏找到Java,例如我这里是Java Enterprise(每个人的可能不一样,因为IDE版本可能不同),然后选择project SDK,没有的话点击Download JDK...,有的话点击Add JDK...3. Download JDK是这个界面,Vendor我这里选择Oracle OpenJDK(各位可以根据需要选择),Version是版本,Location是位置4.下载或者添加之后,点击Next,这里可以选择Specification和Implementation,大家根据需要选择,我这里直接Next5.创建项目和名称二、编写代码1.项目结构如下2.我们打开src的main,右键点击main里的java,选择New->Package,输入包的名字,我这里是Hello3.新建一个class,输入名字,我这里是Hello4.输入代码package Hello; public class Hello { public static void main(String []args){ System.out.println("Hello!"); } }
  • [基础介绍] 【活动未达要求,取消活动】物联网创意畅享,不限场景、不限设备,只要你有关于物联网的好的应用idea,就有机会赢取大奖
    物联网创意畅享,创意是唯一要求。不限场景!不限设备!只要你有关于物联网的好的应用idea,都可以回帖回复。【活动时间】2020年8月10日-2020年8月30日 0:00【参与方式】在本帖下直接回复你的创意即可。【盖楼要求】为了避免刷帖影响公平,活动期间每人最多可盖3楼,超过3楼将取消资格【基础奖励和额外奖励获得要求】基础奖励参与人数40,额外奖励参与人数70【活动奖品】奖品1(基础奖励):50元京东卡将从所有回复中的有效楼层数的10%、50%、90%选出3名幸运用户,获得50元京东卡      奖品2(额外奖励):荣耀移动电源2 20000mAh (Max 18W) 快充版(颜色随机)将从所有回复中选取最具创意(即获得点赞数最多的)的回复一名,获得荣耀移动电源2 20000mAh (Max 18W) 快充版(颜色随机,图片仅供参考)还等什么,快来参与吧!注:活动遵守华为云社区常规活动规则https://bbs.huaweicloud.com/forum/thread-5766-1-1.html 
  • [教程指导] 使用IntelliJ IDEA导入MRS样例代码工程
    获取MRS最新样例代码文件。华为云MRS服务2.0版本的样例工程下载地址为:huaweicloud-mrs-example。本地已安装IntelliJ IDEA、JDK、Maven等必备软件。配置华为云镜像站中SDK的Maven镜像仓库,可参考华为云开源镜像配置方式。注意如果本地需配置代理上网,在Maven配置文件“settings.xml”的<proxy></proxy>字段中需配置相关代理信息。如下:打开IntelliJ IDEA,选择导入Project,然后导入下载的样例代码组件的pom文件,例如导入HDFS的样例代码工程。等待工程导入及相关jar包依赖下载完成,即可查看相关样例。使用Maven编译下项目,查看项目相关依赖是否下载完成。
  • [技术干货] 《Huawei LiteOS设备开发实战》—FAQ(持续更新),萌新遇到问题先看这里
    账号、课程学习相关FAQ:1、学习这个课,要注册两个账号?    华为云账号用户登录华为云(活动报名、打卡、使用物联网平台),华为账号用于学习视频课程。2、华为账号和华为云账号有什么区别,一定要注册两个账号?    可以只注册华为账号,在华为云登录界面,可以选择使用华为账号登录。3、不知道在哪儿看视频,打卡,报名活动?    看群公告。物联网平台(IoTDA设备接入)相关FAQ1、为什么我的平台不能正常使用,各种报错?   (1)登录账号后,先去进行实名认证(2)检查下是否欠费(3)控制台区域选择北京四(4)检查下资源空间,没有资源空间的新建一个,有的用默认的即可2、上报数据,下发命令和视频中不一致?    仔细检查下功能定义和插件开发是否完全正确,是否和视频中一致,建议反复观看对比。3、messageID和mid什么区别?    messageID标记不同种类的消息,mid标记同一种消息,具体是哪一次下发的,设备回复命令响应时,带上mid,平台根据mid可以判断出具体是对哪一条命令的响应。4、设备如何激活? 在物联网平台中,激活就是将真实设备在平台进行注册后,和平台进行连接或者上报数据。更多请查看https://support.huaweicloud.com/qs-iothub/iot_05_0005.html#section3 5、NB-IoT使用电信物联卡,无法正常接入设备接入平台? 由于电信做了限制,电信卡只能连电信自己的平台,会出现接入设备接入平台失败或执行软固件升级失败等情况。 6、获取账号详细信息时后台出现错误,获取失败? 请确保华为云账号实名认证通过,并且账号不处于欠费状态。7、NB-IoT设备在线离线状态不实时更新? NB-IoT设备,大部分时间处于休眠状态,设备接入平台后,设备在超过49小时未上报数据,平台会将设备置为“离线”状态。建议根据是否获取到设备数据判断是否在线,而不是通过显示的设备状态。 MQTT设备通常处于长连接状态,因此可通过在线离线状态实时判断设备运行情况8、小熊派FAQ链接:https://bbs.huaweicloud.com/forum/thread-18757-1-1.htmlVSCode和IoT Link插件相关FAQQ: 安装完插件后底部没有Home按钮?A: 常见的原因是您使用了Linux/Mac版的VSCode,目前插件还不支持。Q: 安装完插件后底部没有Home按钮?A: 常见的原因是您使用了Linux/Mac版的VSCode,目前插件还不支持。Q: 新建的工程编译失败?A: 检查'用户设置'--'工具链'里的GCC工具目录是否配置正确,如果插件自动下载安装的GCC,路径为C:\Users\用户名\.iotlink\tools\gcc-arm-none-eabi\bin。若此处没有配置,则需要点击提示里的链接下载安装GCC,安装完成后填写GCC目录,一般为 C:\Program Files (x86)\GNU Tools Arm Embedded\9 2019-q4-major\binQ: 工程烧录失败?A: 失败可能的原因较多,可以做如下的尝试:检查开发板和电脑是否正确连接重新插拔USB线检查工程设置--'调试器'中的Adapter是否配置正确,OpenOCD类型的注意检查参数,JLink类型的检查设备名称是否和开发板匹配尝试重新安装STLink驱动Q: VSCode提示检测到#include错误,请更新includePath?A: 该错误为VSCode找不到gcc编译器的头文件,但并不影响实际的编译功能。如果想修复可打开当前工程的.vscode/c_cpp_properties.json,检查配置的includePath是否正确。一个参考的配置如下:"includePath": [  "C:/Program Files (x86)/GNU Tools Arm Embedded/9 2019-q4-major/arm-none-eabi/include",  "C:/Program Files (x86)/GNU Tools Arm Embedded/9 2019-q4-major/lib/gcc/arm-none-eabi/9.2.1/include",  "${workspaceFolder}/**",  "${sdkPath}/**"],1、本次嵌入式开发环境搭建要做什么?    只需要做这两步:(1)下载VSCode(2)VSCode内安装IoT Link插件2、VSCode在哪儿下载?    下载地址:https://code.visualstudio.com/,下载Windows64位Stable版3、编译失败?    检查IoT Link设置中的工具链GCC目录,是否设置到bin路径。    C:\XXX\GNU Tools Arm Embedded\9 2019-q4-major\bin4、VSCode如何设置中文界面?    看这里:https://bbs.huaweicloud.com/blogs/1693425、JLink下载慢?    不需要下载JLink,本次小熊派使用的是STLink,安装IoT Link过程中自动安装STLink,无需其他操作。6、GCC下载不了?    不需要单独下载GCC,安装IoT Link插件会自动安装GCC。7、烧录失败?    (1)没有小熊派开发板的,不需要执行烧录操作,只做打卡用不到烧录操作。    (2)检查下调试器配置是否正确。    (3)检查下是否将小熊派开发板用USB链接到电脑上。    (4)重新插拔下USB线。    (5)如果之前安装过STLink驱动,可以试下重装STLink驱动,驱动在帖子附件下载。8、能不能使用之前的IoT Studio?    熟练者可以使用,但不方便根据视频学习,本次课程视频里用的都是VSCode和IoT Link插件,建议用VSCode。9、安装完IoT Link插件,看不到Home?    不支持Linux、Mac,不支持Windows 32位。10、IoT Link插件是否支持Linux?    当前IoT Link插件仅支持windows 64位。
  • [视频] 【云小课】云视频 第2课 教您使用VOD处理并加速OBS中的视频
    某用户:小课呀,最近我又碰到了个问题,这个不是最近要求远程上课吗?以前一直有使用华为云的OBS服务,所以想把制作的视频课程上传到我自个的OBS桶中,但我现在又想到把这些课程引用到网站的课程板块。视频课程的格式没有统一,有没办法把OBS桶里的视频转换的同一格式和分辨率的。此外,还能截取一些视频课程图片。还有,因为观看课程的量可能不会很小,有没办法保障流畅度呀?小课:等等,让我搜索下小课:有了,您可以用华为云视频点播服务(VOD),VOD提供了一个托管功能,可以直接通过VOD来处理OBS桶中的视频课程,此外,VOD自带CDN加速功能,可以把托管的视频课程预热到广泛的CDN节点中,如此,我们的同学就可以直接在最用户最近的CDN节点获取到视频课程。你再把课程播放地址引用到网页中,可以直接使用VOD提供的Web播放器,更便捷,播放体验也是棒棒的哦~!某用户:听起来好像还比较简单,怎么操作?可否指导下?小课:OK,安排~~~操作流程整个操作过程可以分为如下几步,其中配置转码模板或配置工作流您可以根据实际需求选择配置。步骤一:开通VOD在开始使用前,先需要开通VOD,VOD服务提供按需计费和套餐包,在本次场景中,可能会产生流量费、转码费等费用,所以建议在使用前购买套餐包,更优惠~~步骤二:配置转码模板或工作流(可选)转码模板:VOD提供了3个预置的系统转码模板,同时也支持根据实际需求自定义转码模板,支持转码成DASH、HLS和MP4格式。 视频转码模板(system_template_group):内置了常用的视频清晰度流畅、标清、高清、超清、2K、4K六种清晰度,该模板适用于对分辨率、码率、帧率等音视频具体参数不熟悉的用户。 转封装模板(original_template_group):只转换音视频的封装格式,不改变其它参数,支持将FLV和HLS格式转换为MP4格式,将MP3、MP4和FLV格式转换成HLS格式。该模板主要适用于只需改变格式,无分辨率和码率等更改需求的场景。视频自适应转码模板(adaptive_template_group):支持视频画质增强功能,支持编辑具体的分辨率和码率。该模板适用于有修复视频受损图像需求的场景。建议优先使用系统模板,若不满足需求,再具体配置自定义转码模板,具体配置指南请戳此处。工作流:VOD提供了工作流处理功能, 支持流程化地对视频进行转码、转封装、审核、截图、音频提取、剪切等操作。工作流中所有任务并发执行,所以能在一定程度上提高视频处理效率。具体配置指南戳此处。步骤三:配置托管配置增量音视频托管后,被托管的OBS桶中新增文件将被同步到VOD,您可以对桶中的音视频文件进行相关管理操作。将用于存储原始视频文件和处理后的视频文件的OBS桶托管给点播服务。a.  登录视频点播控制台。b.  在左侧导航栏选择“音视频托管 > 桶授权”,显示您当前已创建的OBS桶。c.  在对应的桶右侧,单击“授权”,完成OBS桶授权。授权如果,点播服务才可读写对应桶里的视频文件。存储原始文件的OBS桶和存储视频处理后输出文件的OBS桶都需要完成授权。 在左侧导航栏选择“音视频托管 > 增量托管”。单击“添加配置”,进入创建托管配置页面,配置托管参数。托管桶:存储视频课程的OBS桶,可以选择一个或多个。托管文件类型:视频课程的格式。音视频处理:选择步骤二配置的转码模板或工作流。输出存储位置:选择使用点播服务处理视频后的文件的存储位置。  单击“确定”,完成配置。步骤四:上传视频课程根据原始视频文件存储的位置,选择不同的上传方式,具体如下所示:若原始文件存储在本地,您可以在OBS控制台或者OBS Browser+上传。若原始文件存储在其它云服务厂商,您可以通过对象存储迁移服务将视频文件迁移到华为云OBS桶中。由于在上传视频前,配置了OBS增量托管,所以上传后,视频文件会同步在点播服务控制台显示,转码或经过工作流处理输出的文件也会存储在配置的OBS桶中。温馨提示:   华为云在“华北-北京一”、“华北-北京四”和“华东-上海2”提供了VOD服务,VOD不支持跨区域处理OBS桶中的视频文件,因此建议将视频课程存储在这三个区域的OBS桶中。步骤五:引用到网站原始视频同步到点播服务后,点播服务会为其生成原始视频播放地址。视频若做了转码处理,点播服务会生成转码播放地址。可以通过如下方式获取视频文件的播放地址,然后引用到网站中。 登录视频点播控制台。在左侧导航栏选择“音视频管理”,进入音视频管理页面。勾选需要导出的视频文件,单击“导出”,导出视频文件信息,其中包含原始文件和转码文件的播放地址。在网站中集成web播放器,将导出的播放地址引用到播放器中。【云小课】云视频第1课《如何将一场直播录制到VOD》:https://bbs.huaweicloud.com/forum/thread-34078-1-1.html
  • 5G 2B 生态套件--业务性能评估平台ViaSLA(单机版)
      目前各类应用对业务质量的要求差别主要在帧率,分辨率,E2E总时延的要求。在视频帧级,视频流级和基于视频协议的包级上对网络传输质量,业务质量进行映射分析,通过对影响业务质量的关键指标进行建模,从而得出业务质量的综合评分。ViaSLA监测平台介绍       ViaSLA(Vertical Industry Application Service Level Agreement)监测平台是Xlabs推出的对5G 2B 行业生态解决方案中业务性能评估平台,包括对实时视频的评估和控制业务的评估,通过被合作伙伴集成的方式,对现场实时业务进行监测,并对历史数据进行分析。SLA监测评估平台分为单机版ia和平台版。单机版主要面向单应用性能可视,能满足一线项目的轻量级部署,对现场业务问题进行界定。平台版能满足多应用场景,并能进行运营分析。本次主要介绍ViaSLA监测平台单机版。  比如在云直播上,找出能评估应用质量好坏的ia关键指标有码率,时延,丢包率,丢帧率,从业务层来看,主要有码率和丢帧率,从网络层的KPI指标来看,主要有时延和丢包率。通过ViaSLA监测平台对上述关键指标进行量化直观的呈现,并对系统的可靠性进行分析得出业务质量评分,如下图所示:       而通过建立业务SLA评估模型:基于帧可靠性的直播安全区模型;来预测当前直播是否会出现卡顿和花屏。 上图实时安全区统计曲线中,红线以下为业务安全区,红线以上为业务的非安全区意味着直播业务会出现视频卡顿和花屏。SLA工具套件使用步骤  1、环境准备     一台windowsPC,最好安装有chrome浏览器;Web服务器(Apache,Lighttpd,nginx或者其它) 2、安装及配置     ViaSLA工具套件主要内容分为offlineapp和public两个目录,里面是HTML+JavaScript进行数据处理,轻量渲染和核心业务质量算法代码。首先需要把offlineapp和public放在服务器的根目录下,以lighttpd为例,放在htdocs目录中 合作伙伴需要根据“SLA监测套件接口说明”开发标准格式的数据采集SDK。启动lighttpd服务,并在浏览器中输入http://localhost/offlineapp/view/page/monitor_runtime.html,点击查询。如下图所示主要有E2E编解码时延设置,业务安全区呈现,实时KPI监测,业务质量计算,关键值统计和CDF/PDF数据统计。足够对应用进行多个方面多个维度的分析。点击‘历史数据’进行查询,会对当前任务的历史KPI数据的统计分析呈现。如下图所示ViaSLA工具套件集成方法      该套件由华为Xlabs进行开发和评分算法的维护,将会在https://developer.huaweicloud.com/resource/5gplus.html中‘5G+软件栈’版块上进行发布以及使用集成说明。欢迎大家进行关注。  大家如果对于集成SLA监测套件感兴趣,或者有相关问题和想法的欢迎交流和咨询:华为X Labs实验室,接口人:jiezhiyuan@huawei.com
  • [交流吐槽] 下面是我的移植过程,但有些地方还是不太明确是不是这样干,请大佬解读,并给予提示。
    ### 华为Liteos和物联网设备侧sdk移植到stm32F03ZE霸道板子上 ### 啥是LIteos “开源免费”的实时操作系统,集成了 LwM2M、CoAP、mbed TLS、LwIP 全套 IoT 互联协议栈,且在 LwM2M 的基础上,提供了 AgentTiny 模块,用户只需关注自身的应用,而不必关注 LwM2M 实现细节,直接使用 AgentTiny 封装的接口即可简单快速实现与云平台安全可靠的连接。属于国产的实时操作系统(RTOS) ### 基于标准库移植 下载源码,[https://github.com/LiteOS/LiteOS](https://github.com/LiteOS/LiteOS)\ ### 往裸机工程添加 LiteOS 源码 打开 LiteOS 源码文件,可以看见里面有 8 个文件夹,下面先来了解一下主要的文件夹及其子文件夹的作用,然后将 LiteOS 源码的核心文件提取出来,添加到工程根目录下的文件夹中,因为工程只需要有用的源码文件,而不是整个 LiteOS 源码, ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190929165628332-715049345.png) ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190929170103804-1587161396.png) ### 添加LiteOS 系统的一些配置文件,含原厂芯片驱动 ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190929171305177-1794625631.png) ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190929171354402-1649263409.png) >将 OS_CONFIG 文件夹下面的一些配置文件拷贝到刚刚提取的 LiteOS 核心文件夹下面,等下在移植工程的时候大家是需要对这个文件夹下的某些文件进行修改,以适配不同的工程配置,并且可以通过修改这个文件夹下的内核配置头文件来裁剪 LiteOS 的功能。 添加 CMSIS的库,可以打开工程在mdk里面添加,也可以新建\Libraries\CMSIS\include,include文件夹从 keil 安装目录下C:\Keil_v5\ARM\Pack\ARM\CMSIS\5.3.0\CMSIS\Include,将其包含进来可以避免其它电脑 在移植过程中没有相关头文件而引起的编译错误 ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190929173748976-1019510793.png) ### 打开工程,添加 LiteOS 核心源码到工程组文件夹 需 要 在 开 发 环 境 里 面 新 建 LiteOS/cmsis 、 LiteOS/kernel 、 LiteOS/arch 和LiteOS/config 四个文件分组,其中 LiteOS/cmsis 用于存放 LiteOS 文件夹下 cmsis 文件夹的内容,LiteOS/kernel 用于存放 LiteOS 文件夹下 kernel 文件夹的内容,LiteOS/arch 用于存放LiteOS 文件夹下 arch 文件夹的内容。而 LiteOS/config 用于存放 LiteOS 文件夹下的OS_CONFIG 文件夹的内容。 ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190929180603458-355636054.png) ### 指定 LiteOS 头文件的路径 ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190929181731297-1104360672.png) ### 修改liteos/config文件下的target_config.h,修改自己板子对应的头文件 ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190929211228476-1531035796.png) 修改LOSCFG_PLATFORM_HWI,如果是YES代表接管中断,否则不被接管 非接管中断版本的 target_config.h 文件就需要在 LiteOS 提供的 demo 中移植过来 , 比 如 : LiteOS\targets\STM32F103RB_NUCLEO\OS_CONFIG,启动文件不变,保留stm32f10_it.c但需要注释 void PendSV_Handler(void)与 SysTick_Handler(void)这两个函数 接管中断版本的target_config.h文件就需要从 LiteOS 官方写的工程文件夹下面拷贝过来的,路径为\LiteOS\targets\ STM32F429IGTx_FIRE\OS_CONFIG ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190930100928785-2023022556.png) #### 启动文件内容修改(接管中断,非接管不用管) 因为 LiteOS 接管中断版本的中断向量表是由系统管理的,所以裸机的启动文件是要不得的,必须替换掉, ![](https://img2018.cnblogs.com/blog/1252747/201910/1252747-20191008104151372-1925477442.png) ### 分散加载文件修改(接管中断方式,非接管不用管) 在 LiteOS 中,中断向量表被放在运行内存里,避免影响分配内存,那么就需要将代码分散加载到不同的区域中,华为官方提供的分散加载文件就在每个具体的工程文件目录下,如 : LiteOS \targets\ STM32F429IGTx_FIRE\MDK-ARM 文 件 夹 下 的 STM32F429IGTx-LiteOS.sct 文件。首先将它拷贝到我们自己的工程中去,并且将其名字修改为“Fire-F103-LiteOS.sct”,放在工程的 user 文件夹中,然后在工程中把 “Fire-F103-LiteOS.sct”文件到工程配置中 ![](https://img2018.cnblogs.com/blog/1252747/201910/1252747-20191008104334018-556501291.png) ![](https://img2018.cnblogs.com/blog/1252747/201910/1252747-20191008104507645-76129025.png) ![](https://img2018.cnblogs.com/blog/1252747/201910/1252747-20191008104633993-793787697.png) ### 修改中断相关文件(非接管中断,接管中断不用管) 由于 LiteOS 已经处理好 PendSV 与 SysTick 中断了,就不需要用户自己处理,所以要在中断相关的源文件(stm32fxxx_it.c)中注释(删除)掉 void PendSV_Handler(void)与 SysTick_Handler(void)这两个函数。 ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190930101858775-1345258687.png) ### 更新core_m3.h版本到4.3,复制粘住就可以了 打开keil安装目录,把版本新的cmsis的include替换工程下的cmsis的include,防止你的工程的cmsis的include版本低于4,同时 ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190930152043966-1154931939.png) ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190930152212679-60855898.png) ### 修改工程配置 在 LiteOS 中,需要 C99 标准的支持,并且忽略相关的警告,选择“target”→ “C/C++”,在“Misc Controls”选项中输入--diag_suppress=1,47,177,186,223,1295,意思是忽略这些编号的警号, ![](https://img2018.cnblogs.com/blog/1252747/201909/1252747-20190930102943835-211837719.png) 经初步完成工程的移植了,LiteOS 的接管中断比非接管中断方式要麻烦很多,所以推荐在 cortex-m 系列处理器中采用非接管中断方式移植工程, ### 在main文件添加led任务 ``` #include "sys.h" #include "delay.h" #include "usart.h" #include "led.h" #include "stm32f10x.h" #include "los_sys.h" #include "los_task.ph" UINT32 LED_Task_Handle; static UINT32 AppTaskCreate(void); static UINT32 Creat_LED_Task(void); static void LED_Task(void) int main(void) { UINT32 uwRet = LOS_OK; delay_init(); LED_Init(); /* LiteOS Äں˳õʼ»¯ */ uwRet = LOS_KernelInit(); if (uwRet != LOS_OK) { printf("LiteOS ºËÐijõʼ»¯Ê§°Ü£¡Ê§°Ü´úÂë0x%X\n",uwRet); return LOS_NOK; } uwRet = AppTaskCreate(); if (uwRet != LOS_OK) { printf("AppTaskCreate´´½¨ÈÎÎñʧ°Ü£¡Ê§°Ü´úÂë0x%X\n",uwRet); return LOS_NOK; } LOS_Start(); while(1); } //其余见下载附件 ``` ### 运行结果 ![](https://img2018.cnblogs.com/blog/1252747/201910/1252747-20191007210722571-1942518665.png) ![](https://img2018.cnblogs.com/blog/1252747/201910/1252747-20191007210800003-1299511617.png) 工程见网盘: ``` 非接管中断: 链接:https://pan.baidu.com/s/1UQ2L6nZfoqFaa3DL2l20TA 提取码:ikrv 复制这段内容后打开百度网盘手机App,操作更方便哦 接管中断: 链接:https://pan.baidu.com/s/1UbFJy7wRztPnQWQhLrjavg 提取码:95pf 复制这段内容后打开百度网盘手机App,操作更方便哦 ```
  • [热门活动] 【华为云•实践有礼】 挑战15分钟完成人脸识别应用开发!!!
    本期获奖用户名单如下:建赟蓝书签chendaiweiecstaticlianzai喧默buyifengxiaode888情殇贼笨_pr0d1gy以上用户将会获得《刷脸背后》书籍一本,请获奖者在7月26日前将联系方式(姓名、电话、电子邮箱、收货地址) 私信给我哈!o(* ̄︶ ̄*)o谢谢如果逾期没有提供收货地址,将视为自动放弃奖励哦~~~华为云社区实践有礼活动开始啦~近年来人脸识别凭借其自然性、便利性、友好性等特点,已经成为了人工智能领域中很火的一项技术, 在实名认证、图像编辑等功能中都有其身影。本实践将介绍如何使用华为云DevCloud基于Gradle工具,完成一个Android人脸识别App开发。本实践为初级实践,主要包含以下知识点 :● Gradle构建的生命周期                   ● Gradle功能的目录结构● build.gradle配置文件● Android API:绘图 (android.graphics包)● Android API:人脸检测(Face Detect)操作步骤1.了解Gradle2.执行编译任务3.下载构建包实践提供操作指导,按照指导步骤完成人脸识别应用开发,并按要求将截图发布到本帖子下方,有机会获得《刷脸背后》书籍1本活动时间:2019年6月14日-2019年7月14日活动参与步骤:1.  注册华为云账号,通过实名认证(已有华为云账号可忽略此步)2.  点击实践链接,接收作业,按照操作指导完成实践。3. 实践结束后将结果截图发送至本帖(包含用户名)示例如下:                                              4.  活动结束后,在所有盖楼的用户中抽取获奖楼层,获奖楼层=总楼层*中奖百分比,中奖百分比为5%、15%、25%、35%、45%、55%、65%、75%、85%、95%。例如:活动结束后总楼层为500,500*5%=25,即第25楼获奖,其他获奖楼层同理可得。如出现小数点,则四舍五入,例如:活动结束后总楼层为530,530*5%=26.5,即第27楼获奖。无效楼层不参与中奖,做顺延处理,例如:抽取获奖楼层为第5楼,但5楼为无效楼层,即顺延至第6楼获奖,若依然为无效楼层,则继续顺延,以此类推,奖品为《刷脸背后》书籍1本
  • [热门活动] 使用IntelliJ IDEA和Maven创建Java项目入门
    1. Maven简介Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期。(1)下载Maven 官方地址:http://maven.apache.org/download.cgi (2)将文件解压到某个目录  (3)配置maven环境变量    ●Maven环境测试打开命令行窗口,输入mvn -v,如果有maven 版本信息输出则证明配置成功,否则请查看自己配置路径等是否正确。注意:安装maven前请确保已安装JDK并成功配置其环境变量。显示版本信息的命令:mvn -v 在C:\Users\Administrator下创建.m2目录的命令:mvn help:system 执行该命令后将在C:\Users\Administrator下创建.m2目录。该目录将作为本次仓库的根目录,在该目录下可以放置配置文件和repository。  (4)将maven安装目录下的conf/settings.xml文件复制到C:\Users\Administrator\.m2目录下。使用国内华为云的Maven公共仓库,下载依赖构建包速度很快,否则,maven项目默认从国外的中央仓库下载。<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">  <mirrors>    <mirror>      <id>huaweicloud</id>      <mirrorOf>*,!HuaweiCloudSDK</mirrorOf>      <url>https://repo.huaweicloud.com/repository/maven/</url>    </mirror>  </mirrors><profiles>    <profile>      <id>MyProfile</id>      <repositories>        <repository>          <id>HuaweiCloudSDK</id>          <url>https://repo.huaweicloud.com/repository/maven/huaweicloudsdk/</url>          <releases>            <enabled>true</enabled>          </releases>          <snapshots>            <enabled>false</enabled>          </snapshots>        </repository>      </repositories>    </profile></settings>2、在IntelliJ IDEA中配置maven(1)打开-File-Settings (2)Importing保留其默认值1)如下图标注2所示,Import Maven projects automatically 表示 IntelliJ IDEA 会实时监控项目的 pom.xml 文件,进行项目变动设置。2)如下图标注3 所示,在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是没有勾选的,也不建议勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果我们需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可。IntelliJ IDEA 支持直接从公网下载源码和文档的。3)下图标注 4所示,可以设置导入的 VM 参数。一般这个都不需要主动改,除非项目真的导入太慢了我们再增大此参数。  3、在IntelliJ IDEA中创建Java project(1)File -> New -> Project... (2)创建HelloWorld程序 (3)设置项目名称和指定项目保存的位置(工作区目录) (4)环境搭建成功点击右上角工具栏中的运行按钮(绿色三角箭头),运行编译  创建结束后,项目代码结构如下: 4、在IntelliJ IDEA中基于Maven创建 Java 项目(1)File -> New -> Project... (2)设置GroupId和ArtifactId属性值 GroupId:是一个工程在全局中的唯一标识符,一般地,它就是工程名,使用一个完全的包名将一个工程识别出来。Artifact:是工程将要产生或需要使用的文件,可以是.jar,.war,源文件等。每个Artifact由GroupId和ArtifactId组合进行唯一识别。(3)指定Maven的安装目录  (4)指定项目保存的位置(工作区目录) (5)点击Finish后,项目代码结构如下: (6)选择根目录-> src-> main-> java文件夹,右击选择new->Java class,新建一个名称为test的java类文件: (7)运行测试程序,在编辑区右击选择Run ‘test.main()’,在控制台中能看到“hello world”说明项目创建成功:    
  • [交流分享] 物联网小课堂之NB-IoT无线通信中的发射功率和接收灵敏度
    大家好,欢迎来到本期物联网技术小课堂,今天我们将给大家就蜂窝无线通信中发射功率和接收灵敏度的概念做详细讲解,若有不对!还请各位大佬及时批评指正!上图就是蜂窝通信网络的基本结构,也就是我们日常生活中使用的手机网络结构。在切入正题之前,我们先来看下目前的几种重要的无线通信技术的特点:先看LoRa,美国semtech公司创建的低功耗局域网无线标准。2015年成立的LoRa联盟在全球积极推动LoRa技术的商用。国内**通讯发起成立中国LoRa应用联盟(CLAA)。通信距离城镇2-5Km,郊区10Km左右;通信速率十到百Kbps左右;ISM工作频段 包括433、868、915 MH等。因其商用和成熟度限制,应用规模较小,现集中于企业级的私网应用。再看Sigfox,实际是Sigfox建立的一套自上而下,从芯片、终端、网络、后台数据和云服务的生态。Sigfox无线接入网利用超窄带UNB技术,实现小数据低功耗数据传输。ISM工作频段,农村地区传输距离约30-50km,城市3-10km。好了!闲话到此为止!咳!咳!咳!没抓住重点有点跑偏了,其实大陆地区还是要看NB-IoT的戏台。(样品领取微信公众号:OneMO2019)言归正传,上面表格中提到的LoRa、SigFox、NB-IoT以及eMTC都是通过电磁波进行信息传输。电磁波能量的单位是W,dBm。发射功率,就是我们喊话的时候嗓门有多大。嗓门大了声音传的就远,嗓门小声音传的就近。实际就是指发射机的发出电磁波的能量。接收灵敏度呢,就是你耳朵能识别到的最小声音。发射机发送的电磁波经过空间损耗后,达到接收机,接收机能够识别到的、最低的电磁波能量。通常来说2G物联网模组的接收灵敏度在-108dBm左右。负的越多,灵敏度也就越高,有效距离也就越远。接收灵敏度采用dBm单位而不采用W作为单位,是因为其具体数值太小。它们两者之间关系如下:按照这个公式,NB-IoT模组的接收灵敏度-130dBm,可以换算成毫瓦值为:0.0000000000001mW。0太多,有点晕,容我喝口水压压惊。。。现在设想,我们在吵杂的马路上,此时讲话对方听不见,最简单的方式就提高声音;此时吵杂的环境就相当于外部干扰,外部干扰的大小直接影响接收机的接收效果。此时可以提高发射功率(加大嗓门),也可以提高接收灵敏度(两人距离近一点)。也就是说这两个指标对于“通信”来说都极其重要。无线通信模组是物联网通信设备的核心器件,帮助物联网终端实现数据的空中传输。即上文提到的发射机或接收机的作用。发射功率和接受灵敏度对模组性能的两个重要指标,下面以中移物联网NB无线通信模组M5311为例:(热点技术讨论QQ群:123242102)M5311模组RF输出功率22.5dBm,换算成W约为178mW。这是个什么概念?某2G模组在900M Class 4条件下2W输出功率。一眼见高低。NB-IoT如此低的功耗,接收灵敏度如何?在上面其实已经啰嗦过了,传统2G终端接收灵敏度在-108dBm左右,换算为瓦特值为1.6*10-11mW,而NB-IoT模组呢,以M5311为例在-130dBm接收灵敏度情况下,约为1*10-13mW。好了,今天的课程就给各位分享到这里,下次我们再给大家分享其他小知识。感谢各位大佬收听。下期在会!小弟我初来此地,还望各位大佬多多包涵,如有不对请及时指正!文章中含有小彩蛋,各位大佬可以仔细看看哦!
  • [问题求助] 物联网小课堂之NB-IoT无线通信中的发射功率和接收灵敏度
    大家好,欢迎来到本期物联网技术小课堂,今天我们将给大家就蜂窝无线通信中发射功率和接收灵敏度的概念做详细讲解,若有不对!还请各位大佬及时批评指正!上图就是蜂窝通信网络的基本结构,也就是我们日常生活中使用的手机网络结构。在切入正题之前,我们先来看下目前的几种重要的无线通信技术的特点:先看LoRa,美国semtech公司创建的低功耗局域网无线标准。2015年成立的LoRa联盟在全球积极推动LoRa技术的商用。国内**通讯发起成立中国LoRa应用联盟(CLAA)。通信距离城镇2-5Km,郊区10Km左右;通信速率十到百Kbps左右;ISM工作频段 包括433、868、915 MH等。因其商用和成熟度限制,应用规模较小,现集中于企业级的私网应用。再看Sigfox,实际是Sigfox建立的一套自上而下,从芯片、终端、网络、后台数据和云服务的生态。Sigfox无线接入网利用超窄带UNB技术,实现小数据低功耗数据传输。ISM工作频段,农村地区传输距离约30-50km,城市3-10km。好了!闲话到此为止!咳!咳!咳!没抓住重点有点跑偏了,其实大陆地区还是要看NB-IoT的戏台。(样品领取微信公众号:OneMO2019)言归正传,上面表格中提到的LoRa、SigFox、NB-IoT以及eMTC都是通过电磁波进行信息传输。电磁波能量的单位是W,dBm。发射功率,就是我们喊话的时候嗓门有多大。嗓门大了声音传的就远,嗓门小声音传的就近。实际就是指发射机的发出电磁波的能量。接收灵敏度呢,就是你耳朵能识别到的最小声音。发射机发送的电磁波经过空间损耗后,达到接收机,接收机能够识别到的、最低的电磁波能量。通常来说2G物联网模组的接收灵敏度在-108dBm左右。负的越多,灵敏度也就越高,有效距离也就越远。接收灵敏度采用dBm单位而不采用W作为单位,是因为其具体数值太小。它们两者之间关系如下:按照这个公式,NB-IoT模组的接收灵敏度-130dBm,可以换算成毫瓦值为:0.0000000000001mW。0太多,有点晕,容我喝口水压压惊。。。现在设想,我们在吵杂的马路上,此时讲话对方听不见,最简单的方式就提高声音;此时吵杂的环境就相当于外部干扰,外部干扰的大小直接影响接收机的接收效果。此时可以提高发射功率(加大嗓门),也可以提高接收灵敏度(两人距离近一点)。也就是说这两个指标对于“通信”来说都极其重要。无线通信模组是物联网通信设备的核心器件,帮助物联网终端实现数据的空中传输。即上文提到的发射机或接收机的作用。发射功率和接受灵敏度对模组性能的两个重要指标,下面以中移物联网NB无线通信模组M5311为例:(热点技术讨论QQ群:123242102)M5311模组RF输出功率22.5dBm,换算成W约为178mW。这是个什么概念?某2G模组在900M Class 4条件下2W输出功率。一眼见高低。NB-IoT如此低的功耗,接收灵敏度如何?在上面其实已经啰嗦过了,传统2G终端接收灵敏度在-108dBm左右,换算为瓦特值为1.6*10-11mW,而NB-IoT模组呢,以M5311为例在-130dBm接收灵敏度情况下,约为1*10-13mW。好了,今天的课程就给各位分享到这里,下次我们再给大家分享其他小知识。感谢各位大佬收听。下期在会!小弟我初来此地,还望各位大佬多多包涵,如有不对请及时指正!文章中含有小彩蛋,各位大佬可以仔细看看哦!
  • [专题汇总] 【华为物联网开发从入门到精通连载1】第六课 安装及配置SoftRadio【转】
    上节课,我们一起学习了注册设备,这节课我们继续按照基于SoftRadio模拟器进行OceanConnect平台对接整体流程,学习如何安装及配置SoftRadio。希望通过本节课程,了解华为SoftRadio软件以及如何安装及配置SoftRadio。Device以及APP应用开发与调试过程中,Open Lab是最重要的锚点,连接厂家device和海思芯片/模组接入NB-IoT网络,同时连接IoT平台以及APP server。由于NB-IoT的标准协议在16年6月底冻结,NB-IoT的芯片/模组还没有规模生产,同时华为Open Lab资源紧张,给产业链合作伙伴的device以及APP应用的开发调测增加了成本,同时导致调试效率低下。在此背景下,考虑用一个软件版本,来代替NB-IoT Chipset/Module,同时屏蔽NB-IoT Air Interface,提供一条通路直接到IoT平台,合作伙伴在自己家里就可以远程连接到华为IoT平台,进行终端和APP应用的开发以及端到端调测,实现offsite模式,不受时间和空间以及硬件限制,这就是SoftRadio。SoftRadio是一款PC软件,在测试场景下,合伙伙伴在不需要芯片/模组、NB-IoT基站和核心网的情况下,借助PC端的SoftRadio软件,任何时候都可通过互联网连接到IoT平台和APP应用,用于NB-IoT设备到APP Server端到端的基本功能调试,大大提升调试效率,加速Usecase业务快速上市。更多内容,烦请点击下方图片,学习如何安装及配置SoftRadio。学习完第六课的童鞋,恭喜你,你离物联网大咖又近了一步。第六课结束后,我们成功的学习了如何安装及配置SoftRadio,下节课我们学习如何使用SoftRadio进行数据上报。【已经上线】第七课  使用SoftRadio进行数据上报
  • 使用DevCloud Maven私有依赖库,如何批量迁移本地组件和维护?
     DevCloud Maven私有依赖库批量迁移和维护工具介绍                                                                                                                                                  使用场景: 1.当你需要使用华为云DevCloud中的maven私有依赖库服务时,迁移神器可以帮助你将原来自己本地私服中的私有组件批量迁移到云上。2.当你需要对DevCloud上maven私有依赖库中的组件进行批量更新维护时,该工具也能提供帮助。必要准备条件:安装JDK1.7+以上。 JDK下载地址:https://repo.huaweicloud.com/java/    使用方法:1.登录华为云并进入DevCloud服务,从左上角目录菜单中进入私有依赖库服务,如下图:2.在Maven私有依赖库中选择"更多操作”>>“批量迁移和维护”操作下载工具包,如下图:3.双击打开工具包,展示如下页面:                                  说明:1)选择本地目录上传时,如果目录中只有jar包而没有匹配的坐标说明文件pom.xml将无法上传成功。2)同一目录下的jar包必须要和其对应的POM文件同名,否则会提示查询失败。4.在DevCloud Maven私有依赖库页面,通过选择“更多操作”>>“仓库地址”可以获取上诉工具需要填入的maven私有依赖库仓库地址,复制后填入即可。5.在DevCloud Maven私有依赖库页面,通过选择“立即使用”后弹出的提示框中可以下载maven setting.xml配置文件,setting.xml文件中<server></server>标签中的username和password的内容就是工具需要的私有依赖库的账号和密码。如下图最后,如您在使用中有任何疑问或建议,可直接在帖子中回帖或通过DevCloud页面中右上角区域的“意见反馈”找到我们获取帮助,我们将会及时响应。祝使用开心!
总条数:176 到第
上滑加载中