Python 物联网入门指南(一)(3)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: Python 物联网入门指南(一)

Python 物联网入门指南(一)(2)https://developer.aliyun.com/article/1506423

直接网络链路

要使两台计算机之间的网络链接正常工作,它们需要使用相同的地址范围。可允许的地址范围由子网掩码确定(例如,255.255.0.0255.255.255.0表示所有 IP 地址应该相同,除了最后两个,或者只是 IP 地址中的最后一个数字;否则,它们将被过滤)。

要在不启用 ICS 的情况下使用直接链接,请检查您正在使用的适配器的 IP 设置

要连接到的 IP 地址,并确定它是自动分配还是固定的

特定的 IP 地址。

直接连接到另一台计算机的大多数 PC 将在169.254.X.X范围内分配 IP 地址(子网掩码为255.255.0.0)。但是,我们必须确保网络适配器设置为自动获取 IP 地址。

为了让 Raspberry Pi 能够通过直接链接进行通信,它需要在相同的地址范围169.254.X.X内具有 IP 地址。如前所述,Raspberry Pi 将自动为自己分配一个合适的 IP 地址并连接到网络。

因此,假设我们有 Apple Bonjour(前面提到过),我们只需要知道分配给 Raspberry Pi 的主机名(raspberrypi)。

另请参阅

如果您没有键盘或屏幕连接到 Raspberry Pi,您可以使用此网络链接远程访问 Raspberry Pi,就像在普通网络上一样(只需使用您为连接设置的新 IP 地址)。参考通过 VNC 远程连接到 Raspberry Pi通过 SSH(和 X11 转发)远程连接到 Raspberry Pi

我的网站pihw.wordpress.com/guides/direct-network-connection上提供了大量额外信息,包括额外的故障排除提示和连接到 Raspberry Pi 的其他几种方式,而无需专用屏幕和键盘。

通过 USB Wi-Fi dongle 进行网络连接和连接 Raspberry Pi 到互联网

通过在 Raspberry Pi 的 USB 端口添加USB Wi-Fi dongle,即使没有内置 Wi-Fi 的型号也可以连接并使用 Wi-Fi 网络。

准备工作

您需要获取一个合适的 USB Wi-Fi dongle,并且在某些情况下,您可能需要一个有源的 USB 集线器(这将取决于您拥有的 Raspberry Pi 的硬件版本和您的电源供应的质量)。USB Wi-Fi dongles 的一般适用性将取决于内部使用的芯片组以及可用的 Linux 支持水平。您可能会发现一些 USB Wi-Fi dongles 可以在不安装额外驱动程序的情况下工作(在这种情况下,您可以跳转到为无线网络配置它)。

支持的 Wi-Fi 适配器列表可在elinux.org/RPi_USB_Wi-Fi_Adapters找到。

您需要确保您的 Wi-Fi 适配器也与您打算连接的网络兼容;例如,它支持相同类型的信号802.11bgn和加密WEPWPAWPA2(尽管大多数网络都是向后兼容的)。

您还需要了解您网络的以下详细信息:

  • 服务集标识符(SSID):这是您的 Wi-Fi 网络的名称,如果您使用以下命令,应该是可见的:
sudo iwlist scan | grep SSID  
  • 加密类型和密钥:此值将为 None、WEP、WPA 或 WPA2,密钥将是您通常在连接手机或笔记本电脑到无线网络时输入的代码(有时它会被打印在路由器上)。

您将需要一个工作的互联网连接(即有线以太网)来下载所需的驱动程序。否则,您可以找到所需的固件文件(它们将是.deb文件)并将它们复制到 Raspberry Pi(即通过 USB 闪存驱动器;如果您在桌面模式下运行,驱动器应该会自动挂载)。将文件复制到适当的位置并安装它,使用以下命令:

sudo apt-get install firmware_file.deb  

如何做…

此任务有两个阶段:首先,我们识别并安装 Wi-Fi 适配器的固件,然后我们需要为无线网络配置它。

我们将尝试识别您的 Wi-Fi 适配器的芯片组(处理连接的部分);这可能与设备的实际制造商不匹配。

可以使用此命令找到支持的固件的近似列表:

sudo apt-cache search wireless firmware  

这将产生类似以下输出的结果(忽略任何没有firmware在软件包标题中的结果):

