开源式硬件C语言编程,三大主流开源硬件对比 - 嵌入式软件/开发板 - 电子发烧友网...

本文主要是介绍开源式硬件C语言编程,三大主流开源硬件对比 - 嵌入式软件/开发板 - 电子发烧友网...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

BeagleBoard有一个更大,性能更强的版本——BeagleBoard。如果你需要更强的扩展性,那么BeagleBoard是一个不错的选择。

43762cb2b84901a80f69b36d118794e0.png

Arduino Uno、BeagleBone 和 Raspberry Pi,后两者都有网络接口

如果你的项目需要连接网络,我们比较推荐BeagleBone或Raspberry Pi。这两款都是真正的Linux电脑。他们都内建以太网接口和USB,便于用来连接网络。通过USB接口,你可以连接一个无线模块,那样就可以无需网线就能接入网络。另外,Linux系统拥有很多内置组件,提供高级的网络特性。

32afafe9ebf29acb1867235918a6a78d.png

只需将USB WiFi设备连接到BeagleBone或Raspberry Pi上,Linux系统即可支持这些外接设备

Arduino支持外设,叫做“shields”,它虽然拥有连接网络的能力,但其网络功能十分有限。如果花时间去购买扩展,其实与直接购买功能比较完善的高阶电路板一样。

如果你的项目需要接入外部感应设备,我们推荐Arduino和BeagleBone。Arduino相对于其他设备,更容易连接外部感应器。不同版本的Arduino使用的电压不同(3.3V 或者 5V),这样就可以轻易的连接到不同的外部设备。而BeagleBone只能连接3.3V的外部设备,并在某些情况下,还需要加入电阻或者其他外部电路才能连接外部设备。Arduino和BeagleBone都有模拟数字信号接口,这让你轻松的连接输出不同电压的设备。BeagleBone拥有更高的模拟数字信号的分辨率,这对于某些项目来说是最好的选择。

就如上面所说的,你必须注意你将要连接的设备,包括小型的感应器,是否拥有叫做I2C或者SPI的数字接口。这三款平台都支持这些外接设备,所以通信方面不成问题。

对于需要电池供电的项目,我们推荐Arduino。Arduino功耗是最低地。如果按照每瓦的性能来比较,BeagleBone的能耗是最高的。但是Arduino拥有更广泛的空间,因为他可以和很多不同的输入电压的设备一起工作。这样就要求Arduino需要使用不同型号的电池,并且就算电池没电也能继续运转。

如果需要支持用户界面,我推荐使用Raspberry Pi。Raspberry Pi独树一帜,因为它拥有一个HDMI输出。这意味着,你可以接入键鼠和直接接入到你的电视。在这点看来,你拥有了一台功能全备的电脑,并且拥有用户操作界面。这样使得Raspberry Pi可以用于在需要与用户交互的项目中,以低成本构建web浏览设备。事实上,只是出于娱乐性质,我们把Arduino开发工具安装在Raspberry Pi上,并在Raspberry Pi写以一个简单程序并下载到Aruduino上。它并非是一台高性能的电脑,但是它确实是一台电脑。

总结

Arduino是一个扩展性很好的平台,便于与各种设备交互。对于初学者来说,在进行一些小型项目时,它是绝佳的选择。Raspberry Pi适合用于需要用户界面和需要网络支持的项目,其性价比较高。

BeagleBone拥有Arduino良好的可扩展性,兼具Raspberry Pi快速处理器和Linux灵活的开发环境。所以,如果你想做与水培花园类似的项目,我们推荐BeagleBone。因为它的输入输功能完善,并便于接入网络,所以我们可以通过Web端监测它回传的数据。

所有这3种设备是我们数字化项目的基石。当然,还有其他平台可用,例如,我们使用Sun SPOTs监测我们的番茄花园,这三种设备已基本能满足我们所需,除非你需要更高级的功能。

这篇关于开源式硬件C语言编程,三大主流开源硬件对比 - 嵌入式软件/开发板 - 电子发烧友网...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/232965

相关文章

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制