600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 使用微软新必应(New Bing)AI机器人生成树莓派Pico W开发板MicroPython应用程序

使用微软新必应(New Bing)AI机器人生成树莓派Pico W开发板MicroPython应用程序

时间:2023-10-31 19:18:52

相关推荐

使用微软新必应(New Bing)AI机器人生成树莓派Pico W开发板MicroPython应用程序

微软新必应是一款由人工智能驱动的AI搜索引擎(基于Chat GPT4.0的先进自然语言生成模型),它能与用户进行流畅、自然、有趣的对话,并提供可靠、及时的搜索结果,以及回答用户的各种问题。我们可以使用新必应生成程序代码、诗歌、故事、歌词等内容,或者模仿名人发表段子、推文等内容。

树莓派Pico W开发板是树莓派基金会于6月底发布的一款无线WiFi开发板,本文介绍使用New Bing AI机器人生成树莓派Pico W开发板MicroPython应用程序的基本方法。

1、微软新必应(New Bing)简介

微软新必应(New Bing)是一款由人工智能驱动的AI搜索引擎(基于Chat GPT4.0自然语言生成模型,比Open AI的不久前推出的GPT3.5模型要领先很多倍),它能与用户进行流畅、自然、有趣的对话,并提供可靠、及时的搜索结果,以及回答用户的各种问题。它不仅能给出问题的答案,还会注明来源,让用户更加放心。

用户可以使用自己喜欢的方式提问,无论是简单还是复杂的搜索、直接还是跟进的问题、文字还是语音输入,新必应都能理解并给出满意的回答。

新必应不仅具有强大的搜索和问答功能,还具有创意和娱乐性。用户能让新必应生成诗歌、故事、程序代码、歌词等内容,或者模仿名人发表段子、推文等内容。新必应也可以根据用户的兴趣和需求,提供个性化的建议和服务。

新必应预计于近期正式发布。由于新必应目前还处于测试阶段,如果要使用新必应还需【加入候补名单】进行申请并等待(大多需等待几天)。本人用邮箱申请New Bing帐号后,第3天就收到可以使用新必应的回复邮件。国内用户如何申请及使用新必应,可以参阅CSDN相关博文,此处不再赘述。这里仅介绍使用New Bing生成树莓派Pico W开发板MicroPython应用程序(特别说明:由于Open AI的Chat GPT3.5只更新到,而树莓派Pico W开发板是6月底发布的;经亲自测试,Chat GPT3.5不能胜任本文的编程任务)。

2、使用New Bing生成树莓派Pico W板载LED闪亮MicroPython程序

首先,打开浏览器,输入新必应网址/new,如图1所示。

图1

点击图1的【登录】按钮,输入已申请到的帐号和密码后,显示页面如图2所示。

图2

点击图2的【立即聊天】按钮,显示聊天新主题编辑框,如图3所示。

图3

在图3的编辑框中输入“请编写一个Raspberry Pi Pico W板载LED闪亮的MicroPython程序。”,如图4所示。

图4

New Bing AI将显示:

√ 正在搜索: Raspberry Pi Pico W MicroPython LED

√ 正在为你生成答案…

您好,这是Bing。我可以帮助您编写一个Raspberry Pi Pico W板载LED闪亮的MicroPython程序。

根据搜索结果,Pico W的板载LED不是连接到RP2040的引脚上,而是连接到无线芯片的GPIO引脚上。因此,您需要导入machine模块,并使用"LED"作为引脚名称来创建一个Pin对象。然后,您可以使用on()和off()方法来控制LED的状态。

下面是一个简单的MicroPython示例程序,它会让板载LED每隔一秒闪烁一次:

import machineimport timeled = machine.Pin("LED", machine.Pin.OUT) # 创建Pin对象while True:led.on() # 打开LEDtime.sleep(1) # 等待一秒led.off() # 关闭LEDtime.sleep(1) # 等待一秒

接下来,将树莓派Pico W开发板与电脑相连,并将上面New Bing生成的程序复制并粘贴到Thonny IDE编辑器中,并用“NBing-LED.py”程序文件命名,如图5所示。