atmel-firmware - Firmware for Atmel at76c50x wireless networking chips.
firmware-atheros - Binary firmware for Atheros wireless cards
firmware-brcm80211 - Binary firmware for Broadcom 802.11 wireless cards
firmware-ipw2x00 - Binary firmware for Intel Pro Wireless 2100, 2200 and 2915
firmware-iwlwifi - Binary firmware for Intel PRO/Wireless 3945 and 802.11n cards
firmware-libertas - Binary firmware for Marvell Libertas 8xxx wireless cards
firmware-ralink - Binary firmware for Ralink wireless cards
firmware-realtek - Binary firmware for Realtek wired and wireless network adapters
libertas-firmware - Firmware for Marvell's libertas wireless chip series (dummy package)
zd1211-firmware - Firmware images for the zd1211rw wireless driver  

要找出无线适配器的芯片组,将 Wi-Fi 适配器插入树莓派,然后从终端运行以下命令:

dmesg | grep 'Product:|Manufacturer:'

这个命令将两个命令合并成一个。首先,dmesg显示内核的消息缓冲区(这是自动开机以来发生的系统事件的内部记录,比如检测到的 USB 设备)。您可以尝试单独使用该命令来观察完整的输出。

|(管道)将输出发送到grep命令;grep 'Product:|Manufacturer'检查它,并且只返回包含ProductManufacturer的行(因此我们应该得到列为ProductManufacturer的任何项目的摘要)。如果您找不到任何内容,或者想要查看所有 USB 设备,请尝试grep 'usb'命令。

这应该返回类似于以下输出——在这种情况下,我有一个ZyXEL设备,它有一个ZyDAS芯片组(快速的谷歌搜索显示zd1211-firmware适用于ZyDAS设备):

[    1.893367] usb usb1: Product: DWC OTG Controller
[    1.900217] usb usb1: Manufacturer: Linux 3.6.11+ dwc_otg_hcd
[    3.348259] usb 1-1.2: Product: ZyXEL G-202
[    3.355062] usb 1-1.2: Manufacturer: ZyDAS  

一旦您确定了您的设备和正确的固件,您可以像安装其他通过apt-get可用的软件包一样安装它(其中zd1211-firmware可以替换为您需要的固件)。如下所示:

sudo apt-get install zd1211-firmware  

拔出并重新插入 USB Wi-Fi dongle,以便它被检测到并加载驱动程序。我们现在可以使用ifconfig测试新适配器是否正确安装。输出如下所示:

wlan0     IEEE 802.11bg  ESSID:off/any
 Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm
 Retry  long limit:7   RTS thr:off   Fragment thr:off
 Power Management:off  

该命令将显示系统上存在的网络适配器。对于 Wi-Fi,通常是wlan0wlan1,如果您安装了多个,则会有更多。如果没有,请仔细检查所选的固件,或者尝试替代方案,或者在网站上查看故障排除提示。

一旦我们安装了 Wi-Fi 适配器的固件,我们就需要为我们希望连接的网络进行配置。我们可以使用 GUI,就像前面的示例中所示,或者我们可以通过终端手动配置,就像以下步骤中所示:

  1. 我们需要将无线适配器添加到网络接口列表中,该列表设置在/etc/network/interfaces中,如下所示:
sudo nano -c /etc/network/interfaces   

使用以前的wlan#值替换wlan0,如果需要,添加以下命令:

allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf  

更改后,按Ctrl + XYEnter保存并退出。

  1. 我们现在将我们网络的 Wi-Fi 网络设置存储在wpa_supplicant.conf文件中(如果您的网络不使用wpa加密,不用担心;这只是文件的默认名称):
sudo nano -c /etc/wpa_supplicant/wpa_supplicant.conf  

它应该包括以下内容:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev 
update_config=1 
country=GB 

网络设置可以写入此文件,如下所示(即,如果 SSID 设置为theSSID):

  • 如果不使用加密,请使用此代码:
network={ 
  ssid="theSSID" 
  key_mgmt=NONE 
} 
  • 使用WEP加密(即,如果WEP密钥设置为theWEPkey),使用以下代码:
network={ 
  ssid="theSSID" 
  key_mgmt=NONE 
  wep_key0="theWEPkey" 
} 
  • 对于WPAWPA2加密(即,如果WPA密钥设置为theWPAkey),使用以下代码:
