本文目录
因素1:物联网的本质是多方通信
一个品牌的设备需要与另一个品牌的设备通信,这需要由在另一台机器上运行的应用程序控制。要连接网络的节点,需要与系统中的设备和应用程序数量相同的连接数。这通常使用API完成。每个设备或后端服务器都需要使用与其连接的API一样多的API。对API的更改需要更改固件。这是不可能跨任何一个设备可以连接到的API的所有排列。
多方通信需要一种简单而通用的方式来信任互动。开源工具由整个生态系统共享,而不是由潜在竞争利益相关者集中控制和运营的一些新兴物联网平台。一个经过良好调整的物联网网络是围绕多方开源物联网系统中的社区建设而设计的。
因素2:物联网工具需要连接到其他标准和系统
Ockam首席执行官Matthew Gregory讨论了为什么开发人员讨厌通用的、封闭的、无所不能的、自上而下的物联网平台。云开发人员的开源工具和服务被企业组成堆栈的水平专用层。物联网工具必须能够与软件堆栈中的其他层互操作,并且适合开发人员喜爱的云OSS框架。
例如,称为分散标识符(DIDs)的开放标识标准使得为实体阵列创建加密安全标识变得容易。此功能不仅扩展到设备,而且DIDs还可以表示与DID注册设备兼容的人员、企业或任何类型的实体。通过这种方式,开发人员可以轻松编写人员、企业、设备和资产之间的复杂图形关系,并在服务堆栈中提供这些关系。
因素3:物联网依赖于确定性
物联网系统应该依赖于网络中每个设备声明的不可变且唯一的加密标识。每次设备将数据发送到另一个设备或数据存储时,它都应使用其加密密钥对该数据进行签名。此外,开发人员应该愿意选择适合其设备的安全需求和硬件功能的加密方法,而不会牺牲系统的互操作性。
每个设备还需要知道使用何种类型的加密方法来签署他们收到的消息。这通过上述DID标准在技术上和通过开放可用性得到解决。这保证了通过网络传输的每一位数据都可以被信任,并且每个设备都可以确定谁发送了哪些数据。
因素4:物联网与现实世界的互动
以远程控制的闸门为例。如果闸门上的执行机构接到打开闸门的命令,水就会从山上冲下来。然而,几分钟后,如果执行器知道它连接到网络的一个分区有坏的数据,它不能回去,把水放回它应该在的地方。这种类型的划分在概率终结区块链(如以太链)中经常发生。
在分布式系统中,我刚才描述的称为CAP定理。CAP定理指出分布式系统不可能同时具有一致性、可用性和分区容忍度。你必须以第三个为代价选两个。许多区块链网络是可用的,分区(“AP”)宽容。然而,由于物联网影响现实世界,网络需要一个面向一致性和分区容错(CP)的系统,因此网络中到处都是一致的数据。
因素5:网络应该靠近设备
设备与网络的距离越近,设备与网络之间的连接就越快、越可靠。如果网络被划分成多个区域,那么它们可以在全球分布,这要归功于公共云基础设施的全球足迹。这种接近性最大化了物联网设备和网络之间的性能。
因素6:通过集线器和区域模型实现可扩展性。
未来的可扩展性是物联网中的热门话题。今天的物联网网络需要处理大量数据。明天的产量将需要巨大!
集线器和区域结构解决了这个问题。随着物联网需求的增加,网络可以根据吞吐量需求添加尽可能多的区域来水平扩展。
因素7:物联网系统产生大量数据
正如我们前面讨论的,我们喜欢区块链的结构,它支持多方生态系统。但是,区块链网络也需要针对物联网进行调整,以适应物联网设备生成的大量数据。单独来看,这些数据的价值相对较低。但是,当大量数据馈送到AI/ML等高阶流程提供数据时,物联网的真正价值就会被解锁。区块链网络必须具有非常低的计算成本,这意味着开发人员可以从其应用程序中获得更多价值(和信任)。
简而言之,在物联网网络中移动数据的成本不会超过数据包的价值!这意味着计算需要使用资源来处理交易,而不是浪费在通过其他机制(例如基于工作量证明的系统)产生共识上。
因素8:公共和私人联盟的灵活性
设备所有者可能只想在受信任的合作伙伴之间共享数据。但是,他们可能还希望向外部监管机构、合作伙伴或客户提供有关其数据状态。
这是基于区域的基础架构占用的另一个好处。私有区域应将区域中的数据保持为区域专用,但仍然允许权限和证明对外表示为公共区域。
因素9:物联网设备需要验证网络状态
大多数物联网设备都具有极其严格的容差,并且没有多余的资源。具有简单硬件的低功率无线设备需要低带宽方式以与网络的当前状态保持同步。
网络客户端需要提供一种适用于低功耗设备的轻量级版本。此外,当设备打开或重新联机时,设备需要与网络状态同步。要想赶上网络的状态,需要一种网络设计,使具有间歇性连接的低功耗设备能够以几千字节的速度赶上。
Arduino和W5500都是微控制器,但是它们有一些区别。Arduino是一款开源的电子原型平台,它可以通过编写程序来控制各种电子设备,如LED灯、马达、传感器等。
而W5500是一款基于Ethernet的网络模块,它可以将计算机连接到互联网上,并通过TCP/IP协议进行通信 .
是的,学习开源电子编程是非常有必要的。开源电子编程是指使用开源硬件和软件进行电子项目开发的过程。通过学习开源电子编程,我们可以掌握电子原理和电路设计,了解嵌入式系统和物联网的工作原理,掌握编程语言和算法,以及学习如何使用开源工具和平台进行项目开发。
这将使我们能够参与到开源社区中,与其他开发者合作,分享和获取知识,提高自己的技能水平。
此外,开源电子编程还可以帮助我们实现自己的创意和想法,开发出具有实际应用价值的电子产品。因此,学习开源电子编程对于提升个人能力和拓展职业发展具有重要意义。
一、主体不同 1、树莓派:是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux。 2、单片机:是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM。
一、主体不同
1、树莓派:是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux。
2、单片机:是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM。
二、特点不同
1、树莓派:基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100 以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口。
2、单片机:单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。
三、功能不同
1、树莓派:提供了基于ARM的Debian和Arch Linux的发行版供大众下载。还计划提供支持Python作为主要编程语言,支持Java、BBC BASIC 、C 和Perl等编程语言。
2、单片机:单片机对数据的处理能力和运算能力较强,可以在各种环境中应用,且有着较强的控制能力。单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择, 为生产与研发提供便利。