嵌入式与WLAN-langchain+langGraph实现硬件与服务端的多agent交流

嵌入式与WLAN

嵌入式系统和WLAN可以结合使用,以实现无线连接和通信的嵌入式应用。例如,在物联网(IoT)领域,嵌入式设备可以通过WLAN与其他设备或云平台进行通信,实现数据传输、远程控制和监测等功能。

嵌入式系统可以集成无线模块,如Wi-Fi模块或蓝牙模块,以实现无线通信能力。这些模块通过无线信号与其他设备或网络进行通信。通过使用WLAN技术,嵌入式系统可以实现无线连接、远程控制和数据传输等功能。

嵌入式开发板连接WIFI

在学习嵌入式的过程中,对于常规的点亮半载LED或是做跑马灯连接传感器已经不能满足现状了.在各种浏览资料与讨论中,发现树莓派Picow能够连接WIFI并进行一系列简单的网络操作,例如进行socket通信,http网络请求等;也就是说Picow能够作为客户端或者服务端而存在,在一个特殊的环境中他就能通过WIFI与另一台服务端进行通信操作.那么使用Picow创建一个WEB服务器

import machine
import network
import usocket as socket
# 设置 WiFi 连接
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('WIFI-name', 'WIFI-password')
# 连接成功后,打印提示信息
print('连接到 WiFi 网络...')
# 设置 LED 灯的 GPIO 引脚
led = machine.Pin(2, machine.Pin.IN)
# 创建一个简单的 HTTP 服务器
def web_server():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(('0.0.0.1', 8080))
    s.listen(5)
    # 服务器启动成功后,打印提示信息
    print('服务器已启动,等待客户端连接...') 
    #打印pico 的ip地址
    print('network config:', wlan.ifconfig())
    conn.close()
web_server()

这段代码在树莓派PICOW上实现了一个简单的WEB服务器,那么就可以实现更多操作了.

注意:

PICOW能识别到的WIFI频段是2.4Ghz,PICOW的Wi-Fi模块使用的是IEEE 802.11b/g/n标准,而这些标准规定了2.4GHz频段的使用

树莓派作为服务端

在一个简单的WEB服务器上增加一些内容使它监听特定IP地址的GET请求来控制板载LED灯,实现对请求的响应

def web_server():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(('0.0.0.1', 8080))
    s.listen(5)
    # 服务器启动成功后,打印提示信息
    print('服务器已启动,等待客户端连接...') 
    #打印pico 的ip地址
    print('network config:', wlan.ifconfig())
    while True:
        conn, addr = s.accept()
        request = conn.recv(1024)
        print('Content = %s' % str(request))
        #监听ON和OFF
        if 'GET /?LED=ON' in str(request):
            led.value(1)
            response="灯已打开"
        if 'GET /?LED=OFF' in str(request):
            led.value(0)
            response="灯已关闭"
        conn.send(response)
        conn.close()

树莓派如何接收网络请求

那么作为服务器端,肯定就要有能够接受请求并且进行响应以及返回响应结果的能力,向这个服务器发送请求肯定需要一个请求地址的,但这个地址不是绑定的[http://0.0.0.1:8080/这个地址,而是PICOW连接的WIFI生成的IP地址也就是wlan.ifconfig()内容.在浏览器中输入该IP地址并携带参数就能够通过发送get请求的方式实现对硬件的控制]

树莓派作为客户端

能作为服务端提供服务那也就能够作为客户端对服务端进行服务请求.相比较于服务端的实现,客户端的实现就要简单很多,连接到WIFI之后,使用相应的网络请求模块进行网络请求.

from machine import Pin
import network
import usocket as socket
import urequests

# 设置 WiFi 连接
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('WIFI-name', 'WIFI-password')
# 连接成功后,打印提示信息
print('连接到 WiFi 网络...')
data = Pin(2, Pin.IN)

def web_client():
    url = 'http://xxxxxx.com/?id=1'
    response = urequests.get(url)
    print('GET request sent to', url)
    print('Response:', response.text)

web_client()

树莓派如何发送网络请求

发送网络请求的前提就是有一个能够请求的接口地址例如’[xxxxx.com’,然后就可以使用相应的网络请求模块进行get请求(或其他请求)]

    url = 'http://xxxxxx.com/?id=1'
    response = urequests.get(url)

这就是一个简单的PICOW作为客户端发送请求的关键代码.能发送请求也能接受返回结果实现一系列的链式逻辑操作.能实现很多有意思的项目,结合langchain轻轻松松实现一个智能家居系统.

同一网络下进行操作

在同一网络下进行互相通信就很简单了,例如用手机开一个热点,硬件与电脑都连接同一个WiFi,访问对方的IP地址组成的接口就行.

不同网络下进行操作

想要访问在不同的网络下的设备就需要进行内网穿透了

什么是内网穿透

  • 内网穿透也叫做内网映射,也叫“NAT穿透”
  • 简单来说就是,让外网能访问你的内网;把自己的内网(主机)当成服务器,让外网能访问。
  • 内网穿透原理图:

  • 内网穿透的工具:“Sunny-Ngrok”,"贝锐花生壳"等

这里使用的贝锐花生壳,简单易用,每个月都有免费的1G流量可以使用,学生认证提升到3G,可开通两条映射端口.别看只有小小1G已经很足够了.在电脑上使用比较简单,但是在嵌入式中就不太好弄了,树莓派PICOW的性能显然是没办法支持内网穿透的.若是换成树莓派4B或者树莓派5B那就可以轻松实现了.与在电脑上是一样的.

树莓派端内置agent与服务器端agent通信设想

都谈到了树莓派4B这种硬件.树莓派4B是一款功能强大、灵活易用的单板计算机,适用于各种创客和嵌入式开发项目.也就是表明了可以将部分较大的功能直接实现在树莓派中,langchain中的agent可以将控制硬件的方法函数作为工具进行调用,也可以在树莓派中使用WEB框架创建WEB服务器,可以在云端做一个或者多个Agent作为大脑进行控制树莓派响应,或者是树莓派创建一个Agent+服务器与云端的Agent进行通信,类似于下属与上级的关系.树莓派可以通过网络请求云端大脑的指令进行操作.也可以将搜集的到数据传送给云端进行分析等操作.

软件层面已经实现了这种多Agent项目了,那就是斯坦福小镇实验,总结来说就是创造了一个小镇,小镇上所有居民都是由大语言模型控制的,居民可以与环境交互,也可以与其他居民交互(最后AI数字人也展示出了社交性,比如开party)

三大块核心组件:plan(规划能力),memory(记忆流),reflect(反思),这就是一个Agent的实现过程,这些数字人也是由Agent驱动的.

总结

理论表明可以实现硬件与云端的多Agent通信,俗话说"三个臭皮匠赛过诸葛亮",多Agent实现效果也许会弥补一些大模型智慧程度上的缺陷.后续买一个树莓派4B再结合了langchain的langGraph实现硬件与服务端的多agent操作.

在这里插入图片描述

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值