network={ 
  ssid="theSSID" 
  key_mgmt=WPA-PSK 
  psk="theWPAkey"     
} 
  1. 您可以使用以下命令启用适配器(如果需要,请再次替换wlan0):
sudo ifup wlan0

使用以下命令列出无线网络连接:

iwconfig

您应该看到您的无线网络连接,并列出您的 SSID,如下所示:

wlan0     IEEE 802.11bg  ESSID:"theSSID"
 Mode:Managed  Frequency:2.442 GHz  Access Point: 
       00:24:BB:FF:FF:FF
 Bit Rate=48 Mb/s   Tx-Power=20 dBm
 Retry  long limit:7   RTS thr:off   Fragment thr:off
 Power Management:off
 Link Quality=32/100  Signal level=32/100
 Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
 Tx excessive retries:0  Invalid misc:15   Missed beacon:0  

如果不是,请调整您的设置,并使用sudo ifdown wlan0关闭网络接口,然后使用sudo ifup wlan0打开它。这将确认您已成功连接到您的 Wi-Fi 网络。

  1. 最后,我们需要检查我们是否可以访问互联网。在这里,我们假设网络已自动配置为 DHCP,并且不使用代理服务器。如果不是,请参考通过代理服务器连接到互联网的示例。

拔掉有线网络电缆(如果仍然连接),然后查看是否可以 ping 通树莓派网站,如下所示:

**sudo ping** www.raspberrypi.org  

如果您想快速知道树莓派当前使用的 IP 地址,可以使用hostname -I,或者要找出哪个适配器连接到哪个 IP 地址,可以使用ifconfig

还有更多…

Raspberry Pi 的 A 型版本没有内置的网络端口,因此为了获得网络连接,必须添加 USB 网络适配器(可以是 Wi-Fi dongle,如前一节所述,也可以是 LAN-to-USB 适配器,如下一节所述)。

使用 USB 有线网络适配器

就像 USB Wi-Fi 一样,适配器的支持取决于所使用的芯片组和可用的驱动程序。除非设备配备了 Linux 驱动程序,否则您可能需要在互联网上搜索以获取适用的 Debian Linux 驱动程序。

如果找到合适的.deb文件,可以使用以下命令进行安装:

sudo apt-get install firmware_file.deb  

还可以使用ifconfig进行检查,因为一些设备将自动受支持,显示为eth1(或者在 A 型上为eth0),并且可以立即使用。

通过代理服务器连接到互联网

一些网络,例如工作场所或学校内的网络,通常要求您通过代理服务器连接到互联网。

准备工作

您需要代理服务器的地址,包括用户名和密码(如果需要)。

您应该确认树莓派已连接到网络,并且可以访问代理服务器。

使用ping命令进行检查,如下所示:

ping proxy.address.com -c 4  

如果失败(没有响应),您需要确保继续之前网络设置正确。

如何操作…

  1. 使用nano创建一个新文件,如下所示(如果文件中已经有一些内容,可以在末尾添加代码):
sudo nano -c ~/.bash_profile
  1. 要允许通过代理服务器进行基本的网页浏览,例如Midori,您可以使用以下脚本:
function proxyenable { 
# Define proxy settings 
PROXY_ADDR="proxy.address.com:port" 
# Login name (leave blank if not required): 
LOGIN_USER="login_name" 
# Login Password (leave blank to prompt): 
LOGIN_PWD= 
#If login specified - check for password 
if [[ -z $LOGIN_USER ]]; then 
  #No login for proxy 
  PROXY_FULL=$PROXY_ADDR 
else 
  #Login needed for proxy Prompt for password -s option hides input 
  if [[ -z $LOGIN_PWD ]]; then 
    read -s -p "Provide proxy password (then Enter):" LOGIN_PWD 
    echo 
  fi 
  PROXY_FULL=$LOGIN_USER:$LOGIN_PWD@$PROXY_ADDR 
fi 
#Web Proxy Enable: http_proxy or HTTP_PROXY environment variables 
export http_proxy="http://$PROXY_FULL/" 
export HTTP_PROXY=$http_proxy 
export https_proxy="https://$PROXY_FULL/" 
export HTTPS_PROXY=$https_proxy 
export ftp_proxy="ftp://$PROXY_FULL/" 
export FTP_PROXY=$ftp_proxy 
#Set proxy for apt-get 
sudo cat <<EOF | sudo tee /etc/apt/apt.conf.d/80proxy > /dev/null 
Acquire::http::proxy "http://$PROXY_FULL/"; 
Acquire::ftp::proxy "ftp://$PROXY_FULL/"; 
Acquire::https::proxy "https://$PROXY_FULL/"; 
EOF 
#Remove info no longer needed from environment 
unset LOGIN_USER LOGIN_PWD PROXY_ADDR PROXY_FULL 
echo Proxy Enabled 
} 
function proxydisable { 
#Disable proxy values, apt-get and git settings 
unset http_proxy HTTP_PROXY https_proxy HTTPS_PROXY 
unset ftp_proxy FTP_PROXY 
sudo rm /etc/apt/apt.conf.d/80proxy 
echo Proxy Disabled 
} 
  1. 完成后,按Ctrl + XYEnter保存并退出。