图5

在图5中,第2~11行是复制粘贴的New Bing所生成的程序代码,仅第1行“# Filename: NBing-LED.py”是另外录入的程序文件命名注释。

关于Thonny和树莓派Pico W的具体使用方法,可参阅本人CSDN博文“树莓派Pico W无线WiFi开发板使用方法及MicroPython编程实践”。

将程序存储到树莓派Pico W开发板Flash存储器,点击Thonny的播放按钮测试New Bing AI生成的MicroPython程序,可以看到树莓派Pico W板载LED间断闪亮。

3、使用New Bing生成Pico W开发板MicroPython网络程序

现向New Bing输入问题:请编写一个用浏览器输入网址控制Raspberry Pi Pico W板载LED亮灭的Web程序。

New Bing AI显示情况及给出的MicroPython程序清单如下:

import machineimport networkimport socketled = machine.Pin("LED", machine.Pin.OUT) # 创建一个Pin对象,指定"LED"为名称和输出模式wlan = network.WLAN(network.STA_IF) # 创建一个WLAN对象,指定STA模式wlan.active(True) # 激活WLANwlan.connect('your_ssid', 'your_password') # 连接到你的WiFi网络while not wlan.isconnected(): # 等待连接成功passprint('IP address:', wlan.ifconfig()[0]) # 打印IP地址s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建一个socket对象,指定IPv4协议和TCP协议s.bind((wlan.ifconfig()[0], 80)) # 绑定到本地IP地址和80端口s.listen(5) # 监听最多5个连接while True: # 无限循环conn, addr = s.accept() # 接受一个新的连接print('Got a connection from %s' % str(addr)) # 打印客户端地址request = conn.recv(1024) # 接收客户端发送的数据(最多1024字节)request = str(request) # 将数据转换为字符串if 'on' in request: # 如果请求中包含'on'字符串led.on() # 打开LEDif 'off' in request: # 如果请求中包含'off'字符串led.off() # 关闭LEDresponse = 'HTTP/1.1 200 OK\n\nHello from Raspberry Pi Pico W!' conn.send(response.encode()) # 发送响应给客户端(需要编码为字节)conn.close()

将以上程序直接复制粘贴到Thonny编辑器;wlan.connect(‘your_ssid’, ‘your_password’)语句中,your_ssid和your_password分别替换为用户使用的无线WiFi名称及密码,程序命名为“nb_prog2.py”并存到Pico W开发板Flash。

下面测试用New Bing AI生成的以上程序。运行程序后,电脑Thonny Shell窗口将显示IP address: 192.168.1.10,它是Pico W开发板的IP地址。现在手机浏览器地址栏输入“192.168.1.10/on”,此时可看到Pico W开发板板载LED点亮。使用手机点亮Pico W板载LED及电脑Thonny Shell展示效果截图如图6和图7所示。

图6

图7

下面继续向New Bing提问:请问如何在网页上添加按钮来控制LED?

New Bing AI显示情况及给出的HTML文件清单如下:

