linux 上除了shellpython脚本以外还有什么脚本语言用得比较多?
在开始前我有一些资料,是我根据网友给的问题精心整理了一份「 Linux的资料从专业入门到高级教程」,
点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!说到在 Linux下的编程,很多人会想到用C语言,Linux 的内核、shell、基础命令程序,也的确是用C语言编写的,这首先证明了一点,C语言很强很通用。
到目前为止,C语言依然垄断着计算机工业中几乎所有的系统编程,而且也正因为是C语言,才使得 Unix 以及后来的 Linux 能够这么广泛地被人们去研究、去改进、去制作自己的分支,以至于我们能在各种硬件平台上使用它们。
但是细心的人会发现,Linux 启动过程中所涉及的各种程序,很少有C语言的痕迹。它们大多是脚本程序。不单单在启动过程中是这样,那些用于安装软件的工具 yum、apt-get,甚至是 configure 和 Makefile 也都是脚本程序。而且你可能还没注意到,那些用于系统管理的工具,如配置 ADSL 拨号上网的工具、配置守护进程的工具等,很多也都是脚本程序。
大量使用脚本程序,是所有类 Unix 系统不同于其他系统的一个显著特征,催生人们在 Linux 中大量使用脚本来编写程序,并不仅仅是因为脚本对人直观、容易修改这种显著特性所决定的。另外一个主要的原因就是 Linux 所支持的脚本语言种类十分丰富。
所有类 Unix 系统所必备的 shell,其本身就是一个强大的脚本解释器。所以从 shell 诞生的那一天起,shell 就是那些不懂 C 语言,又必须在 Unix 上编写程序的用户们的首选工具。
这就给了人们一种新的选择,使用 shell 编程不用去理会让人头晕的指针;shell 程序可以直接利用系统命令来完成一些需要用大量 C 代码的功能;shell 编程不用去理会数据类型,不用考虑烦人的数值和字符数据的转换问题;shell 程序同样提供顺序、选择分支和循环这三种能够构建任意算法的基础设施。因此,shell 很快就能够被非专业用户所接受、掌握,并编写出非常实用的程序。
到底哪款才是正版?ESP8266 NodeMCU型号指南
NodeMCU是款可玩性非常高的带wifi模块的单片机开发板,由于其低廉的价格(只需大约10块)和广泛的开源社区支持,在硬件爱好者中欢迎度一直很高。
可是当我们去市场上搜索ESP8266来购买NodeMCU开发板时,却发现好像没有那么简单。
为啥开发板的尺寸有大有小?为啥有两款串口芯片?选CH340G还是CP2102?为啥有这么多厂家在生产?到底哪家才是正版?大家是否也有这些疑问呢?那我们今天就来一一解答吧~
官方“标准版”esp8255 NodeMCU开发板,采用cp2102串口芯片
本人购买的几种开发板,从左至右分别为:ch340g版esp8266,cp2102版esp8266,和esp32。
一、NodeMCU是个啥?
NodeMCU是由ESP8266开源社区 开发的,基于乐鑫esp8266芯片的单片机开发板。
根据官网nodemcu.com,NodeMCU是一款开源快速硬件原型平台,包括固件和开发板 ,用几行简单的Lua脚本就能开发物联网应用。
NodeMCU的特点主要有:开源,交互式,可编程,低成本,简单,智能,WI-FI硬件
像Arduino一样操作硬件IO :提供硬件的高级接口,可以将应用开发者从繁复的硬件配置、寄存器操作中解放出来。用交互式Lua脚本,像arduino一样编写硬件代码!用Nodejs类似语法写网络应用 :事件驱动型API极大的方便了用户进行网络应用开发,使用类似Nodejs的方式编写网络代码,并运行于5mm*5mm大小的MCU之上,加快您的物联网开发进度。超低成本的WI-FI模块 :用于快速原型的开发板,集成了售价低于10人民币 WIFI芯片ESP8266。我们为您提供性价比最高的物联网应用开发平台。项目官网还写明了:“NodeMCU开发板具有GPIO、PWM、I2C、1-Wire、ADC等功能,结合NodeMcu固件为您的原型开发提供最快速的途径。”
二、NodeMCU常见型号对比
我从多个商家购买了好几块NodeMCU开发板,那我们就来看看常见型号都有哪些吧~
如下图,从左至右分别为:ch340g版esp8266,cp2102版esp8266,和esp32。
本人购买的几种开发板,从左至右分别为:ch340g版esp8266,cp2102版esp8266,和esp32。
可以很明显的看到ch340g款的两个板子的尺寸明显大于cp2102款 。大的这么一点看似没有什么大不了,但是ch340g款板子的尺寸直接导致它占满了常用的尺寸为8.5cm*5.5cm,400孔位的小面包板的所有孔位。这就很尴尬了,导致我们在实验时,难以在面包板上再外接线路。
ch340g款板子的尺寸直接限制了它的可拓展性,在这里我给出一条建议:尽量不要购买ch340g款的NodeMCU开发板!
当然,市场上还有例如ESP-01之类的早期型号,由于不常见,而且可玩性不高,这里就不做介绍了。
三、生产厂家
目前来看,国内市场上售卖的NodeMCU主要是由安信可(ai-thinker),和四博智联(doit)生产的。那么到底哪家的才是“正宗”的,哪家的产品才是“标准版”的呢?
细心的朋友可能已经意识到了,既然NodeMCU是开源的,那其实就没有正版和正宗一说呀?只要产品符合了规范,那就是合格产品了~ 根据我的经验来看,各个厂家生产的NodeMCU在使用上并没有根本不同,只要是合格产品,基本都是一样的。
那ESP8266开源社区定义的NodeMCU推荐规范是什么样的呢?
这里我找到了一张图,大家可以参考一下:
开源社区推荐的NodeMCU标准
可以看出,开源社区推荐的“标准版”,基本就是市售的cp2102款板子的配置 ~
四、针脚定义
不推荐CH340g款NodeMCU开发板,还有另一个理由,那就是“非主流”的针脚定义。我在这点上吃过一次亏,这里一定要向大家说一说~
cp2102款板子的针脚定义图是这样的:
当使用usb口供电时,vin口也会输出5v电压。
开源社区对于针脚图的官方定义也是这样的。
然而,ch340g款的板子却独辟蹊径,对于针脚定义有所改进:
“改进版”NodeMCU针脚定义,多了VUSB针脚
可以看出,“改进”的ch340g款板子,增加了VU和对应的GND针脚来输出USB口的5v电压 。对于这个改动是否合理,我不予置评。大家需要注意一下这个改动。
五、小结
最后的结论就是:建议购买cp2102串口芯片版本的 NodeMCU esp8266开发板,因为它:
尺寸小,拓展性更好器件和布局更适合开源社区制定的标准针脚图符合主流标准,不容易踩坑大家手中的esp8266开发板是啥型号的呢?在下面说一说吧~
对于esp8266 NodeMCU开发板感兴趣的朋友可以试试我做过的一些项目哦~
十块钱入门物联网!ESP8266新手指南
人人都能做的智能网络时钟!ESP8266实践指南(三)
自制wifi遥控小车!ESP8266实践指南(二)
阿里云物联网新手指南:利用ESP8266远程启动电脑
参考资料:
https://frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/
https://github.com/nodemcu/nodemcu-devkit-v1.0/issues/9
我是零度橙子,科技达人,谷歌认证云计算架构师,AWS认证devops专家,欢迎大家关注我,了解有用有趣的科技知识~
相关问答
单片机 除了可以用汇编和c语言编程,还有其他什么编程语言吗?除了C和汇编,超子还接触过使用Arduino、Labview、Python以及Lua对单片机进行程序开发。不过这些相对比较小众,没有普适性。一、ArduinoArduino应该算是一种对...
做 单片机 ,会C语言,有学C++的必要吗?未来的发展方向如何?就算你硬要转向软件行业,C++也不是必须学,毕竟有大把的语言可选,现在甚至有很多脚本语言可以运行在单片机上。但学了肯定还是很有好处的。如果你并不想成为纯...
PHP就是 单片机 还是怎么样?帮我科普下?PHP一般是用于交互式网站的编辑的脚本语言,例如,购物网站,网络论坛,聊天站或火车票网站等等。PHP跟单片机没什么联系。单片机编程有汇编语言和C语言。PHP一...
电子信息工程专业毕业后主要从事哪些工作? 申请方[回答]最贴切专业的就业方向有两大块,分别是工艺和设计。集成电路设计制造流程:系统需求、设计、掩模版制作、芯片制作、检测、封装、测试。可以说每一个...
python主要用于什么开发?为什么这么多人在学Python呢?很多小白都听说Python很火,简单易学,学起来很容易,学习周期短,可是为啥要学Python呢?,下面谈谈我对Python的感悟。在PC时代...应用...
嵌入式一年半,现两份offer,一Linux驱动, 单片机 ;二通信协议栈,网络安全产品。怎样选择好些?首先恭喜题主哈,这两份工作都不错,如果要考虑以后前景的话,我个人比较推荐后者。因为我第一份工作就是在华为做嵌入式,后来转向到了网络通信的部门,对二者...主...
单片机 工程师跳槽真的成本高吗?从业17年的老兵告诉你,成本不高。但是要看自己的能力,比如:汇编能力如何?嵌入式实时操作系统的能力如何,能否自己写一个混合编程的多任务调度?c和c++,脚本...
什么是WSIM系统,怎样学习?这里先说下ucos和linux的区别,ucos是跑在单片机上的实时系统,重点在占用资源少,实时性高;linux是操作系统,跑在arm或者pc上,重点是功能强大,软件通用自带n...
it最简单易学的是什么?it主要学编程语言,程序编写主要是经验和逻辑思维能力。计算机专业领域一共有几个大方向,包括单片机、嵌入式方向,网络编程(涉及到服务器程序、客户端开发、脚...
用几句最通俗的话向一个非科班的人解释什么是编译原理 - OSCH...例如:(1)把代码编译成机器理解的形式(2)把脚本语言解释成VM理解的形式(3)甚至...控制方面:VHDL语言,DSP,FPGA编程,单片机等等。总之,这是一个多领域交叉的学...