nrf9160开机测试(做主控)——连接nrfcloud云
由于作者水平有限,如有披漏欢迎指正。
测试流程:
1、前期开发准备(硬件)
2、开发环境准备(软件)
3、连接云
4、GPS测试
一、前期开发准备:
- nrf9160-DK版
- nRF Connect for Desktop(桌面版)
- NCS(官方最新开发SDK,笔者写这篇博客时更新到NCS1.9)
- 一张新的移动物联网卡(特别注意这一点,如果你使用电信的物联网卡无法联网,走不通,那么就换为移动的,笔者在测试时电信的没有成功,后采用移动物联网卡。还一点是要是激活的物联网卡,购买时让移动公司进行激活,因为设备会进行绑定,如果需要迁移到其余设备,需要去找移动客服进行解绑)。
特别注意:用官方DK开发板进行前期开发,nrf9160-DK版的版本不要太老,至少0.9版本以上。否则是连接不上的。如何查看版本:在DK板上有这样一张标签,如左图红色框柱的就是DK版版本为0.8.5,低于0.9的都不建议用。本次笔者选择的进行DK版为1.0.1版本。


二、开发环境准备
相关开发环境搭建在哔哩哔哩上、优酷有官方视频可以进行学习,直接搜索nordic半导体,但是对于连接云的官方教学视频比较老,有些地方存在变动。更加详细的也可以参看官方指导文档进行,下面是官方的文档连接:
Getting started with nRF9160 DK — nRF Connect SDK 1.9.99 documentation
2.1、nRF Connect安装——用于下载固件和调试
有了DK板后,先去官网下载nRF Connect for Desktop(桌面版),进行安装,下载链接如下:nRF Connect for Desktop - nordicsemi.com,(或者输入www.nordicsemi.com官网地址,在搜索选项中输入nRF Connect for Desktop进行跳转),下拉网页后选择Downloads,选择最新版然后点击.exe文件进行下载,下载后直接点击安装即可。(如下图)

安装好后,打开nrf connect桌面版,安装下图两个软件(由于我已经安装过,所以为Open选项)

2.2、IDE安装
在这用到两种开发环境,一是SES IDE、二是VS code,下面分开来讲解,值得注意的是在V2.0开始的NCS已经不在支持使用SES IDE,所以请优先选择VS code
2.2.1、SES IDE
在新版的NCS中已经放入了SES的可执行文件,不用单独去安装SES,我们直接就可以用,使用方式直接打开NCS在其目录下:v1.6.1\toolchain 有 SEGGER Embedded Studio.cmd直接就可以打开进行工程编辑

打开后即可选择工程进行开发了,那这如何选择我们工程,请看下图:

会打开如下界面,然后选择工程与板子(芯片);即可进行编译下载,或者进行开发了(在中文官方博客中也有相关刚更多的教程)

注:当然如果有需要使用的是SDK开发包,且要用到SES,可以接着看下面内容。否则请跳到2.2.3继续
在官方的中文博客中有关于SES IDE的讲解与安装,连接如下:Nordic nRF51/nRF52开发环境搭建 - iini - 博客园 (cnblogs.com),可以进行参考,直接下载链接为:https://www.segger.com/downloads/embedded-studio,在安装后需要进行激活(这是Segger公司为Nordic芯片量身打造的,对Nordic用户来说,永久免费,所以激活很有必要),步骤如下:
第一步:cmd命令窗口输入: Ipconfig /all 回车( ——>获取IP)获取你电脑的物理地址IP:

第二步:获取了这个IP后,浏览器打开:https://license.segger.com/Nordic.cgi,把其放在MAC中,填写相关内容,后获取注册码(会收到一封邮件)

第三步:打开ses IDE,选择tool

在选择License Manager

然后点击:

填入秘钥:

激活完毕,关闭重启即可使用了。
2.2.2、VS cold安装nrf开发插件
这个要注意版本,笔者使用的为1.66.1版本,或者在nordic官方网站上去下载,怎么下载和使用可以到哔哩哔哩或者优酷上搜索nordic半导体,有许多的官方关于VS code的讲解视频,可以去观看,下面进行简单操作讲解。

