最近有一个关于“运行Python的Arduino” WiPy的Kickstarter 。 这是一个带有wifi的小型IoT板(在Arduinos上不可用),价格诱人。 能够使用高级语言以及许多现有库也使其具有吸引力。
几天前,我得到了我支持的WiPy ,而运行的第一个障碍是电源,因为他们的主板上没有(micro)USB连接器(而且我也没有支持他们提供的扩展板) 。
幸运的是,我仍然有一个旧的已失效的USB集线器,可以从中焊接出该连接器并将其放置在小PCB上(为此,我还发现USB端口的5V允许为4.75-5.25)。 V以及集线器末端的电压甚至低至4.4V)。
带USB电源连接器的面包板上的WiPy。
现在,WiPy处于面包板上,我将计算机设置为扫描WiPy的WLAN,然后远程登录到设备中。 我四处摸索,并尝试按照手册中所述检查WLAN设置:
>>> from network import WLAN
>>> wlan = WLAN() # we call the constructor without params
这立即使连接断开。 事实证明,我需要先将固件更新到最新版本 (在撰写本文时为v1.1),这很容易(但是有点混乱,因为它们还提供了bootloader.bin
,这是不需要的)。
固件升级后,上述方法起作用了,我试图更改设备以与我的家庭网络进行通话。 需要注意的是,在您发布时
wlan.init(WLAN.STA)
将机器置于站点模式(默认为接入点)时,连接断开。 一些用户已经通过UART和串行线连接解决了这一问题,但是我并不是真的想走那条路。
相反,我在本地计算机上编辑了boot.py
,然后通过ftp将其上传到/flash
。 我发现,如果您不终止ftp客户端并且也打开telnet连接,则可以在终端中按Ctrl-D轻松地(语法)检查上载的文件:
MicroPython v1.5-1-ge954604 on 2015-10-21; WiPy with CC3200
Type "help()" for more information.
>>> <control-D> <-- here
PYB: soft reboot
Traceback (most recent call last):
File "boot.py", line 17, in
NameError: name not defined
WiPy告诉我我的文件中有错误,因此我在本地进行编辑,然后通过ftp连接再次上传。 而且只有在WiPy满意时,我才按下硬重置按钮。
现在供我参考的boot.by对我有用:
from network import WLAN
SSID = 'home_SSID' # SSID of your home network
AUTH = (WLAN.WPA2, 'very_secret') # WPA secret as 2nd param
IP = '10.1.2.42' # Fixed IP the device should get
ROUTER = '10.1.2.3' # IP of your router
DNS = '10.1.2.3' # IP of your DNS server
NETMASK = '255.255.255.0' # Netmask to use
import machine
wlan = WLAN()
if machine.reset_cause() != machine.SOFT_RESET:
wlan.init(WLAN.STA)
# configuration below MUST match your home router settings!!
wlan.ifconfig(config=(IP, NETMASK, ROUTER, DNS))
if not wlan.isconnected():
wlan.connect(ssid=SSID, auth=AUTH, timeout=5000)
while not wlan.isconnected():
machine.idle() # save power while waiting
print('WLAN connection succeeded!')
该脚本的一部分取自WiPy WLAN教程和此WiPy论坛帖子 。
翻译自: https://www.javacodegeeks.com/2015/10/wipy-on-the-home-network.html