嵌入式与WLAN
嵌入式系统和WLAN可以结合使用,以实现无线连接和通信的嵌入式应用。例如,在物联网(IoT)领域,嵌入式设备可以通过WLAN与其他设备或云平台进行通信,实现数据传输、远程控制和监测等功能。
嵌入式系统可以集成无线模块,如Wi-Fi模块或蓝牙模块,以实现无线通信能力。这些模块通过无线信号与其他设备或网络进行通信。通过使用WLAN技术,嵌入式系统可以实现无线连接、远程控制和数据传输等功能。
嵌入式开发板连接WIFI
在学习嵌入式的过程中,对于常规的点亮半载LED或是做跑马灯连接传感器已经不能满足现状了.在各种浏览资料与讨论中,发现树莓派Picow能够连接WIFI并进行一系列简单的网络操作,例如进行socket通信,http网络请求等;也就是说Picow能够作为客户端或者服务端而存在,在一个特殊的环境中他就能通过WIFI与另一台服务端进行通信操作.那么使用Picow创建一个WEB服务器
python
复制代码
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灯,实现对请求的响应
scss
复制代码
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之后,使用相应的网络请求模块进行网络请求.
python
复制代码
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请求(或其他请求).
ini
复制代码
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操作
如何系统的去学习大模型LLM ?
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料
包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
阶段1:AI大模型时代的基础理解
- 目标:了解AI大模型的基本概念、发展历程和核心原理。
- 内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践 - L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
- 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
- 内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例 - L2.2 Prompt框架
- L2.2.1 什么是Prompt
- L2.2.2 Prompt框架应用现状
- L2.2.3 基于GPTAS的Prompt框架
- L2.2.4 Prompt框架与Thought
- L2.2.5 Prompt框架与提示词 - L2.3 流水线工程
- L2.3.1 流水线工程的概念
- L2.3.2 流水线工程的优点
- L2.3.3 流水线工程的应用 - L2.4 总结与展望
- L2.1 API接口
阶段3:AI大模型应用架构实践
- 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
- 内容:
- L3.1 Agent模型框架
- L3.1.1 Agent模型框架的设计理念
- L3.1.2 Agent模型框架的核心组件
- L3.1.3 Agent模型框架的实现细节 - L3.2 MetaGPT
- L3.2.1 MetaGPT的基本概念
- L3.2.2 MetaGPT的工作原理
- L3.2.3 MetaGPT的应用场景 - L3.3 ChatGLM
- L3.3.1 ChatGLM的特点
- L3.3.2 ChatGLM的开发环境
- L3.3.3 ChatGLM的使用示例 - L3.4 LLAMA
- L3.4.1 LLAMA的特点
- L3.4.2 LLAMA的开发环境
- L3.4.3 LLAMA的使用示例 - L3.5 其他大模型介绍
- L3.1 Agent模型框架
阶段4:AI大模型私有化部署
- 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
- 内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
学习计划:
- 阶段1:1-2个月,建立AI大模型的基础知识体系。
- 阶段2:2-3个月,专注于API应用开发能力的提升。
- 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
- 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