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 ...
随机推荐
- Luogu1527 [国家集训队]矩阵乘法 (整体二分)(Unfinished)
全线RE的代码... 先搁这吧,下次再说.flag //#include <iostream> #include <cstdio> //#include <cstring ...
- Luogu1137 旅行计划 (拓扑排序)
每次入队时DP : \(f[v] = \max \{f[u] + 1\}\) #include <iostream> #include <cstdio> #include &l ...
- vue 使用 monaco-editor 实现在线编辑器
前言 项目里使用到 monaco-editor 编辑器,实现源码编辑器,看了很多网上教程,记录一下实现过程.在此之前引用很多博主的方法安装但是引入的时候,运行项目总是各种各样的错误,找不到头绪.终于在 ...
- Redis 03 字符串
参考源 https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.999.0.0 版本 本文章基于 Redis 6.2.6 应用场景:计数 ...
- Spring源码 02 项目搭建
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- Java NIO全面详解(看这篇就够了)
很多技术框架都使用NIO技术,学习和掌握Java NIO技术对于高性能.高并发网络的应用是非常关键的@mikechen NIO简介 NIO 中的 N 可以理解为 Non-blocking,不单纯是 N ...
- 微服务性能分析|Pyroscope 在 Rainbond 上的实践分享
随着微服务体系在生产环境落地,也会伴随着一些问题出现,比如流量过大造成某个微服务应用程序的性能瓶颈.CPU利用率高.或内存泄漏等问题.要找到问题的根本原因,我们通常都会通过日志.进程再结合代码去判断根 ...
- RabbitMQ 入门系列:5、基础编码:交换机的进阶介绍及编码方式。
系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...
- 【Homebrew】安装
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 官网安 ...
- php统计IP PV和今日访问量统计方法
php引用,在wordpress主题中 $getroot=$_SERVER['DOCUMENT_ROOT']; require_once("$getroot/countstart.php&q ...