大家好,我是J字重工,是一名刚刚学习STM32的非科班学习者。今天从朋友那里收到了一块阿里云的物联网开发板,也是非常的精致。可开发功能包含了摄像头、显示屏、WiFi等。那么这么一块“平平无奇”的板子怎么搭建一个物联网的场景呢,说远了,这块板子在本期节目的意义只是在于带我们了解一下物联网如何从“代码运行”进入到物联网的“认知之门”。

 

上期主要是做了物联网开发板前期所要准备的步骤,本篇文章主要是讲解一下物联网的信号传递方式的命题。

 

 

物联网可以联想的场景是非常丰富的。比如家居、自动驾驶等。早期布局家居物联网的小米,只要查看产品体系可以发现互相之间的信号传递,而担任信号传递的搬运工的是集中有线和无线的传输方式。

比如,家居物联网,终端是手机,通过WiFi传输指令。其传输方式是通过WiFi无线传输。

 

 

亦或更进一步,但物联网中的物出现“没电”,“被破坏”的情况,它可以自动通过物联网系统寻找就近或者可发出的替代零件或者电池,收到供应商的回应可以及时通过指令做出合适的方案满足需求,而这指令可以是人为发出的,也可以是预设好的。

 

其中指令传递和信号的虚拟层面,是代码,解指令和信号的传递是通过设计好的路径和步骤走的(开发板提供这是捷配的嵌入式工程师,预先开发了一些功能),如果已经开发了,残存代码,通过串口连接,可以用最新的代码覆盖。

 

 

物联网开发板的指令和交互是基于代码开发和运行?这一点你认同吗?

试想一下通过代码控制像素猫狗自由追逐这样的场景,基于代码构建的场景互动,像不像精心编写一个故事。在物联网的构建中,代码的运行往往不能忽略指令、信号的传出和承接方式。

 

物联网的信号传输分为有线和无线。如果物联网开发板是一个“多元开放的世界”,那么串口就是负责对外沟通的港口,我们常见的USB数据接口也是串口,根据其功耗,传输速度和设备连接能力来判断应用方式。

 

WIFI2.4G 5G局域网

蓝牙2.4G

ZIGBEE2.4G

LORA1G

2G、4G等蜂窝通信

功耗高,传输速度快,设备连接能力强

功耗很低,传输速度较慢,设备链接能力弱

超低功耗,传输速率较低,简单的数据传输

功耗较低且可调节,需要自己部署网络

长距离传输,可移动通信,费用较高

 

以上几种方式,是可执行代码的在终端运行,可连接执行的连接方式。

既然代码是对物联网发出指令的重要灵感,本期视频也要介绍一下代码管理的方法。

 

1、用Git管理代码

要想存储和管理代码,绕不开Git(分布式版本控制系统),是用于 Linux内核开发的版本控制工具。在没有服务器端软件支持(注:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。并且在push和pull的时候和服务器端还是有交互的。),使源代码的发布和交流极其方便,Git 最为出色的是它的合并跟踪(merge tracing)能力,可以帮助开发者溯源。

 

Git的介绍和操作步骤就不过多介绍了,网上其实有很多类似的内容,只要记住Git可以实现源代码的托管储存。比如在Github上copy的源代码。

 

 

2、RT-Thread物联网控制系统

我从网上查了相关的一些资料,这套操作系统最早诞生于2006年,无论是可移植性和架构清晰程度,是物联网开发的不二之选,既可以裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 内核版本;也可以通过在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪,并且可以无缝地导入丰富的软件功能包,实现类似 Android 的图形界面及触摸滑动效果、智能语音交互效果等复杂功能。

 

你可以理解为RT-Thread已经把前期需要花大量时间准备的,新手难以理解的部分都已经准备好了,像NANO需要做过RTOS开发的自行开发,入门者相当于在前人的基础上拓展开发。

 

 

但在现实中,开发代码所需要的的工具和环境会比较复杂,增加了代码适配和运行的知识学习难度,比较好用的内容的是Linux。

0
0