1.微型的微型源码操作系统有哪些各有什么特点?
2.用micro:bit打造小学生也能看懂的区块链
3.MCUç主è¦åºå«
4.开源硬件有哪些
微型的操作系统有哪些各有什么特点?
微型操作系统(Micro Operating System,Micro OS)是微型源码指占用资源极少、适用于嵌入式设备等小型系统的微型源码操作系统。常见的微型源码微型操作系统有以下几种:
1.Contiki:Contiki是一个开源的、基于C语言的微型源码微型操作系统,适用于无线传感器网络和物联网等小型系统。微型源码鲜花店源码它的微型源码特点是占用内存和处理器资源很少,支持IPv6和6LoWPAN等网络协议。微型源码
2.TinyOS:TinyOS是微型源码另一个适用于嵌入式设备的开源微型操作系统,主要用于无线传感器网络和物联网应用。微型源码它的微型源码特点是占用资源少,支持事件驱动和组件化编程模型。微型源码
3.FreeRTOS:FreeRTOS是微型源码一个开源的、用于嵌入式系统的微型源码实时操作系统。它的微型源码特点是占用资源较少,支持多种处理器架构和编程语言,和谐 源码适用于需要实时性和可靠性的应用。
4.RIOT:RIOT是一个开源的、基于C语言的微型操作系统,适用于物联网和嵌入式设备等小型系统。它的特点是占用资源少,支持多种网络协议和硬件平台。
5.NuttX:NuttX是一个开源的、用于嵌入式系统的实时操作系统,支持多种处理器架构和编程语言。它的特点是占用资源较少,支持可定制的内核配置和可插拔的驱动程序。
这些微型操作系统各自有其特点,可以根据实际应用场景选择最适合的操作系统。
用micro:bit打造小学生也能看懂的区块链
本文可以学到:
1. “比特币”、“区块链”是台州源码怎么回事
2. 用micro:bit打造自己的区块链应用
知识补充:比特币和区块链技术
简单说,“比特币”(Bitcoin)是一种虚拟货币,和之前互联网上各种虚拟游戏币、点卡、Q币有点像,但是最大的不同是“比特币”基于区块链(Blockchain)技术。
区块链有三个基本特点:1、使用密码学的方式产生的一串数据,保证不被篡改;2、产生数据同时在所有节点上使用同样的算法产生数据,大家互相认可(分布式运算);3、在数据交换传递过程中通过一定的协议互相认可,并把这一过程在所有的节点上记录下来,互相认可。
解释起来很深奥,我们还是Envelopes 源码以比特币为例来介绍。比特币的发明人发明了一种规则,通过密码学的算法计算出一串数字,宣布这就是比特币,所有用同样方式运算出数字的人都可以产生比特币,但是必须使用比特币的每个人都认可,这个比特币才会被承认,并且比特币的每一次交换流通,都要在全体使用者中得到承认才会有效,每个人都有一个小账本,记录着这个比特币在哪产生、经过几次交换,并且这些过程都是被全体使用者认可的,所以尽管比特币是虚拟的,但他获得了所有使用者的认可,成为一种大家都公认的源码近义词交换介质,与传统的银行或大公司发行的货币一样,有了信用货币的功能。
今天,我们就用小学生们也会玩的micro:bit套件来打造一个自己的区块链应用,你很快就会明白各种“币”是怎么回事了。
micro:bit 是英国广播公司(BBC)联合很多企业推出的一个基于ARM Cortex-M0芯片的微型可编程计算机,它设计的初衷是为了让每个孩子都能零基础的接触计算机编程。
材料和工具清单:
制作过程
第一步:首先了解一下micro:coin的设计原理
微软micro:coin项目是微软Makecode平台的一个开源项目,它使用行JavaScript代码在micro:bit上实现了区块链功能。只要把代码拷到micro:bit里面就能运行。设定摇动是挖矿,这时会通过哈希算法产生一串数据,通过随机方式决定是否挖到一枚币,一旦挖到币,它就会通过2.4G无线广播的形式传输给其他的micro:bit,如果被接收到就会被承认。按下micro:bit上的A按键可以显示自己拥有的钱币数量(不一定是挖到的,而是挖到并且被传输出去被承认的),按下B按键显示所有micro:bit中被传输过的并被承认的钱币数量。
第二步:在微软Makecode平台打入区块链功能包
micro:coin源代码使用JavaScript语言编写,不能使用图形化编程工具,不过最近微软的Makecode平台把它打包成了功能包,打开 makecode.microbit.org/在线编程平台,点击右上角的“设置”—“添加包”,搜索一个叫做“radio-blockchain”的功能包就可以导入区块链模块。然后用拖拽的形式进行图形化编程了。
第三步:将micro:coin代码导入每一块micro:bit主板
因为源代码被打包成了功能包,我们只要在 makecode.microbit.org/通过拖拽就可以在micro:bit上实现挖币、显示自己的币数,显示区块链中所有的币数(链长)等基本的功能。模块化编程如下图,最后把代码文件保存成.Hex文件,拷贝到每一块micro:bit主板上就完成了。
现在,你自己打造的区块链货币micro:coin就可以玩了。把几块烧好程序的micro:bit通电后,摇动其中一块,如果挖倒币,就会显示菱形画面,同时其他micro:bit接受到信号,显示方框画面,一枚币产生了,并且在整个区块链中被承认。不断摇动挖矿,就会有越来越多的micro:coin币产生,不过要记得把几块micro:bit放的近一点,被接受到信号才可被承认哦!
MCUç主è¦åºå«
å¨ä¸çºªæå¼å¾äººä»¬ç§°éçæå°±ä¸ï¼å°±æéæçµè·¯åçµå计ç®æºçåå±ãä¸çºªå¹´ä»£åºç°çå¾®å计ç®æºï¼å¨ç§å¦ææ¯çå¼èµ·äºå½±åæ·±è¿çåé©ãå¨å¹´ä»£ä¸æï¼å¾®å计ç®æºå®¶æä¸ååè£åºä¸ä¸ªå°å°ç派系--åçæºãéç4ä½åçæºåºç°ä¹åï¼åæ¨åºäº8ä½çåçæºãMCSç³»åï¼ç¹å«æ¯MCSç³»ååçæºçåºç°ï¼ç¡®ç«äºåçæºä½ä¸ºå¾®æ§å¶å¨ï¼MCUï¼çå°ä½ï¼å¼èµ·äºå¾®å计ç®æºé¢åæ°çåé©ãå¨å½ä»ä¸çä¸ï¼å¾®å¤çå¨ï¼MPUï¼åå¾®æ§å¶å¨ï¼MCUï¼å½¢æäºåå ·ç¹è²ç两个åæ¯ãå®ä»¬äºç¸åºå«ï¼ä½åäºç¸èåãäºç¸ä¿è¿ãä¸å¾®å¤çå¨ï¼MPUï¼ä»¥è¿ç®æ§è½åé度为ç¹å¾çé£éåå±ä¸åï¼å¾®æ§å¶å¨ï¼MCUï¼åæ¯ä»¥å ¶æ§å¶åè½çä¸æå®å为åå±æ å¿çãCPUï¼Central Processing Unitï¼ä¸å¤®å¤çå¨ï¼åå±åºæ¥ä¸ä¸ªåæï¼ä¸ä¸ªæ¯DSPï¼Digital Signal Processing/Processorï¼æ°åä¿¡å·å¤çï¼ï¼å¦å¤ä¸¤ä¸ªæ¯MCUï¼Micro Control Unitï¼å¾®æ§å¶å¨åå ï¼åMPUï¼Micro Processor Unitï¼å¾®å¤çå¨åå ï¼ã
MCUéæäºçä¸å¤å´å¨ä»¶ï¼MPUä¸å¸¦å¤å´å¨ä»¶ï¼ä¾å¦åå¨å¨éµåï¼ï¼æ¯é«åº¦éæçéç¨ç»æçå¤çå¨ï¼æ¯å»é¤äºéæå¤è®¾çMCUï¼DSPè¿ç®è½å强ï¼æ é¿å¾å¤çéå¤æ°æ®è¿ç®ï¼èMCUåéåä¸åä¿¡æ¯æºçå¤ç§æ°æ®çå¤çè¯æåè¿ç®ï¼ä¾§éäºæ§å¶ï¼é度并ä¸å¦DSPãMCUåºå«äºDSPçæ大ç¹ç¹å¨äºå®çéç¨æ§ï¼ååºå¨æ令éå寻å模å¼ä¸ãDSPä¸MCUçç»åæ¯DSCï¼å®ç»å°å代è¿ä¸¤ç§è¯çã
1.对å¯éçä¹æ³è¿ç®çæ¯æ
GPPä¸æ¯è®¾è®¡æ¥åå¯éä¹æ³ä»»å¡çï¼å³ä½¿æ¯ä¸äºç°ä»£çGPPï¼ä¹è¦æ±å¤ä¸ªæ令å¨ææ¥åä¸æ¬¡ä¹æ³ãèDSPå¤çå¨ä½¿ç¨ä¸é¨ç硬件æ¥å®ç°åå¨æä¹ æ³ãDSPå¤çå¨è¿å¢å äºç´¯å å¨å¯åå¨æ¥å¤çå¤ä¸ªä¹ç§¯çåãç´¯å å¨å¯åå¨é常æ¯å ¶ä»å¯åå¨å®½ï¼å¢å 称为ç»æbitsçé¢å¤bitsæ¥é¿å 溢åºãåæ¶ï¼ä¸ºäº å åä½ç°ä¸é¨çä¹æ³-ç´¯å 硬件ç好å¤ï¼å ä¹ææçDSPçæ令éé½å å«ææ¾å¼çMACæ令ã
2. åå¨å¨ç»æ
ä¼ ç»ä¸ï¼GPP使ç¨å¯.诺ä¾æ¼åå¨å¨ç»æãè¿ç§ç»æä¸ï¼åªæä¸ä¸ªåå¨å¨ç©ºé´éè¿ä¸ç»æ»çº¿ï¼ä¸ä¸ªå°åæ»çº¿åä¸ä¸ªæ°æ®æ»çº¿ï¼è¿æ¥å°å¤çå¨æ ¸ãé常ï¼åä¸æ¬¡ä¹æ³ä¼åç4次åå¨å¨è®¿é®ï¼ç¨æè³å°å个æ令å¨æã
大å¤æ°DSPéç¨äºåä½ç»æï¼å°åå¨å¨ç©ºé´ååæ两个ï¼åå«åå¨ç¨åºåæ°æ®ãå®ä»¬æ两ç»æ»çº¿è¿æ¥å°å¤çå¨æ ¸ï¼å 许åæ¶å¯¹å®ä»¬è¿è¡è®¿é®ãè¿ç§å®æå°å¤çå¨åå¨å¨ç带宽å åï¼æ´éè¦çæ¯åæ¶ä¸ºå¤çå¨æ ¸æä¾æ°æ®ä¸æ令ãå¨è¿ç§å¸å±ä¸ï¼DSPå¾ä»¥å®ç°åå¨æçMACæ令ã
å ¸åçé«æ§è½GPPå®é ä¸å·²å å«ä¸¤ä¸ªçå é«éç¼åï¼ä¸ä¸ªæ¯æ°æ®ï¼ä¸ä¸ªæ¯æ令ï¼å®ä»¬ç´æ¥è¿æ¥å°å¤çå¨æ ¸ï¼ä»¥å å¿«è¿è¡æ¶ç访é®é度ãä»ç©çä¸è¯´ï¼è¿ç§çå çååå¨å¨åæ»çº¿çç»æå ä¹ä¸åä½ç»æçä¸æ ·äºãç¶èä»é»è¾ä¸è¯´ï¼ä¸¤è è¿æ¯æéè¦çåºå«ã
GPP使ç¨æ§å¶é»è¾æ¥å³å®åªäºæ°æ®åæ令ååå¨å¨çå çé«éç¼åéï¼å ¶ç¨åºå并ä¸å 以æå®ï¼ä¹å¯è½æ ¹æ¬ä¸ç¥éï¼ãä¸æ¤ç¸åï¼DSP使ç¨å¤ä¸ªçå åå¨å¨åå¤ç»æ»çº¿æ¥ä¿è¯æ¯ä¸ªæ令å¨æå åå¨å¨çå¤æ¬¡è®¿é®ãå¨ä½¿ç¨DSPæ¶ï¼ç¨åºåè¦æç¡®å°æ§å¶åªäºæ°æ®åæ令è¦åå¨å¨çå åå¨å¨ä¸ãç¨åºåå¨åç¨åºæ¶ï¼å¿ é¡»ä¿è¯å¤çå¨è½å¤ææå°ä½¿ç¨å ¶åæ»çº¿ã
æ¤å¤ï¼DSPå¤çå¨å ä¹é½ä¸å ·å¤æ°æ®é«éç¼åãè¿æ¯å 为DSPçå ¸åæ°æ®æ¯æ°æ®æµãä¹å°±æ¯è¯´ï¼DSPå¤çå¨å¯¹æ¯ä¸ªæ°æ®æ ·æ¬å计ç®åï¼å°±ä¸¢å¼äºï¼å ä¹ä¸åéå¤ä½¿ç¨ã
3.é¶å¼é循ç¯
å¦æäºè§£å°DSPç®æ³çä¸ä¸ªå ±åçç¹ç¹ï¼å³å¤§å¤æ°çå¤çæ¶é´æ¯è±å¨æ§è¡è¾å°ç循ç¯ä¸ï¼ä¹å°±å®¹æç解ï¼ä¸ºä»ä¹å¤§å¤æ°çDSPé½æä¸é¨ç硬件ï¼ç¨äº é¶å¼é循ç¯ãæè°é¶å¼é循ç¯æ¯æå¤çå¨å¨æ§è¡å¾ªç¯æ¶ï¼ä¸ç¨è±æ¶é´å»æ£æ¥å¾ªç¯è®¡æ°å¨çå¼ãæ¡ä»¶è½¬ç§»å°å¾ªç¯ç顶é¨ãå°å¾ªç¯è®¡æ°å¨å1ã
ä¸æ¤ç¸åï¼GPPç循ç¯ä½¿ç¨è½¯ä»¶æ¥å®ç°ãæäºé«æ§è½çGPP使ç¨è½¬ç§»é¢æ¥ç¡¬ä»¶ï¼å ä¹è¾¾å°ä¸ç¡¬ä»¶æ¯æçé¶å¼é循ç¯åæ ·çææã
4.å®ç¹è®¡ç®
大å¤æ°DSP使ç¨å®ç¹è®¡ç®ï¼èä¸æ¯ä½¿ç¨æµ®ç¹ãè½ç¶DSPçåºç¨å¿ é¡»åå注ææ°åç精确ï¼ç¨æµ®ç¹æ¥ååºè¯¥å®¹æçå¤ï¼ä½æ¯å¯¹DSPæ¥è¯´ï¼å»ä»·ä¹æ¯é 常éè¦çãå®ç¹æºå¨æ¯èµ·ç¸åºçæµ®ç¹æºå¨æ¥è¦ä¾¿å®ï¼èä¸æ´å¿«ï¼ã为äºä¸ä½¿ç¨æµ®ç¹æºå¨èåä¿è¯æ°åçåç¡®ï¼DSPå¤çå¨å¨æ令éå硬件æ¹é¢é½æ¯æ饱å计ç®ãè å ¥å移ä½ã
5.ä¸é¨ç寻åæ¹å¼
DSPå¤çå¨å¾å¾é½æ¯æä¸é¨ç寻å模å¼ï¼å®ä»¬å¯¹é常çä¿¡å·å¤çæä½åç®æ³æ¯å¾æç¨çãä¾å¦ï¼æ¨¡åï¼å¾ªç¯ï¼å¯»åï¼å¯¹å®ç°æ°å滤波å¨å»¶æ¶çº¿å¾æç¨ï¼ãä½ååºå¯»åï¼å¯¹FFTå¾æç¨ï¼ãè¿äºé常ä¸é¨ç寻å模å¼å¨GPPä¸æ¯ä¸å¸¸ä½¿ç¨çï¼åªæç¨è½¯ä»¶æ¥å®ç°ã
6.æ§è¡æ¶é´çé¢æµ
大å¤æ°çDSPåºç¨ï¼å¦èçªçµè¯åè°å¶è§£è°å¨ï¼é½æ¯ä¸¥æ ¼çå®æ¶åºç¨ï¼ææçå¤çå¿ é¡»å¨æå®çæ¶é´å å®æãè¿å°±è¦æ±ç¨åºååç¡®å°ç¡®å®æ¯ä¸ªæ ·æ¬éè¦å¤å°å¤çæ¶é´ï¼æè ï¼è³å°è¦ç¥éï¼å¨æåçæ åµä¸ï¼éè¦å¤å°æ¶é´ãå¦ææç®ç¨ä½ææ¬çGPPå»å®æå®æ¶ä¿¡å·å¤ççä»»å¡ï¼æ§è¡æ¶é´çé¢æµå¤§æ¦ä¸ä¼æ为ä»ä¹é®é¢ï¼åºä¸ºä½ææ¬GPPå ·æç¸å¯¹ç´æ¥çç»æï¼æ¯è¾å®¹æé¢æµæ§è¡æ¶é´ãç¶èï¼å¤§å¤æ°å®æ¶DSPåºç¨æè¦æ±çå¤çè½åæ¯ä½ææ¬GPPæä¸è½æä¾çã è¿æ¶åï¼DSP对é«æ§è½GPPçä¼å¿å¨äºï¼å³ä¾¿æ¯ä½¿ç¨äºé«éç¼åçDSPï¼åªäºæ令ä¼æ¾è¿å»ä¹æ¯ç±ç¨åºåï¼èä¸æ¯å¤çå¨ï¼æ¥å³å®çï¼å æ¤å¾å®¹æå¤ææ令æ¯ä»é«éç¼åè¿æ¯ä»åå¨å¨ä¸è¯»åãDSPä¸è¬ä¸ä½¿ç¨å¨æç¹æ§ï¼å¦è½¬ç§»é¢æµåæ¨çæ§è¡çãå æ¤ï¼ç±ä¸æ®µç»å®ç代ç æ¥é¢æµæè¦æ±çæ§è¡æ¶é´æ¯å®å ¨ç´æªäºå½çãä»è使ç¨åºåå¾ä»¥ç¡®å®è¯ççæ§è½éå¶ã
7.å®ç¹DSPæ令é
å®ç¹DSPæ令éæ¯æ两个ç®æ æ¥è®¾è®¡çï¼ä½¿å¤çå¨è½å¤å¨æ¯ä¸ªæ令å¨æå å®æå¤ä¸ªæä½ï¼ä»èæé«æ¯ä¸ªæ令å¨æç计ç®æçãå°åè´®DSPç¨åºçåå¨å¨ç©ºé´åå°æå°ï¼ç±äºåå¨å¨å¯¹æ´ä¸ªç³»ç»çææ¬å½±åç大ï¼è¯¥é®é¢å¨å¯¹ææ¬ææçDSPåºç¨ä¸å°¤ä¸ºéè¦ï¼ã为äºå®ç°è¿äºç®æ ï¼DSPå¤çå¨çæ令éé常é½å 许ç¨åºåå¨ä¸ä¸ªæ令å 说æè¥å¹²ä¸ªå¹¶è¡çæä½ãä¾å¦ï¼å¨ä¸æ¡æ令å å«äºMACæä½ï¼å³åæ¶çä¸ä¸ªæ两个æ°æ®ç§»å¨ãå¨å ¸åçä¾åéï¼ä¸æ¡æ令就å å«äºè®¡ç®FIR滤波å¨çä¸èæéè¦çæææä½ãè¿ç§é«æçä»åºç代价æ¯ï¼å ¶æ令éæ¢ä¸ç´è§ï¼ä¹ä¸å®¹æ使ç¨ï¼ä¸GPPçæ令éç¸æ¯ï¼ã GPPçç¨åºé常并ä¸å¨æå¤çå¨çæ令éæ¯å¦å®¹æ使ç¨ï¼å 为ä»ä»¬ä¸è¬ä½¿ç¨è±¡CæC++çé«çº§è¯è¨ãè对äºDSPçç¨åºåæ¥è¯´ï¼ä¸å¹¸çæ¯ä¸»è¦çDSPåºç¨ç¨åºé½æ¯ç¨æ±ç¼è¯è¨åçï¼è³å°é¨åæ¯æ±ç¼è¯è¨ä¼åçï¼ãè¿éæ两个çç±ï¼é¦å ï¼å¤§å¤æ°å¹¿æ³ä½¿ç¨çé«çº§è¯è¨ï¼ä¾å¦Cï¼å¹¶ä¸éåäºæè¿°å ¸åçDSPç®æ³ãå ¶æ¬¡ï¼ DSPç»æçå¤ææ§ï¼å¦å¤åå¨å¨ç©ºé´ãå¤æ»çº¿ãä¸è§åçæ令éãé«åº¦ä¸é¨åç硬件çï¼ä½¿å¾é¾äºä¸ºå ¶ç¼åé«æççç¼è¯å¨ã å³ä¾¿ç¨ç¼è¯å¨å°Cæºä»£ç ç¼è¯æ为DSPçæ±ç¼ä»£ç ï¼ä¼åçä»»å¡ä»ç¶å¾éãå ¸åçDSPåºç¨é½å ·æ大é计ç®çè¦æ±ï¼å¹¶æä¸¥æ ¼çå¼ééå¶ï¼ä½¿å¾ç¨åºçä¼åå¿ ä¸å¯å°ï¼è³å°æ¯å¯¹ç¨åºçæå ³é®é¨åï¼ãå æ¤ï¼èèéç¨DSPçä¸ä¸ªå ³é®å ç´ æ¯ï¼æ¯å¦åå¨è¶³å¤çè½å¤è¾å¥½å°éåºDSPå¤çå¨æ令éçç¨åºåã
8.å¼åå·¥å ·çè¦æ±
å 为DSPåºç¨è¦æ±é«åº¦ä¼åç代ç ï¼å¤§å¤æ°DSPååé½æä¾ä¸äºå¼åå·¥å ·ï¼ä»¥å¸®å©ç¨åºåå®æå ¶ä¼åå·¥ä½ãä¾å¦ï¼å¤§å¤æ°ååé½æä¾å¤çå¨ç仿çå·¥å ·ï¼ä»¥åç¡®å°ä»¿çæ¯ä¸ªæ令å¨æå å¤çå¨çæ´»å¨ãæ 论对äºç¡®ä¿å®æ¶æä½è¿æ¯ä»£ç çä¼åï¼è¿äºé½æ¯å¾æç¨çå·¥å ·ã GPPååé常并ä¸æä¾è¿æ ·çå·¥å ·ï¼ä¸»è¦æ¯å 为GPPç¨åºåé常并ä¸éè¦è¯¦ç»å°è¿ä¸å±çä¿¡æ¯ãGPP缺ä¹ç²¾ç¡®å°æ令å¨æç仿çå·¥å ·ï¼æ¯DSPåºç¨å¼åè æé¢ä¸´çç大é®é¢ï¼ç±äºå ä¹ä¸å¯è½é¢æµé«æ§è½GPP对äºç»å®ä»»å¡æéè¦çå¨ææ°ï¼ä»èæ æ³è¯´æå¦ä½å»æ¹å代ç çæ§è½ã
开源硬件有哪些
开源硬件有:Arduino、树莓派(Raspberry Pi)、BeagleBone等。 开源硬件是一种硬件平台,其设计、制造和分享都是开放的,任何人都可以自由访问和使用其源代码、设计和制造过程。以下是几种常见的开源硬件: Arduino是一种开源的单片机开发板,广泛应用于各种嵌入式系统项目中。由于其开源的特性,开发者可以在Arduino平台上自由使用、修改和分享代码。Arduino的硬件设计也是开源的,开发者可以根据需要自行设计和制造。 树莓派(Raspberry Pi)是一种基于Linux的微型电脑主板,其目的是推动基于计算机的教学和教育项目。由于其开源的性质,树莓派为开发者提供了一个灵活的硬件平台,可以在上面开发各种应用。同时,由于其价格相对较低,树莓派广泛应用于各种创客项目和教育项目中。 BeagleBone是一种开源硬件平台,主要用于嵌入式系统开发。它采用低功耗处理器,具有强大的处理能力和扩展性。BeagleBone的硬件和软件都是开源的,开发者可以在上面运行各种应用和开发自己的项目。此外,由于其开源的特性,BeagleBone支持多种操作系统和编程语言。