自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿成长记

记录分享成长瞬间

  • 博客(28)
  • 资源 (7)
  • 收藏
  • 关注

原创 关于VSCODE安装不了华为IoT Link的解决办法

说明之前的一篇博客里提到了vscode搭建STM32开发环境的简单方法:史上最简单的VSCODE+STM32开发环境搭建方式——基于IoT Link收到了好多朋友的反馈和支持,在此谢谢大家支持。很多人反馈说是自己安装不了IoT Link,或者是在扩展中心搜索不到。我把自己电脑上的iot link文件打包上传到了资源中心,这里给大家一个解决方案。首先说明:我今天新找了一台电脑,又安装了iot link,在扩展中心是可以搜索到iot link的。建议各位更新vscode并再试下,实在搜不到的话再用我下边

2021-01-27 14:17:00 2722 3

转载 关于NB-IoT的并发分析

转载自微信公众号 onemo该文章关于NB-IoT并发的分析挺好的,分享以下。NB-IoT模组选型考虑因素NB-IoT模组的选型评估工作对于项目能否顺利实施至关重要。前期评估验证阶段的工作若未做充分,很可能导致项目半途终止,最终发现NB-IoT通信方案并不适合当前应用场景,造成资源浪费。在实际工作中,这种现象是非常常见的。以下为NB-IoT模组选型中应做评估的常见问题(仅供参考,评估应以实测为准): ...

2020-12-11 11:47:14 3832

原创 【Android】App标题栏添加菜单项(标题栏右上角的三个点)

1.右键res,添加一个menu文件夹文件夹名字一定要为menu。2.在memu下新建菜单资源文件新建的文件为menu.xml,打开并进入code模式编辑,添加item标签增加菜单项。如下为menu.xml的内容。其中标签的内容为自己根据自己的菜单项来添加,其余内容是自动生成的。<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/andro

2020-11-14 16:29:14 1769

原创 python中计算字符串形式的数学运算式

在python中,会遇到字符串类型的运算式,要计算这个运算结果,可以使用eva函数,示例如下:ope='26*3/6+5'res=eval(ope)print(res)#输出18.0eval输出结果为浮点数,如果要转为整数,可以用round,int 等将结果专为整数,如下:ope='26*3/6+5'res=int(eval(ope))print(res)#输出18...

2020-11-06 10:40:30 9160 4

原创 makefile依赖关系中的竖线 `|`

makefile依赖关系中的竖线 |makefile的执行逻辑是,目标依赖于依赖文件,当依赖文件不存在时,make会去寻找其它规则创建依赖文件;当依赖文件比目标文件更新时,这条规则会被执行。经常会在makefile中看到类似这样的依赖关系: $(BUILD_DIR)/%.o: %.c | $(BUILD_DIR)。这是什么意思呢?这个意思是: 目标的生成依赖于.c 文件和 $(BUILD_DIR)目录的存在,但是并不关心 $(BUILD_DIR)目录的修改时间。即便$(BUILD_DIR)目录的最后

2020-10-29 11:11:53 1169 1

原创 GCC编译学习记录(链接-依赖选项)

编译步骤说明预处理,将#开头的预处理命令展开;编译,将代码翻译成汇编文件;汇编,将汇编文件翻译成机器码,即生成目标文件;链接,目标文件和库等链接起来,最终生成可执行文件。几个重要的选项-c 预处理、编译、汇编,但是不链接-S 编译后就停止,仅生成.s结尾的汇编文件-E 只进行预处理(将宏定义展开)-o 指定输出文件-v 输出详细信息,显示编译的每个阶段使用的命令-g 生成调试信息-O 优化,其后紧跟优化等级(1,2,3),-O0表示不优化-W 警告级别, -Wal

2020-10-24 11:37:43 1240

原创 【鸿蒙】Hi3861开发环境搭建踩坑记

1.Linux编译环境搭建官方参考教程https://device.harmonyos.com/cn/docs/start/introduce/oem_quickstart_3861_build-0000001054781998将shell连接到bash查看shell是否为bashls -l /bin/sh如果显示为“/bin/sh -> bash”则为正常,否则需要修改.sudo dpkg-reconfigure dashsudo rm -rf /bin/shsudo ln -s

2020-10-22 16:18:23 6719 1

原创 Ubuntu防火墙工具-UFW简单使用

