树莓派上运行RT-Thread并通过esp8266连接网络
时间:2020-05-28
本文章向大家介绍树莓派上运行RT-Thread并通过esp8266连接网络,主要包括树莓派上运行RT-Thread并通过esp8266连接网络使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
树莓派上运行RT-Thread并通过esp8266连接网络
1.说明
树莓派上使用网络也是一个非常重要的功能,有了网络之后,可以在树莓派上扩展的功能更加丰富了。本文主要是通过树莓派上接8266模块,利用rt-thread的AT网络框架,实现一个可以连接上wifi的功能。下面来介绍如何让树莓派连接上网络。
2.实现原理
8266是通过串口和树莓派进行通信交互的,所以树莓派首先需要实现串口功能。
树莓派4上一共有6个uart可以使用,uart0(AUX),和剩下的5个PL011串口。
这里我采用的是UART4连接串口模块,而默认的串口则作为shell进行信息展示。
下面是树莓派与8266的引脚对应图:
树莓派引脚 | 8266引脚 | 说明 |
---|---|---|
GPIO9 | URXD | 树莓派RX--8266TX |
GPIO8 | UTXD | 树莓派TX--8266RX |
GND | GND | GND |
3V3 | VCC | VCC |
3V3 | CH_PD | 8266接高电平才能正常工作 |
接连完成后,进行软件配置。
3.软件配置
目前采用的是树莓派4-32位进行测试。
https://github.com/RT-Thread/rt-thread/tree/master/bsp/raspberry-pi/raspi4-32
由于RT-Thread上对8266 WIFI 支持的比较完善,所以在使用时可以进行如下的配置:
在env工具中输入menuconfig,依次设置
RT-Thread Components → Network → AT commands
如下图所示
接着设置网络工具
RT-Thread Components → Network → Network interface device
接着设置
RT-Thread online packages → IoT - internet of things → AT DEVICE: RT-Thread AT component porting or samples for different device → Espressif ESP8266
设置网络和密码即可
完成之后,需要输入pkgs --update
,然后就可以编译固件,然后将其放到树莓派上了。
4.功能测试
配置完成后,即可测试网络了。
可以看到,已经连接上8266的WIFI了,而AT+CIPDNS_CUP
命令没有,是因为我的8266固件版本太老了,需要更新一下固件,但是不影响使用。
可以ping一下百度。
此时可以正常的访问互联网了。
5.总结
树莓派通过8266联网,非常的容易,有了网络之后,可以使用的功能就更加的丰富和完善了。这个过程中,需要注意的树莓派其实可用的串口非常的丰富,需要合理的使用。另外借助rt-thread的AT组件框架,可以非常容易的实现联网功能。
原文地址:https://www.cnblogs.com/bigmagic/p/12979531.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- springmvc实例之修改雇员相关信息(四)
- 基于TypeScript封装Axios笔记(六)
- 蓝桥杯 k好数 java版
- 强烈推介的几个微信小程序开发小技巧,简单又实用
- 【pytorch-ssd目标检测】验证自己创建的数据集
- django-模板之自动转义autoescape(八)
- 【pytorch-ssd目标检测】测试自己创建的数据集
- 【pytorch-ssd目标检测】训练自己创建的数据集
- SwiftUI:更高级的 MKMapView
- spring AOP之重用切点表达式
- springmvc之处理模型数据SessionAttributes注解
- Spring BeanUtils属性copy
- 【pytorch-ssd目标检测】制作类似pascal voc格式的目标检测数据集
- 【pytorch-ssd目标检测】可视化检测结果
- 文件I/O