打开VS code然后直接搜索安装插件即可:

安装完成后重启,如果在平时开发过程在右下角弹出警告提示,一般不要管或者直接点击关闭,否则有些操作肯能导致NCS版本出错,如果你不知道如何修改回来,那就麻烦了。
1.3、下载NCS
可以直接参考这篇官方博客,进行下载
开发你的第一个nRF Connect SDK(NCS)/Zephyr应用程序 - iini - 博客园 (cnblogs.com)
截图如下:

还可以在VS code中进行下:但是可能超级慢(这种方式前面提到的VS code教学视频中也有讲解,不了解的可以去观看视频)

到此开发准备已经完毕。
三、连接云(nrf cloud)
3.1、modem固件下载
第一步先去官网上下载mfw_nrf9160的固件(这注意一下版本,固件版本和NCS版本是有对应的,官网下载固件处,点击向下的箭头直接查看适用于那个NCS版本),下载链接如下:
Compatible Downloads - nordicsemi.com,
(或者在官网,搜索9160进入9160 DK,然后下拉网页同样找到如图界面进行下载)。

3.2、下载mfw_nrf9160固件到nrf9160
打开nrf connect 下的programmer软件,进行固件下载:
第一步链接开发板和PC端,然后打开programmer软件,链接开发板,然后擦除,在解压刚刚下载的nrf9160dk_fw_2022-02-17_ec486dab.zip其中有一个mfw_nrf9160_1.3.1.zip固件直接拖到文件添加区,然后点击write,进行烧写。

等待烧写完成:

这一步完成后我们就可以,打开SES或者VS code编译NCS中的官方程序进行程序下载。
因为nordic会不间断的更行nrf connect中的工具,有些时候更新后更改某些操作方式,如下是我更新版本后新的下载modem的方式,如果你发现和我的界面不一样了了,你可以多点击试试看,看能不能调出write:

3.3、APP编译下载
3.3.1、工程创建编译下载
利用SES或者VS code进行程序下载,打开VS code,按照如图所示操作,选择好先前下载NCS文件。

如下为选择的NCS和编译工具链,1为下载好的NCS目录,2为目录中的工具链目录toolchain,选择好有如图显示即可,笔者使用了NCS1.9,其余版本同样的选择。选择完毕不用其余操作。
然后建立镜像工程:流程如图,

在弹出的窗口中选择如下工程:asset_tracker_v2并创建工程。

建立后 有如图所示项目:

然后选择板子:

从而得到一个nrf9160的项目

打开该项目的prj.conf文件加入一个宏定义,然后保存编译下载,宏定义如下:
CONFIG_LTE_NETWORK_MODE_NBIOT_GPS=y

这里特别注意的是,如果有对配置文件(如prj.conf)进行更改,那么添加或者删除,并保存后要选择全编译,否则工程配置时不会覆盖的,如今进行修改了代码那么普通编译即可。
如图在buil后有一个更新图标,点击它既进行全编译。

3.3.2、下载出错
有是后在下载时会出现如下的下载报错,提示说west查错失败,要用west去复位擦除

这时请点击flash后面的双箭头进行下载,会进行复位擦除操作,也是在芯片有擦除保护时的解决办法。

3.4、nrf code证书获取
nordic云的证书获取,在浏览器输入一下网址:nRF Cloud,注册一个nordic的云,登录后第一个界面为下图所示,如果不是,请单击右上角的三条横杆选项,user account选项,进入

然后点击:provision devices

进入界面点击右上角设置图标

进入如下界面:输入IMEI码(要加上nrf-)和PIN码(DK板白色标签纸上可查看)

然后既可以得到一个证书文件:以.cert.json为后缀。
3.5、云证书上传
给9160提供访问云的CA证书,打开LTE Link,然后连接设备,插入SIM物联网卡,输入AT指令AT+CFUN=4点击发送让设备进入到离线模式,并用AT+CFUN?确认进入到离线模式(返回4)。

