当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]如果你曾经使用 Wi-Fi 来完成过某种操作——比如让一个 ESP32 上的 LED 发光闪烁,或者让一个传感器将数据传送到仪表板上——那么你就已经体验到了联网设备的强大功能了。

摒弃无线网络,选择全球蜂窝网络!借助 nRF9151、Zephyr 操作系统和 SIM 卡,实现专业级物联网。将您的嵌入式技术提升至商业级物联网水平。

如果你曾经使用 Wi-Fi 来完成过某种操作——比如让一个 ESP32 上的 LED 发光闪烁,或者让一个传感器将数据传送到仪表板上——那么你就已经体验到了联网设备的强大功能了。

但无线网络也有其局限性。这取决于路由器、密码以及覆盖范围。

蜂窝式物联网则有所不同。

正是它让追踪器能够在山中正常运行。它使包裹寄存柜能够在城市中心保持联网状态。它还使机器能够跨越国界进行通信——无需依赖无线网络。

这是你踏入那个世界的第1步。

在本教程中,您将不仅仅点亮一个 LED 灯。您将构建一个小型的物联网设备,能够深入到您周围看不见的基础设施中——找到一座移动电话基站,与之进行通信,并接入互联网。

而当它成功运作时,LED 就会亮起。

步骤 1 — 准备硬件设备

在代码执行之前,一些重要的事情已经在物理层面发生了:你的设备获得了其自身的标识信息。

情况介绍:

当你打开北欧公司的 nRF9151 开发套件时,你会看到主板以及两张 SIM 卡:一张来自 Onomondo,另一张来自 Conexa(无线逻辑)。

此外,你还会得到一张漂亮的贴纸。

那个贴纸直接掉到了我笔记本电脑机盖上的“贴纸坟场”里。

“神奇”SIM卡:奥诺蒙多

Onomondo 是一款现代化的、基于云的蜂窝网络,其设计初衷是为了让物联网开发尽可能地简便快捷。

其工作原理如下:Onomondo 利用了一项名为“APN 重写”的功能。APN(接入点名称)实际上就是您的设备与移动基站进行通信时所使用的网关和密码。

开发者体验:如果您的代码未能发送 APN 信息,发送了空的 APN 信息,甚至发送了诸如“my_broken_apn”这样的错误信息,Onomondo 网络会发现这一错误,忽略它,并仍然为您连接到互联网。

结论:它完全支持即插即用。您无需在固件中设置任何密码。它是用于您的首个“Hello World”项目的最佳 SIM 卡。

“企业”SIM卡:康塞纳(无线逻辑)

康塞萨是一个高度安全的企业级网络。如果您查看随此 SIM 卡附带的文件,就会发现它会为您的板卡分配一个静态私有 IP 地址(例如:100.120.x.x)。

其工作原理如下:由于康塞萨将您的设备置于安全、私密的网络中,因此它会实施严格的认证机制。当您的 nRF9151 设备试图与本地基站进行通信时,该基站会要求提供确切的 APN(接入点名称)、用户名和密码。

开发人员体验:如果您尝试连接但未提供这些凭证,塔设备将立即拒绝您的设备。您的 nRF9151 将持续闪烁其“搜索”指示灯,您可能会认为您的板子出现了故障。

结论:对于大规模的商用安全设备而言,这正是您所期望的解决方案,但需要在您的代码中进行一些额外的设置。

两种 SIM 卡都能将您的设备接入一个安全、私密且具有固定 IP 地址的网络。但对于初学者而言,不妨从 Onomondo SIM 开始,这样就能轻松实现首次成功连接。

一旦您适应了这个流程,就切换到 Conexa SIM 并学习如何使用严格的凭证来安全地对物联网设备进行身份验证!

将奥诺蒙多 SIM 卡连接到仪表盘上

请把手中的 SIM 卡拿出来看一看。

注意:我将先介绍奥诺莫多的设置,然后进行一次类似的使用康塞萨设备的测试。

检查覆盖范围链接