脚本被添加到用户自己的.bash_profile文件中,在特定用户登录时运行。这将确保代理设置被分别保存给每个用户。如果您希望所有用户使用相同的设置,可以将代码添加到/etc/rc.local中(此文件必须在末尾有exit 0)。

工作原理…

许多使用互联网的程序在连接之前会检查http_proxyHTTP_PROXY环境变量。如果存在,它们将使用代理设置进行连接。一些程序也可能使用HTTPSFTP协议,因此我们也可以在这里为它们设置代理设置。

如果代理服务器需要用户名,则会提示输入密码。通常不建议在脚本中存储密码,除非您确信没有其他人能够访问您的设备(无论是物理上还是通过互联网)。

最后一部分允许使用sudo命令执行的任何程序在扮演超级用户时使用代理环境变量(大多数程序首先尝试使用普通权限访问网络,即使作为超级用户运行,所以并不总是需要)。

还有更多…

我们还需要允许某些程序使用代理设置,这些程序在访问网络时使用超级用户权限(这取决于程序;大多数不需要这样做)。我们需要通过以下步骤将命令添加到存储在/etc/sudoers.d/中的文件中:

  1. 使用以下命令打开一个新的sudoer文件:
sudo visudo -f /etc/sudoers.d/proxy  
  1. 在文件中输入以下文本(一行):
Defaults env_keep += "http_proxy HTTP_PROXY https_proxy HTTPS_PROXY ftp_proxy FTP_PROXY"  
  1. 完成后,按Ctrl + XYEnter保存并退出;不要更改proxy.tmp文件名(这对于visudo是正常的;完成后它会将其更改为 proxy)。
  2. 如果提示“现在怎么办?”,则命令中存在错误。按X退出而不保存并重新输入命令。
  3. 重新启动后(使用sudo reboot),您将能够使用以下命令分别启用和禁用代理:
proxyenable
proxydisable  

在这里使用visudo很重要,因为它确保了为sudoers目录正确创建文件的权限(只能由root用户读取)。

通过 VNC 远程连接到树莓派网络

通常,最好远程连接和控制树莓派跨网络,例如,使用笔记本电脑或台式电脑作为屏幕和键盘,或者当树莓派连接到其他地方时,也许甚至连接到一些需要靠近的硬件。

VNC 只是远程连接到树莓派的一种方式。它将创建一个新的桌面会话,可以远程控制和访问。这里的 VNC 会话与树莓派显示上可能活动的会话是分开的。

准备工作

确保您的树莓派已经启动并连接到互联网。我们将使用互联网连接来使用apt-get安装程序。这是一个允许我们直接从官方存储库中查找和安装应用程序的程序。

如何做…

  1. 首先,我们需要使用以下命令在树莓派上安装 TightVNC 服务器。建议先运行update命令以获取要安装的软件包的最新版本,如下所示:
sudo apt-get update
sudo apt-get install tightvncserver  
  1. 接受提示进行安装,并等待直到完成。要启动会话,请使用以下命令:
vncserver :1  
  1. 第一次运行时,它将要求您输入一个密码(不超过八个字符)以访问桌面(您在从计算机连接时将使用此密码)。

以下消息应该确认已启动新的桌面会话:

New 'X' desktop is raspberrypi:1  

如果您还不知道树莓派的 IP 地址,请使用hostname -I并记下它。

