导航:首页 > 编程语言 > openwrt编译python

openwrt编译python

发布时间:2025-03-24 12:26:03

① Openwrt如何输入命令

你先下载一个Putty,然后利用这个软件SSH到路由器,就可以在命令行里面输入这些命令了。

② micropython的优缺点

以下是这门语言的优缺点:

优点:是官方手下的,所以很好用。

缺点:1.模式,画质老旧,类似于ENIAC计算机显示屏幕。

2.输入代码后会直接运行。

3.没有保存等其他功能,功能单一。

Python是一门通俗易懂的编程语言,但是最好不要使用micropython,因为它比较老旧,所以我推荐你使用官方渠道:python.org去下载。

MicroPython在设计上最初就是为了嵌入式微处理器运行,例如在nRF51822(256kBflash+16kBRAM)的芯片上也可以运行起来,也有人肾得慌在STM32F103上跑起来了,从代码上来看Python函数栈的官方默认是16KRAM,也就意味着它可以在许多微芯片上提供一个最小的Python代码交互环境,但这并不包含它们的拓展功能,毕竟编译更多的功能代码意味着需要更多的Flash或外部存储。


高度与宽度

根据定位的场景我们可以看到MicroPython在硬件的深度可以去到超低功耗芯片开发领域,而采用Python语言的开发方式决定了它的软件宽度可以站在全世界热门的Python领域中进行借鉴和参考,这带来了许多改变,如改变以往的硬件测试流程和开发流程,改变一贯认为的硬件程序开发困难的刻板印象,这个现象之后会详细阐述。




Arino(C++)

基于C++代码设计

拥有和C兼容的优势,可以无缝接入ESP-IDF。

大量遗留的代码库可以直接整合使用。

近年来的提供的外设硬件库质量大幅度下降,导致硬件开发后的稳定性欠缺。

Javascript

常见于Rufflite、JerryScript等。

新生事物,同MicroPython相似的结构

支持JS异步驱动事件模型,要求芯片必须拥有系统(RTOS)。

在硬件上使用浏览器形式的开发方式

硬件驱动相关支持库较弱,基于此深耕硬件接口的开发者不多。

相关的开发资料和代码还不够稳定。

lua

相比MicroPython和JerryScript它的可移植性要来得更为简单一些。

如仓库:/whitecatboard/Lua-RTOS-ESP32

但由于lua是小众语言,地位和bat、bash差不多。

所以不是在开发应用领域里不是很流行,但作为自动化脚本工具还是很棒的。

开发资料相关周边的基本没有,会lua的大多都是孤芳自赏,比如我(大概)。

ESPEasy

大概算是一种开发环境,类似于路由器系统(openwrt)

除了好玩,就没有什么用了。

像这样的固件还有很多很多,在这里就不一一举例了。

esp-idf

硬件开发芯片原厂一般都会提供的SDK,esp32提供的多为esp-idf、esp-adf、esp-mdf诸如此类,对应的stm32的hal或CC25XXstack等等原生C代码SDK。

上述开发环境均基于此继续开发得来的产物。

经过了上述的各类开发环境的初步认识,我们就来说说MicroPython对比后的优劣吧。


MicroPython的优劣

我们不难看到,MicroPython和Python一样,发挥了胶水语言的优势,最大化的兼容和保持了各自的优势,减少自己的劣势。


在动态语言大战中,MicroPython保留了面向过程、对象、切面、函数的编程语法,丰富的开发方式带来了代码的开发广度,反观lua从语法上砍掉了大量开发常用的语法糖,大幅度的裁剪代码量,在开发者开箱即用的角度来看,MicroPython迎合了大多数开发者的拿来主义(我?)。


与JavaScript相比的Python在性能上没有太多的优势,唯一的优势就是Js的编程思维并不适合长期浸染在面向过程领域里的C语言硬件编程,例如串口收发这样简单的一件事情,在Js的异步事件绑定模型下,需要设置一些回调函数等待处理,而在MicroPython中,通过多线程可以实现Js的效果,但没有多线程也可以通过While死循环轮询或非阻塞状态机来实现同样的功能,而后者的死循环就是嵌入式C中的常见编程习惯了,但在JS的硬件编程中,某个函数若是发生了死循环,那真的是一种灾难,所有的后台线程都无法运行了,但死循环这样的开发方式真的太烂了,建议硬件开发的时候多写异步驱动代码,或者是状态机代码,以提高IO性能。


因此MicroPython在众多动态语言中与C语言的兼容性为最佳,在程序设计上也是如此,向下兼容语言的同时又吸取了上层优秀代码的精髓,尤其是异常机制和动态类型。


此时相比C或C++语言,MicroPython牺牲了一些执行性能,平均每段Python代码回到C的执行函数操作额外增加了5us左右,这是我在写软串口的时候发现的,但也带来了解释器接口(其他动态语言也是如此),通过动态调整执行接口的参数,加速了硬件程序的验证与开发。


在面对硬件程序的主控方面的开发,经常面对大量的硬件API通信调试,就像调试网络服务里的HTTPAPI,对硬件里的UART、I2C、SPI、RS485、CAN等等从机设备的控制,使用MicroPython进行开发验证,要比纯粹使用C、Arino来的更为迅速,毕竟它们编译一次2分钟,运行10秒,而MicroPython烧录2分钟,之后每隔5秒运行反复运行,这也得益于MicroPython的硬件外设驱动的开发相当可靠和稳定(其实是ESP-IDF稳定可靠的原因XD)。


所以别人花一天调试的硬件接口,我几个小时就可以调试得七七八八了,尤其是多机协议的反复测试接口,例如:Modbusreadaddr或是I2C.scan这类接口。当然,上述的这种开发哪怕是封装成AT指令的接口方式也可以做到,但在Python解释器的基础上可以编写更多复杂的后续逻辑操作,而非AT固件的指定接口形式调试。


综上所述,MicroPython的硬件开发地位处于硬件开发的初期验证和原始开发阶段,在后期大多都会转回C,而软件领域里,则有大量的逻辑示例代码供硬件开发调用和测试,对于硬件开发人员,将会获得更多控制硬件的方法,对于软件人员也会更容易的配合硬件人员开发硬件和调试硬件。


结语

③ openwrt能跑python或ruby么

Python 是可以跑的,通过openwrt的软件工具可以安装的。
但是因为openwrt对存储的缺省空间要求很低,安装 python 会减少openwrt的“磁盘”空间。

阅读全文

与openwrt编译python相关的资料

热点内容
阿里云mc服务器mcbbs 浏览:850
安卓平板打不了字怎么办 浏览:514
linux用户提示符 浏览:31
编译卸载工具app 浏览:214
压缩袋怎么封口 浏览:254
人脸识别算法c语言 浏览:379
外网服务器是干什么用的 浏览:406
平面图形面积计算法 浏览:544
手机shell命令 浏览:93
拯救者有解压软件吗 浏览:408
加密短信认证限额 浏览:969
程序员职述报告ppt 浏览:157
程序员有什么重要的证书 浏览:306
零基础学算法第二版 浏览:818
在哪里关app弹出信息 浏览:617
加密播放软件提取视频 浏览:353
安卓手机转到苹果手机用什么软件 浏览:463
taptap怎么改吃鸡国际服服务器 浏览:342
钢筋工焊接需要加密吗 浏览:799
servu服务器ip地址怎么查看 浏览:901