与 Wi-Fi 密码不同,这个微型芯片就是你的设备的“通行证”。它向移动网络传达信息:“此设备被允许存在。”

将奥诺蒙多纳米-SIM卡插入板上的插槽中。

通过 USB 连接板子,并按下电源开关。

第 2A 步 - 注册 SIM 卡并设置 Onomondo 账户

现在请访问 Onomondo 应用页面并注册卡片。我猜测您可以在公司和网址字段中填写“未提供”(N/A),只需说明您是通过 Hackster 发现这些信息的即可。

奥诺莫诺登记内容包括:

•总计 50MB 数据(初始 10MB 加上额外 40MB)

•免费试用 60 天的平台服务

•实时网络洞察的访问权限

•对设备网络访问的精细控制

一旦您进入门户仪表板,您的 SIM 卡状态应显示为“激活”,其标志为绿色图标。

恭喜!您已成功将 nRF9151 设备连接至 Onomondo 网络,您的设备现已上线。

点击“查看”可查看您的 SIM 卡及其数据使用情况的详细信息。您可以尽情探索 Onomondo 门户网站的其他内容,以了解还有哪些可用的服务。

第 3 步 - 安装 OpenVPN,以便从您的笔记本电脑通过 IP 地址访问设备

尽管 nRF9151 设备具有 IP 地址,但发送 Ping 请求会失败,因为 SIM 卡处于受保护的网络内。若要通过其 IP 地址访问您的设备,在电脑上安装带有配置文件的 OpenVPN 软件。

访问 openvpn.net 网站,下载与您操作系统相兼容的 OpenVPN 桌面版软件。

启动 OpenVPN 连接。

第 4A 步 — 安装 Onomondo 虚拟专用网络配置文件

对于本次教程,您无需使用 VPN 来通过私有 IP 访问您的 SIM 卡,因此执行步骤 4A 或 4B 并非须要。

点击页面右上角的您的电子邮件地址。从下拉列表中选择“API 文档”。

现在您将进入文档页面。

从列表中选择“OpenVPN”选项卡。

既然您已经有了配置文件,那么请转到屏幕底部,选择“上传文件”,然后浏览到您在电脑上保存该文件的位置。

确认文件导入。

导入文件后,请点击“连接”。

要进行连接,请使用您用于 Onomondo 门户网站的相同登录信息进行登录。

请使用您用于 Onomondo 门户的相同登录信息来建立连接。

在您的 VPN 隧道开启的情况下,您现在可以与 nRF9151 设备建立直接连接。您不再只是将数据发送到一个空无一物的地方——您可以在任何地方主动管理、测试并与您的硬件进行通信。

现在,让我们进入真正的乐趣环节:编写一些代码。如果您选择使用 Conexa SIM,流程会与之类似,但会使用 SIMPro 和 DevicePro 门户网站。

步骤 2B — 注册 Conexa SIM 并设置设备门户

康塞萨 SIM 卡使用的(VF-NL)IMSI 格式,这意味着它不支持窄带物联网覆盖;仅提供 LTE-M 连接服务。

目前,在波兰(以我的情况为例),VF-NL 系统唯一经过验证的网络部署是与 Orange 网络合作完成的。由于这一原因,此 SIM 卡没有特定的引导配置文件,因此它会在任何特定时间自动连接到该区域中可用的最佳网络。

注意:SimPro 控制面板不支持 Safari 浏览器,因此请切换至 Chrome 或 Firefox 浏览器,以确保门户功能正常运行。

小心地将纳米型 SIM 卡从其塑料托架中取出。

将塑料卡片翻转过来,扫描二维码即可跳转至注册页面,在那里您可以领取免费的数据。

完成SIM卡注册后,您将获得康内萨网络及 SIMPro 连接管理平台 12 个月的使用权限。此外,您还将额外获得 45MB 的数据流量,超出部分与您所购 SIM 卡原有的 5MB 数据流量相同。

