微软新必应是一款由人工智能驱动的AI搜索引擎(基于Chat GPT4.0的先进自然语言生成模型),它能与用户进行流畅、自然、有趣的对话,并提供可靠、及时的搜索结果,以及回答用户的各种问题。我们可以使用新必应生成程序代码、诗歌、故事、歌词等内容,或者模仿名人发表段子、推文等内容。
树莓派Pico W开发板是树莓派基金会于2022年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只更新到2021年,而树莓派Pico W开发板是2022年6月底发布的;经亲自测试,Chat GPT3.5不能胜任本文的编程任务)。
2、使用New Bing生成树莓派Pico W板载LED闪亮MicroPython程序
首先,打开浏览器,输入新必应网址https://www.bing.com/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 machine
import 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 machine
import network
import socketled = machine.Pin("LED", machine.Pin.OUT) # 创建一个Pin对象,指定"LED"为名称和输出模式
wlan = network.WLAN(network.STA_IF) # 创建一个WLAN对象,指定STA模式
wlan.active(True) # 激活WLAN
wlan.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 machine
import network
import socketled = machine.Pin("LED", machine.Pin.OUT) # 创建一个Pin对象,指定"LED"为名称和输出模式
wlan = network.WLAN(network.STA_IF) # 创建一个WLAN对象,指定STA模式
wlan.active(True) # 激活WLAN
wlan.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%以上的编程任务,从而大大提高软件开发的效率和缩短智能硬件等新产品的研发周期。

发布日期:2023年3月11日

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

  1. 【已失效】免翻在Chrome上使用新必应(New Bing)聊天机器人

    已失效,暂时没时间去摸索,大家可以在评论区讨论,其实大家评论的我也尝试过了,并没有找到一个很完美的方式,有时间折腾再更新吧!! 我个人是一直在Chrome正常使用的,我是用的是评论区推荐的插件New ...

  2. 教你使用内嵌chatGPT的新必应(bing)

    巨头们的AI战愈演愈烈起来.在谷歌公布其 ChatGPT 竞品Bard后的第二天,微软就官宣了两款新的 AI 产品:基于下一代 OpenAI 大型语言模型上的新版 Bing 搜索引擎,号称" ...

  3. 进不去chatgpt来加入新必应new bing吧,怎么申请newbing,出错了怎么解决

    1.先下载一个edgeDEV版 2.下载好后输入网址:www.bing.com 目前国内用户使用必应有个障碍,微软为中国用户提供了一个中国版"必应",所以此时输入网址会自动跳转到国 ...

  4. 新必应 new bing【NB】这不比知云翻译香

    new bing[NB]这不比知云翻译香 可以指定内容翻译,不过不能一次翻译全文. 继续翻译下一段 也可以直接选定要翻译的文字,会自动识别提示你是否将所选文本发送到聊天,然后翻译 ps:需要科学上网和 ...

  5. android ai机器人demo,Dobot二次开发Demo

    总览 开发者可以使用Dobot进行二次开发,实现各种不同的功能.本文教大家使用Arduino MEGA2560对Dobot进行简单的二次开发. 二次开发时需要将MEGA2560控制板通过蓝牙模块的接口 ...

  6. 新正方教务管理系统的爬虫webApi-Django(带后台)-用以开发校园APP/小程序

    ⭐废话:从去年十二月底开始写教务系统爬虫的,起初只因想快速清晰地查期末成绩,不然每次要点很多步骤. 后面用自己的方法写出来了,但因为那时候刚接触爬虫,代码写的非常糟... 甚至不知道怎么用cookie ...

  7. bing重定向次数过多怎么办?新必应用不了了?只需一个小软件就可以轻松免费解决!

    第一步:微软必应搜索"IT豪哥-电脑教程网",或进入网址https://www.ithaoge.cn:(用微软必应搜索,百度上找不到,如果你的微软必应显示重定向次数过多,那你需要关 ...

  8. 【ARM微型电脑/IoT设备/嵌入式】常用AI开发板盘点2022——(涨价榜)

    10. Nano Pi R2S 185元 ->295元 涨幅159% 它,有着极高的人气,在软路由领域大施拳脚,曾经是性价比最高的上网设备之一,但是涨到了300快,你还能不能爱的起来呢.其他参数 ...

  9. ChatGPT已接入微软必应Bing搜索?如何进入新必应候补名单抢先体验

    文章目录 1. 前提 2. 开始申请 3. 直接使用ChatGPT 1. 前提 Edge浏览器 微软账号 科学上网工具 2. 开始申请 进入新必应网址:https://www.bing.com/new ...

最新文章

  1. 微服务之consul(一) - 诗码者 - 博客园
  2. html 自定义打印模板,HTML+CSS入门 自定义模板详解
  3. e语言mysql中文_大佬们E语言连接MYSQL输出中文乱码怎么破
  4. Vision Transformer中的自监督学习
  5. 模拟鱼群的matlab算法,IFSA人工鱼群算法
  6. java给视频添加水印_用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)...
  7. 通过windows远程访问linux桌面的方法(简单)
  8. 创建一个war类型的maven项目
  9. 炫酷的时间样式HTML,js动态炫酷数字时钟
  10. nginx史上最强入门教学
  11. FPGA学习.7——DDS信号发生器
  12. 【线性代数】P8 逆矩阵矩阵方程以及逆矩阵的性质
  13. 武大女硕士面试被拒,改简历冒充本科生找工作的感想(原创)
  14. HP deskjet 2132 如何顺利在mac上使用
  15. 工资倒挂,IT 行业薪资潜规则如何规避?
  16. PHP将处理图片为圆角
  17. python3.6.6安装make报错sharedmods_python机器学习模块安装
  18. Scala入门_开发环境安装
  19. 微信小程序(PHP服务端)之仿淘票票,制作电影购票程序
  20. NB-IoT的应用领域

热门文章

  1. 09讲 | STM32单片机利用定时器实现按键采集
  2. CSS3之border属性
  3. 年终福利,Smartbi手把手教你做汇报型分析报告
  4. 指静脉识别的背景与调研[机器视觉]
  5. cesium对模型进行光着色实现
  6. 小程序笔记(五)之实现三角形箭头
  7. 三校生计算机应用基础模块,三校生高考《计算机应用基础》电子教案.doc
  8. js中报:TypeError: (intermediate value) is not a function错误
  9. 麦肯锡报告:关于深度学习的120个商业机会
  10. Python3 + pygame实现的90坦克大战代码完整有演示效果