然后点开如下的界面加载证书,等待正式上传完毕,

确定上传完毕:

然后可以断电重启一下。
3.6、nrf9160设备上网
1、经过上面步骤后:你会发现LED3有规律的闪烁,闪烁一样看下图,也可以直接查看官方文档介绍(如果有APP更新,可能某些状态进行了改变,需要直接去看对应版本的文档),链接如下:

查看你的开发板LED3是否有双脉冲闪烁现象,如果有那就可以在nrfcloud 上添加设备了。
3.7、设备上网问题解决:
(关于AT指令集,请在官网进行下载,在9160目录下)
1.1、如果LED3没有双脉冲闪烁现象:那请注意输入下列语句,并确认返回正确:
AT+CFUN=4 进入离线模式
AT%XSYSTEMMODE=0,1,0,0 //选择NB网络
AT+CEREG=5 //打开调整解调器
AT+CFUN=1 //开始联网
1.2、如果还不行请查看你的网络连接状态:
AT+CGATT?
//确定是否连接运营商网络 0为没连接 1为连接,如果没连接需要和运营商确定SIM卡的网络状态。
1.3、其余情况可以根据报错,到 Nordic DevZone (nordicsemi.com) 进行搜索
3.8、nrf cloud云设备添加
打开nrf cloud点击加号进行设备添加


在点击LTE Device后进入带SIM卡号添加界面,如果你是在国内,那你不能使用和DK一起配套的SIM卡,因为该卡的网络在国内没有,只适合与欧洲或有相同网络覆盖的地区,因此也不需要添加激活官方的SIM卡,所以我们直接跳过,这一步已经在你购买移动物联网卡并且激活SIM卡时代替了。

在上报添加界面输入对应的IMEI和PIN号

点击添加设备会有一下界面,如果你的LED灯正确闪烁,那么你添加后等待一会会提示你添加设备成功。如果添加设备成功,但是没有设备显示,请从新刷新界面

这个过程中,如下报错,说明你的设备并没有连接到云,需要从新确定前面步骤是否有错。

添加成功并 找到设备可以找到如下界面

这时在LTE端也可以看到数据在上传:

3.9、数据显示
在完成以上步骤后,云端数据显示如下:在右上角配置按钮处可以配置你需要显示哪些界面,如果没有刷新出下面页面你可能要翻一下墙。