是的,一旦你提交了注册表单,可能需要一段时间来处理,所以请提前做好心理准备。在我等待获得 SIM Pro 平台访问权限的这段时间里,让我们使用 Onomondo 来开始编写代码吧。

与奥诺莫诺相比,这款 SIM 卡具有密码和紧急解锁码。

第 4B 步 - 为康塞萨安装无线逻辑 VPN 配置文件

一旦您能够访问设备专业门户,就在主页面上下载.ovpn 配置文件。

“SIM隧道”能够将所有端口和协议(如 SSH、FTP、Telnet、HTTP/S、RTSP 等)安全地传输至 SIM 卡。欲了解更多相关内容,请访问无线逻辑官方网站。

注意:我正在等待从康内萨公司的无线逻辑所有者那里获得对设备专业平台的访问权限。要让他们的系统正常运行确实很困难,所以我更倾向于选择奥诺蒙多,因为它的使用起来更简便,安装也更快。

对于本次辅导课程,您无需使用 VPN 来通过私有 IP 访问您的设备,所以这并非至关重要。

第 4 步 — 软件环境 nRF 连接软件开发工具包

蜂窝式物联网并非像Arduino那样简单易用。它更接近于实际生产中所使用的嵌入式系统。

这就是我们采用以下方式的原因:

•nRF 连接软件开发工具包

•泽菲尔实时操作系统

•Visual Studio Code

安装流程:

安装“nRF Connect for Desktop”。

nRF Connect for Desktop 作为 Nordic Semiconductor 公司专业开发工具的集中式跨平台网关而存在。虽然实际的编码和编译工作是在 VS Code 中完成的,但这款桌面软件提供了一个图形化的“应用商店”界面,用于运行独立于集成开发环境(IDE)的特定硬件工具。

通过安装这个中心设备,开发者能够使用一套模块化的应用程序,这些应用程序专为实时硬件诊断和优化而设计:

“细胞监控器”:一种高级诊断工具,用于实时追踪移动设备并评估 AT 命令,取代了传统的 LTE 链路监控器。

程序员:一个用于查看内存布局以及直接将编译后的.hex 文件写入 SoC 的可视化界面。

功率分析器:与功率分析器套件(PPK2)配合使用时,是一款用于分析电流消耗的重要工具,对于低功耗的泽弗尔应用来说至关重要。

蓝牙低功耗技术:一款功能全面的工具,可用于扫描、宣传以及测试支持蓝牙低功耗技术的设备上的 GATT 服务。

nRF Connect for Desktop 的安装完成了整个环境的搭建,它弥合了固件(Zephyr/NCS)与物理硬件之间的差距,提供了调试蜂窝连接和电源效率所需的可见性,而标准的文本编辑器无法提供这些功能。

打开工具链管理器并安装快速启动程序。

在安装过程中,系统会提示您为您的板卡命名。在第三步中,您需要选择要上传的固件;请选择 AT 命令。

现在编程过程将要开始了。

然后系统会验证您的电路板。

然后,“快速启动”功能会提醒您包装盒中所包含的默认 SIM 卡类型。

然后,您可以通过打开“蜂窝监控器”来测试 AT 命令。然后,您可以通过打开“蜂窝监控器”来测试 AT 命令。

探索这些学习资源,以获取更多信息。

现在您需要安装开发工具包。由于我使用的是 VS Code 开发环境,所以我会选择方案 1。

使用扩展程序打开 VS Code。

在扩展程序、SDK 和工具链成功安装之后。

这样您在 VS Code 中就会拥有正确的构建配置了。

恭喜!您已成功完成开发环境的设置。

既然所有设备都已安装完毕,那我们就打开“蜂窝网络监控器”吧。

既然您已经准备好了相关环境,那么这就是您开始直接与硬件进行交互的地方了。

要实时查看您的设备与基站的交互情况,请打开“蜂窝网络监控器”应用程序。此应用程序是解决连接问题或确认漫游状态的最强大工具。

点击左上角显示的设备名称,即可连接到系统检测到的该设备。

点击“开始”以进行追踪。