接下来,我们需要运行 VNC 客户端。VNC Viewer是一个合适的程序,可以在www.realvnc.com/上找到,并且应该可以在 Windows、Linux 和 OS X 上运行。

运行 VNC Viewer 时,将提示您输入服务器地址和加密类型。使用您的树莓派的 IP 地址与:1。也就是说,对于 IP 地址192.168.1.69,使用192.168.1.69:1地址。

您可以将加密类型保留为关闭或自动。

根据您的网络,您可以使用主机名;默认值为raspberrypi,即raspberrypi:1

可能会有一个关于以前未连接到计算机或没有加密的警告。如果您正在使用公共网络或在互联网上进行连接(以阻止其他人能够拦截您的数据),您应该启用加密。

还有更多…

您可以添加选项到命令行以指定显示的分辨率和颜色深度。分辨率和颜色深度越高(可以调整为每像素使用 8 位到 32 位以提供低或高颜色细节),通过网络链接传输的数据就越多。如果发现刷新速率有点慢,请尝试按照以下方式减少这些数字:

vncserver :1 -geometry 1280x780 -depth 24  

要允许 VNC 服务器在打开时自动启动,您可以将vncserver命令添加到.bash_profile(这在每次树莓派启动时执行)。

使用nano编辑器如下(-c选项允许显示行号):

sudo nano -c ~/.bash_profile  

将以下行添加到文件的末尾:

vncserver :1  

下次启动时,您应该能够使用 VNC 从远程连接到树莓派

另一台计算机。

通过 SSH(和 X11 转发)远程连接到树莓派

安全外壳SSH)通常是进行远程连接的首选方法,因为它只允许终端连接,并且通常需要更少的资源。

SSH 的一个额外功能是能够将X11数据传输到运行在您的计算机上的X Windows服务器。这允许您启动通常在树莓派桌面上运行的程序,并且它们将出现在本地计算机上的自己的窗口中,如下所示:

在本地显示上的 X11 转发

X11 转发可用于在 Windows 计算机上显示在树莓派上运行的应用程序。

准备工作

如果您正在运行最新版本的 Raspbian,则 SSH 和 X11 转发将默认启用(否则,请仔细检查*它是如何工作…*部分中解释的设置)。

如何做…

Linux 和 OS X 都内置支持 X11 转发,但如果你使用 Windows,你需要在计算机上安装和运行 X Windows 服务器。

Xming网站(sourceforge.net/projects/xming/)下载并运行xming

安装xming,按照安装步骤进行安装,包括安装PuTTY(如果您还没有)。您也可以从www.putty.org/单独下载 PuTTY。

接下来,我们需要确保我们连接时使用的 SSH 程序启用了 X11。

对于 Windows,我们将使用 PuTTY 连接到树莓派。

在 PuTTY 配置对话框中,导航到连接 | SSH | X11,并选中启用 X11 转发的复选框。如果将 X 显示位置选项留空,它将假定默认的Server 0:0如下(您可以通过将鼠标移到运行时系统托盘中的 Xming 图标上来确认服务器号):

在 PuTTY 配置中启用 X11 转发

在会话设置中输入树莓派的 IP 地址(您还可以在这里使用树莓派的主机名;默认主机名是raspberrypi)。

使用适当的名称保存设置,RaspberryPi,然后单击打开以连接到您的树莓派。

您可能会看到一个警告消息弹出,指出您以前没有连接到计算机(这样可以在继续之前检查是否一切正常):

使用 PuTTY 打开到树莓派的 SSH 连接

对于 OS X 或 Linux,单击终端以打开到树莓派的连接。

要使用默认的pi用户名连接,IP 地址为192.168.1.69,使用以下命令;-X选项启用 X11 转发:

ssh -X pi@192.168.1.69  

一切顺利的话,您应该会收到一个输入密码的提示(请记住pi用户的默认值是raspberry)。

确保 Xming 正在运行,方法是从计算机的开始菜单启动 Xming 程序。然后,在终端窗口中,输入通常在树莓派桌面内运行的程序,如leafpadscratch。等一会儿,程序应该会出现在您的计算机桌面上(如果出现错误,您可能忘记启动 Xming,所以请运行它并重试)。

它是如何工作的…

X Windows 和 X11 是提供树莓派(以及许多其他基于 Linux 的计算机)显示和控制图形窗口作为桌面一部分的方法。

