使用XCOM串口调试助手调试ESP8266时,想要连接学校的wifi,通过AT+CWLAP可以显示出附近所有wifi的列表,可是XCOM以ascii码格式显示文本,所以中文就乱码了.

一开始我不知道这是什么编码格式,所以我特意在Notepad++中以utf8编码格式输入中文wifi名,然后改变为ascii编码显示就是这个乱码了.我原本还打算看XCOM的源码,想看看能不能改改,让XCOM可以处理中文,毕竟ESP8266的固件可以识别到中文wifi,然后串口发送的也都是字节数据,所以只要有办法把中文转成ESP8266处理中文所用的编码格式就行.因为不会逆向,所以只好自己写个串口调试的Python脚本了.原本以为很简单的事,却有一个小坑,坑了我一天,就是所谓发送新行,即发送的内容后要加\r\n(回车换行)

import serial
import re

if __name__ == "__main__":
portx = "COM3"
bps = 115200
#esp_obj = Serial_Handler(portx, bps, timeout)
esp_obj=serial.Serial(portx,bps,timeout=0.5)
time.sleep(0.5)
print(esp_obj.name)
print(esp_obj.baudrate)
print(esp_obj.stopbits)
print(esp_obj.bytesize)
print(esp_obj.parity)
while(1):
command=input("send: ")
if(command=='exit'):
break esp_obj.write(command.encode('utf-8'))
esp_obj.write("\r\n".encode('utf-8'))
esp_obj.flush()
size=esp_obj.inWaiting()
recv_byte=esp_obj.read(size)
esp_obj.flushInput()
recv_str=recv_byte.decode('utf-8')
pattern=re.compile('(?<=\\r\\n)[^\\r\\n]+(?=\\r\\n)')#接收的数据都带有\r\n所以需要用正则获取回车换行之间的数据
recv=pattern.findall(recv_str)
for i in recv:
print(i)
esp_obj.close()
exit(0)

最后连接,效果图

使用ESP8266连接中文wifi的更多相关文章

  1. 获取与esp8266连接的客户端的Mac地址 IP 端口 控制停止等问题

    两个关键的库 ESP8266WebServer.h WiFiClient.h ESP8266WiFiAP.cpp C:\Users\dongdong\Desktop\Arduino-master\li ...

  2. Android 得到当前已连接的wifi的信号强度

    1.得到当前已连接的wifi信息 WifiManager wifi_service = (WifiManager)getSystemService(WIFI_SERVICE); WifiInfo wi ...

  3. 如何快速连接无线Wifi 使用二维码

    无线Wifi现在已经很普及了,无论是在家.还是在单位.书店.餐馆.咖啡馆等公共场所,只要手机打开Wifi,选择相应的无线Wifi热点,手工输入密码后,即可通过无线Wifi访问互联网. 如何让用户更方便 ...

  4. ADB连接手机的两种方式(usb数据线连接和wifi连接)

    ADB(Android Debug Bridge)安卓测试桥,它是连接电脑开发端和安卓设备的桥梁,这个安卓设备可以是真实的安卓手机或者平板,也可以是虚拟的安卓模拟器,   这里介绍ADB连接手机的两种 ...

  5. Qt实现探测当前有没有网络连接(Wi-Fi)——QNetworkConfigurationManager.isOnline()

    1.只需要探测当前有没有连上Wi-Fi(不用获取网络状态),可以调用<QNetworkConfigurationManager>类. QNetworkConfigurationManage ...

  6. iOS获取当前连接的wifi信息

    导入框架CaptiveNetwork #import <SystemConfiguration/CaptiveNetwork.h> 获取当前连接的wifi信息 // 只能获取当前的SSID ...

  7. 树莓派怎么连接无线网wifi?

    没有显示器的同学,想要连接无线网,一定非常苦恼,前面教会了大家远程登录图形界面,下面我将教会大家:在没有图形界面的情况下,怎么连接树莓派WiFi.同样还是利用putty远程访问软件登录,但这次不需要登 ...

  8. Windows8.1查看已连接无线WIFI密码

    Windows8.1操作系统下查看已连接无线wifi密码操作步骤如下: 1.右键任务栏中的无线图标,在弹出的菜单中选择"打开网络和共享中心": 2.在网络和共享中心界面中点击&qu ...

  9. Android获取当前连接的wifi名称

    首先AndroidMainfest.xml文件里加入权限: <uses-permission android:name="android.permission.ACCESS_NETWO ...

  10. 盗取连接你wifi的人的qq

    #本文内容仅供个人娱乐学习 思路: 使用wireshark监听笔记本的wifi热点,拦截捕获连接你的wifi热点的人的手机qq网络数据包,从网络数据包中分析取出两个qq空间的两个coookie值,使用 ...

随机推荐

  1. 使用 flexible.js + rem 制作苏宁移动端首页

    一.技术选型 二.搭建相关文件夹 三.设置视口标签以及引入初始化样式文件和js文件 四.body 样式 五.rem 适配方案二 body样式修改 index.css body { min-width: ...

  2. TCP与UDP、socket模块

    1.传输层之TCP与UDP协议 1.TCP协议 1.传输控制协议(也称为TCP协议或可靠协议)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议,(数据不容易丢失);造成数据不容 ...

  3. 面向对象程序设计(三):C++模板operator Type类型转换

    学习算法的时候遇到了一个不认识的写法,去网上查了查,看到有一篇写的挺好的,转载过来了 C++隐式类型转换运算符operator type()用法详解 对象向基本数据类型转换: 点击查看代码 #incl ...

  4. python判断密码连续,重复,大小写、数字、符号混合密码复杂度要求

    一.python 判断密码连续,重复,大小写.数字.符号混合密码复杂度要求 1. 运行环境 python 3.6.8 2. 密码必须包含大小写.数字.特殊符号中的3种且长度为8-16位 def ver ...

  5. 安卓逆向4.xpsoed hook构造方法

    大纲 获取所有类 获取所有字段 或者所有方法 1.获取所有类 并打印 2.遍历所有字段 3.遍历所有方法 集合 由于回家了,懒得敲代码,所以就这样了

  6. 关于vue keep-alive配合swiper的问题

    问题描述,首页优化使用keep-alive之后,从别的页面跳回来,swiper轮播不播放,查了好久资料,有的说要重新调用swiper的init方法进行初始化,等等,最终都没能解决问题,最终通过查看文档 ...

  7. Cesium entity画各种图(十六)

    在官方示例的沙盒里写东西是真方便 Cesium中有两种对象可以添加到场景中,Entity.Primitive.Entity对用户更友好,方便使用,但是灵活性和性能差一些.Primitive,支持自定义 ...

  8. JZOJ 1389. 玩诈欺的小杉

    思路 考虑一个点要不要翻,如果它左边的点为 \(1\),那么它必须翻 所以我们可以从左往右一列一列地翻 先枚举第 \(0\) 列的状态 然后之后的列就确定了 判断一下最后一列是不是 \(0\) 就行了 ...

  9. JZOJ 5353. 【NOIP2017提高A组模拟9.9】村通网

    题目 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里每座建筑都连上互联网,方便未来随时随地网购农药. 他的农庄很大,有N 座建筑,但地理位置偏僻,网络信号很差. 一座建筑 ...

  10. js获取时间戳的方法

    js获取时间戳的方法 转载脚本之家: https://www.jb51.net/article/77066.htm 转载博客园八英里: https://www.cnblogs.com/deepalle ...