然后,您将能够实时看到追踪过程。

如需进行更详细的调试操作,请安装“程序员”、“细胞监测器”和“电源分析器”程序。

当你使用北欧公司的“蜂窝监测器”时,其显示屏可能会给人一种错觉。左侧“LTE連接”旁的绿色勾选标记并不意味着你已经连上了网络!

要证明您确实绕过了基站的“保安”并获取到了 IP 地址,您需要查看屏幕中央的“LTE 网络”选项卡。

检查的三个方面,以确认网络连接是否正常:

EPS 网络注册状态(魔数)

这是您屏幕上最重要的数字。

状态 2:搜索/连接中。如果您停留在状态 2,塔会捕捉到您的信号,但它正在积极地决定是否允许您进入(或者默默地将您拒之门外)。

状态 2:搜索/连接中。如果您停留在状态 2,塔会捕捉到您的信号,但它正在积极地决定是否允许您进入(或者默默地将您拒之门外)。

状态 3:注册被拒绝。该基站明确拒绝了您的 SIM 卡。

状态 5(或 1):已注册漫游(或归属)模式。这就是我们的目标!在奥诺蒙多的截图中,您可以看到显示的是 5。这意味着网络已验证了 SIM 卡、接受了 APN 设置,并为设备分配了相应的权限。

活动状态

•在 RRC 状态的正下方,查看“活动状态”这一文本内容。

•正确翻译:未注册、正在上传或搜索中。(您已被锁定)

•译文:良好:已注册,正在漫游中。(您已正式上线!)

第 5 步 — 设置 Zephyr 实时操作系统环境

从本质上讲,Zephyr 实时操作系统已包含在 nRF Connect SDK(NCS)的安装包中,因此无需单独安装——除非您打算独立于 Nordic 生态系统进行应用程序开发。

就我使用 macOS 系统的情况而言,Zephyr 是这样安装的:

现在你已经准备好去创造真正的东西了。

第 6A 步 — 利用 Zephyr 操作系统和 Onomondo 构建您的首个 nRF9151 应用程序

打开 Visual Studio Code,进入 nRF Connect 扩展程序界面,然后点击“创建新应用程序”。

打开 VS Code 并进入 nRF Connect 扩展程序页面。点击“创建新应用程序”,在此您可以选择从现有示例中复制内容,或者浏览 nRF Connect SDK 扩展索引以访问外部资源库。

虽然我强烈建议您深入研究 SDK 中提供的各种示例,以全面了解 Zephyr 实时操作系统和 Nordic SDK 的功能,但目前我们将重点放在空白应用程序上。

其他样本的详细操作步骤将在另一篇教程中进行详细介绍。

请随意为您的应用程序命名,然后按“Enter”键以完成项目结构的设置。

系统将会提示您扫描相关套件;请点击“搜索”按钮。

一旦完成,您将获得一个包含所有开发所需文件的项目模板。

打开您项目的“prj.conf”文件,并将以下几行内容粘贴进去:

接下来是代码部分。这是在泽弗尔系统中连接到基站的最简单方法。

打开“src/main.c”文件,删除默认的代码,并粘贴这个完整的程序。该程序配有详细的注释,以便您能清楚地了解其运行情况:

点击活动栏中的“nRF Connect”图标。在底部的应用程序面板中,找到您的项目并点击“+ 添加构建配置”以定义您的硬件目标。

在“构建配置”菜单中,请确保“SDK”和“工具链”均设置为您所安装的 nRF Connect 版本。

然后,请将“板子”目标精确设置为“nrf9151dk/nrf9151/ns”,以与您的硬件相匹配。

滚动至“构建配置”面板底部,然后点击“构建配置”。

终端会自动开启,这样您就可以在编译项目的过程中随时查看进度了。

当构建过程顺利完成(对于 nRF Connect SDK v3.2.4 版本来说这是应该会发生的)时,您会在状态栏中收到一条通知,并且您的二进制图像将准备好用于向硬件进行写入操作。

