由于硬件差异以及软件开发工具链差异,使用Pi开发应用程序之间的差异可能非常相似,或者与使用微控制器开发应用程序之间的差异有些相似。
可用的微控制器范围很广,从8位到64位处理器不等,RAM范围从几K到GB到几GB。功能更强大的微控制器提供了更多的Pi体验。能力较弱的微控制器则没有。
即使使用Pi,在Windows 10 IoT操作系统的开发与Raspian,Mate或其他基于Linux的操作系统的开发之间也存在很大差异。Windows 10 IoT需要使用Visual Studio工具链的开发PC,并带有针对通用Windows程序(UWP)环境的远程调试器。实际上,可以使用Pi上可用的工具在Pi上进行Raspian或Mate的开发。
该约束应用协议用于与物联网环境下的互联网使用小,受限的设备。要了解各种微控制器硬件和软件,请参阅CoAP协议实现的本页,以了解其目标环境。它提到了我隐约听说过的Contiki操作系统,以及更知名的OS,例如iOS,OSX和Android。提到的编程语言是Java,JavaScript,C,C#,Ruby,Go,Erlang,Rust和Python。
用于微控制器开发的工具链因制造商以及开发社区和开放源代码计划的可用资源而异。在某些情况下,您将获得一个交叉汇编器,在某些情况下,您将获得一个C交叉编译器,在其他情况下,您将获得一个不错的工具链,其中包含所有的细节和仿真器,类似于用于Windows 10 IoT的Visual Studio工具链。
微控制器的实际开发环境可能涉及使用EEPROM编程器和软件工具来创建新映像并将其推送到设备,或者该设备可能具有必要的连接性,以允许通过串行连接或通过该接口下载新映像。网络连接。
我的印象是,大多数微控制器都具有C交叉编译器,尽管该编译器可能仅支持较旧的标准,例如K&R或C98。C交叉编译器通常具有针对微处理器特定功能的非标准关键字,例如,使用旧的8080和8086处理器及其分段存储器的指针的far
和near
关键字。
还有针对微控制器的专用语言,例如FORTH编程语言。这些语言通常具有针对裸机的运行时设计,因此除语言运行时外没有其他操作系统。
操作系统的范围可能从几乎不存在到裸露的Linux到特殊的操作系统,例如freeRTOS或Windows Embedded或功能完善的Linux或Microsoft Windows。请参阅此Raspberry Pi的SourceForge项目MINIBIAN。另请参阅《Baking Pi:操作系统开发》这本电子书,该书描述了Raspberry Pi汇编器中基本OS的开发。
《 Visual Studio Magazine》的《 Visual Studio 编程物联网》一文概述了许多可用的设备,随后概述了使用Visual Studio IDE进行Linux和Windows开发。
现在,有大量可用的,可编程的,可联网的微控制器器件供人们使用。在非常低的层次上,您可以使用德州仪器(TI)等各种传统芯片制造商提供的各种简单的16位和32位设备。(我使用了SensorTag开发工具包,感觉很有趣,这让我认为Watch DevPack也可能是一个很好的学习工具集。)
一些知名的微控制器设备包括Arduino,BeagleBoard和Raspberry Pi。这些环境都得到了社区的广泛支持,并准备插入大量现成的外部传感器,电机,伺服器以及您可能想到的任何其他产品。由Limor“ Ladyada” Fried创立的电子学习超市Adafruit为这些板提供各种外围设备,以及其自己的轻型Feather开发板系列。
...
对于熟悉Microsoft .NET Framework和Visual Studio的开发人员而言,最有趣的设备可能是Windows 10 IoT核心版兼容的环境。这些是x86和ARM驱动的设备,支持以各种语言(包括C#,Visual Basic,Python和Node.js / JavaScript)编写的通用Windows平台(UWP)应用程序。Windows 10 IoT核心支持包括Raspberry Pi,Arrow DragonBoard 410C,Intel Joule和Compute Stick和MinnowBoard在内的设备。还有一些有趣的产品平台,例如Askey TurboMate E1可穿戴设备。
单片机应用的特定示例
这是来自自动咖啡机的微控制器板的图像。这似乎是中国制造的自动咖啡机的标准组件。制造商的网站印在PCB上。
该图像由两个视图组成。左侧的视图是包含微控制器和支持电路的电路板的背面。右边的视图是带有LCD屏幕和一组按钮的板子的正面,这些按钮用于设置当前时间和执行诸如对开始时间进行编程等操作。
右侧的视图适合于一个载体,然后适合于该咖啡机正面的开口。下部PCB上的开关由摇臂开关致动。LCD似乎是专用的,用于在更改咖啡机的设置时显示当前时间和状态以及显示用户界面。红色LED用于指示咖啡壶何时真正在煮咖啡,并通过关闭照明来指示何时完成咖啡。
该微控制器是ELAN Microelectronics Corp EM78P447NAM(数据表),它是一个8位微控制器。一些基本统计数据表明这是一个很小的设备,但是对于其预期的目的来说效果很好。目的是开发软件,然后在制造过程中将其下载到一次写入ROM中。
•低功耗:
* Less then 2.2 mA at 5V/4MHz
* Typically 35 µA, at 3V/32KHz
* Typically 2 µA, during sleep mode
•4K×13位片上ROM
•三个保护位,防止入侵OTP存储代码
•一个配置寄存器可满足用户需求
•芯片上的148×8位寄存器(SRAM,通用寄存器)