<html><head><script>function sendRequest(command) {// 定义一个函数,用于发送请求给Web服务器var xhr = new XMLHttpRequest(); // 创建一个XMLHttpRequest对象xhr.open("GET", command, true); // 设置请求方法为GET,请求地址为command参数,异步模式为truexhr.send(); // 发送请求}</script></head><body><h1>Control LED from Webpage</h1><button onclick="sendRequest('on')">Turn ON LED</button> <!-- 创建一个按钮,点击时调用sendRequest函数并传入'on'参数 --><button onclick="sendRequest('off')">Turn OFF LED</button> <!-- 创建一个按钮,点击时调用sendRequest函数并传入'off'参数 --></body></html>

您可以将这个网页保存为index.html文件,并替换之前程序中的响应内容。然后,在浏览器中输入http://<ip_address>/就可以看到这个网页,并通过点击按钮来控制LED。

现将以上HTML文件命名为“index.html”文件并存到Pico W中。

为了在前面的MicroPython程序中加载index.html文件,接下来,我们继续向New Bing提问:请问如何在之前的MicroPython程序中加入index.html文件响应内容?

New Bing AI显示情况如下:

您好,这是Bing。我可以帮您在之前的MicroPython程序中加入index.html文件响应内容。

您可以使用open函数来打开index.html文件,并读取它的内容,然后将其作为响应发送给客户端。例如,您可以在程序的开头添加以下代码:

f = open('index.html', 'r') # 打开index.html文件,以只读模式html = f.read() # 读取文件内容,并赋值给html变量f.close() # 关闭文件

然后,您可以将之前程序中的响应内容替换为以下代码:

response = 'HTTP/1.1 200 OK\n\n' + html # 将html变量添加到响应内容中

这样,当客户端请求根目录时,就会收到index.html文件的内容,并显示网页上的按钮。

以上答复还不是十分令人满意,我们希望New Bing能直接给出改写好的MicroPython程序,因此继续向New Bing提问:好的,请帮助改写加入index.html文件后的的MicroPython程序!

New Bing AI显示情况及改写的MicroPython程序清单如下:

您好,这是Bing。我可以帮助改写加入index.html文件后的的MicroPython程序。

以下是改写后的完整MicroPython程序:

import machineimport networkimport socketled = machine.Pin("LED", machine.Pin.OUT) # 创建一个Pin对象,指定"LED"为名称和输出模式wlan = network.WLAN(network.STA_IF) # 创建一个WLAN对象,指定STA模式wlan.active(True) # 激活WLANwlan.connect('your_ssid', 'your_password') # 连接到你的WiFi网络while not wlan.isconnected(): # 等待连接成功passprint('IP address:', wlan.ifconfig()[0]) # 打印IP地址f = open('index.html', 'r') # 打开index.html文件,以只读模式html = f.read() # 读取文件内容,并赋值给html变量f.close() # 关闭文件s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建一个socket对象,指定IPv4协议和TCP协议s.bind((wlan.ifconfig()[0], 80)) # 绑定到本地IP地址和80端口s.listen(5) # 监听最多5个连接while True: # 无限循环conn, addr = s.accept() # 接受一个新的连接print('Got a connection from %s' % str(addr)) # 打印客户端地址request = conn.recv(1024) # 接收客户端发送的数据(最多1024字节)request = str(request) # 将数据转换为字符串if 'on' in request: # 如果请求中包含'on'字符串led.on() # 打开LEDif 'off' in request: // 如果请求中包含'off'字符串led.off() // 关闭LEDresponse = 'HTTP/1.1 200 OK\n\n' + html conn.send(response.encode()) // 发送响应给客户端(需要编码为字节)conn.close()

将以上改写的程序复制粘贴到Thonny编辑器;wlan.connect(‘your_ssid’, ‘your_password’)语句中,your_ssid和your_password分别替换为用户使用的无线WiFi名称及密码。

仔细阅读本程序,发现if ‘off’ in request语句后的两处//注释符应修改为#,conn.send(response.encode())后的//注释符应修改为#(说明:New Bing误将这里的MicroPython语句注释用C/C++注释符“//”标注了)。

将程序命名为“main.py”文件存储到Pico W开发板Flash中。此时,Pico W开发板存储了“main.py”程序和“index.html”文件。

下面测试New Bing AI生成的main.py程序和index.html文件。点击Thonny的播放按钮运行main.py程序,在手机浏览器中输入192.168.1.10,将显示两个按钮的页面,如图8所示。

图8

在图8中,按下[Turn ON LED]按钮,Pico W板载LED点亮;按下[Turn OFF LED]按钮,Pico W板载LED熄灭。这说明New Bing AI生成的main.py程序和index.html文件正确。

从本文介绍可知,使用New Bing可以生成高质量的MicroPython应用程序。类似地,借助New Bing也可同样能生成C/C++、Java等程序代码,还可用New Bing生成TensorFlow/tf.Keras/PyTorch等AI深度学习程序代码。借助New Bing、ChatGPT等AI智能机器人平台能取代程序员的几乎90%以上的编程任务,从而大大提高软件开发的效率和缩短智能硬件等新产品的研发周期。

发布日期:3月11日

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。