现在您已准备好对板子进行烧录操作。在 nRF Connect 侧边栏中,切换至“操作”标签页,然后点击“烧录”以将编译好的图像加载到您的 nRF9151 上。

现在将使用西夫瑞特公司的元工具“韦斯特”来启动闪存过程。您可以在终端中查看其运行进度,它会清除、编译并验证您在 nRF9151 上的二进制文件。

在 nRF Connect 侧边栏中,点击“连接设备”选项卡。在此处,您会看到您的 nRF9151 DK 列在其中,这表明工具链已与您的硬件建立了稳固的连接。

点击您的 nRF9151 DK 的名称,即可展开下拉列表并查看可用的串行端口及硬件详情。

点击您的 nRF9151 DK 的名称以展开下拉列表。这样就能看到可用的串行端口(VCOM)以及具体的硬件细节,从而让您能够直接与该板进行连接。

VCOM0:通常为应用程序端口。在此处,您的 Zephyr 系统的日志消息(例如“正在连接至 Onomondo...”)将会显示出来。

VCOM1:通常为调制解调器/AT端口。如果您想通过手动发送“AT+CEREG?”命令来查询您的注册状态,那么此端口便是您应使用的端口。

在下拉列表中找到“VCOM0”,然后点击其旁边的“插件”(分支)图标。这将打开屏幕底部的串行终端,在那里您可以实时监控应用程序的日志。

一旦端口开启,您将在终端中收到实时日志。这使您能够监控设备的启动顺序、调制解调器的初始化过程以及它连接到 Onomondo 网络时的实时连接状态。

如果终端为空或者您错过了初始启动信息,请按下 nRF9151 DK 上的物理复位按钮以刷新输出并从头开始查看完整的启动序列。

一旦设备成功连接到 LTE-M Onomondo 网络,您将在终端上看到一条确认信息,并且板上的 LED 将会亮起以表示已建立连接。

好的,那么指示灯在哪里呢?当正在搜索信号时,LED 将会闪烁,一旦成功连接到奥诺蒙多网络,它就会切换为稳定的常亮状态。

编辑 main.c 代码:

因为原始的 `lte_lc_connect()` 函数是阻塞式的(它会让代码完全暂停,直到调制解调器连接到网络),所以在其运行过程中,您无法在主线程中轻松地闪烁 LED 灯。

要解决这个问题,我们需要切换到 lte_lc_connect_async() 函数。此函数会在后台启动连接过程并立即返回,从而让您的主循环能够继续运行。它接受一个事件处理程序(一个回调函数),该函数会在网络成功连接时通知我们。

重建应用程序

再把它刷新一下

打开串行终端,您就会看到日志输出——与视频中所展示的内容类似——显示着您连接的实时状态。

VS Code 网络模块 NRF9151 的串行输出

当调制解调器正在搜索信号时,控制板上的指示灯会闪烁;一旦连接成功建立,指示灯将变为稳定的绿色,以表明已成功接入奥诺蒙多网络。

为了实现更复杂的功能,我们采用了工作函数。在这里,nrf_modem_lib_init() 自动处理后台初始化工作,这样您只需调用 lte_lc_connect_async() 就能开始连接过程,而无需阻塞主应用程序。

第 6B 步 — 利用 Zephyr 运行时操作系统和 Conexa 构建您的首个 nRF9151 应用程序

您使用的是一款无线逻辑(康萨-LD)SIM卡。与标准的物联网 SIM 卡不同,这种特定的 SIM 卡需要一个专用的 APN、用户名和密码才能连接到网络。如果调制解调器在握手过程中没有提供这些凭证,基站将拒绝连接。

在完成步骤 2B 的注册后,无线逻辑公司将通过电子邮件向您发送一个包含您的 APN 信息的 Excel 文件附件。

好消息是,您无需更改我们刚刚编写的 C 代码。您只需在您的 prj.conf 文件中添加几行代码,就能让 Zephyr 的分组数据网络(PDN)库使用您的凭证即可。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