0.说明ubuntu系统默认提供了一个基于iptable之上的防火墙工具ufw,使用ufw配置防火墙规则远比iptable方便多了。1.安装sudo apt-get install ufw2. 启用udo ufw enablesudo ufw default deny运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。3.打开或关闭某个端口sudo ufw allow smtp  允许所有的外部IP访问本机的25/tcp (sm

2020-10-21 11:39:54 442 1

原创 Linux Shell脚本知识点

说明:此为按照野火Linux教程学习时记录的shell的知识点。查看系统支持的shell/etc/shells文件记录支持的shell,可通过cat指令查看。book@100ask:~$ cat /etc/shells # /etc/shells: valid login shells/bin/sh/bin/bash/bin/rbash/bin/dash查看是否是内建命令(type命令)book@100ask:~$ type pwdpwd is a shell builtin #p

2020-10-21 11:31:31 207

原创 NB-IoT参数说明(RSRP\SNR)及参考信号强度评估标准

参数说明评估标准

2020-10-13 20:12:14 12962

原创 NB-IoT模组查询UE状态注意事项(NB-IoT网络信号测试)

写在前边NB-IoT的使用越来越广,在使用NB-IoT之前,尽可能都要测试下当前环境的NB网络状态,用用到NUESTATS命令来查询模组射频信息,有以下几点注意情况,笔者列出来了。为了方便NB设备的使用,笔者也做了要给NB-IoT网络信号测试仪,直观的可以掌握现场的NB网络强度,实时刷新信号强度值。ESP8266+M5310=NB-IoT信号测试仪 B站视频说明使用AT+NUESTATS/AT+NUESTATS=CELL查询模组信号时,应使模组处理连接状态,否则返回的信息保持不变。可通过如下方

2020-10-12 15:12:18 4115 6

原创 史上最简单的VSCODE+STM32开发环境搭建方式——基于IoT Link

史上最简单的VSCODE+STM32开发环境搭建方式——基于IoT_Link写在前边现在用MDK开发STM32越来越恶心了,我天朝向来不缺乏牛人,破解个MDK分分钟钟,于是MDK的使用者很多。但是都知道这在企业中开发是很危险的,这不我们就收到了ARM的律师函。一气之下决心不再用MDK,本身这个IDE的编辑功能就很让人诟病,这次的律师函也是给了我决心要去替换掉它,从此跟他说拜拜。...

2020-09-30 18:46:37 12644 32

原创 【吐槽】物联网发展缓慢,设备适配困难——企业不齐心,厂家有能力却不统一,顶层缺少统一规范

现在的情况先说说现在的情况,大家都知道物联网的特点是碎片化,设备种类非常繁多,设备协议也是五花八门,给企业和开发者增加了很多的工作量。往往是适配了这家的,还得再适配那一家的设备,明明是同一类设备,却还是要花大量的时间去适配不同的厂家。。。以下分别举例,吐槽这些厂家模组我们知道现在...

2020-09-21 09:57:01 1047

原创 hwcoap——一个占用资源极少的Coap协议对接华为IoT平台的组件实现

说明上篇博客介绍了华为IoT平台coap协议对接的流程,这篇博客介绍一下代码实现,向大家介绍一个使用coap对接华为IoT的代码实现。我为什么这么喜欢coap。MQTT协议我认为终究还是太大了,在一些物联网终端上运行起来还是非常耗费资源,而且大多数物联网平台又要求MQTT是实时在线的,这对于功耗和流量来说是个很大的浪费。很多地方由于NB信号不好,只能使用4G、cat1网络,但是4G、cat1现在推荐的都是使用MQTT对接平台,很难和之前的NB设备兼容;二者,在MCU上运行SDK太占用资源了,像是一些ST

2020-09-18 15:22:17 422

原创 抓包分析华为IOT平台CoAP对接流程

说明使用NB模组对接华为IOT时,使用非常简单,但是一直不清楚平台coap/lwm2m协议对接的具体流程是什么。想在2G/4G模组中也使用这种方式,但是不知道怎么对接平台(不喜欢MQTT对接,协议还是比较重)。因此使用官方的NB设备模拟器,用wireshark抓包分析了设备注册、数据上报和下发的流程。比较简单,可以在任何具备TCP/IP能力的设备上封包实现。通信流程1.wireshark数据包2.流程分析设备注册。Post,需要携带终端名称(endpointname,唯一,一般为IMEI)。

2020-08-10 15:00:02 2405 8

原创 【LTE-CAT1】ML302 opencpu开发环境搭建

环境中移提供的opencpu代码和工具链在一个压缩包内,如下:解压该文件后得到如下目录文件(解压到非中文路径):压缩包内自带了gcc编译工具链,用户无需再搭建编译环境。编译在cmd窗口进入上一步种解压出的文件路径中,执行build.bat CLEAN清除编译结果;执行build.bat DNLM编译生成固件包。生成的固件包在firmware/DNLM目录下,文件名为:ML302_OpenCPU.pac。使用vscode进行开发vscode可谓神器,使用vscode开发ML302 op

2020-06-03 16:05:51 4660 15

原创 谈谈windows编辑好的文件无法在Linux下运行问题——DOS与linux结束字符

问题经常会遇到这个问题,一个shell脚本在windows上打开好好的,编辑好后放到linux下却无法正常运行;在linux下打开该脚本,发现文件最后多了些 ^M,这是个什么东东,心里是不是很懵逼,且看以下分析把。DOS 和 windows 使用 回车+ 换行(CR+LF)两个符号作为结束符,显示为 ^M$。如下图所示:Linux 则仅使用LF ( $ ) 作为结束符 ,显示为$。如下图所示:因此,DOS下编辑的文件会比Linux下多一个回车符^M,会导致DOS下编辑的文件到了Linux下无法被

2020-05-26 21:41:52 991

原创 LTE-CAT1 ML302固件升级

ML302固件升级1.安装驱动安装ML302模组8910驱动,可联系中移技术支持获取。安装完驱动后,通过USB连接电脑,可正确识别出8个串口(port0 ~ port7),即安装驱动成功。2.升级工具打开升级工具,目录为:升级工具\UPGRADEDOWNLOAD_R22.19.1701\Bin\UpgradeDownload.exe如下图,双击 UpgradeDownload.exe打开。升级工具打开主界面如下图所示:第一个按钮,用于加载升级固件第三个按钮,开始升级3.加载

2020-05-18 10:47:40 1300

原创 LTE-CAT1模组 ML302使用

一张图片看LTE CAT1ML302是中国移动物联网推出的一款LTE CAT1模组,笔者有幸拿到了样品并实际进行了简单测试,讲使用方式分享如下。ML302初始化ML302 AT命令串口波特率是自适应的。ML302 默认开启回显,可以通过ATE0关闭.0.关闭回显ATE0如需关闭回显,则每次开机都需要执行(状态不保存)。1.激活方式(手动\自动)通过AT+VERCTRL设置激活方...

2020-04-26 10:22:40 14514 1

原创 NB模组TCP连接不稳定原因及使用详解

前言使用NB模组建立TCP连接发送数据,受蜂窝网络波动的影响,tcp连接不稳定,时常容易断开,但是模组存在无法感知连接状态的情况,导致较长时间的数据中断(模组没有上报断开连接指示,发送数据没有报错,但是数据没有发送到服务器)。以下对NB模组TCP\UDP的使用做总结,并针对TCP数据中断的情况给出了解决方案。适用于M5310-A、BC28等海思模组。使用前注意NB模组会自动注册平台,使用前...

2020-04-16 15:39:18 5165 7

原创 NB模组(M5310-A\BC28)域名对接华为商用平台死机解决方案

本帖子主要针对之前的域名对接方案死机问题提出解决方案:NB模组(M5310-A\BC28)域名对接华为商用平台死机问题域名对接的好处在于,域名背后的IP地址可变;一旦IoT平台接入地址发生变更,域名可保持不变,模组根据域名解析的结果可自动接入变更后的IoT平台。具体解决方法为:在设置CDP地址之前,先使用 AT 指令先获取IP地址,然后再使用IP对接。这样客户仍然可以采用域名的方式,避免I...

2020-04-06 12:08:59 571 2

原创 NB模组(M5310-A\BC28)域名对接华为商用平台死机问题

问题截至到目前(2020-3-18)测试,中移物联的M5310-A和移远的BC28采用域名方案对接华为商用平台均存在问题;改为IP对接的话工作正常。M5310-A采用域名方案、coap协议对接华为商用平台存在死机重启问题;BC28采用域名方案、coap协议对接华为商用平台,工作很不稳定:高概率一直注册不上(信号良好),查询显示一直是“+NMSTATUS:REGISTERING”;偶尔又能注...

2020-03-18 19:40:16 664

原创 【LiteOS】LiteOS消息队列使用总结

LiteOS针对队列读写提供带拷贝和不带拷贝的两种方式,这两种方式在使用上有所区别,如不注意就会入坑,故此总结一下。消息队列,是一种常用于任务间通信的数据结构,实现了接收来自任务或中断的不固定长度的消息,并根据不同的接口选择传递消息是否存放在自己空间。队列提供一部处理机制,可以起到缓存消息的作用。队列创建LiteOS创建队列的函数如下:UINT32 LOS_QueueCreate(CHAR...

2020-03-13 16:33:34 1359

原创 LiteOS双向链表使用详解

一、双向链表简介双向链表是指含有往前和往后两个方向的链表,即每个结点中除存放下一个节点指针外,还增加一个指向其前一个节点的指针。其头指针head是唯一确定的。从双向链表的任意一个节点开始,都可以很方便的访问它的前驱和后继节点。如下图所示:LiteOS双向链接跟linux的内核链接原理一样。LiteOS定义了双向链表基本数据结构,并提供了相关的函数和宏定义来操作链表,用户可以添加、删除节...

2020-03-06 16:36:54 671 2

原创 华为IOT平台编解码插件离线开发视频教程

重磅消息:华为IOT平台编解码插件离线开发视频教程发布**在线编辑功能弱,离线插件来帮忙也许你对华为IOT开发已经非常熟悉了,但是可能还是只会用在线插件进行开发。对于浮点数的解析,只会用字符串发送,对于BCD码更是无能为力,这太out了!感兴趣的同学赶紧跟着视频学习一下吧,或许厌倦了用字符串发送浮点数的你,会爱上离线开发的方式!视频教程共分为5集:插件原理讲解介绍插件的工作原理...

2020-02-18 16:48:22 508

原创 STM32批处理下载程序(hex)

STM32批处理下载程序工作之余,写了个STM32批处理下载程序,方便批量烧录程序。脚本的工作原理是:首先判断C盘根目录下使用由JFlash,如果没有,那么在C盘搜索JFlash安装位置,并在C盘根目录下创建快捷方式,方便后续调用。因此第一次使用的该脚本的时候,会有一个查找的过程;你也可以修改脚本,删除查找的过程,手动创建快捷方式。脚本中增加了清空flash和读保护的设置,大家可以自行设...

2020-01-06 11:43:38 1413

原创 【LiteOS】LiteOS移植常见问题分析

LiteOS移植常见问题分析1、CMSIS版本导致的问题2、无法下载和调试代码3、没有重定向printf导致程序死掉4、关于OS是否托管中断5、关于时间片轮转6、其他问题发现很多人在LiteOS的移植过程中总会遇到一些问题,现在简单做一些总结。后续有新的问题提再继续补充。1、CMSIS版本导致的问题问题现象一般如下图所示,编译后报错,Undefined symbol __get_IPSR (...

2019-10-11 17:20:29 1442 5

原创 【LiteOS】LiteOS移植教程(STM32F103C8+MDK)

总览 本文基于STM32F103C8T6,详细讲述华为LiteOS的移植过程。开发工具是MDK5。LiteOS官方已经适配过cortex M系列内核的单片机,因此移植过程非常简单。 LiteOS有两种移植方案:OS接管中断和非接管中断方式。接管中断的方式,是由LiteOS创建和管理中断,需要修改stm32启动文件,移植比较复杂。STM32的中断管理做的很好,用不着由L...

2019-09-29 15:39:19 7525 9

ML302-305-openCPU-SDK

ML302-305 opencpu sdk 开发环境。

2022-12-11

iotlink.iot-studio-1.3.0.zip

华为Iot link插件,支持本地安装。用于那些无法在扩展中心搜索到的同学。将压缩包解压到vscode的插件目录(一般是在用户目录的.vscode\extensions 里面)。

2021-01-20

ML302-OpenCPU-2.1.0.2006221020-release.7z

ml302的opencpu代码。解压后,cmd命令进入该路径,执行build.bat DNLM 即可进行编译。需要注意:编译最后会有关于wchar_t的警告,没有success的提示,这个不用管他,不影响生成固件。

2020-08-19

LiteosPorting.rar

华为LiteOS在STM32F103C8上的移植demo。其中裸机工程基于STM32CubeMX生成。

2019-09-29

JFlashARM批处理下载STM32

批处理使用JFlashARM下载hex文件。可以将待下载的hex文件拖到该批处理文件开始运行,也可以直接双击运行批处理,根据命令行提示完成下载。

2018-12-12

一款gsm模块的原理图

一款hanwei gsm模块的原理图,包括串口接口以及SIM卡座的接线都很详细

2012-10-27

avr烧录器及usb驱动

avr单片机的烧录软件及其usb驱动,绿色无需安装,解压即可

2011-11-22

如何设计复杂的多任务系统

关于51单片机的多任务系统如何设计的介绍

2011-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除