要使 X11 转发在网络连接上工作,我们需要在树莓派上同时启用 SSH 和 X11 转发。执行以下步骤:

  1. 要打开(或关闭)SSH,您可以访问树莓派配置

在桌面的首选项菜单下的 SSH 中,单击接口选项卡,如下截图所示(大多数发行版通常默认启用 SSH,以帮助允许远程连接而无需显示器进行配置):

raspi-config 工具中的高级设置菜单

  1. 确保在树莓派上启用了 X11 转发(大多数发行版现在默认已启用此功能)。
  2. 使用以下命令使用nano
sudo nano /etc/ssh/sshd_config  
  1. /etc/ssh/sshd_config文件中查找控制 X11 转发的行,并确保它说yes(之前没有#符号),如下所示:
X11Forwarding yes  
  1. 如果需要,按Ctrl + XYEnter保存并重新启动(如果需要更改)如下:
sudo reboot  

还有更多…

SSH 和 X11 转发是远程控制树莓派的便捷方式;我们将在以下部分探讨如何有效使用它的一些额外提示。

通过 X11 转发运行多个程序

如果您想运行X 程序,但仍然可以在同一终端控制台上运行其他内容,可以使用&将命令在后台运行,如下所示:

leafpad &  

只需记住,您运行的程序越多,一切就会变得越慢。您可以通过输入fg切换到后台程序,并使用bg检查后台任务。

通过 X11 转发作为桌面运行

您甚至可以通过 X11 运行完整的桌面会话,尽管它并不特别用户友好,而且 VNC 会产生更好的结果。要实现这一点,您必须使用lxsession而不是startx(以您通常从终端启动桌面的方式)。

另一种选择是使用lxpanel,它提供了程序菜单栏,您可以从菜单中启动和运行程序,就像在桌面上一样。

通过 X11 转发运行 Pygame 和 Tkinter

在运行PygameTkinter脚本时,您可能会遇到以下错误(或类似错误):

_tkinter.TclError: couldn't connect to display "localhost:10.0"  

在这种情况下,使用以下命令来修复错误:

sudo cp ~/.Xauthority ~root/ 

Python 物联网入门指南(一)(4)https://developer.aliyun.com/article/1506430

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
15天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
16天前
|
Python
深入理解Python装饰器:从入门到实践####
本文旨在通过简明扼要的方式,为读者揭开Python装饰器的神秘面纱,从基本概念、工作原理到实际应用场景进行全面解析。不同于常规的摘要仅概述内容概要,本文将直接以一段精炼代码示例开篇,展示装饰器如何优雅地增强函数功能,激发读者探索兴趣,随后深入探讨其背后的机制与高级用法。 ####
46 11
|
13天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
13天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
13天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
19天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
63 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
3天前
|
设计模式 缓存 开发者
Python中的装饰器:从入门到实践####
本文深入探讨了Python中强大的元编程工具——装饰器,它能够以简洁优雅的方式扩展函数或方法的功能。通过具体实例和逐步解析,文章不仅介绍了装饰器的基本原理、常见用法及高级应用,还揭示了其背后的设计理念与实现机制,旨在帮助读者从理论到实战全面掌握这一技术,提升代码的可读性、可维护性和复用性。 ####
|
12天前
|
设计模式 缓存 开发框架
Python中的装饰器:从入门到实践####
本文深入探讨了Python中装饰器的工作原理与应用,通过具体案例展示了如何利用装饰器增强函数功能、提高代码复用性和可读性。读者将学习到装饰器的基本概念、实现方法及其在实际项目开发中的实用技巧。 ####
24 3
|
16天前
|
机器学习/深度学习 数据采集 数据可视化
Python在数据科学中的应用:从入门到实践
本文旨在为读者提供一个Python在数据科学领域应用的全面概览。我们将从Python的基础语法开始,逐步深入到数据处理、分析和可视化的高级技术。文章不仅涵盖了Python中常用的数据科学库,如NumPy、Pandas和Matplotlib,还探讨了机器学习库Scikit-learn的使用。通过实际案例分析,本文将展示如何利用Python进行数据清洗、特征工程、模型训练和结果评估。此外,我们还将探讨Python在大数据处理中的应用,以及如何通过集成学习和深度学习技术来提升数据分析的准确性和效率。
|
14天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
下一篇
无影云桌面