问题标签 [micropython]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python:使用 locals() 进行编程类实例变量初始化
我有一个包含许多具有默认值的实例变量的类,可以选择在实例化中覆盖它(注意:没有可变的默认参数)。
由于self.x = x
多次编写等非常多余,因此我以编程方式初始化变量。
为了说明,考虑这个例子(为了简洁起见,它只有 5 个实例变量和省略了任何方法):
例子:
因此,为了让我的生活更轻松,我使用 B 类中显示的习语,它产生与 A 相同的结果。
这是不好的做法吗?有什么陷阱吗?
附录: 使用这个习语的另一个原因是为了节省一些空间——我打算在MicroPython中使用它。无论出于何种原因 因为当地人在那里的工作方式不同,所以只有 A 类中显示的方式在其中有效。
python - ESP8266 Micropython - 连接大学 Wi-fi ( WPA2 Enterprise PEAP )
我有一块带有运行 Micropython 固件 v1.8.7 的 ESP8266 芯片的板。我的要求是通过大学 Wi-Fi 使用 WebREPL,它使用 WPA2 Enterprise EAP-MSCHAPv2 身份验证。到目前为止,我的 Google-fu 告诉我,Arduino 用户已经能够连接到 WPA2 Enterprise EAP-TLS(基于证书的身份验证)(链接),但不能连接到(SSID、用户名、密码)网络。
到目前为止,我在这个主题上看到的所有线程似乎最迟都是从 2016 年中期开始的,所以我想知道从那时起是否有人能够弄清楚如何做到这一点。我以前从未涉足网络相关的东西(我也不是一个伟大的程序员),所以上面所有的大词对我来说都是新的。因此,我有以下问题:
- 这只是 ESP8266 的固有限制吗?或者可以做到吗?这个讨论似乎表明它可以完成,但需要对功能进行编码。
- 是否有可能以某种方式从 WPA2 Enterprise 分支出 WPA2 Personal 连接,供 ESP8266 和我的 PC 使用?到目前为止,我尝试的是使用 Connectify 尝试热点,但那里没有运气。
我很感激你们可以提供的任何帮助。如果有任何我没有包含的相关信息,请告诉我,我会编辑它。
编辑:@MaximilianGerhardt 这在 WPA2 Personal 上对我有用:
在 WPA2 Enterprise 上,我曾希望改变这条线会奏效,但并不高兴:
谢谢,我会研究一下 Espressif Non-OS SDK V2.0.0,看看我能不能让它工作。
python - Python中的CRC32计算而不使用库
我一直试图了解 CRC32 计算但没有取得多大成功,我似乎得到的值与我应该得到的值不匹配。
我知道 Python 有能够生成这些校验和的库(即 zlib 和 binascii),但我没有能力使用它们,因为 micropython 上不存在 CRC 功能。
到目前为止,我有以下代码:
然后我得到以下输出:
binascii 和 zlib 计算与我的计算不一致。我相信计算出的字节表是正确的,因为我已将其与网上可用的示例进行了比较。所以问题一定是计算每个字节的例程,有人能指出我正确的方向吗?
提前致谢!
python - Micropython 字符串
使用 Micropython 套接字,我收到一条消息,其中包含以下字符串:
b'xxx/yyy'
我不知道“b”是如何到达那里的,或者它是什么!
我也可以使用输入语句输入
对此必须有一个简单的解释,但我看不到。
这是一些新类型的变量吗???
python - microPython 格式化没有浮点数的数字
我没有浮点精度的奢侈,并且在代码空间/内存/速度等方面非常有限。
有没有更 pythionc 的方式来实现这种格式?
python - Python加入字节数组
我需要遍历一个字节数组的数组,然后从字典中选择一个匹配的元素。但是我尝试加入字节数组失败:
所以看起来你不能加入一个整数,还有其他方法吗?
更新 1
在@falsetrue 的大力帮助和耐心下,我设法加入了这个阵营。但是,当我尝试获取设备字典项时,生成的字符串仍然会引发关键错误:
更新 2
这是设备信息:
也许拥有 WIPY2 的其他人可以为我验证这一点?
python - 用特定值填充列表的一部分而不分配新对象
有没有办法通过切片修改python列表,只有一个值而没有内存分配?
像这样的东西:
这里的问题是关于内存的。我不想分配新对象,因为我在嵌入式系统上使用 MicroPython,不必要的分配会影响性能。那么我应该使用循环还是有更优雅的方式?
但是,我不太确定内存分配在 python 中是如何工作的。我读过 Python 很聪明,可以根据使用情况在堆栈和堆中分配变量。因此,我不能说:
将为垃圾收集器创建一些工作。
python - 在 Python 中将从 Micro:bit 收音机接收的字符串转换为整数时出现 ValueError
我正在为客户端编写一个程序,该程序通过客户端记录的内置平均值无线电从服务器接收平均值字符串。我在尝试将保存到变量中的字符串转换为整数的行中收到一个 ValueError 说“以 10 为基数的整数的语法无效”。我能够做到这一点,在错误行上方的一行中没有错误。
我的代码如下:
有错误的行是
python - TypeError:Python中不支持的类型:'int','NoneType'
我正在为客户端编写一个程序,该程序通过客户端记录的内置平均值无线电从服务器接收平均值字符串。我收到一个 TypeError 说:“不支持的类型:'int','NoneType'”。
这是我的代码:
错误发生在这一行: