nrf9160开机测试——连接nrfcloud云
由于作者水平有限,如有披漏欢迎指正。
前期开发准备:
- 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半导体,但是对于连接云的官方教学视频比较老,有些地方存在变动。更加详细的也可以参看官方指导文档进行,下面是官方的文档连接:
有了DK板后,先去官网下载nRF Connect for Desktop(桌面版),进行安装,下载链接如下:nRF Connect for Desktop - nordicsemi.com,(或者输入www.nordicsemi.com官网地址,在搜索选项中输入nRF Connect for Desktop进行跳转),下拉网页后选择Downloads,选择最新版然后点击.exe文件进行下载,下载后直接点击安装即可。(如下图)
安装好后,打开nrf connect桌面版,安装下图两个软件(由于我已经安装过,所以为Open选项)
1.2、IDE安装
在这用到两种开发环境,一是SES IDE、二是VS code,下面分开来讲解。
1.2.1、SES IDE
在新版的NCS中已经放入了SES的可执行文件,不用单独去安装SES,我们直接就可以用,使用方式直接打开NCS在其目录下:v1.6.1\toolchain 有 SEGGER Embedded Studio.cmd直接就可以打开进行工程编辑
当然如果有需要使用的是SDK开发包,且要用到SES,可以接着看下面内容。
在官方的中文博客中有关于SES IDE的讲解与安装,连接如下:,可以进行参考,直接下载链接为: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
然后点击:
填入秘钥:
激活完毕,关闭重启即可使用了。
1.2.2、VS cold安装nrf开发插件
这个要注意版本,笔者使用的为1.66.1版本,或者在nordic官方网站上去下载,怎么下载和使用可以到哔哩哔哩或者优酷上搜索nordic半导体,有许多的官方关于VS code的讲解视频,可以去观看,下面进行简单操作讲解。
打开VS code然后直接搜索安装插件即可:
安装完成后重启,如果在平时开发过程在右下角弹出警告提示,一般不要管或者直接点击关闭,否则有些操作肯能导致NCS版本出错,如果你不知道如何修改回来,那就麻烦了。
1.3、下载NCS
可以直接参考这篇官方博客,进行下载
截图如下:
还可以在VS code中进行下:但是可能超级慢(这种方式前面提到的VS code教学视频中也有讲解,不了解的可以去观看视频)
到此开发准备已经完毕。
二、链接云(nrfcloud)
2.1、第一步先去官网上下载mfw_nrf9160的固件(这注意一下版本,固件版本和NCS版本是有对应的,官网下载固件处,点击向下的箭头直接查看适用于那个NCS版本),下载链接如下:
Compatible Downloads - nordicsemi.com,
(或者在官网,搜索9160进入9160 DK,然后下拉网页同样找到如图界面进行下载)。
2.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中的官方程序进行程序下载。
第二步:利用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
第三步:nordic云的证书获取
在浏览器输入一下网址:nRF Cloud,注册一个nordic的云,登录后第一个界面为下图所示,如果不是,请单击右上角的三条横杆选项,user account选项,进入
然后点击:provision devices
进入界面点击右上角设置图标
进入如下界面:输入IMEI码(要加上nrf-)和PIN码(DK板白色标签纸上可查看)
然后既可以得到一个证书文件:以.cert.json为后缀。
第四步,给9160提供访问云的证书
打开LTE Link,然后连接设备,插入SIM物联网卡,输入AT指令AT+CFUN=4点击发送让设备进入到离线模式,并用AT+CFUN?确认进入到离线模式(返回4)。
然后开的加载证书,等待正式上传完毕,
确定上传完毕:
然后断电重启一下:
第五步:连接
1、经过上面步骤后:你会发现LED3有规律的闪烁,闪烁一样看下图,也可以直接查看官方文档介绍,链接如下:
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/applications/asset_tracker_v2/doc/ui_module.html#led-indication
查看你的开发板LED3是否有双脉冲闪烁现象,如果有那就可以在nrfcloud 上添加设备了。
问题解决:(关于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) 进行搜索
2、打开nrfcloud
点击加号进行设备添加
在点击LTE Device后进入带SIM卡号添加界面,如果你是在国内,那你不能使用和DK一起配套的SIM卡,因为该卡的网络在国内没有,只适合与欧洲或有相同网络覆盖的地区,因此也不需要添加激活官方的SIM卡,所以我们直接跳过,这一步已经在你购买移动物联网卡并且激活SIM卡时代替了。
在上报添加界面输入对应的IMEI和PIN号
点击添加设备会有一下界面,如果你的LED灯正确闪烁,那么你添加后等待一会会提示你添加设备成功。如果添加设备成功,但是没有设备显示,请从新刷新界面
这个过程中,如下报错,说明你的设备并没有连接到云,需要从新确定前面步骤是否有错。
添加成功并 找到设备可以找到如下界面
这时在LTE端也可以看懂数据在上传:
云端数据显示如下:在右上角配置按钮处可以配置你需要显示哪些界面,如果没有刷新出下面页面你可能要翻一下墙。
三、GPS测试
如果需要测试GPS定位那么请在prj.conf中启用宏:CONFIG_LTE_NETWORK_MODE_LTE_M_GPS=y,不启用定位情况非常差,并且请去到室外进行测试。