四、GPS测试
如果需要测试GPS定位,请去到室外进行测试。
nrf9160开机测试(做主控)——连接nrfcloud云的更多相关文章
- nrf9160做主控连接阿里云——(mqtt_simple例程)
简介:基本每一个云都支持MQTT,这种轻量级协议在数据量不大的应用上是一个很好的选择.上一篇博客使用SLM例程去连接了阿里云,本次使用mqtt_simple去连接云进行测试,关于一些已近在前面文章中演 ...
- nrf9160 做modem—— 连接云(接入方式MQTT)
今天测试把nrf9160作为modem的例程Serial LTE Modem程序(后面简称slm),何为做modem,通俗来说就是将nrf9160作为无线模块,主控由其余MCU做,主控通过AT命令控制 ...
- nrf9160做modem——测试连接阿里云
简介:在前面有讲过如何使用nrf9160去连接一个云,然后进行发布订阅信息,但是当时连接的是一个免费的测试云,在国内的话许多人想要连接阿里云或者华为云,下面就来测试一下连接阿里云.这里为什么要和上一篇 ...
- jdbc连接阿里云服务器上的MySQL数据库 及 数据库IP限制
问题1:Jdbc 如何连接阿里云服务器上的MySQL数据库? 解决: 上截图: 其中IP是阿里云服务器的公网IP地址. 问题2: 刚开始接手开发的时候,使用Navicat连接阿里云服务器上的数据后 ...
- 阿里云物联网平台: Android 连接阿里云物联网平台
说明 这节是是为下一节做铺垫的 只要是按照我提供的学习路线一节一节的认认真真学过来的,这节就十分的简单 有了前两节的基础,这节呢咱让Android 连接阿里云物联网平台 使用这节的代码 https: ...
- 使用MQTTBox连接阿里云平台
这篇只做一个简单的介绍,和上一篇没有根本的区别.只是就两个客户端的差异介绍一下. 一.需要参考的内容: 使用MQTT.fx连接阿里云平台: https://www.cnblogs.com/mhtc/p ...
- FineReport如何用JDBC连接阿里云ADS数据库
在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我们只需要手动将连接ads数据库需要使用到的jar放置到%F ...
- Windows Azure HandBook (10) 测试本地网络到微软云的延迟
<Windows Azure Platform 系列文章目录> 之前遇到一些微软云的客户,在使用海外数据中心的时候,需要评估本地网络到微软云网络的延迟. 我们建议部署到微软云上的服务,离最 ...
- Navicat通过云主机内网连接阿里云RDS
背景 公司为了安全起见,RDS设置只允许阿里云主机的内网端可以访问.这就意味,如果要操作RDS就需要连接到云主机上之后通过mysql shell操作.操作起来很复杂麻烦,今天看同事用Navicat f ...
随机推荐
- 移动端实现HTML5 mp3录音踩坑指南:系统播放音量变小、一些机型录音断断续续 之 MediaRecorder和AudioWorklet的终极对决
目录 H5录音见坑填坑 采用MediaRecorder采集音频 音频格式:WebM和PCM 从WebM封装容器中提取PCM数据 录音的兼容性 困扰已久的H5录音时系统播放音量变小的问题 H5录音见坑填 ...
- Java-面向对象三大特征、设计规则
1)封装: 1.1)类:封装的是对象的属性和行为 1.2)方法:封装的是具体的业务逻辑实现 1.3)访问控制修饰符:封装的是访问的权限 2)继承: 2.1)作用:代码的复用 2.2)父类/基类:共有的 ...
- Mybatis核心配置文件中的标签介绍
0. 标签顺序 Mybatis核心配置文件中有很多标签,它们谁谁写在前写在后其实是有顺序要求的: 从前到后: properties?,settings?,typeAliases?,typeHandle ...
- (已解决)Adobe Creative Cloud 安装 Acrobat PDF 报错 DW071 DW003
今天安装 Adobe Acrobat pdf 阅读器报错了,错误为 Exit Code: 7 Please see specific errors below for troubleshooting. ...
- 利用Hugging Face中的模型进行句子相似性实践
Hugging Face是什么?它作为一个GitHub史上增长最快的AI项目,创始人将它的成功归功于弥补了科学与生产之间的鸿沟.什么意思呢?因为现在很多AI研究者写了大量的论文和开源了大量的代码, ...
- MySQL数据库如何线上修改表结构
一.MDL元数据锁 在修改表结构之前,先来看下可能存在的问题. 1.什么是MDL锁 MySQL有一个把锁,叫做MDL元数据锁,当对表修改的时候,会自动给表加上这把锁,也就是不需要自己显式使用. 当对表 ...
- Python中的super函数,你熟吗?
摘要:经常有朋友问,学 Python 面向对象时,翻阅别人代码,会发现一个 super() 函数,那这个函数的作用到底是什么? 本文分享自华为云社区<Python中的super函数怎么学,怎么解 ...
- js之页面列表加载常用方法总结
导语:最近由于一些事情需要处理,所以没来得及写技术总结了.今天终于可以坐下来好好的梳理一下脉络,说一下那个在日常前端开发过程中,常用到的页面列表加载的方法总结.这里介绍三种方法,分别是分页加载.按钮加 ...
- 【微服务】- Nacos - 注册中心
微服务 - 注册中心 - Nacos 生命不息,写作不止 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 分享学习心得,欢迎指正,大家一起学习成长! 上一 ...
- ELK基于ElastAlert实现日志的微信报警
文章转载自:https://mp.weixin.qq.com/s/W9b28CFBEmxBPz5bGd1-hw 教程pdf文件下载地址 https://files.cnblogs.com/files/ ...