标题:
基于ESP8266的物联网APP设计Socket
[打印本页]
作者:
Vict_Ming
时间:
2019-12-7 13:44
标题:
基于ESP8266的物联网APP设计Socket
之前做了一个小的APP,可以与原子的ESP8266通信,实现发送字符串,如果你也恰好想要用到这类功能,希望这篇帖子能够帮助到你。
准备条件:
1.自身条件:
(1)有一点点Java基础,不会也没太大关系。
2.硬件条件
(1)一台电脑 安装好Android studio 与 串口调试助手
(2) 两部手机(一部手机也可以,但需要路由器)
(3) USB转TTL模块
好了,条件就这么多。
本文使用的是Socket通信,也就是套接字,具体概念有兴趣可以自行百度,本文不在介绍,因为没什么实际用处。我们只需要知道它可以与ESP8266 WIFI 通信,其他的先不管
Socket有两个主要参数 IP 和 PORT,也就是目标设备(ESP8266)在局域网下的 IP地址 和开放的端口,注意,IP地址由路由器或者手机热点分配,端口地址由模块 AT指令配置。
主要内容是这样的:
Socket mSocket;//新建了一个 socket 对象,但是没有分配内存等等,不可以使用
mSocket = new Socket(Ip,port);//分配了实体,此后可以由输出流输入流 写入 和读出待发送(接收)的数据
out
=
new
PrintStream(
mSocket
.getOutputStream());//获得输出流
out
.write((
"hello world!"
+
'
\n
'
).getBytes(
"utf-8"
));//写入输出流
out
.flush();//发送数据好了,主要内容就这么多,是不是很简单,快去试试吧。
注意有一个小坑,就是 new Socket(Ip,port); 这种与Socket有关的操作是不可以放在主线程之中的,因为Android规定了这些操作是会阻塞主线程的,解决办法就是放在一个子线
程之中操作,就可以了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1